/* SQLite Is Public Domain All of the code and documentation in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. The previous paragraph applies to the deliverable code and documentation in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Some scripts used as part of the build process (for example the "configure" scripts generated by autoconf) might fall under other open-source licenses. Nothing from these build scripts ever reaches the final deliverable SQLite library, however, and so the licenses associated with those scripts should not be a factor in assessing your rights to copy and use the SQLite library. All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects. */ // Code generated by ccgo DO NOT EDIT. package bin import ( "fmt" "math" "os" "path" "runtime" "unsafe" "github.com/cznic/crt" ) var inf = math.Inf(1) func ftrace(s string, args ...interface{}) { _, fn, fl, _ := runtime.Caller(1) fmt.Fprintf(os.Stderr, "# %s:%d: %v\n", path.Base(fn), fl, fmt.Sprintf(s, args...)) os.Stderr.Sync() } const ( XFTS5_TOKENIZE_AUX = 8 XFTS5_TOKENIZE_DOCUMENT = 4 XFTS5_TOKENIZE_PREFIX = 2 XFTS5_TOKENIZE_QUERY = 1 XFTS5_TOKEN_COLOCATED = 1 XFULLY_WITHIN = 2 XNOT_WITHIN = 0 XPARTLY_WITHIN = 1 XSQLITE3_TEXT = 3 XSQLITE_ABORT = 4 XSQLITE_ABORT_ROLLBACK = 516 XSQLITE_ACCESS_EXISTS = 0 XSQLITE_ACCESS_READ = 2 XSQLITE_ACCESS_READWRITE = 1 XSQLITE_ALTER_TABLE = 26 XSQLITE_ANALYZE = 28 XSQLITE_ANY = 5 XSQLITE_ATTACH = 24 XSQLITE_AUTH = 23 XSQLITE_AUTH_USER = 279 XSQLITE_BLOB = 4 XSQLITE_BUSY = 5 XSQLITE_BUSY_RECOVERY = 261 XSQLITE_BUSY_SNAPSHOT = 517 XSQLITE_CANTOPEN = 14 XSQLITE_CANTOPEN_CONVPATH = 1038 XSQLITE_CANTOPEN_FULLPATH = 782 XSQLITE_CANTOPEN_ISDIR = 526 XSQLITE_CANTOPEN_NOTEMPDIR = 270 XSQLITE_CHECKPOINT_FULL = 1 XSQLITE_CHECKPOINT_PASSIVE = 0 XSQLITE_CHECKPOINT_RESTART = 2 XSQLITE_CHECKPOINT_TRUNCATE = 3 XSQLITE_CONFIG_COVERING_INDEX_SCAN = 20 XSQLITE_CONFIG_GETMALLOC = 5 XSQLITE_CONFIG_GETMUTEX = 11 XSQLITE_CONFIG_GETPCACHE = 15 XSQLITE_CONFIG_GETPCACHE2 = 19 XSQLITE_CONFIG_HEAP = 8 XSQLITE_CONFIG_LOG = 16 XSQLITE_CONFIG_LOOKASIDE = 13 XSQLITE_CONFIG_MALLOC = 4 XSQLITE_CONFIG_MEMSTATUS = 9 XSQLITE_CONFIG_MMAP_SIZE = 22 XSQLITE_CONFIG_MULTITHREAD = 2 XSQLITE_CONFIG_MUTEX = 10 XSQLITE_CONFIG_PAGECACHE = 7 XSQLITE_CONFIG_PCACHE = 14 XSQLITE_CONFIG_PCACHE2 = 18 XSQLITE_CONFIG_PCACHE_HDRSZ = 24 XSQLITE_CONFIG_PMASZ = 25 XSQLITE_CONFIG_SCRATCH = 6 XSQLITE_CONFIG_SERIALIZED = 3 XSQLITE_CONFIG_SINGLETHREAD = 1 XSQLITE_CONFIG_SQLLOG = 21 XSQLITE_CONFIG_STMTJRNL_SPILL = 26 XSQLITE_CONFIG_URI = 17 XSQLITE_CONFIG_WIN32_HEAPSIZE = 23 XSQLITE_CONSTRAINT = 19 XSQLITE_CONSTRAINT_CHECK = 275 XSQLITE_CONSTRAINT_COMMITHOOK = 531 XSQLITE_CONSTRAINT_FOREIGNKEY = 787 XSQLITE_CONSTRAINT_FUNCTION = 1043 XSQLITE_CONSTRAINT_NOTNULL = 1299 XSQLITE_CONSTRAINT_PRIMARYKEY = 1555 XSQLITE_CONSTRAINT_ROWID = 2579 XSQLITE_CONSTRAINT_TRIGGER = 1811 XSQLITE_CONSTRAINT_UNIQUE = 2067 XSQLITE_CONSTRAINT_VTAB = 2323 XSQLITE_COPY = 0 XSQLITE_CORRUPT = 11 XSQLITE_CORRUPT_VTAB = 267 XSQLITE_CREATE_INDEX = 1 XSQLITE_CREATE_TABLE = 2 XSQLITE_CREATE_TEMP_INDEX = 3 XSQLITE_CREATE_TEMP_TABLE = 4 XSQLITE_CREATE_TEMP_TRIGGER = 5 XSQLITE_CREATE_TEMP_VIEW = 6 XSQLITE_CREATE_TRIGGER = 7 XSQLITE_CREATE_VIEW = 8 XSQLITE_CREATE_VTABLE = 29 XSQLITE_DBCONFIG_ENABLE_FKEY = 1002 XSQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004 XSQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005 XSQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 XSQLITE_DBCONFIG_LOOKASIDE = 1001 XSQLITE_DBCONFIG_MAINDBNAME = 1000 XSQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006 XSQLITE_DBSTATUS_CACHE_HIT = 7 XSQLITE_DBSTATUS_CACHE_MISS = 8 XSQLITE_DBSTATUS_CACHE_USED = 1 XSQLITE_DBSTATUS_CACHE_USED_SHARED = 11 XSQLITE_DBSTATUS_CACHE_WRITE = 9 XSQLITE_DBSTATUS_DEFERRED_FKS = 10 XSQLITE_DBSTATUS_LOOKASIDE_HIT = 4 XSQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6 XSQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 XSQLITE_DBSTATUS_LOOKASIDE_USED = 0 XSQLITE_DBSTATUS_MAX = 11 XSQLITE_DBSTATUS_SCHEMA_USED = 2 XSQLITE_DBSTATUS_STMT_USED = 3 XSQLITE_DELETE = 9 XSQLITE_DENY = 1 XSQLITE_DETACH = 25 XSQLITE_DETERMINISTIC = 2048 XSQLITE_DONE = 101 XSQLITE_DROP_INDEX = 10 XSQLITE_DROP_TABLE = 11 XSQLITE_DROP_TEMP_INDEX = 12 XSQLITE_DROP_TEMP_TABLE = 13 XSQLITE_DROP_TEMP_TRIGGER = 14 XSQLITE_DROP_TEMP_VIEW = 15 XSQLITE_DROP_TRIGGER = 16 XSQLITE_DROP_VIEW = 17 XSQLITE_DROP_VTABLE = 30 XSQLITE_EMPTY = 16 XSQLITE_ERROR = 1 XSQLITE_EXTERN = 0 XSQLITE_FAIL = 3 XSQLITE_FCNTL_BUSYHANDLER = 15 XSQLITE_FCNTL_CHUNK_SIZE = 6 XSQLITE_FCNTL_COMMIT_PHASETWO = 22 XSQLITE_FCNTL_FILE_POINTER = 7 XSQLITE_FCNTL_GET_LOCKPROXYFILE = 2 XSQLITE_FCNTL_HAS_MOVED = 20 XSQLITE_FCNTL_JOURNAL_POINTER = 28 XSQLITE_FCNTL_LAST_ERRNO = 4 XSQLITE_FCNTL_LOCKSTATE = 1 XSQLITE_FCNTL_MMAP_SIZE = 18 XSQLITE_FCNTL_OVERWRITE = 11 XSQLITE_FCNTL_PDB = 30 XSQLITE_FCNTL_PERSIST_WAL = 10 XSQLITE_FCNTL_POWERSAFE_OVERWRITE = 13 XSQLITE_FCNTL_PRAGMA = 14 XSQLITE_FCNTL_RBU = 26 XSQLITE_FCNTL_SET_LOCKPROXYFILE = 3 XSQLITE_FCNTL_SIZE_HINT = 5 XSQLITE_FCNTL_SYNC = 21 XSQLITE_FCNTL_SYNC_OMITTED = 8 XSQLITE_FCNTL_TEMPFILENAME = 16 XSQLITE_FCNTL_TRACE = 19 XSQLITE_FCNTL_VFSNAME = 12 XSQLITE_FCNTL_VFS_POINTER = 27 XSQLITE_FCNTL_WAL_BLOCK = 24 XSQLITE_FCNTL_WIN32_AV_RETRY = 9 XSQLITE_FCNTL_WIN32_GET_HANDLE = 29 XSQLITE_FCNTL_WIN32_SET_HANDLE = 23 XSQLITE_FCNTL_ZIPVFS = 25 XSQLITE_FLOAT = 2 XSQLITE_FORMAT = 24 XSQLITE_FULL = 13 XSQLITE_FUNCTION = 31 XSQLITE_GET_LOCKPROXYFILE = 2 XSQLITE_IGNORE = 2 XSQLITE_INDEX_CONSTRAINT_EQ = 2 XSQLITE_INDEX_CONSTRAINT_GE = 32 XSQLITE_INDEX_CONSTRAINT_GLOB = 66 XSQLITE_INDEX_CONSTRAINT_GT = 4 XSQLITE_INDEX_CONSTRAINT_LE = 8 XSQLITE_INDEX_CONSTRAINT_LIKE = 65 XSQLITE_INDEX_CONSTRAINT_LT = 16 XSQLITE_INDEX_CONSTRAINT_MATCH = 64 XSQLITE_INDEX_CONSTRAINT_REGEXP = 67 XSQLITE_INDEX_SCAN_UNIQUE = 1 XSQLITE_INSERT = 18 XSQLITE_INTEGER = 1 XSQLITE_INTERNAL = 2 XSQLITE_INTERRUPT = 9 XSQLITE_IOCAP_ATOMIC = 1 XSQLITE_IOCAP_ATOMIC16K = 64 XSQLITE_IOCAP_ATOMIC1K = 4 XSQLITE_IOCAP_ATOMIC2K = 8 XSQLITE_IOCAP_ATOMIC32K = 128 XSQLITE_IOCAP_ATOMIC4K = 16 XSQLITE_IOCAP_ATOMIC512 = 2 XSQLITE_IOCAP_ATOMIC64K = 256 XSQLITE_IOCAP_ATOMIC8K = 32 XSQLITE_IOCAP_IMMUTABLE = 8192 XSQLITE_IOCAP_POWERSAFE_OVERWRITE = 4096 XSQLITE_IOCAP_SAFE_APPEND = 512 XSQLITE_IOCAP_SEQUENTIAL = 1024 XSQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 2048 XSQLITE_IOERR = 10 XSQLITE_IOERR_ACCESS = 3338 XSQLITE_IOERR_AUTH = 7178 XSQLITE_IOERR_BLOCKED = 2826 XSQLITE_IOERR_CHECKRESERVEDLOCK = 3594 XSQLITE_IOERR_CLOSE = 4106 XSQLITE_IOERR_CONVPATH = 6666 XSQLITE_IOERR_DELETE = 2570 XSQLITE_IOERR_DELETE_NOENT = 5898 XSQLITE_IOERR_DIR_CLOSE = 4362 XSQLITE_IOERR_DIR_FSYNC = 1290 XSQLITE_IOERR_FSTAT = 1802 XSQLITE_IOERR_FSYNC = 1034 XSQLITE_IOERR_GETTEMPPATH = 6410 XSQLITE_IOERR_LOCK = 3850 XSQLITE_IOERR_MMAP = 6154 XSQLITE_IOERR_NOMEM = 3082 XSQLITE_IOERR_RDLOCK = 2314 XSQLITE_IOERR_READ = 266 XSQLITE_IOERR_SEEK = 5642 XSQLITE_IOERR_SHMLOCK = 5130 XSQLITE_IOERR_SHMMAP = 5386 XSQLITE_IOERR_SHMOPEN = 4618 XSQLITE_IOERR_SHMSIZE = 4874 XSQLITE_IOERR_SHORT_READ = 522 XSQLITE_IOERR_TRUNCATE = 1546 XSQLITE_IOERR_UNLOCK = 2058 XSQLITE_IOERR_VNODE = 6922 XSQLITE_IOERR_WRITE = 778 XSQLITE_LAST_ERRNO = 4 XSQLITE_LIMIT_ATTACHED = 7 XSQLITE_LIMIT_COLUMN = 2 XSQLITE_LIMIT_COMPOUND_SELECT = 4 XSQLITE_LIMIT_EXPR_DEPTH = 3 XSQLITE_LIMIT_FUNCTION_ARG = 6 XSQLITE_LIMIT_LENGTH = 0 XSQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8 XSQLITE_LIMIT_SQL_LENGTH = 1 XSQLITE_LIMIT_TRIGGER_DEPTH = 10 XSQLITE_LIMIT_VARIABLE_NUMBER = 9 XSQLITE_LIMIT_VDBE_OP = 5 XSQLITE_LIMIT_WORKER_THREADS = 11 XSQLITE_LOCKED = 6 XSQLITE_LOCKED_SHAREDCACHE = 262 XSQLITE_LOCK_EXCLUSIVE = 4 XSQLITE_LOCK_NONE = 0 XSQLITE_LOCK_PENDING = 3 XSQLITE_LOCK_RESERVED = 2 XSQLITE_LOCK_SHARED = 1 XSQLITE_MISMATCH = 20 XSQLITE_MISUSE = 21 XSQLITE_MUTEX_FAST = 0 XSQLITE_MUTEX_RECURSIVE = 1 XSQLITE_MUTEX_STATIC_APP1 = 8 XSQLITE_MUTEX_STATIC_APP2 = 9 XSQLITE_MUTEX_STATIC_APP3 = 10 XSQLITE_MUTEX_STATIC_LRU = 6 XSQLITE_MUTEX_STATIC_LRU2 = 7 XSQLITE_MUTEX_STATIC_MASTER = 2 XSQLITE_MUTEX_STATIC_MEM = 3 XSQLITE_MUTEX_STATIC_MEM2 = 4 XSQLITE_MUTEX_STATIC_OPEN = 4 XSQLITE_MUTEX_STATIC_PMEM = 7 XSQLITE_MUTEX_STATIC_PRNG = 5 XSQLITE_MUTEX_STATIC_VFS1 = 11 XSQLITE_MUTEX_STATIC_VFS2 = 12 XSQLITE_MUTEX_STATIC_VFS3 = 13 XSQLITE_NOLFS = 22 XSQLITE_NOMEM = 7 XSQLITE_NOTADB = 26 XSQLITE_NOTFOUND = 12 XSQLITE_NOTICE = 27 XSQLITE_NOTICE_RECOVER_ROLLBACK = 539 XSQLITE_NOTICE_RECOVER_WAL = 283 XSQLITE_NULL = 5 XSQLITE_OK = 0 XSQLITE_OK_LOAD_PERMANENTLY = 256 XSQLITE_OPEN_AUTOPROXY = 32 XSQLITE_OPEN_CREATE = 4 XSQLITE_OPEN_DELETEONCLOSE = 8 XSQLITE_OPEN_EXCLUSIVE = 16 XSQLITE_OPEN_FULLMUTEX = 65536 XSQLITE_OPEN_MAIN_DB = 256 XSQLITE_OPEN_MAIN_JOURNAL = 2048 XSQLITE_OPEN_MASTER_JOURNAL = 16384 XSQLITE_OPEN_MEMORY = 128 XSQLITE_OPEN_NOMUTEX = 32768 XSQLITE_OPEN_PRIVATECACHE = 262144 XSQLITE_OPEN_READONLY = 1 XSQLITE_OPEN_READWRITE = 2 XSQLITE_OPEN_SHAREDCACHE = 131072 XSQLITE_OPEN_SUBJOURNAL = 8192 XSQLITE_OPEN_TEMP_DB = 512 XSQLITE_OPEN_TEMP_JOURNAL = 4096 XSQLITE_OPEN_TRANSIENT_DB = 1024 XSQLITE_OPEN_URI = 64 XSQLITE_OPEN_WAL = 524288 XSQLITE_PERM = 3 XSQLITE_PRAGMA = 19 XSQLITE_PROTOCOL = 15 XSQLITE_RANGE = 25 XSQLITE_READ = 20 XSQLITE_READONLY = 8 XSQLITE_READONLY_CANTLOCK = 520 XSQLITE_READONLY_DBMOVED = 1032 XSQLITE_READONLY_RECOVERY = 264 XSQLITE_READONLY_ROLLBACK = 776 XSQLITE_RECURSIVE = 33 XSQLITE_REINDEX = 27 XSQLITE_REPLACE = 5 XSQLITE_ROLLBACK = 1 XSQLITE_ROW = 100 XSQLITE_SAVEPOINT = 32 XSQLITE_SCANSTAT_EST = 2 XSQLITE_SCANSTAT_EXPLAIN = 4 XSQLITE_SCANSTAT_NAME = 3 XSQLITE_SCANSTAT_NLOOP = 0 XSQLITE_SCANSTAT_NVISIT = 1 XSQLITE_SCANSTAT_SELECTID = 5 XSQLITE_SCHEMA = 17 XSQLITE_SELECT = 21 XSQLITE_SET_LOCKPROXYFILE = 3 XSQLITE_SHM_EXCLUSIVE = 8 XSQLITE_SHM_LOCK = 2 XSQLITE_SHM_NLOCK = 8 XSQLITE_SHM_SHARED = 4 XSQLITE_SHM_UNLOCK = 1 XSQLITE_SOURCE_ID = "2017-03-28 18:48:43 424a0d380332858ee55bdebc4af3789f74e70a2b3ba1cf29d84b9b4bcf3e2e37" XSQLITE_STATUS_MALLOC_COUNT = 9 XSQLITE_STATUS_MALLOC_SIZE = 5 XSQLITE_STATUS_MEMORY_USED = 0 XSQLITE_STATUS_PAGECACHE_OVERFLOW = 2 XSQLITE_STATUS_PAGECACHE_SIZE = 7 XSQLITE_STATUS_PAGECACHE_USED = 1 XSQLITE_STATUS_PARSER_STACK = 6 XSQLITE_STATUS_SCRATCH_OVERFLOW = 4 XSQLITE_STATUS_SCRATCH_SIZE = 8 XSQLITE_STATUS_SCRATCH_USED = 3 XSQLITE_STMTSTATUS_AUTOINDEX = 3 XSQLITE_STMTSTATUS_FULLSCAN_STEP = 1 XSQLITE_STMTSTATUS_SORT = 2 XSQLITE_STMTSTATUS_VM_STEP = 4 XSQLITE_SYNC_DATAONLY = 16 XSQLITE_SYNC_FULL = 3 XSQLITE_SYNC_NORMAL = 2 XSQLITE_TESTCTRL_ALWAYS = 13 XSQLITE_TESTCTRL_ASSERT = 12 XSQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10 XSQLITE_TESTCTRL_BITVEC_TEST = 8 XSQLITE_TESTCTRL_BYTEORDER = 22 XSQLITE_TESTCTRL_EXPLAIN_STMT = 19 XSQLITE_TESTCTRL_FAULT_INSTALL = 9 XSQLITE_TESTCTRL_FIRST = 5 XSQLITE_TESTCTRL_IMPOSTER = 25 XSQLITE_TESTCTRL_ISINIT = 23 XSQLITE_TESTCTRL_ISKEYWORD = 16 XSQLITE_TESTCTRL_LAST = 25 XSQLITE_TESTCTRL_LOCALTIME_FAULT = 18 XSQLITE_TESTCTRL_NEVER_CORRUPT = 20 XSQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19 XSQLITE_TESTCTRL_OPTIMIZATIONS = 15 XSQLITE_TESTCTRL_PENDING_BYTE = 11 XSQLITE_TESTCTRL_PRNG_RESET = 7 XSQLITE_TESTCTRL_PRNG_RESTORE = 6 XSQLITE_TESTCTRL_PRNG_SAVE = 5 XSQLITE_TESTCTRL_RESERVE = 14 XSQLITE_TESTCTRL_SCRATCHMALLOC = 17 XSQLITE_TESTCTRL_SORTER_MMAP = 24 XSQLITE_TESTCTRL_VDBE_COVERAGE = 21 XSQLITE_TEXT = 3 XSQLITE_TOOBIG = 18 XSQLITE_TRACE_CLOSE = 8 XSQLITE_TRACE_PROFILE = 2 XSQLITE_TRACE_ROW = 4 XSQLITE_TRACE_STMT = 1 XSQLITE_TRANSACTION = 22 XSQLITE_TRANSIENT = -1 XSQLITE_UPDATE = 23 XSQLITE_UTF16 = 4 XSQLITE_UTF16BE = 3 XSQLITE_UTF16LE = 2 XSQLITE_UTF16_ALIGNED = 8 XSQLITE_UTF8 = 1 XSQLITE_VERSION = "3.18.0" XSQLITE_VERSION_NUMBER = 3018000 XSQLITE_VTAB_CONSTRAINT_SUPPORT = 1 XSQLITE_WARNING = 28 XSQLITE_WARNING_AUTOINDEX = 284 X_LP64 = 1 X_STDC_PREDEF_H = 1 X__ATOMIC_ACQUIRE = 2 X__ATOMIC_ACQ_REL = 4 X__ATOMIC_CONSUME = 1 X__ATOMIC_HLE_ACQUIRE = 65536 X__ATOMIC_HLE_RELEASE = 131072 X__ATOMIC_RELAXED = 0 X__ATOMIC_RELEASE = 3 X__ATOMIC_SEQ_CST = 5 X__BIGGEST_ALIGNMENT__ = 16 X__BYTE_ORDER__ = 1234 X__CHAR_BIT__ = 8 X__DBL_DECIMAL_DIG__ = 17 X__DBL_DIG__ = 15 X__DBL_HAS_DENORM__ = 1 X__DBL_HAS_INFINITY__ = 1 X__DBL_HAS_QUIET_NAN__ = 1 X__DBL_MANT_DIG__ = 53 X__DBL_MAX_10_EXP__ = 308 X__DBL_MAX_EXP__ = 1024 X__DBL_MIN_10_EXP__ = -307 X__DBL_MIN_EXP__ = -1021 X__DEC128_MANT_DIG__ = 34 X__DEC128_MAX_EXP__ = 6145 X__DEC128_MIN_EXP__ = -6142 X__DEC32_MANT_DIG__ = 7 X__DEC32_MAX_EXP__ = 97 X__DEC32_MIN_EXP__ = -94 X__DEC64_MANT_DIG__ = 16 X__DEC64_MAX_EXP__ = 385 X__DEC64_MIN_EXP__ = -382 X__DECIMAL_BID_FORMAT__ = 1 X__DECIMAL_DIG__ = 21 X__DEC_EVAL_METHOD__ = 2 X__FINITE_MATH_ONLY__ = 0 X__FLOAT_WORD_ORDER__ = 1234 X__FLT_DECIMAL_DIG__ = 9 X__FLT_DENORM_MIN__ = 1e-45 X__FLT_DIG__ = 6 X__FLT_EPSILON__ = 1.1920929e-07 X__FLT_EVAL_METHOD__ = 0 X__FLT_HAS_DENORM__ = 1 X__FLT_HAS_INFINITY__ = 1 X__FLT_HAS_QUIET_NAN__ = 1 X__FLT_MANT_DIG__ = 24 X__FLT_MAX_10_EXP__ = 38 X__FLT_MAX_EXP__ = 128 X__FLT_MAX__ = 3.4028235e+38 X__FLT_MIN_10_EXP__ = -37 X__FLT_MIN_EXP__ = -125 X__FLT_MIN__ = 1.1754944e-38 X__FLT_RADIX__ = 2 X__FUNCTION__ = 0 X__FXSR__ = 1 X__GXX_ABI_VERSION = 1010 X__INT16_MAX__ = 32767 X__INT32_MAX__ = 2147483647 X__INT32_TYPE__ = 0 X__INT64_MAX__ = 9223372036854775807 X__INT8_MAX__ = 127 X__INTMAX_MAX__ = 9223372036854775807 X__INTPTR_MAX__ = 9223372036854775807 X__INT_FAST16_MAX__ = 9223372036854775807 X__INT_FAST32_MAX__ = 9223372036854775807 X__INT_FAST64_MAX__ = 9223372036854775807 X__INT_FAST8_MAX__ = 127 X__INT_LEAST16_MAX__ = 32767 X__INT_LEAST32_MAX__ = 2147483647 X__INT_LEAST32_TYPE__ = 0 X__INT_LEAST64_MAX__ = 9223372036854775807 X__INT_LEAST8_MAX__ = 127 X__INT_MAX__ = 2147483647 X__LDBL_DENORM_MIN__ = 0 X__LDBL_DIG__ = 18 X__LDBL_EPSILON__ = 1.0842021724855044e-19 X__LDBL_HAS_DENORM__ = 1 X__LDBL_HAS_INFINITY__ = 1 X__LDBL_HAS_QUIET_NAN__ = 1 X__LDBL_MANT_DIG__ = 64 X__LDBL_MAX_10_EXP__ = 4932 X__LDBL_MAX_EXP__ = 16384 X__LDBL_MAX__ = 0 X__LDBL_MIN_10_EXP__ = -4931 X__LDBL_MIN_EXP__ = -16381 X__LDBL_MIN__ = 0 X__LONG_LONG_MAX__ = 9223372036854775807 X__LONG_MAX__ = 9223372036854775807 X__LP64__ = 1 X__MMX__ = 1 X__NO_INLINE__ = 1 X__ORDER_BIG_ENDIAN__ = 4321 X__ORDER_LITTLE_ENDIAN__ = 1234 X__ORDER_PDP_ENDIAN__ = 3412 X__PIC__ = 2 X__PIE__ = 2 X__PRAGMA_REDEFINE_EXTNAME = 1 X__PTRDIFF_MAX__ = 9223372036854775807 X__SCHAR_MAX__ = 127 X__SEG_FS = 1 X__SEG_GS = 1 X__SHRT_MAX__ = 32767 X__SIG_ATOMIC_MAX__ = 2147483647 X__SIG_ATOMIC_MIN__ = -2147483648 X__SIG_ATOMIC_TYPE__ = 0 X__SIZEOF_DOUBLE__ = 8 X__SIZEOF_FLOAT128__ = 16 X__SIZEOF_FLOAT80__ = 16 X__SIZEOF_FLOAT__ = 4 X__SIZEOF_INT__ = 4 X__SIZEOF_LONG_DOUBLE__ = 16 X__SIZEOF_LONG_LONG__ = 8 X__SIZEOF_LONG__ = 8 X__SIZEOF_POINTER__ = 8 X__SIZEOF_PTRDIFF_T__ = 8 X__SIZEOF_SHORT__ = 2 X__SIZEOF_SIZE_T__ = 8 X__SIZEOF_WCHAR_T__ = 4 X__SIZEOF_WINT_T__ = 4 X__SIZE_MAX__ = 18446744073709551615 X__SSE2_MATH__ = 1 X__SSE2__ = 1 X__SSE_MATH__ = 1 X__SSE__ = 1 X__SSP_STRONG__ = 3 X__STDC_HOSTED__ = 1 X__STDC_IEC_559_COMPLEX__ = 1 X__STDC_IEC_559__ = 1 X__STDC_ISO_10646__ = 201505 X__STDC_NO_THREADS__ = 1 X__STDC_VERSION__ = 199901 X__STDC__ = 1 X__STRICT_ANSI__ = 1 X__UINT16_MAX__ = 65535 X__UINT32_MAX__ = 4294967295 X__UINT64_MAX__ = 18446744073709551615 X__UINT8_MAX__ = 255 X__UINTMAX_MAX__ = 18446744073709551615 X__UINTPTR_MAX__ = 18446744073709551615 X__UINT_FAST16_MAX__ = 18446744073709551615 X__UINT_FAST32_MAX__ = 18446744073709551615 X__UINT_FAST64_MAX__ = 18446744073709551615 X__UINT_FAST8_MAX__ = 255 X__UINT_LEAST16_MAX__ = 65535 X__UINT_LEAST32_MAX__ = 4294967295 X__UINT_LEAST64_MAX__ = 18446744073709551615 X__UINT_LEAST8_MAX__ = 255 X__VERSION__ = "6.2.0 20161005" X__WCHAR_MAX__ = 2147483647 X__WCHAR_MIN__ = -2147483648 X__WCHAR_TYPE__ = 0 X__WINT_MAX__ = 4294967295 X__WINT_MIN__ = 0 X__amd64 = 1 X__amd64__ = 1 X__code_model_small__ = 1 X__complex__ = 0 X__const = 0 X__inline = 0 X__k8 = 1 X__k8__ = 1 X__linux = 1 X__linux__ = 1 X__pic__ = 2 X__pie__ = 2 X__restrict = 0 X__unix = 1 X__unix__ = 1 X__volatile = 0 X__x86_64 = 1 X__x86_64__ = 1 ) func X_start(tls *crt.TLS, _argc int32, _argv **int8) { // crt0.c:12:1 crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr) crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv)) return } var Xstdin unsafe.Pointer // crt0.c:10:6 func init() { Xstdin = unsafe.Pointer(&X__stdfiles) } var X__stdfiles [3]unsafe.Pointer // crt0.c:9:15 var Xstdout unsafe.Pointer // crt0.c:10:31 func init() { Xstdout = (unsafe.Pointer)(uintptr(unsafe.Pointer(&X__stdfiles)) + 8) } var Xstderr unsafe.Pointer // crt0.c:10:57 func init() { Xstderr = (unsafe.Pointer)(uintptr(unsafe.Pointer(&X__stdfiles)) + 16) } func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) { // main.c:9:1 var _f func(*crt.TLS, int32, ...interface{}) int32 // main.c:12:6 _ = _f r0 = i32(0) _f = Xsqlite3_config return } func Xsqlite3_config(tls *crt.TLS, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:140258:12 var _ap []interface{} // sqlite3.c:140259:11 _ = _ap var _rc int32 // sqlite3.c:140260:7 _ = _rc var _22_szMmap int64 // sqlite3.c:140504:21 _ = _22_szMmap var _22_mxMmap int64 // sqlite3.c:140505:21 _ = _22_mxMmap _rc = i32(0) if (_sqlite3Config.X28) == 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(140264)) return _0: _ap = args switch _op { case i32(1): goto _2 case i32(2): goto _3 case i32(3): goto _4 case i32(4): goto _7 case i32(5): goto _8 case i32(6): goto _10 case i32(7): goto _11 case i32(9): goto _9 case i32(10): goto _5 case i32(11): goto _6 case i32(13): goto _17 case i32(14): goto _13 case i32(15): goto _14 case i32(16): goto _18 case i32(17): goto _19 case i32(18): goto _15 case i32(19): goto _16 case i32(20): goto _20 case i32(22): goto _21 case i32(24): goto _12 case i32(25): goto _22 case i32(26): goto _23 default: goto _24 } _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(4 /* X1 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(8 /* X2 */))) = i32(0) goto _25 _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(4 /* X1 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(8 /* X2 */))) = i32(0) goto _25 _4: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(4 /* X1 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(8 /* X2 */))) = i32(1) goto _25 _5: *(*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))) = *(*Xsqlite3_mutex_methods)(crt.VAPointer(&_ap)) goto _25 _6: *(*Xsqlite3_mutex_methods)(crt.VAPointer(&_ap)) = _sqlite3Config.X11 goto _25 _7: *(*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))) = *(*Xsqlite3_mem_methods)(crt.VAPointer(&_ap)) goto _25 _8: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{nil})) { goto _26 } _sqlite3MemSetDefault(tls) _26: *(*Xsqlite3_mem_methods)(crt.VAPointer(&_ap)) = _sqlite3Config.X10 goto _25 _9: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(0 /* X0 */))) = crt.VAInt32(&_ap) goto _25 _10: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(320 /* X19 */))) = crt.VAPointer(&_ap) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(328 /* X20 */))) = crt.VAInt32(&_ap) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(332 /* X21 */))) = crt.VAInt32(&_ap) goto _25 _11: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(336 /* X22 */))) = crt.VAPointer(&_ap) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(344 /* X23 */))) = crt.VAInt32(&_ap) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(348 /* X24 */))) = crt.VAInt32(&_ap) goto _25 _12: *(*int32)(crt.VAPointer(&_ap)) = (_sqlite3HeaderSizeBtree(tls) + _sqlite3HeaderSizePcache(tls)) + _sqlite3HeaderSizePcache1(tls) goto _25 _13: goto _25 _14: _rc = i32(1) goto _25 _15: *(*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))) = *(*Xsqlite3_pcache_methods2)(crt.VAPointer(&_ap)) goto _25 _16: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{nil})) { goto _27 } _sqlite3PCacheSetDefault(tls) _27: *(*Xsqlite3_pcache_methods2)(crt.VAPointer(&_ap)) = _sqlite3Config.X12 goto _25 _17: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(28 /* X7 */))) = crt.VAInt32(&_ap) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(32 /* X8 */))) = crt.VAInt32(&_ap) goto _25 _18: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(400 /* X35 */))) = crt.VAOther(&_ap).(func(*crt.TLS, unsafe.Pointer, int32, *int8)) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(408 /* X36 */))) = crt.VAPointer(&_ap) goto _25 _19: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(12 /* X3 */))) = crt.VAInt32(&_ap) goto _25 _20: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(16 /* X4 */))) = crt.VAInt32(&_ap) goto _25 _21: _22_szMmap = crt.VAInt64(&_ap) _22_mxMmap = crt.VAInt64(&_ap) if _22_mxMmap >= int64(i32(0)) && _22_mxMmap <= int64(i32(2147418112)) { goto _29 } _22_mxMmap = int64(i32(2147418112)) _29: if _22_szMmap >= int64(i32(0)) { goto _30 } _22_szMmap = int64(i32(0)) _30: if _22_szMmap <= _22_mxMmap { goto _31 } _22_szMmap = _22_mxMmap _31: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(312 /* X18 */))) = _22_mxMmap *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(304 /* X17 */))) = _22_szMmap goto _25 _22: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(360 /* X27 */))) = crt.VAUint32(&_ap) goto _25 _23: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(36 /* X9 */))) = crt.VAInt32(&_ap) goto _25 _24: _rc = i32(1) goto _25 _25: _ap = nil r0 = _rc return } var _sqlite3Config TSqlite3Config // sqlite3.c:17320:48 func init() { _sqlite3Config = TSqlite3Config{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)} } func _sqlite3MisuseError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143232:1 r0 = _reportError(tls, i32(21), _lineno, str(0)) return } func _reportError(tls *crt.TLS, _iErr int32, _lineno int32, _zType *int8) (r0 int32) { // sqlite3.c:143223:1 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))))))) r0 = _iErr return } func Xsqlite3_log(tls *crt.TLS, _iErrCode int32, _zFormat *int8, args ...interface{}) { // sqlite3.c:26101:12 var _ap []interface{} // sqlite3.c:26102:11 _ = _ap if (_sqlite3Config.X35) == nil { goto _0 } _ap = args _renderLogMsg(tls, _iErrCode, _zFormat, _ap) _ap = nil _0: return } func _renderLogMsg(tls *crt.TLS, _iErrCode int32, _zFormat *int8, _ap []interface{}) { // sqlite3.c:26088:1 var _acc XStrAccum // sqlite3.c:26089:12 _ = _acc var _zMsg [210]int8 // sqlite3.c:26090:8 _ = _zMsg _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zMsg)), int32(u64(210)), i32(0)) _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) (_sqlite3Config.X35)(tls, _sqlite3Config.X36, _iErrCode, _sqlite3StrAccumFinish(tls, &_acc)) return } func _sqlite3StrAccumInit(tls *crt.TLS, _p *XStrAccum, _db *Xsqlite3, _zBase *int8, _n int32, _mx int32) { // sqlite3.c:25954:1 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))), _zBase) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _db *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X4 */))) = uint32(_n) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))) = uint32(_mx) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X6 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(37 /* X7 */))) = uint8(i32(0)) return } func _sqlite3VXPrintf(tls *crt.TLS, _pAccum *XStrAccum, _fmt *int8, _ap []interface{}) { // sqlite3.c:25198:1 var _c int32 // sqlite3.c:25203:7 _ = _c var _bufpt *int8 // sqlite3.c:25204:8 _ = _bufpt var _precision int32 // sqlite3.c:25205:7 _ = _precision var _length int32 // sqlite3.c:25206:7 _ = _length var _idx int32 // sqlite3.c:25207:7 _ = _idx var _width int32 // sqlite3.c:25208:7 _ = _width var _flag_leftjustify uint8 // sqlite3.c:25209:10 _ = _flag_leftjustify var _flag_prefix uint8 // sqlite3.c:25210:10 _ = _flag_prefix var _flag_alternateform uint8 // sqlite3.c:25211:10 _ = _flag_alternateform var _flag_altform2 uint8 // sqlite3.c:25212:10 _ = _flag_altform2 var _flag_zeropad uint8 // sqlite3.c:25213:10 _ = _flag_zeropad var _flag_long uint8 // sqlite3.c:25214:10 _ = _flag_long var _done uint8 // sqlite3.c:25215:10 _ = _done var _cThousand uint8 // sqlite3.c:25216:10 _ = _cThousand var _xtype uint8 // sqlite3.c:25217:10 _ = _xtype var _bArgList uint8 // sqlite3.c:25218:6 _ = _bArgList var _prefix int8 // sqlite3.c:25219:8 _ = _prefix var _longvalue uint64 // sqlite3.c:25220:17 _ = _longvalue var _realvalue float64 // sqlite3.c:25221:19 _ = _realvalue var _infop *Xet_info // sqlite3.c:25222:17 _ = _infop var _zOut *int8 // sqlite3.c:25223:8 _ = _zOut var _nOut int32 // sqlite3.c:25224:7 _ = _nOut var _zExtra *int8 // sqlite3.c:25225:8 _ = _zExtra var _exp int32 // sqlite3.c:25227:8 _ = _exp var _e2 int32 // sqlite3.c:25227:13 _ = _e2 var _nsd int32 // sqlite3.c:25228:7 _ = _nsd var _rounder float64 // sqlite3.c:25229:10 _ = _rounder var _flag_dp uint8 // sqlite3.c:25230:10 _ = _flag_dp var _flag_rtz uint8 // sqlite3.c:25231:10 _ = _flag_rtz var _pArgList *XPrintfArguments // sqlite3.c:25233:19 _ = _pArgList var _buf [70]int8 // sqlite3.c:25234:8 _ = _buf var _13_wx uint32 // sqlite3.c:25287:16 _ = _13_wx var _20_px uint32 // sqlite3.c:25316:18 _ = _20_px var _29_v int64 // sqlite3.c:25385:15 _ = _29_v var _47_n uint64 // sqlite3.c:25430:15 _ = _47_n var _49_x int32 // sqlite3.c:25441:15 _ = _49_x var _51_cset *int8 // sqlite3.c:25449:22 _ = _51_cset var _51_base uint8 // sqlite3.c:25450:14 _ = _51_base var _54_nn int32 // sqlite3.c:25462:15 _ = _54_nn var _54_ix int32 // sqlite3.c:25463:15 _ = _54_ix var _57_pre *int8 // sqlite3.c:25477:22 _ = _57_pre var _57_x int8 // sqlite3.c:25478:16 _ = _57_x var _64_scale float64 // sqlite3.c:25514:27 _ = _64_scale var _96_i int32 // sqlite3.c:25629:15 _ = _96_i var _96_nPad int32 // sqlite3.c:25630:15 _ = _96_nPad var _110_i int32 // sqlite3.c:25692:13 _ = _110_i var _110_j int32 // sqlite3.c:25692:16 _ = _110_j var _110_k int32 // sqlite3.c:25692:19 _ = _110_k var _110_n int32 // sqlite3.c:25692:22 _ = _110_n var _110_isnull int32 // sqlite3.c:25692:25 _ = _110_isnull var _110_needQuote int32 // sqlite3.c:25693:13 _ = _110_needQuote var _110_ch int8 // sqlite3.c:25694:14 _ = _110_ch var _110_q int8 // sqlite3.c:25695:14 _ = _110_q var _110_escarg *int8 // sqlite3.c:25696:14 _ = _110_escarg var _118_pToken *XToken // sqlite3.c:25736:15 _ = _118_pToken var _120_pSrc *XSrcList // sqlite3.c:25747:17 _ = _120_pSrc var _120_k int32 // sqlite3.c:25748:13 _ = _120_k var _120_pItem *TSrcList_item // sqlite3.c:25749:29 _ = _120_pItem _xtype = u8(17) _zExtra = nil _pArgList = nil _bufpt = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if (int32(_pAccum.X7) & i32(2)) == i32(0) { goto _0 } _pArgList = (*XPrintfArguments)(crt.VAPointer(&_ap)) _bArgList = uint8(i32(1)) goto _1 _0: _bArgList = uint8(i32(0)) _1: _2: if store961(&_c, int32(*_fmt)) == i32(0) { goto _5 } if _c == i32(37) { goto _6 } _bufpt = _fmt _7: *(*uintptr)(unsafe.Pointer(&_fmt)) += uintptr(1) if ((*_fmt) != 0) && (int32(*_fmt) != i32(37)) { goto _7 } _sqlite3StrAccumAppend(tls, _pAccum, _bufpt, int32(int64((uintptr(unsafe.Pointer(_fmt))-uintptr(unsafe.Pointer(_bufpt)))/1))) if int32(*_fmt) != i32(0) { goto _9 } goto _5 _9: _6: if store961(&_c, int32(*preInc1025(&_fmt, 1))) != i32(0) { goto _10 } _sqlite3StrAccumAppend(tls, _pAccum, str(36), i32(1)) goto _5 _10: _flag_leftjustify = store4537(&_flag_prefix, store4537(&_cThousand, store4537(&_flag_alternateform, store4537(&_flag_altform2, store4537(&_flag_zeropad, uint8(i32(0))))))) _done = uint8(i32(0)) _11: switch _c { case i32(32): goto _15 case i32(33): goto _17 case i32(35): goto _16 case i32(43): goto _14 case i32(44): goto _19 case i32(45): goto _13 case i32(48): goto _18 default: goto _20 } _13: _flag_leftjustify = uint8(i32(1)) goto _21 _14: _flag_prefix = uint8(i32(43)) goto _21 _15: _flag_prefix = uint8(i32(32)) goto _21 _16: _flag_alternateform = uint8(i32(1)) goto _21 _17: _flag_altform2 = uint8(i32(1)) goto _21 _18: _flag_zeropad = uint8(i32(1)) goto _21 _19: _cThousand = uint8(i32(44)) goto _21 _20: _done = uint8(i32(1)) goto _21 _21: if (_done == 0) && (store961(&_c, int32(*preInc1025(&_fmt, 1))) != i32(0)) { goto _11 } if _c != i32(42) { goto _23 } if _bArgList == 0 { goto _24 } _width = int32(_getIntArg(tls, _pArgList)) goto _25 _24: _width = crt.VAInt32(&_ap) _25: if _width >= i32(0) { goto _26 } _flag_leftjustify = uint8(i32(1)) _width = func() int32 { if _width >= i32(-2147483647) { return (-_width) } return i32(0) }() _26: _c = int32(*preInc1025(&_fmt, 1)) goto _29 _23: _13_wx = uint32(i32(0)) _30: if _c < i32(48) || _c > i32(57) { goto _31 } _13_wx = ((_13_wx * uint32(i32(10))) + uint32(_c)) - uint32(i32(48)) _c = int32(*preInc1025(&_fmt, 1)) goto _30 _31: _width = int32(_13_wx & uint32(i32(2147483647))) _29: func() int32 { if _width >= i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _c != i32(46) { goto _35 } _c = int32(*preInc1025(&_fmt, 1)) if _c != i32(42) { goto _36 } if _bArgList == 0 { goto _37 } _precision = int32(_getIntArg(tls, _pArgList)) goto _38 _37: _precision = crt.VAInt32(&_ap) _38: _c = int32(*preInc1025(&_fmt, 1)) if _precision >= i32(0) { goto _39 } _precision = func() int32 { if _precision >= i32(-2147483647) { return (-_precision) } return i32(-1) }() _39: goto _42 _36: _20_px = uint32(i32(0)) _43: if _c < i32(48) || _c > i32(57) { goto _44 } _20_px = ((_20_px * uint32(i32(10))) + uint32(_c)) - uint32(i32(48)) _c = int32(*preInc1025(&_fmt, 1)) goto _43 _44: _precision = int32(_20_px & uint32(i32(2147483647))) _42: goto _46 _35: _precision = i32(-1) _46: func() int32 { if _precision >= i32(-1) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _c != i32(108) { goto _49 } _flag_long = uint8(i32(1)) _c = int32(*preInc1025(&_fmt, 1)) if _c != i32(108) { goto _50 } _flag_long = uint8(i32(2)) _c = int32(*preInc1025(&_fmt, 1)) _50: goto _51 _49: _flag_long = uint8(i32(0)) _51: _infop = (*Xet_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fmtinfo)) + 6*uintptr(i32(0)))) _xtype = uint8(i32(17)) _idx = i32(0) _52: if _idx >= i32(23) { goto _55 } if _c != int32((*Xet_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fmtinfo))+6*uintptr(_idx))).X0) { goto _56 } _infop = (*Xet_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fmtinfo)) + 6*uintptr(_idx))) _xtype = _infop.X3 goto _55 _56: _idx += 1 goto _52 _55: switch int32(_xtype) { case i32(0): goto _60 case i32(1): goto _62 case i32(2): goto _63 case i32(3): goto _64 case i32(4): goto _65 case i32(5): goto _68 case i32(6): goto _69 case i32(7): goto _66 case i32(8): goto _67 case i32(9): goto _70 case i32(10): goto _71 case i32(11): goto _73 case i32(12): goto _74 case i32(13): goto _58 case i32(14): goto _72 case i32(15): goto _59 case i32(16): goto _61 default: goto _75 } _58: _flag_long = uint8(i32(2)) _59: _60: _cThousand = uint8(i32(0)) _61: if (int32(_infop.X2) & i32(1)) == 0 { goto _76 } if _bArgList == 0 { goto _77 } _29_v = _getIntArg(tls, _pArgList) goto _78 _77: if _flag_long == 0 { goto _79 } if int32(_flag_long) != i32(2) { goto _80 } _29_v = crt.VAInt64(&_ap) goto _81 _80: _29_v = crt.VAInt64(&_ap) _81: goto _82 _79: _29_v = int64(crt.VAInt32(&_ap)) _82: _78: if _29_v >= int64(i32(0)) { goto _83 } if _29_v != i64(-9223372036854775808) { goto _84 } _longvalue = u64(9223372036854775808) goto _85 _84: _longvalue = uint64(-_29_v) _85: _prefix = int8(i32(45)) goto _86 _83: _longvalue = uint64(_29_v) _prefix = int8(_flag_prefix) _86: goto _87 _76: if _bArgList == 0 { goto _88 } _longvalue = uint64(_getIntArg(tls, _pArgList)) goto _89 _88: if _flag_long == 0 { goto _90 } if int32(_flag_long) != i32(2) { goto _91 } _longvalue = crt.VAUint64(&_ap) goto _92 _91: _longvalue = crt.VAUint64(&_ap) _92: goto _93 _90: _longvalue = uint64(crt.VAUint32(&_ap)) _93: _89: _prefix = int8(i32(0)) _87: if _longvalue != uint64(i32(0)) { goto _94 } _flag_alternateform = uint8(i32(0)) _94: if _flag_zeropad == 0 || _precision >= (_width-bool2int(int32(_prefix) != i32(0))) { goto _96 } _precision = _width - bool2int(int32(_prefix) != i32(0)) _96: if _precision >= i32(37) { goto _97 } _nOut = i32(70) _zOut = (*int8)(unsafe.Pointer(&_buf)) goto _98 _97: _47_n = (uint64(_precision) + uint64(i32(10))) + uint64(_precision/i32(3)) _zOut = store1025(&_zExtra, (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, _47_n)))) if _zOut != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _99 } _setStrAccumError(tls, _pAccum, uint8(i32(1))) return _99: _nOut = int32(_47_n) _98: _bufpt = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(_nOut-i32(1)))) if int32(_xtype) != i32(15) { goto _100 } _49_x = int32(_longvalue % uint64(i32(10))) if _49_x < i32(4) && ((_longvalue/uint64(i32(10)))%uint64(i32(10))) != uint64(i32(1)) { goto _102 } _49_x = i32(0) _102: *preInc1025(&_bufpt, -1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VXPrintfØ00zOrdØ001)) + 1*uintptr((_49_x*i32(2))+i32(1)))) *preInc1025(&_bufpt, -1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VXPrintfØ00zOrdØ001)) + 1*uintptr(_49_x*i32(2)))) _100: _51_cset = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aDigits)) + 1*uintptr(_infop.X4))) _51_base = _infop.X1 _103: *preInc1025(&_bufpt, -1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_51_cset)) + 1*uintptr(_longvalue%uint64(_51_base)))) _longvalue = _longvalue / uint64(_51_base) if _longvalue > uint64(i32(0)) { goto _103 } _length = int32(int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_nOut-i32(1)))))) - uintptr(unsafe.Pointer(_bufpt))) / 1)) _104: if _precision <= _length { goto _105 } *preInc1025(&_bufpt, -1) = int8(i32(48)) _length += 1 goto _104 _105: if _cThousand == 0 { goto _106 } _54_nn = (_length - i32(1)) / i32(3) _54_ix = ((_length - i32(1)) % i32(3)) + i32(1) { p := &_bufpt *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(_54_nn))) sink1025 = *p } _idx = i32(0) _107: if _54_nn <= i32(0) { goto _110 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_idx))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_idx+_54_nn))) _54_ix -= 1 if _54_ix != i32(0) { goto _111 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(preInc961(&_idx, 1)))) = int8(_cThousand) _54_nn -= 1 _54_ix = i32(3) _111: _idx += 1 goto _107 _110: _106: if _prefix == 0 { goto _112 } *preInc1025(&_bufpt, -1) = _prefix _112: if _flag_alternateform == 0 || (_infop.X5) == 0 { goto _114 } _57_pre = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPrefix)) + 1*uintptr(_infop.X5))) _115: if int32(store973(&_57_x, *_57_pre)) == i32(0) { goto _118 } *preInc1025(&_bufpt, -1) = _57_x *(*uintptr)(unsafe.Pointer(&_57_pre)) += uintptr(1) goto _115 _118: _114: _length = int32(int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_nOut-i32(1)))))) - uintptr(unsafe.Pointer(_bufpt))) / 1)) goto _119 _62: _63: _64: if _bArgList == 0 { goto _120 } _realvalue = _getDoubleArg(tls, _pArgList) goto _121 _120: _realvalue = crt.VAOther(&_ap).(float64) _121: if _precision >= i32(0) { goto _122 } _precision = i32(6) _122: if _realvalue >= float64(0) { goto _123 } _realvalue = -_realvalue _prefix = int8(i32(45)) goto _124 _123: _prefix = int8(_flag_prefix) _124: if int32(_xtype) != i32(3) || _precision <= i32(0) { goto _126 } _precision -= 1 _126: *func() *float64 { _idx = _precision & i32(4095); return &_rounder }() = 0.5 _127: if _idx <= i32(0) { goto _130 } { p := func() *float64 { _idx -= 1; return &_rounder }() *p = (*p) * (0.1) sink4517 = *p } goto _127 _130: if int32(_xtype) != i32(1) { goto _131 } { p := &_realvalue *p = (*p) + _rounder sink4517 = *p } _131: _exp = i32(0) if _sqlite3IsNaN(tls, _realvalue) == 0 { goto _132 } _bufpt = str(164) _length = i32(3) goto _119 _132: if _realvalue <= float64(0) { goto _133 } _64_scale = float64(1) _134: if _realvalue < (float64(1e+100)*_64_scale) || _exp > i32(350) { goto _135 } { p := &_64_scale *p = (*p) * float64(1e+100) sink4517 = *p } { p := &_exp *p = (*p) + i32(100) sink961 = *p } goto _134 _135: _137: if _realvalue < (float64(1e+10)*_64_scale) || _exp > i32(350) { goto _138 } { p := &_64_scale *p = (*p) * float64(1e+10) sink4517 = *p } { p := &_exp *p = (*p) + i32(10) sink961 = *p } goto _137 _138: _140: if _realvalue < (float64(10)*_64_scale) || _exp > i32(350) { goto _141 } { p := &_64_scale *p = (*p) * float64(10) sink4517 = *p } _exp += 1 goto _140 _141: { p := &_realvalue *p = (*p) / _64_scale sink4517 = *p } _143: if _realvalue >= float64(1e-08) { goto _144 } { p := &_realvalue *p = (*p) * float64(1e+08) sink4517 = *p } { p := &_exp *p = (*p) - i32(8) sink961 = *p } goto _143 _144: _145: if _realvalue >= float64(1) { goto _146 } { p := &_realvalue *p = (*p) * float64(10) sink4517 = *p } _exp -= 1 goto _145 _146: if _exp <= i32(350) { goto _147 } _bufpt = (*int8)(unsafe.Pointer(&_buf)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) = _prefix 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)), uint64(i32(4))) _length = i32(3) + bool2int(int32(_prefix) != i32(0)) goto _119 _147: _133: _bufpt = (*int8)(unsafe.Pointer(&_buf)) if int32(_xtype) == i32(1) { goto _148 } { p := &_realvalue *p = (*p) + _rounder sink4517 = *p } if _realvalue < float64(10) { goto _149 } { p := &_realvalue *p = (*p) * (0.1) sink4517 = *p } _exp += 1 _149: _148: if int32(_xtype) != i32(3) { goto _150 } _flag_rtz = uint8(bool2int(_flag_alternateform == 0)) if _exp >= i32(-4) && _exp <= _precision { goto _152 } _xtype = uint8(i32(2)) goto _153 _152: _precision = _precision - _exp _xtype = uint8(i32(1)) _153: goto _154 _150: _flag_rtz = _flag_altform2 _154: if int32(_xtype) != i32(2) { goto _155 } _e2 = i32(0) goto _156 _155: _e2 = _exp _156: if ((int64(func() int32 { if _e2 > i32(0) { return _e2 } return i32(0) }()) + int64(_precision)) + int64(_width)) <= int64(i32(55)) { goto _159 } _bufpt = store1025(&_zExtra, (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(((int64(func() int32 { if _e2 > i32(0) { return _e2 } return i32(0) }())+int64(_precision))+int64(_width))+int64(i32(15))))))) if _bufpt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _162 } _setStrAccumError(tls, _pAccum, uint8(i32(1))) return _162: _159: _zOut = _bufpt _nsd = i32(16) + (int32(_flag_altform2) * i32(10)) _flag_dp = uint8((func() int32 { if _precision > i32(0) { return i32(1) } return i32(0) }() | int32(_flag_alternateform)) | int32(_flag_altform2)) if _prefix == 0 { goto _165 } *postInc1025(&_bufpt, 1) = _prefix _165: if _e2 >= i32(0) { goto _166 } *postInc1025(&_bufpt, 1) = int8(i32(48)) goto _167 _166: _168: if _e2 < i32(0) { goto _171 } *postInc1025(&_bufpt, 1) = _et_getdigit(tls, &_realvalue, &_nsd) _e2 -= 1 goto _168 _171: _167: if _flag_dp == 0 { goto _172 } *postInc1025(&_bufpt, 1) = int8(i32(46)) _172: _e2 += 1 _173: if _e2 >= i32(0) { goto _176 } func() int32 { if _precision > i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() *postInc1025(&_bufpt, 1) = int8(i32(48)) *func() *int32 { _precision -= 1; return &_e2 }() += 1 goto _173 _176: _179: if postInc961(&_precision, int32(-1)) <= i32(0) { goto _180 } *postInc1025(&_bufpt, 1) = _et_getdigit(tls, &_realvalue, &_nsd) goto _179 _180: if _flag_rtz == 0 || _flag_dp == 0 { goto _182 } _183: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(i32(-1))))) != i32(48) { goto _184 } *preInc1025(&_bufpt, -1) = int8(i32(0)) goto _183 _184: func() int32 { if uintptr(unsafe.Pointer(_bufpt)) > uintptr(unsafe.Pointer(_zOut)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(i32(-1))))) != i32(46) { goto _187 } if _flag_altform2 == 0 { goto _188 } *postInc1025(&_bufpt, 1) = int8(i32(48)) goto _189 _188: *preInc1025(&_bufpt, -1) = int8(i32(0)) _189: _187: _182: if int32(_xtype) != i32(2) { goto _190 } *postInc1025(&_bufpt, 1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aDigits)) + 1*uintptr(_infop.X4))) if _exp >= i32(0) { goto _191 } *postInc1025(&_bufpt, 1) = int8(i32(45)) _exp = -_exp goto _192 _191: *postInc1025(&_bufpt, 1) = int8(i32(43)) _192: if _exp < i32(100) { goto _193 } *postInc1025(&_bufpt, 1) = int8((_exp / i32(100)) + i32(48)) { p := &_exp *p = (*p) % i32(100) sink961 = *p } _193: *postInc1025(&_bufpt, 1) = int8((_exp / i32(10)) + i32(48)) *postInc1025(&_bufpt, 1) = int8((_exp % i32(10)) + i32(48)) _190: *_bufpt = int8(i32(0)) _length = int32(int64((uintptr(unsafe.Pointer(_bufpt)) - uintptr(unsafe.Pointer(_zOut))) / 1)) _bufpt = _zOut if _flag_zeropad == 0 || _flag_leftjustify != 0 || _length >= _width { goto _196 } _96_nPad = _width - _length _96_i = _width _197: if _96_i < _96_nPad { goto _200 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_96_i))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_96_i-_96_nPad))) _96_i -= 1 goto _197 _200: _96_i = bool2int(int32(_prefix) != i32(0)) _201: if postInc961(&_96_nPad, int32(-1)) == 0 { goto _202 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_96_i, int32(1))))) = int8(i32(48)) goto _201 _202: _length = _width _196: goto _119 _65: if _bArgList != 0 { goto _203 } *(*int32)(crt.VAPointer(&_ap)) = int32(_pAccum.X3) _203: _length = store961(&_width, i32(0)) goto _119 _66: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) = int8(i32(37)) _bufpt = (*int8)(unsafe.Pointer(&_buf)) _length = i32(1) goto _119 _67: if _bArgList == 0 { goto _204 } _bufpt = _getTextArg(tls, _pArgList) _c = func() int32 { if _bufpt != nil { return int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(i32(0))))) } return i32(0) }() goto _207 _204: _c = crt.VAInt32(&_ap) _207: if _precision <= i32(1) { goto _208 } { p := &_width *p = (*p) - (_precision - i32(1)) sink961 = *p } if _width <= i32(1) || _flag_leftjustify != 0 { goto _210 } _sqlite3AppendChar(tls, _pAccum, _width-i32(1), int8(i32(32))) _width = i32(0) _210: _sqlite3AppendChar(tls, _pAccum, _precision-i32(1), int8(_c)) _208: _length = i32(1) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) = int8(_c) _bufpt = (*int8)(unsafe.Pointer(&_buf)) goto _119 _68: _69: if _bArgList == 0 { goto _211 } _bufpt = _getTextArg(tls, _pArgList) _xtype = uint8(i32(5)) goto _212 _211: _bufpt = (*int8)(crt.VAPointer(&_ap)) _212: if _bufpt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _213 } _bufpt = str(196) goto _214 _213: if int32(_xtype) != i32(6) { goto _215 } _zExtra = _bufpt _215: _214: if _precision < i32(0) { goto _216 } _length = i32(0) _217: if _length >= _precision || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_length)))) == 0 { goto _221 } _length += 1 goto _217 _221: goto _222 _216: _length = _sqlite3Strlen30(tls, _bufpt) _222: goto _119 _70: _71: _72: _110_q = int8(func() int32 { if int32(_xtype) == i32(14) { return i32(34) } return i32(39) }()) if _bArgList == 0 { goto _225 } _110_escarg = _getTextArg(tls, _pArgList) goto _226 _225: _110_escarg = (*int8)(crt.VAPointer(&_ap)) _226: _110_isnull = bool2int(_110_escarg == (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _110_isnull == 0 { goto _227 } _110_escarg = func() *int8 { if int32(_xtype) == i32(10) { return str(200) } return str(208) }() _227: _110_k = _precision _110_i = store961(&_110_n, i32(0)) _230: if _110_k == i32(0) || int32(store973(&_110_ch, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_110_escarg)) + 1*uintptr(_110_i))))) == i32(0) { goto _234 } if int32(_110_ch) != int32(_110_q) { goto _235 } _110_n += 1 _235: *func() *int32 { _110_i += 1; return &_110_k }() -= 1 goto _230 _234: _110_needQuote = bool2int((_110_isnull == 0) && (int32(_xtype) == i32(10))) { p := &_110_n *p = (*p) + (_110_i + i32(3)) sink961 = *p } if _110_n <= i32(70) { goto _237 } _bufpt = store1025(&_zExtra, (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_110_n))))) if _bufpt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _238 } _setStrAccumError(tls, _pAccum, uint8(i32(1))) return _238: goto _239 _237: _bufpt = (*int8)(unsafe.Pointer(&_buf)) _239: _110_j = i32(0) if _110_needQuote == 0 { goto _240 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = _110_q _240: _110_k = _110_i _110_i = i32(0) _241: if _110_i >= _110_k { goto _244 } *(*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)))) if int32(_110_ch) != int32(_110_q) { goto _245 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = _110_ch _245: _110_i += 1 goto _241 _244: if _110_needQuote == 0 { goto _246 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = _110_q _246: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_110_j))) = int8(i32(0)) _length = _110_j goto _119 _73: if (int32(_pAccum.X7) & i32(1)) != i32(0) { goto _247 } return _247: _118_pToken = (*XToken)(crt.VAPointer(&_ap)) func() int32 { if int32(_bArgList) == i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _118_pToken == nil || (_118_pToken.X1) == 0 { goto _251 } _sqlite3StrAccumAppend(tls, _pAccum, _118_pToken.X0, int32(_118_pToken.X1)) _251: _length = store961(&_width, i32(0)) goto _119 _74: if (int32(_pAccum.X7) & i32(1)) != i32(0) { goto _252 } return _252: _120_pSrc = (*XSrcList)(crt.VAPointer(&_ap)) _120_k = crt.VAInt32(&_ap) _120_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_120_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_120_k))) func() int32 { if int32(_bArgList) == i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_120_k >= i32(0)) && (_120_k < (_120_pSrc.X0)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_120_pItem.X1) == nil { goto _258 } _sqlite3StrAccumAppendAll(tls, _pAccum, _120_pItem.X1) _sqlite3StrAccumAppend(tls, _pAccum, str(252), i32(1)) _258: _sqlite3StrAccumAppendAll(tls, _pAccum, _120_pItem.X2) _length = store961(&_width, i32(0)) goto _119 _75: func() int32 { if int32(_xtype) == i32(17) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() return _119: { p := &_width *p = (*p) - _length sink961 = *p } if _width <= i32(0) { goto _261 } if _flag_leftjustify != 0 { goto _262 } _sqlite3AppendChar(tls, _pAccum, _width, int8(i32(32))) _262: _sqlite3StrAccumAppend(tls, _pAccum, _bufpt, _length) if _flag_leftjustify == 0 { goto _263 } _sqlite3AppendChar(tls, _pAccum, _width, int8(i32(32))) _263: goto _264 _261: _sqlite3StrAccumAppend(tls, _pAccum, _bufpt, _length) _264: if _zExtra == nil { goto _265 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pAccum.X0)), (unsafe.Pointer)(_zExtra)) _zExtra = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _265: *(*uintptr)(unsafe.Pointer(&_fmt)) += uintptr(1) goto _2 _5: return } func _sqlite3StrAccumAppend(tls *crt.TLS, _p *XStrAccum, _z *int8, _N int32) { // sqlite3.c:25879:1 func() int32 { if (_z != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_N == i32(0)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_p.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X3) == uint32(i32(0)))) || ((_p.X6) != 0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _N >= i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X6) == i32(0)) || ((_p.X4) == uint32(i32(0))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_p.X3) + uint32(_N)) < (_p.X4) { goto _12 } _enlargeAndAppend(tls, _p, _z, _N) goto _13 _12: if _N == 0 { goto _14 } func() int32 { if (_p.X2) != nil { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) *p = (*p) + uint32(_N) sink985 = *p } crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2))+1*uintptr((_p.X3)-uint32(_N))))), (unsafe.Pointer)(_z), uint64(_N)) _14: _13: return } var _sqlite3StrAccumAppendØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StrAccumAppendØ00__func__Ø000[0], str(388), 22) } func _enlargeAndAppend(tls *crt.TLS, _p *XStrAccum, _z *int8, _N int32) { // sqlite3.c:25866:1 _N = _sqlite3StrAccumEnlarge(tls, _p, _N) if _N <= i32(0) { goto _0 } crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2))+1*uintptr(_p.X3)))), (unsafe.Pointer)(_z), uint64(_N)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) *p = (*p) + uint32(_N) sink985 = *p } _0: func() int32 { if (((_p.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X2) == (_p.X1))) == ((int32(_p.X7) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() return } func _sqlite3StrAccumEnlarge(tls *crt.TLS, _p *XStrAccum, _N int32) (r0 int32) { // sqlite3.c:25797:1 var _zNew *int8 // sqlite3.c:25798:8 _ = _zNew var _3_zOld *int8 // sqlite3.c:25810:10 _ = _3_zOld var _3_szNew int64 // sqlite3.c:25811:9 _ = _3_szNew func() int32 { if (int64(_p.X3) + int64(_N)) >= int64(_p.X4) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X6) == 0 { goto _2 } r0 = i32(0) return _2: if (_p.X5) != uint32(i32(0)) { goto _3 } _N = int32(((_p.X4) - (_p.X3)) - uint32(i32(1))) _setStrAccumError(tls, _p, uint8(i32(2))) r0 = _N return _3: _3_zOld = func() *int8 { if (int32(_p.X7) & i32(4)) != i32(0) { return (_p.X2) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() _3_szNew = int64(_p.X3) func() int32 { if (((_p.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X2) == (_p.X1))) == ((int32(_p.X7) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_3_szNew *p = (*p) + int64(_N+i32(1)) sink967 = *p } if (_3_szNew + int64(_p.X3)) > int64(_p.X5) { goto _10 } { p := &_3_szNew *p = (*p) + int64(_p.X3) sink967 = *p } _10: if _3_szNew <= int64(_p.X5) { goto _11 } _sqlite3StrAccumReset(tls, _p) _setStrAccumError(tls, _p, uint8(i32(2))) r0 = i32(0) return _11: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X4 */))) = uint32(int32(_3_szNew)) if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _13 } _zNew = (*int8)(unsafe.Pointer(_sqlite3DbRealloc(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_3_zOld), uint64(_p.X4)))) goto _14 _13: _zNew = (*int8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_3_zOld), uint64(_p.X4)))) _14: if _zNew == nil { goto _15 } func() int32 { if ((_p.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X3) == uint32(i32(0))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X7)&i32(4)) != i32(0) || (_p.X3) <= uint32(i32(0)) { goto _20 } crt.Xmemcpy(tls, (unsafe.Pointer)(_zNew), (unsafe.Pointer)(_p.X2), uint64(_p.X3)) _20: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = _zNew *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X4 */))) = uint32(_sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_zNew))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(37 /* X7 */))) *p = uint8(int32(*p) | i32(4)) sink4537 = *p } goto _21 _15: _sqlite3StrAccumReset(tls, _p) _setStrAccumError(tls, _p, uint8(i32(1))) r0 = i32(0) return _21: r0 = _N return } var _sqlite3StrAccumEnlargeØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StrAccumEnlargeØ00__func__Ø000[0], str(524), 23) } func _setStrAccumError(tls *crt.TLS, _p *XStrAccum, _eError uint8) { // sqlite3.c:25163:1 func() int32 { if (int32(_eError) == i32(1)) || (int32(_eError) == i32(2)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X6 */))) = _eError *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X4 */))) = uint32(i32(0)) return } var _setStrAccumErrorØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_setStrAccumErrorØ00__func__Ø000[0], str(600), 17) } func _sqlite3StrAccumReset(tls *crt.TLS, _p *XStrAccum) { // sqlite3.c:25931:1 func() int32 { if (((_p.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X2) == (_p.X1))) == ((int32(_p.X7) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X7) & i32(4)) == i32(0) { goto _3 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_p.X2)) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(37 /* X7 */))) *p = uint8(int32(*p) & i32(-5)) sink4537 = *p } _3: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3StrAccumResetØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StrAccumResetØ00__func__Ø000[0], str(620), 21) } func _sqlite3DbFree(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) { // sqlite3.c:24666:1 var _3_pBuf *Xsqlite3_file // sqlite3.c:24675:21 _ = _3_pBuf func() int32 { if (_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _3 } return _3: if _db == nil { goto _4 } if (_db.X79) == nil { goto _5 } _measureAllocationSize(tls, _db, _p) return _5: if _isLookaside(tls, _db, _p) == 0 { goto _6 } _3_pBuf = (*Xsqlite3_file)(unsafe.Pointer(_p)) crt.Xmemset(tls, _p, i32(170), uint64((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X1)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pBuf)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X6)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(32 /* X6 */))))) = _3_pBuf *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(8 /* X3 */))) -= 1 return _6: _4: i32(0) i32(0) func() int32 { if (_db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || i32(1) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_free(tls, _p) return } func Xsqlite3_mutex_held(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22874:12 func() int32 { if (_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X7)}))) != nil) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X7)})))(tls, _p) != 0) return } var _sqlite3_mutex_heldØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_heldØ00__func__Ø000[0], str(788), 19) } var _sqlite3DbFreeØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DbFreeØ00__func__Ø000[0], str(808), 14) } func _measureAllocationSize(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) { // sqlite3.c:24658:1 { p := _db.X79 *p = (*p) + _sqlite3DbMallocSize(tls, _db, _p) sink961 = *p } return } func _sqlite3DbMallocSize(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:24612:1 func() int32 { if _p != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) && _isLookaside(tls, _db, _p) != 0 { goto _3 } if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } i32(0) i32(0) goto _5 _4: i32(0) i32(0) _5: r0 = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X3)(tls, _p) return _3: func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X1) return } var _sqlite3DbMallocSizeØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DbMallocSizeØ00__func__Ø000[0], str(864), 20) } func _isLookaside(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:24597:1 r0 = bool2int((uint64(uintptr(unsafe.Pointer(_p))) >= uint64(uintptr(unsafe.Pointer((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X7)))) && (uint64(uintptr(unsafe.Pointer(_p))) < uint64(uintptr(unsafe.Pointer((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X8))))) return } func Xsqlite3_free(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:24639:12 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } return _0: i32(0) i32(0) if (_sqlite3Config.X0) == 0 { goto _1 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _sqlite3StatusDown(tls, i32(0), _sqlite3MallocSize(tls, _p)) _sqlite3StatusDown(tls, i32(9), i32(1)) ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) goto _2 _1: ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) _2: return } func Xsqlite3_mutex_enter(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:22836:12 if _p == nil { goto _0 } func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X4)}))) != nil { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X4)})))(tls, _p) _0: return } var _sqlite3_mutex_enterØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_enterØ00__func__Ø000[0], str(924), 20) } var _mem0 TMem0Global // sqlite3.c:24252:3 func _sqlite3StatusDown(tls *crt.TLS, _op int32, _N int32) { // sqlite3.c:18547:1 func() int32 { if _N >= i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { return _sqlite3Pcache1Mutex(tls) } return _sqlite3MallocMutex(tls) }()) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op))) *p = (*p) - int64(_N) sink967 = *p } return } var _sqlite3StatusDownØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StatusDownØ00__func__Ø000[0], str(1104), 18) } var _statMutex [10]int8 // sqlite3.c:18484:19 func init() { _statMutex = [10]int8{0, 1, 1, 0, 0, 0, 0, 1, 0, 0} } func _sqlite3Pcache1Mutex(tls *crt.TLS) (r0 *Xsqlite3_mutex) { // sqlite3.c:46156:1 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9)) return } var _pcache1_g TPCacheGlobal // sqlite3.c:45169:3 func _sqlite3MallocMutex(tls *crt.TLS) (r0 *Xsqlite3_mutex) { // sqlite3.c:24259:1 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0)) return } var _sqlite3Stat Tsqlite3StatType // sqlite3.c:18478:3 func _sqlite3MallocSize(tls *crt.TLS, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:24608:1 i32(0) r0 = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X3)(tls, _p) return } func Xsqlite3_mutex_leave(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:22862:12 if _p == nil { goto _0 } func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X6)}))) != nil { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X6)})))(tls, _p) _0: return } var _sqlite3_mutex_leaveØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_leaveØ00__func__Ø000[0], str(1164), 20) } func _sqlite3DbRealloc(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24871:1 func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _2 } r0 = _sqlite3DbMallocRawNN(tls, _db, _n) return _2: func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isLookaside(tls, _db, _p) == 0 || _n > uint64((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X1) { goto _6 } r0 = _p return _6: r0 = _dbReallocFinish(tls, _db, _p, _n) return } var _sqlite3DbReallocØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DbReallocØ00__func__Ø000[0], str(1192), 17) } func _sqlite3DbMallocRawNN(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24829:1 var _pBuf *Xsqlite3_file // sqlite3.c:24831:17 _ = _pBuf func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_db.X79) == (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X0) != uint32(i32(0)) { goto _6 } func() int32 { if int32(_db.X17) == i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _n <= uint64((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X1) { goto _9 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(i32(1)))) += 1 goto _10 _9: if store5459597(&_pBuf, (*Xsqlite3_file)(unsafe.Pointer((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X6))) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(i32(2)))) += 1 goto _12 _11: *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(32 /* X6 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pBuf.X0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(8 /* X3 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(i32(0)))) += 1 if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3) <= ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X4) { goto _13 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(12 /* X4 */))) = (*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3 _13: r0 = (unsafe.Pointer)(_pBuf) return _12: _10: goto _14 _6: if (_db.X17) == 0 { goto _15 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _15: _14: r0 = _dbMallocRawFinish(tls, _db, _n) return } var _sqlite3DbMallocRawNNØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DbMallocRawNNØ00__func__Ø000[0], str(1252), 21) } func _dbMallocRawFinish(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24790:1 var _p unsafe.Pointer // sqlite3.c:24791:8 _ = _p func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _sqlite3Malloc(tls, _n) if _p != nil { goto _2 } _sqlite3OomFault(tls, _db) _2: r0 = _p return } var _dbMallocRawFinishØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_dbMallocRawFinishØ00__func__Ø000[0], str(1276), 18) } func _sqlite3Malloc(tls *crt.TLS, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24456:1 var _p unsafe.Pointer // sqlite3.c:24457:8 _ = _p if _n != uint64(i32(0)) && _n < uint64(i32(2147483392)) { goto _1 } _p = (unsafe.Pointer)(uintptr(i32(0))) goto _2 _1: if (_sqlite3Config.X0) == 0 { goto _3 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _mallocWithAlarm(tls, int32(_n), &_p) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) goto _4 _3: _p = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)(tls, int32(_n)) _4: _2: func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _p return } func _mallocWithAlarm(tls *crt.TLS, _n int32, _pp *unsafe.Pointer) { // sqlite3.c:24407:1 var _p unsafe.Pointer // sqlite3.c:24408:8 _ = _p var _nFull int32 // sqlite3.c:24409:7 _ = _nFull var _1_nUsed int64 // sqlite3.c:24429:19 _ = _1_nUsed func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _n > i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _nFull = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X4)(tls, _n) _sqlite3StatusHighwater(tls, i32(5), _n) if (_mem0.X1) <= int64(i32(0)) { goto _4 } _1_nUsed = _sqlite3StatusValue(tls, i32(0)) if _1_nUsed < ((_mem0.X1) - int64(_nFull)) { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(36 /* X5 */))) = i32(1) _sqlite3MallocAlarm(tls, _nFull) goto _6 _5: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(36 /* X5 */))) = i32(0) _6: _4: _p = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)(tls, _nFull) if _p == nil { goto _7 } _nFull = _sqlite3MallocSize(tls, _p) _sqlite3StatusUp(tls, i32(0), _nFull) _sqlite3StatusUp(tls, i32(9), i32(1)) _7: *_pp = _p return } var _mallocWithAlarmØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_mallocWithAlarmØ00__func__Ø000[0], str(1356), 16) } func _sqlite3StatusHighwater(tls *crt.TLS, _op int32, _X int32) { // sqlite3.c:18561:1 var _newValue int64 // sqlite3.c:18562:24 _ = _newValue func() int32 { if _X >= i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _newValue = int64(_X) func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { return _sqlite3Pcache1Mutex(tls) } return _sqlite3MallocMutex(tls) }()) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_op == i32(5)) || (_op == i32(7))) || (_op == i32(8))) || (_op == i32(6)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _newValue <= (*(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(80 /* X1 */))))) + 8*uintptr(_op)))) { goto _17 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(80 /* X1 */))))) + 8*uintptr(_op))) = _newValue _17: return } var _sqlite3StatusHighwaterØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StatusHighwaterØ00__func__Ø000[0], str(1516), 23) } func _sqlite3StatusValue(tls *crt.TLS, _op int32) (r0 int64) { // sqlite3.c:18516:1 func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { return _sqlite3Pcache1Mutex(tls) } return _sqlite3MallocMutex(tls) }()) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op))) return } var _sqlite3StatusValueØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StatusValueØ00__func__Ø000[0], str(1540), 19) } func _sqlite3MallocAlarm(tls *crt.TLS, _nByte int32) { // sqlite3.c:24396:1 if (_mem0.X1) > int64(i32(0)) { goto _0 } return _0: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) Xsqlite3_release_memory(tls, _nByte) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) return } func Xsqlite3_release_memory(tls *crt.TLS, _n int32) (r0 int32) { // sqlite3.c:24210:12 r0 = i32(0) return } func _sqlite3StatusUp(tls *crt.TLS, _op int32, _N int32) { // sqlite3.c:18536:1 func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op >= i32(0)) && (_op < i32(10)) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { return _sqlite3Pcache1Mutex(tls) } return _sqlite3MallocMutex(tls) }()) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op))) *p = (*p) + int64(_N) sink967 = *p } if (*(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op)))) <= (*(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(80 /* X1 */))))) + 8*uintptr(_op)))) { goto _10 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(80 /* X1 */))))) + 8*uintptr(_op))) = *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op))) _10: return } var _sqlite3StatusUpØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StatusUpØ00__func__Ø000[0], str(1560), 16) } var _sqlite3MallocØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MallocØ00__func__Ø000[0], str(1576), 14) } func _sqlite3OomFault(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:24966:1 if int32(_db.X17) != i32(0) || int32(_db.X18) != i32(0) { goto _1 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(85 /* X17 */))) = uint8(i32(1)) if (_db.X37) <= i32(0) { goto _2 } *(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */))))) = i32(1) _2: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 _1: return } func _dbReallocFinish(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24878:1 var _pNew unsafe.Pointer // sqlite3.c:24879:8 _ = _pNew _pNew = nil func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _p != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_db.X17) != i32(0) { goto _4 } if _isLookaside(tls, _db, _p) == 0 { goto _5 } _pNew = _sqlite3DbMallocRawNN(tls, _db, _n) if _pNew == nil { goto _6 } crt.Xmemcpy(tls, _pNew, _p, uint64((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X1)) _sqlite3DbFree(tls, _db, _p) _6: goto _7 _5: i32(0) i32(0) _pNew = Xsqlite3_realloc64(tls, _p, _n) if _pNew != nil { goto _8 } _sqlite3OomFault(tls, _db) _8: _7: _4: r0 = _pNew return } var _dbReallocFinishØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_dbReallocFinishØ00__func__Ø000[0], str(1592), 16) } func Xsqlite3_realloc64(tls *crt.TLS, _pOld unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24755:12 if Xsqlite3_initialize(tls) == 0 { goto _0 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: r0 = _sqlite3Realloc(tls, _pOld, _n) return } func Xsqlite3_initialize(tls *crt.TLS) (r0 int32) { // sqlite3.c:140038:12 var _pMaster *Xsqlite3_mutex // sqlite3.c:140039:30 _ = _pMaster var _rc int32 // sqlite3.c:140040:7 _ = _rc var _12_x uint64 // sqlite3.c:140173:9 _ = _12_x var _12_y float64 // sqlite3.c:140174:12 _ = _12_y i32(0) if (_sqlite3Config.X28) == 0 { goto _0 } r0 = i32(0) return _0: _rc = _sqlite3MutexInit(tls) if _rc == 0 { goto _1 } r0 = _rc return _1: _pMaster = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _pMaster) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(372 /* X30 */))) = i32(1) if (_sqlite3Config.X31) != 0 { goto _2 } _rc = _sqlite3MallocInit(tls) _2: if _rc != i32(0) { goto _3 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(376 /* X31 */))) = i32(1) if (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34)) != nil { goto _4 } *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(392 /* X34 */))))) = _sqlite3MutexAlloc(tls, i32(1)) if (_sqlite3Config.X1) == 0 || (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34)) != nil { goto _6 } _rc = _sqlite3NomemError(tls, i32(140093)) _6: _4: _3: if _rc != i32(0) { goto _7 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(384 /* X33 */))) += 1 _7: Xsqlite3_mutex_leave(tls, _pMaster) if _rc == i32(0) { goto _8 } r0 = _rc return _8: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34))) if (_sqlite3Config.X28) != i32(0) || (_sqlite3Config.X29) != i32(0) { goto _10 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(368 /* X29 */))) = i32(1) crt.Xmemset(tls, (unsafe.Pointer)(&_sqlite3BuiltinFunctions), i32(0), u64(184)) _sqlite3RegisterBuiltinFunctions(tls) if (_sqlite3Config.X32) != i32(0) { goto _11 } _rc = _sqlite3PcacheInitialize(tls) _11: if _rc != i32(0) { goto _12 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(380 /* X32 */))) = i32(1) _rc = _sqlite3OsInit(tls) _12: if _rc != i32(0) { goto _13 } _sqlite3PCacheBufferSetup(tls, _sqlite3Config.X22, _sqlite3Config.X23, _sqlite3Config.X24) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(364 /* X28 */))) = i32(1) _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(368 /* X29 */))) = i32(0) _10: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34))) Xsqlite3_mutex_enter(tls, _pMaster) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(384 /* X33 */))) -= 1 if (_sqlite3Config.X33) > i32(0) { goto _14 } func() int32 { if (_sqlite3Config.X33) == i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34))) *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(392 /* X34 */))))) = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) _14: Xsqlite3_mutex_leave(tls, _pMaster) if _rc != i32(0) { goto _17 } _12_x = u64(9223372036854775807) i32(0) i32(0) crt.Xmemcpy(tls, (unsafe.Pointer)(&_12_y), (unsafe.Pointer)(&_12_x), uint64(i32(8))) func() int32 { if _sqlite3IsNaN(tls, _12_y) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _17: r0 = _rc return } func _sqlite3MutexInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:22747:1 var _rc int32 // sqlite3.c:22748:7 _ = _rc var _1_pFrom *Xsqlite3_mutex_methods // sqlite3.c:22755:33 _ = _1_pFrom var _1_pTo *Xsqlite3_mutex_methods // sqlite3.c:22756:27 _ = _1_pTo _rc = i32(0) if (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X2)}))) != nil { goto _0 } _1_pTo = (*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))) if (_sqlite3Config.X1) == 0 { goto _1 } _1_pFrom = _sqlite3DefaultMutex(tls) goto _2 _1: _1_pFrom = _sqlite3NoopMutex(tls) _2: *(*func(*crt.TLS) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(0 /* X0 */))) = _1_pFrom.X0 *(*func(*crt.TLS) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(8 /* X1 */))) = _1_pFrom.X1 *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(24 /* X3 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_1_pFrom.X3)})) *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(32 /* X4 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_1_pFrom.X4)})) *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(40 /* X5 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_1_pFrom.X5)})) *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(48 /* X6 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_1_pFrom.X6)})) *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(56 /* X7 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_1_pFrom.X7)})) *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(64 /* X8 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_1_pFrom.X8)})) _sqlite3MemoryBarrier(tls) *(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer((*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(16 /* X2 */))))) = *(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{(_1_pFrom.X2)})) _0: func() int32 { if ((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X0) != nil { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = ((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X0)(tls) _mutexIsInit = i32(1) bug20530(_mutexIsInit) r0 = _rc return } func _sqlite3DefaultMutex(tls *crt.TLS) (r0 *Xsqlite3_mutex_methods) { // sqlite3.c:23471:1 r0 = &_sqlite3DefaultMutexØ00sMutexØ001 return } var _sqlite3DefaultMutexØ00sMutexØ001 Xsqlite3_mutex_methods // sqlite3.c:23472:38 func init() { _sqlite3DefaultMutexØ00sMutexØ001 = Xsqlite3_mutex_methods{X0: _pthreadMutexInit, X1: _pthreadMutexEnd, X2: *(*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) *Xsqlite3_mutex }{_pthreadMutexAlloc})), X3: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{_pthreadMutexFree})), X4: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{_pthreadMutexEnter})), X5: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{_pthreadMutexTry})), X6: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{_pthreadMutexLeave})), X7: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{_pthreadMutexHeld})), X8: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{_pthreadMutexNotheld}))} } func _pthreadMutexInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:23206:1 r0 = i32(0) return } func _pthreadMutexEnd(tls *crt.TLS) (r0 int32) { // sqlite3.c:23207:1 r0 = i32(0) return } func _pthreadMutexAlloc(tls *crt.TLS, _iType int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:23257:1 var _p *Xsqlite3_mutex // sqlite3.c:23272:17 _ = _p var _3_recursiveAttr crt.Xpthread_mutexattr_t // sqlite3.c:23283:29 _ = _3_recursiveAttr switch _iType { case i32(0): goto _2 case i32(1): goto _1 default: goto _3 } _1: _p = (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(64)))) if _p == nil { goto _4 } crt.Xpthread_mutexattr_init(tls, &_3_recursiveAttr) crt.Xpthread_mutexattr_settype(tls, &_3_recursiveAttr, i32(1)) crt.Xpthread_mutex_init(tls, (*crt.Xpthread_mutex_t)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))), &_3_recursiveAttr) crt.Xpthread_mutexattr_destroy(tls, &_3_recursiveAttr) _4: goto _5 _2: _p = (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(64)))) if _p == nil { goto _6 } crt.Xpthread_mutex_init(tls, (*crt.Xpthread_mutex_t)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))), (*crt.Xpthread_mutexattr_t)(unsafe.Pointer(uintptr(i32(0))))) _6: goto _5 _3: if (_iType-i32(2)) >= i32(0) && (_iType-i32(2)) < i32(12) { goto _8 } _sqlite3MisuseError(tls, i32(23302)) r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) return _8: _p = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pthreadMutexAllocØ00staticMutexesØ001)) + 64*uintptr(_iType-i32(2)))) goto _5 _5: if _p == nil { goto _9 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X1 */))) = _iType _9: r0 = _p return } func _sqlite3MallocZero(tls *crt.TLS, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24766:1 var _p unsafe.Pointer // sqlite3.c:24767:8 _ = _p _p = _sqlite3Malloc(tls, _n) if _p == nil { goto _0 } crt.Xmemset(tls, _p, i32(0), _n) _0: r0 = _p return } var _pthreadMutexAllocØ00staticMutexesØ001 [12]Xsqlite3_mutex // sqlite3.c:23258:24 func _pthreadMutexFree(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:23322:1 func() int32 { if (_p.X2) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23323), unsafe.Pointer((*int8)(unsafe.Pointer(&_pthreadMutexFreeØ00__func__Ø000))), unsafe.Pointer(str(1704))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X1) != i32(0) && (_p.X1) != i32(1) { goto _3 } crt.Xpthread_mutex_destroy(tls, (*crt.Xpthread_mutex_t)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) goto _4 _3: _sqlite3MisuseError(tls, i32(23333)) _4: return } var _pthreadMutexFreeØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_pthreadMutexFreeØ00__func__Ø000[0], str(1716), 17) } func _pthreadMutexEnter(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:23349:1 func() int32 { if ((_p.X1) == i32(1)) || _pthreadMutexNotheld(tls, _p) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23350), unsafe.Pointer((*int8)(unsafe.Pointer(&_pthreadMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(1736))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xpthread_mutex_lock(tls, (*crt.Xpthread_mutex_t)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) func() int32 { if ((_p.X2) > i32(0)) || ((_p.X3) == uint64(i32(0))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23379), unsafe.Pointer((*int8)(unsafe.Pointer(&_pthreadMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(1792))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X3 */))) = crt.Xpthread_self(tls) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X2 */))) += 1 if (_p.X4) == 0 { goto _6 } crt.Xprintf(tls, str(1820), unsafe.Pointer(_p), _p.X4, _p.X2) _6: return } func _pthreadMutexNotheld(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23185:1 r0 = bool2int(((_p.X2) == i32(0)) || (crt.Xpthread_equal(tls, _p.X3, crt.Xpthread_self(tls)) == i32(0))) return } var _pthreadMutexEnterØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_pthreadMutexEnterØ00__func__Ø000[0], str(1856), 18) } func _pthreadMutexTry(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23391:1 var _rc int32 // sqlite3.c:23392:7 _ = _rc func() int32 { if ((_p.X1) == i32(1)) || _pthreadMutexNotheld(tls, _p) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23393), unsafe.Pointer((*int8)(unsafe.Pointer(&_pthreadMutexTryØ00__func__Ø000))), unsafe.Pointer(str(1736))) crt.X__builtin_abort(tls) return i32(0) }() }() if crt.Xpthread_mutex_trylock(tls, (*crt.Xpthread_mutex_t)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) != i32(0) { goto _3 } *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X3 */))) = crt.Xpthread_self(tls) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X2 */))) += 1 _rc = i32(0) goto _4 _3: _rc = i32(5) _4: if _rc != i32(0) || (_p.X4) == 0 { goto _6 } crt.Xprintf(tls, str(1820), unsafe.Pointer(_p), _p.X4, _p.X2) _6: r0 = _rc return } var _pthreadMutexTryØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_pthreadMutexTryØ00__func__Ø000[0], str(1876), 16) } func _pthreadMutexLeave(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:23448:1 func() int32 { if _pthreadMutexHeld(tls, _p) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23449), unsafe.Pointer((*int8)(unsafe.Pointer(&_pthreadMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(1892))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X2 */))) -= 1 if (_p.X2) != i32(0) { goto _2 } *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X3 */))) = uint64(i32(0)) _2: func() int32 { if ((_p.X2) == i32(0)) || ((_p.X1) == i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23454), unsafe.Pointer((*int8)(unsafe.Pointer(&_pthreadMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(1912))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xpthread_mutex_unlock(tls, (*crt.Xpthread_mutex_t)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) if (_p.X4) == 0 { goto _6 } crt.Xprintf(tls, str(1956), unsafe.Pointer(_p), _p.X4, _p.X2) _6: return } func _pthreadMutexHeld(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23182:1 r0 = bool2int(((_p.X2) != i32(0)) && crt.Xpthread_equal(tls, _p.X3, crt.Xpthread_self(tls)) != 0) return } var _pthreadMutexLeaveØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_pthreadMutexLeaveØ00__func__Ø000[0], str(1992), 18) } func _sqlite3NoopMutex(tls *crt.TLS) (r0 *Xsqlite3_mutex_methods) { // sqlite3.c:23075:1 r0 = &_sqlite3NoopMutexØ00sMutexØ001 return } var _sqlite3NoopMutexØ00sMutexØ001 Xsqlite3_mutex_methods // sqlite3.c:23076:38 func init() { _sqlite3NoopMutexØ00sMutexØ001 = Xsqlite3_mutex_methods{X0: _debugMutexInit, X1: _debugMutexEnd, X2: *(*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) *Xsqlite3_mutex }{_debugMutexAlloc})), X3: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{_debugMutexFree})), X4: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{_debugMutexEnter})), X5: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{_debugMutexTry})), X6: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{_debugMutexLeave})), X7: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{_debugMutexHeld})), X8: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{_debugMutexNotheld}))} } func _debugMutexInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:22988:1 r0 = i32(0) return } func _debugMutexEnd(tls *crt.TLS) (r0 int32) { // sqlite3.c:22989:1 r0 = i32(0) return } func _debugMutexAlloc(tls *crt.TLS, _id int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:22996:1 var _pNew *Xsqlite3_debug_mutex // sqlite3.c:22998:23 _ = _pNew _pNew = nil switch _id { case i32(0): goto _1 case i32(1): goto _2 default: goto _3 } _1: _2: _pNew = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_sqlite3Malloc(tls, u64(8)))) if _pNew == nil { goto _4 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _id *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = i32(0) _4: goto _5 _3: if (_id-i32(2)) >= i32(0) && (_id-i32(2)) < i32(12) { goto _7 } _sqlite3MisuseError(tls, i32(23012)) r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) return _7: _pNew = (*Xsqlite3_debug_mutex)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_debugMutexAllocØ00aStaticØ001)) + 8*uintptr(_id-i32(2)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _id goto _5 _5: r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_pNew)) return } var _debugMutexAllocØ00aStaticØ001 [12]Xsqlite3_debug_mutex // sqlite3.c:22997:30 func _debugMutexFree(tls *crt.TLS, _pX *Xsqlite3_mutex) { // sqlite3.c:23027:1 var _p *Xsqlite3_debug_mutex // sqlite3.c:23028:23 _ = _p _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) func() int32 { if (_p.X1) == i32(0) { return i32(0) } return func() int32 { 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(2012))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X0) != i32(1) && (_p.X0) != i32(0) { goto _3 } Xsqlite3_free(tls, (unsafe.Pointer)(_p)) goto _4 _3: _sqlite3MisuseError(tls, i32(23034)) _4: return } var _debugMutexFreeØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_debugMutexFreeØ00__func__Ø000[0], str(2024), 15) } func _debugMutexEnter(tls *crt.TLS, _pX *Xsqlite3_mutex) { // sqlite3.c:23050:1 var _p *Xsqlite3_debug_mutex // sqlite3.c:23051:23 _ = _p _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) func() int32 { if ((_p.X0) == i32(1)) || _debugMutexNotheld(tls, _pX) != 0 { return i32(0) } return func() int32 { 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(2040))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 return } func _debugMutexNotheld(tls *crt.TLS, _pX *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22980:1 var _p *Xsqlite3_debug_mutex // sqlite3.c:22981:23 _ = _p _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) r0 = bool2int((_p == (*Xsqlite3_debug_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X1) == i32(0))) return } var _debugMutexEnterØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_debugMutexEnterØ00__func__Ø000[0], str(2096), 16) } func _debugMutexTry(tls *crt.TLS, _pX *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23055:1 var _p *Xsqlite3_debug_mutex // sqlite3.c:23056:23 _ = _p _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) func() int32 { if ((_p.X0) == i32(1)) || _debugMutexNotheld(tls, _pX) != 0 { return i32(0) } return func() int32 { 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(2040))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 r0 = i32(0) return } var _debugMutexTryØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_debugMutexTryØ00__func__Ø000[0], str(2112), 14) } func _debugMutexLeave(tls *crt.TLS, _pX *Xsqlite3_mutex) { // sqlite3.c:23068:1 var _p *Xsqlite3_debug_mutex // sqlite3.c:23069:23 _ = _p _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) func() int32 { if _debugMutexHeld(tls, _pX) != 0 { return i32(0) } return func() int32 { 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(2128))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) -= 1 func() int32 { if ((_p.X0) == i32(1)) || _debugMutexNotheld(tls, _pX) != 0 { return i32(0) } return func() int32 { 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(2040))) crt.X__builtin_abort(tls) return i32(0) }() }() return } func _debugMutexHeld(tls *crt.TLS, _pX *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22976:1 var _p *Xsqlite3_debug_mutex // sqlite3.c:22977:23 _ = _p _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) r0 = bool2int((_p == (*Xsqlite3_debug_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X1) > i32(0))) return } var _debugMutexLeaveØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_debugMutexLeaveØ00__func__Ø000[0], str(2148), 16) } func _sqlite3MemoryBarrier(tls *crt.TLS) { // sqlite3.c:23195:1 return } var _sqlite3MutexInitØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MutexInitØ00__func__Ø000[0], str(2164), 17) } var _mutexIsInit int32 // sqlite3.c:22739:23 func _sqlite3MutexAlloc(tls *crt.TLS, _id int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:22813:1 if (_sqlite3Config.X1) != 0 { goto _0 } r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) return _0: func() int32 { if _mutexIsInit != 0 { return i32(0) } return func() int32 { 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(2184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X2)}))) != nil { return i32(0) } return func() int32 { 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(2212))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X2)})))(tls, _id) return } var _sqlite3MutexAllocØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MutexAllocØ00__func__Ø000[0], str(2252), 18) } func _sqlite3MallocInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:24315:1 var _rc int32 // sqlite3.c:24316:7 _ = _rc var _2_i int32 // sqlite3.c:24324:9 _ = _2_i var _2_n int32 // sqlite3.c:24324:12 _ = _2_n var _2_sz int32 // sqlite3.c:24324:15 _ = _2_sz var _2_pSlot *Xsqlite3_file // sqlite3.c:24325:21 _ = _2_pSlot if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{nil})) { goto _0 } _sqlite3MemSetDefault(tls) _0: crt.Xmemset(tls, (unsafe.Pointer)(&_mem0), i32(0), u64(40)) *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(0 /* X0 */))))) = _sqlite3MutexAlloc(tls, i32(3)) if (_sqlite3Config.X19) == nil || (_sqlite3Config.X20) < i32(100) || (_sqlite3Config.X21) <= i32(0) { goto _3 } _2_sz = (_sqlite3Config.X20) & i32(-8) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(328 /* X20 */))) = _2_sz _2_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_sqlite3Config.X19)) _2_n = _sqlite3Config.X21 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(24 /* X3 */))))) = _2_pSlot *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(32 /* X4 */))) = uint32(_2_n) _2_i = i32(0) _4: if _2_i >= (_2_n - i32(1)) { goto _7 } *(**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)))))))) _2_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_2_pSlot.X0)) _2_i += 1 goto _4 _7: *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(16 /* X2 */))) = (unsafe.Pointer)((*Xsqlite3_file)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + 8*uintptr(i32(1))))) goto _8 _3: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(16 /* X2 */))) = (unsafe.Pointer)(uintptr(i32(0))) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(320 /* X19 */))) = (unsafe.Pointer)(uintptr(i32(0))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(328 /* X20 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(332 /* X21 */))) = i32(0) _8: if unsafe.Pointer(_sqlite3Config.X22) != (unsafe.Pointer)(uintptr(i32(0))) && (_sqlite3Config.X23) >= i32(512) && (_sqlite3Config.X24) > i32(0) { goto _11 } *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(336 /* X22 */))) = (unsafe.Pointer)(uintptr(i32(0))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(344 /* X23 */))) = i32(0) _11: _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) if _rc == i32(0) { goto _12 } crt.Xmemset(tls, (unsafe.Pointer)(&_mem0), i32(0), u64(40)) _12: r0 = _rc return } func _sqlite3MemSetDefault(tls *crt.TLS) { // sqlite3.c:20898:1 Xsqlite3_config(tls, i32(4), unsafe.Pointer(&_sqlite3MemSetDefaultØ00defaultMethodsØ001)) return } var _sqlite3MemSetDefaultØ00defaultMethodsØ001 Xsqlite3_mem_methods // sqlite3.c:20899:36 func init() { _sqlite3MemSetDefaultØ00defaultMethodsØ001 = Xsqlite3_mem_methods{X0: _sqlite3MemMalloc, X1: _sqlite3MemFree, X2: _sqlite3MemRealloc, X3: _sqlite3MemSize, X4: _sqlite3MemRoundup, X5: _sqlite3MemInit, X6: _sqlite3MemShutdown, X7: nil} } func _sqlite3MemMalloc(tls *crt.TLS, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:20749:1 var _p unsafe.Pointer // sqlite3.c:20751:8 _ = _p _p = crt.Xmalloc(tls, uint64(_nByte)) if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } Xsqlite3_log(tls, i32(7), str(2272), _nByte) _0: r0 = _p return } func _sqlite3MemFree(tls *crt.TLS, _pPrior unsafe.Pointer) { // sqlite3.c:20783:1 crt.Xfree(tls, _pPrior) return } func _sqlite3MemRealloc(tls *crt.TLS, _pPrior unsafe.Pointer, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:20821:1 var _p unsafe.Pointer // sqlite3.c:20823:8 _ = _p _p = crt.Xrealloc(tls, _pPrior, uint64(_nByte)) if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } Xsqlite3_log(tls, i32(7), str(2312), crt.Xmalloc_usable_size(tls, _pPrior), _nByte) _0: r0 = _p return } func _sqlite3MemSize(tls *crt.TLS, _pPrior unsafe.Pointer) (r0 int32) { // sqlite3.c:20798:1 func() int32 { if _pPrior != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(2348))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32(crt.Xmalloc_usable_size(tls, _pPrior)) return } var _sqlite3MemSizeØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MemSizeØ00__func__Ø000[0], str(2360), 15) } func _sqlite3MemRoundup(tls *crt.TLS, _n int32) (r0 int32) { // sqlite3.c:20853:1 r0 = (_n + i32(7)) & i32(-8) return } func _sqlite3MemInit(tls *crt.TLS, _NotUsed unsafe.Pointer) (r0 int32) { // sqlite3.c:20860:1 r0 = i32(0) return } func _sqlite3MemShutdown(tls *crt.TLS, _NotUsed unsafe.Pointer) { // sqlite3.c:20887:1 return } func _sqlite3NomemError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143241:1 r0 = _reportError(tls, i32(7), _lineno, str(2376)) return } var _sqlite3BuiltinFunctions XFuncDefHash // sqlite3.c:17377:28 func _sqlite3RegisterBuiltinFunctions(tls *crt.TLS) { // sqlite3.c:107035:1 _sqlite3AlterFunctions(tls) _sqlite3RegisterDateTimeFunctions(tls) _sqlite3InsertBuiltinFuncs(tls, (*XFuncDef)(unsafe.Pointer(&_sqlite3RegisterBuiltinFunctionsØ00aBuiltinFuncØ001)), i32(60)) return } func _sqlite3AlterFunctions(tls *crt.TLS) { // sqlite3.c:96107:1 _sqlite3InsertBuiltinFuncs(tls, (*XFuncDef)(unsafe.Pointer(&_sqlite3AlterFunctionsØ00aAlterTableFuncsØ001)), i32(3)) return } func _sqlite3InsertBuiltinFuncs(tls *crt.TLS, _aDef *XFuncDef, _nDef int32) { // sqlite3.c:104202:1 var _i int32 // sqlite3.c:104206:7 _ = _i var _1_pOther *XFuncDef // sqlite3.c:104208:13 _ = _1_pOther var _1_zName *int8 // sqlite3.c:104209:16 _ = _1_zName var _1_nName int32 // sqlite3.c:104210:9 _ = _1_nName var _1_h int32 // sqlite3.c:104211:9 _ = _1_h _i = i32(0) _0: if _i >= _nDef { goto _3 } _1_zName = (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef)) + 56*uintptr(_i))).X6 _1_nName = _sqlite3Strlen30(tls, _1_zName) _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) _1_pOther = _functionSearch(tls, _1_h, _1_zName) if _1_pOther == nil { goto _4 } func() int32 { if (_1_pOther != (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+56*uintptr(_i)))) && ((*XFuncDef)(unsafe.Pointer(_1_pOther.X3)) != (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+56*uintptr(_i)))) { return i32(0) } return func() int32 { 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(2380))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+56*uintptr(_i))))) + uintptr(16 /* X3 */))))) = (*XFuncDef)(unsafe.Pointer(_1_pOther.X3)) *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOther)) + uintptr(16 /* X3 */))))) = (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef)) + 56*uintptr(_i))) goto _8 _4: *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+56*uintptr(_i))))) + uintptr(16 /* X3 */))))) = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+56*uintptr(_i))))) + uintptr(48 /* X7 */))))))) = *(**XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[23]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3BuiltinFunctions))+uintptr(0 /* X0 */))))) + 8*uintptr(_1_h))) *(**XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[23]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3BuiltinFunctions))+uintptr(0 /* X0 */))))) + 8*uintptr(_1_h))) = (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef)) + 56*uintptr(_i))) _8: _i += 1 goto _0 _3: return } func _sqlite3Strlen30(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:27721:1 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: r0 = i32(1073741823) & int32(crt.Xstrlen(tls, _z)) return } var _sqlite3UpperToLower [256]uint8 // sqlite3.c:17155:36 func init() { _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} } func _functionSearch(tls *crt.TLS, _h int32, _zFunc *int8) (r0 *XFuncDef) { // sqlite3.c:104186:1 var _p *XFuncDef // sqlite3.c:104190:11 _ = _p _p = *(**XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[23]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3BuiltinFunctions))+uintptr(0 /* X0 */))))) + 8*uintptr(_h))) _0: if _p == nil { goto _3 } if _sqlite3StrICmp(tls, _p.X6, _zFunc) != i32(0) { goto _4 } r0 = _p return _4: _p = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X7 */))))))) goto _0 _3: r0 = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) return } func _sqlite3StrICmp(tls *crt.TLS, _zLeft *int8, _zRight *int8) (r0 int32) { // sqlite3.c:27911:1 var _a *uint8 // sqlite3.c:27912:17 _ = _a var _b *uint8 // sqlite3.c:27912:21 _ = _b var _c int32 // sqlite3.c:27913:7 _ = _c _a = (*uint8)(unsafe.Pointer(_zLeft)) _b = (*uint8)(unsafe.Pointer(_zRight)) _0: _c = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_a)))) - int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_b)))) if _c == 0 && int32(*_a) != i32(0) { goto _4 } goto _2 _4: *(*uintptr)(unsafe.Pointer(&_a)) += uintptr(1) *(*uintptr)(unsafe.Pointer(&_b)) += uintptr(1) goto _0 _2: r0 = _c return } var _sqlite3InsertBuiltinFuncsØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3InsertBuiltinFuncsØ00__func__Ø000[0], str(2424), 26) } var _sqlite3AlterFunctionsØ00aAlterTableFuncsØ001 [3]XFuncDef // sqlite3.c:96108:18 func init() { _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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_renameTableFunc})), X5: nil, X6: str(2452), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_renameTriggerFunc})), X5: nil, X6: str(2472), X7: T5458811{}}, XFuncDef{X0: i8(3), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_renameParentFunc})), X5: nil, X6: str(2496), X7: T5458811{}}} } func _renameTableFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:95913:1 var _zSql *uint8 // sqlite3.c:95918:23 _ = _zSql var _zTableName *uint8 // sqlite3.c:95919:23 _ = _zTableName var _token int32 // sqlite3.c:95921:7 _ = _token var _tname XToken // sqlite3.c:95922:9 _ = _tname var _zCsr *uint8 // sqlite3.c:95923:23 _ = _zCsr var _len int32 // sqlite3.c:95924:7 _ = _len var _zRet *int8 // sqlite3.c:95925:8 _ = _zRet var _db *Xsqlite3 // sqlite3.c:95927:11 _ = _db _zSql = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _zTableName = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) _zCsr = _zSql _len = i32(0) _db = Xsqlite3_context_db_handle(tls, _context) if _zSql == nil { goto _0 } _1: if (*_zCsr) != 0 { goto _2 } return _2: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(_zCsr)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(8 /* X1 */))) = uint32(_len) _3: { p := &_zCsr *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_len))) sink4543 = *p } _len = _sqlite3GetToken(tls, _zCsr, &_token) if _token == i32(162) { goto _3 } func() int32 { if _len > i32(0) { return i32(0) } return func() int32 { 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(2520))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_token != i32(22)) && (_token != i32(125)) { goto _1 } _zRet = _sqlite3MPrintf(tls, _db, str(2528), int32(int64((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))))))))) Xsqlite3_result_text(tls, _context, _zRet, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _0: return } func Xsqlite3_value_text(tls *crt.TLS, _pVal *XMem) (r0 *uint8) { // sqlite3.c:76206:12 r0 = (*uint8)(unsafe.Pointer(_sqlite3ValueText(tls, _pVal, uint8(i32(1))))) return } func _sqlite3ValueText(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 unsafe.Pointer) { // sqlite3.c:70666:1 if _pVal != nil { goto _0 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: func() int32 { 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 { return i32(0) } return func() int32 { 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(2540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_enc) & i32(3)) == (int32(_enc) & i32(-9)) { return i32(0) } return func() int32 { 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(2592))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pVal.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2632))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pVal.X1)&i32(514)) != i32(514) || int32(_pVal.X2) != int32(_enc) { goto _9 } r0 = (unsafe.Pointer)(_pVal.X5) return _9: if (int32(_pVal.X1) & i32(1)) == 0 { goto _10 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _10: r0 = _valueToText(tls, _pVal, _enc) return } var _sqlite3ValueTextØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ValueTextØ00__func__Ø000[0], str(2664), 17) } func _valueToText(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 unsafe.Pointer) { // sqlite3.c:70624:1 func() int32 { if _pVal != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(2684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(2540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_enc) & i32(3)) == (int32(_enc) & i32(-9)) { return i32(0) } return func() int32 { 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(2592))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pVal.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2632))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pVal.X1) & i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(2692))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pVal.X1) & i32(18)) == 0 { goto _11 } if func() int32 { if (int32(_pVal.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pVal) } return i32(0) }() == 0 { goto _14 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _14: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(2)) sink4530 = *p } if int32(_pVal.X2) == (int32(_enc) & i32(-9)) { goto _15 } _sqlite3VdbeChangeEncoding(tls, _pVal, int32(_enc)&i32(-9)) _15: if (int32(_enc)&i32(8)) == i32(0) || i32(1) != (i32(1)&int32(int64(uintptr(unsafe.Pointer(_pVal.X5))))) { goto _17 } func() int32 { if (int32(_pVal.X1) & i32(6144)) != i32(0) { return i32(0) } return func() int32 { 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(2724))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3VdbeMemMakeWriteable(tls, _pVal) == i32(0) { goto _20 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _20: _17: _sqlite3VdbeMemNulTerminate(tls, _pVal) goto _21 _11: _sqlite3VdbeMemStringify(tls, _pVal, _enc, uint8(i32(0))) func() int32 { if i32(0) == (i32(1) & int32(int64(uintptr(unsafe.Pointer(_pVal.X5))))) { return i32(0) } return func() int32 { 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(2768))) crt.X__builtin_abort(tls) return i32(0) }() }() _21: func() int32 { 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) { return i32(0) } return func() int32 { 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(2804))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pVal.X2) != (int32(_enc) & i32(-9)) { goto _28 } r0 = (unsafe.Pointer)(_pVal.X5) return _28: r0 = (unsafe.Pointer)(uintptr(i32(0))) return } var _valueToTextØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_valueToTextØ00__func__Ø000[0], str(2888), 12) } func _sqlite3VdbeMemExpandBlob(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69836:1 var _nByte int32 // sqlite3.c:69837:7 _ = _nByte func() int32 { if (int32(_pMem.X1) & i32(16384)) != 0 { return i32(0) } return func() int32 { 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(2900))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(2924))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() _nByte = (_pMem.X4) + (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) if _nByte > i32(0) { goto _9 } _nByte = i32(1) _9: if _sqlite3VdbeMemGrow(tls, _pMem, _nByte, i32(1)) == 0 { goto _10 } r0 = _sqlite3NomemError(tls, i32(69849)) return _10: crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5))+1*uintptr(_pMem.X4)))), i32(0), uint64(*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) *p = (*p) + (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) sink961 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-16897)) sink4530 = *p } r0 = i32(0) return } var _sqlite3VdbeMemExpandBlobØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemExpandBlobØ00__func__Ø000[0], str(3028), 25) } func _sqlite3VdbeMemGrow(tls *crt.TLS, _pMem *XMem, _n int32, _bPreserve int32) (r0 int32) { // sqlite3.c:69734:1 func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, _pMem) != 0 { return i32(0) } return func() int32 { 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(3056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_bPreserve == i32(0)) || (int32(_pMem.X1)&i32(18)) != 0 { return i32(0) } return func() int32 { 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(3092))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pMem.X7) == i32(0)) || ((_pMem.X7) == _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6))) { return i32(0) } return func() int32 { 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(3140))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pMem.X7) >= _n { goto _10 } if _n >= i32(32) { goto _11 } _n = i32(32) _11: if _bPreserve == 0 || (_pMem.X7) <= i32(0) || (_pMem.X5) != (_pMem.X6) { goto _14 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(24 /* X6 */))), (*int8)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X5), uint64(_n))))) _bPreserve = i32(0) goto _15 _14: if (_pMem.X7) <= i32(0) { goto _16 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) _16: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X6 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), uint64(_n)))) _15: if (_pMem.X6) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } _sqlite3VdbeMemSetNull(tls, _pMem) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = i32(0) r0 = _sqlite3NomemError(tls, i32(69759)) return _17: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) _10: if _bPreserve == 0 || (_pMem.X5) == nil || (_pMem.X5) == (_pMem.X6) { goto _21 } crt.Xmemcpy(tls, (unsafe.Pointer)(_pMem.X6), (unsafe.Pointer)(_pMem.X5), uint64(_pMem.X4)) _21: if (int32(_pMem.X1) & i32(1024)) == i32(0) { goto _22 } func() int32 { if (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_pMem.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{nil}))) && (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_pMem.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))}))) { return i32(0) } return func() int32 { 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(3224))) crt.X__builtin_abort(tls) return i32(0) }() }() (_pMem.X10)(tls, (unsafe.Pointer)(_pMem.X5)) _22: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _pMem.X6 { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-7169)) sink4530 = *p } r0 = i32(0) return } func _sqlite3VdbeCheckMemInvariants(tls *crt.TLS, _p *XMem) (r0 int32) { // sqlite3.c:69646:1 func() int32 { if ((int32(_p.X1) & i32(1024)) == i32(0)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_p.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{nil}))) { return i32(0) } return func() int32 { 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(3268))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_p.X1) & i32(1024)) == i32(0)) || ((_p.X7) == i32(0)) { return i32(0) } return func() int32 { 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(3308))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X1) & i32(12)) != i32(12) { return i32(0) } return func() int32 { 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(3352))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X7) == i32(0)) || ((_p.X7) == _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_p.X9)), (unsafe.Pointer)(_p.X6))) { return i32(0) } return func() int32 { 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(3404))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X1)&i32(18)) == 0 || (_p.X4) <= i32(0) { goto _12 } func() int32 { if (((func() int32 { if ((_p.X7) > i32(0)) && ((_p.X5) == (_p.X6)) { return i32(1) } return i32(0) }() + func() int32 { if (int32(_p.X1) & i32(1024)) != i32(0) { return i32(1) } return i32(0) }()) + func() int32 { if (int32(_p.X1) & i32(4096)) != i32(0) { return i32(1) } return i32(0) }()) + func() int32 { if (int32(_p.X1) & i32(2048)) != i32(0) { return i32(1) } return i32(0) }()) == i32(1) { return i32(0) } return func() int32 { 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(3476))) crt.X__builtin_abort(tls) return i32(0) }() }() _12: r0 = i32(1) return } var _sqlite3VdbeCheckMemInvariantsØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000[0], str(3636), 30) } var _sqlite3VdbeMemGrowØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemGrowØ00__func__Ø000[0], str(3668), 19) } func _sqlite3DbReallocOrFree(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24908:1 var _pNew unsafe.Pointer // sqlite3.c:24909:8 _ = _pNew _pNew = _sqlite3DbRealloc(tls, _db, _p, _n) if _pNew != nil { goto _0 } _sqlite3DbFree(tls, _db, _p) _0: r0 = _pNew return } func _sqlite3DbMallocRaw(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24822:1 var _p unsafe.Pointer // sqlite3.c:24823:8 _ = _p if _db == nil { goto _0 } r0 = _sqlite3DbMallocRawNN(tls, _db, _n) return _0: _p = _sqlite3Malloc(tls, _n) r0 = _p return } func _sqlite3VdbeMemSetNull(tls *crt.TLS, _pMem *XMem) { // sqlite3.c:70269:1 if (int32(_pMem.X1) & i32(9312)) == i32(0) { goto _0 } _vdbeMemClearExternAndSetNull(tls, _pMem) goto _1 _0: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) _1: return } func _vdbeMemClearExternAndSetNull(tls *crt.TLS, _p *XMem) { // sqlite3.c:69978:1 var _4_pFrame *XVdbeFrame // sqlite3.c:69993:15 _ = _4_pFrame func() int32 { 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 { return i32(0) } return func() int32 { 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(3688))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X1) & i32(9312)) != i32(0) { return i32(0) } return func() int32 { 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(3736))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X1) & i32(8192)) == 0 { goto _5 } _sqlite3VdbeMemFinalize(tls, _p, (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))))) func() int32 { if (int32(_p.X1) & i32(8192)) == i32(0) { return i32(0) } return func() int32 { 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(3756))) crt.X__builtin_abort(tls) return i32(0) }() }() _5: if (int32(_p.X1) & i32(1024)) == 0 { goto _8 } func() int32 { if (int32(_p.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(3780))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_p.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))}))) && (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_p.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{nil}))) { return i32(0) } return func() int32 { 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(3808))) crt.X__builtin_abort(tls) return i32(0) }() }() (_p.X10)(tls, (unsafe.Pointer)(_p.X5)) goto _14 _8: if (int32(_p.X1) & i32(32)) == 0 { goto _15 } _sqlite3RowSetClear(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))))) goto _16 _15: if (int32(_p.X1) & i32(64)) == 0 { goto _17 } _4_pFrame = (*XVdbeFrame)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))))) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pFrame)) + uintptr(8 /* X1 */))))) = (*XVdbeFrame)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(_4_pFrame.X0)).X39)) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_4_pFrame.X0) + uintptr(256 /* X39 */))))) = _4_pFrame _17: _16: _14: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint16(i32(1)) return } var _vdbeMemClearExternAndSetNullØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeMemClearExternAndSetNullØ00__func__Ø000[0], str(3848), 29) } func _sqlite3VdbeMemFinalize(tls *crt.TLS, _pMem *XMem, _pFunc *XFuncDef) (r0 int32) { // sqlite3.c:69946:1 var _rc int32 // sqlite3.c:69947:7 _ = _rc var _1_ctx Xsqlite3_context // sqlite3.c:69949:21 _ = _1_ctx var _1_t XMem // sqlite3.c:69950:9 _ = _1_t _rc = i32(0) if func() int32 { if (_pFunc != nil) && ((*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_pFunc.X5)}))) != nil) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _3 } func() int32 { if ((int32(_pMem.X1) & i32(1)) != i32(0)) || (_pFunc == (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))))) { return i32(0) } return func() int32 { 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(3884))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_1_ctx), i32(0), u64(56)) crt.Xmemset(tls, (unsafe.Pointer)(&_1_t), i32(0), u64(72)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_t)) + uintptr(8 /* X1 */))) = uint16(i32(1)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_t)) + uintptr(40 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pMem.X9)) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_ctx)) + uintptr(0 /* X0 */))))) = &_1_t *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_ctx)) + uintptr(16 /* X2 */))))) = _pMem *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_ctx)) + uintptr(8 /* X1 */))))) = _pFunc (*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_pFunc.X5)})))(tls, &_1_ctx) func() int32 { if (int32(_pMem.X1) & i32(1024)) == i32(0) { return i32(0) } return func() int32 { 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(3936))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pMem.X7) <= i32(0) { goto _12 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) _12: crt.Xmemcpy(tls, (unsafe.Pointer)(_pMem), (unsafe.Pointer)(&_1_t), u64(72)) _rc = _1_ctx.X5 _3: r0 = _rc return } var _sqlite3VdbeMemFinalizeØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemFinalizeØ00__func__Ø000[0], str(3964), 23) } func _sqlite3RowSetClear(tls *crt.TLS, _p *XRowSet) { // sqlite3.c:46379:1 var _pChunk *TRowSetChunk // sqlite3.c:46380:22 _ = _pChunk var _pNextChunk *TRowSetChunk // sqlite3.c:46380:31 _ = _pNextChunk _pChunk = (*TRowSetChunk)(unsafe.Pointer(_p.X0)) _0: if _pChunk == nil { goto _3 } _pNextChunk = (*TRowSetChunk)(unsafe.Pointer(_pChunk.X0)) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X1)), (unsafe.Pointer)(_pChunk)) _pChunk = _pNextChunk goto _0 _3: *(**TRowSetChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*TRowSetChunk)(unsafe.Pointer(uintptr(i32(0)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))) = uint16(i32(0)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X5 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X7 */))) = uint16(i32(1)) return } func _sqlite3VdbeChangeEncoding(tls *crt.TLS, _pMem *XMem, _desiredEnc int32) (r0 int32) { // sqlite3.c:69699:1 var _rc int32 // sqlite3.c:69701:7 _ = _rc func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_desiredEnc == i32(1)) || (_desiredEnc == i32(2))) || (_desiredEnc == i32(3)) { return i32(0) } return func() int32 { 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(3988))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pMem.X1)&i32(2)) != 0 && int32(_pMem.X2) != _desiredEnc { goto _7 } r0 = i32(0) return _7: func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeMemTranslate(tls, _pMem, uint8(_desiredEnc)) func() int32 { if (_rc == i32(0)) || (_rc == i32(7)) { return i32(0) } return func() int32 { 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(4072))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_rc == i32(0)) || (int32(_pMem.X2) != _desiredEnc) { return i32(0) } return func() int32 { 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(4108))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_rc == i32(7)) || (int32(_pMem.X2) == _desiredEnc) { return i32(0) } return func() int32 { 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(4148))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3VdbeChangeEncodingØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeChangeEncodingØ00__func__Ø000[0], str(4192), 26) } func _sqlite3VdbeMemTranslate(tls *crt.TLS, _pMem *XMem, _desiredEnc uint8) (r0 int32) { // sqlite3.c:27283:1 var _len int32 // sqlite3.c:27284:7 _ = _len var _zOut *uint8 // sqlite3.c:27285:17 _ = _zOut var _zIn *uint8 // sqlite3.c:27286:17 _ = _zIn var _zTerm *uint8 // sqlite3.c:27287:17 _ = _zTerm var _z *uint8 // sqlite3.c:27288:17 _ = _z var _c uint32 // sqlite3.c:27289:16 _ = _c var _1_temp uint8 // sqlite3.c:27310:8 _ = _1_temp var _1_rc int32 // sqlite3.c:27311:9 _ = _1_rc var _28_c2 int32 // sqlite3.c:27383:9 _ = _28_c2 var _37_c2 int32 // sqlite3.c:27389:9 _ = _37_c2 func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(4220))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pMem.X2) != int32(_desiredEnc) { return i32(0) } return func() int32 { 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(4240))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pMem.X2) != i32(0) { return i32(0) } return func() int32 { 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(4264))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pMem.X4) >= i32(0) { return i32(0) } return func() int32 { 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(4280))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pMem.X2) == i32(1) || int32(_desiredEnc) == i32(1) { goto _12 } _1_rc = _sqlite3VdbeMemMakeWriteable(tls, _pMem) if _1_rc == i32(0) { goto _13 } func() int32 { if _1_rc == i32(7) { return i32(0) } return func() int32 { 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(4292))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3NomemError(tls, i32(27315)) return _13: _zIn = (*uint8)(unsafe.Pointer(_pMem.X5)) _zTerm = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr((_pMem.X4)&i32(-2)))) _16: if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _17 } _1_temp = *_zIn *_zIn = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zIn)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(1)))))))) *(*uintptr)(unsafe.Pointer(&_zIn)) += uintptr(1) *postInc4543(&_zIn, 1) = _1_temp goto _16 _17: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _desiredEnc goto _translate_out _12: if int32(_desiredEnc) != i32(1) { goto _18 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) *p = (*p) & i32(-2) sink961 = *p } _len = ((_pMem.X4) * i32(2)) + i32(1) goto _19 _18: _len = ((_pMem.X4) * i32(2)) + i32(2) _19: _zIn = (*uint8)(unsafe.Pointer(_pMem.X5)) _zTerm = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(_pMem.X4))) _zOut = (*uint8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), uint64(_len)))) if _zOut != nil { goto _20 } r0 = _sqlite3NomemError(tls, i32(27357)) return _20: _z = _zOut if int32(_pMem.X2) != i32(1) { goto _21 } if int32(_desiredEnc) != i32(2) { goto _22 } _23: if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _24 } _c = uint32(*postInc4543(&_zIn, 1)) if _c < uint32(i32(192)) { goto _25 } _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Utf8Trans1)) + 1*uintptr(_c-uint32(i32(192)))))) _26: if _zIn == _zTerm || (int32(*_zIn)&i32(192)) != i32(128) { goto _27 } _c = (_c << uint(i32(6))) + uint32(i32(63)&int32(*postInc4543(&_zIn, 1))) goto _26 _27: if _c >= uint32(i32(128)) && (_c&u32(4294965248)) != uint32(i32(55296)) && (_c&u32(4294967294)) != uint32(i32(65534)) { goto _31 } _c = uint32(i32(65533)) _31: _25: if _c > uint32(i32(65535)) { goto _32 } *postInc4543(&_z, 1) = uint8(_c & uint32(i32(255))) *postInc4543(&_z, 1) = uint8((_c >> uint(i32(8))) & uint32(i32(255))) goto _33 _32: *postInc4543(&_z, 1) = uint8(((_c >> uint(i32(10))) & uint32(i32(63))) + (((_c - uint32(i32(65536))) >> uint(i32(10))) & uint32(i32(192)))) *postInc4543(&_z, 1) = uint8(uint32(i32(216)) + (((_c - uint32(i32(65536))) >> uint(i32(18))) & uint32(i32(3)))) *postInc4543(&_z, 1) = uint8(_c & uint32(i32(255))) *postInc4543(&_z, 1) = uint8(uint32(i32(220)) + ((_c >> uint(i32(8))) & uint32(i32(3)))) _33: goto _23 _24: goto _34 _22: func() int32 { if int32(_desiredEnc) == i32(3) { return i32(0) } return func() int32 { 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(4312))) crt.X__builtin_abort(tls) return i32(0) }() }() _37: if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _38 } _c = uint32(*postInc4543(&_zIn, 1)) if _c < uint32(i32(192)) { goto _39 } _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Utf8Trans1)) + 1*uintptr(_c-uint32(i32(192)))))) _40: if _zIn == _zTerm || (int32(*_zIn)&i32(192)) != i32(128) { goto _41 } _c = (_c << uint(i32(6))) + uint32(i32(63)&int32(*postInc4543(&_zIn, 1))) goto _40 _41: if _c >= uint32(i32(128)) && (_c&u32(4294965248)) != uint32(i32(55296)) && (_c&u32(4294967294)) != uint32(i32(65534)) { goto _45 } _c = uint32(i32(65533)) _45: _39: if _c > uint32(i32(65535)) { goto _46 } *postInc4543(&_z, 1) = uint8((_c >> uint(i32(8))) & uint32(i32(255))) *postInc4543(&_z, 1) = uint8(_c & uint32(i32(255))) goto _47 _46: *postInc4543(&_z, 1) = uint8(uint32(i32(216)) + (((_c - uint32(i32(65536))) >> uint(i32(18))) & uint32(i32(3)))) *postInc4543(&_z, 1) = uint8(((_c >> uint(i32(10))) & uint32(i32(63))) + (((_c - uint32(i32(65536))) >> uint(i32(10))) & uint32(i32(192)))) *postInc4543(&_z, 1) = uint8(uint32(i32(220)) + ((_c >> uint(i32(8))) & uint32(i32(3)))) *postInc4543(&_z, 1) = uint8(_c & uint32(i32(255))) _47: goto _37 _38: _34: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32(int64((uintptr(unsafe.Pointer(_z)) - uintptr(unsafe.Pointer(_zOut))) / 1)) *postInc4543(&_z, 1) = uint8(i32(0)) goto _48 _21: func() int32 { if int32(_desiredEnc) == i32(1) { return i32(0) } return func() int32 { 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(4340))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pMem.X2) != i32(2) { goto _51 } _52: if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _53 } _c = uint32(*postInc4543(&_zIn, 1)) { p := &_c *p = (*p) + uint32(int32(*postInc4543(&_zIn, 1))<= uint32(i32(57344)) || uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _56 } _28_c2 = int32(*postInc4543(&_zIn, 1)) { p := &_28_c2 *p = (*p) + (int32(*postInc4543(&_zIn, 1)) << uint(i32(8))) sink961 = *p } _c = (uint32(_28_c2&i32(1023)) + ((_c & uint32(i32(63))) << uint(i32(10)))) + (((_c & uint32(i32(960))) + uint32(i32(64))) << uint(i32(10))) _56: if _c >= uint32(i32(128)) { goto _57 } *postInc4543(&_z, 1) = uint8(_c & uint32(i32(255))) goto _58 _57: if _c >= uint32(i32(2048)) { goto _59 } *postInc4543(&_z, 1) = uint8(i32(192) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(31))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) goto _60 _59: if _c >= uint32(i32(65536)) { goto _61 } *postInc4543(&_z, 1) = uint8(i32(224) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(15))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) goto _62 _61: *postInc4543(&_z, 1) = uint8(i32(240) + int32(uint8((_c>>uint(i32(18)))&uint32(i32(7))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(63))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) _62: _60: _58: goto _52 _53: goto _63 _51: _64: if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _65 } _c = uint32(int32(*postInc4543(&_zIn, 1)) << uint(i32(8))) { p := &_c *p = (*p) + uint32(*postInc4543(&_zIn, 1)) sink985 = *p } if _c < uint32(i32(55296)) || _c >= uint32(i32(57344)) || uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _68 } _37_c2 = int32(*postInc4543(&_zIn, 1)) << uint(i32(8)) { p := &_37_c2 *p = (*p) + int32(*postInc4543(&_zIn, 1)) sink961 = *p } _c = (uint32(_37_c2&i32(1023)) + ((_c & uint32(i32(63))) << uint(i32(10)))) + (((_c & uint32(i32(960))) + uint32(i32(64))) << uint(i32(10))) _68: if _c >= uint32(i32(128)) { goto _69 } *postInc4543(&_z, 1) = uint8(_c & uint32(i32(255))) goto _70 _69: if _c >= uint32(i32(2048)) { goto _71 } *postInc4543(&_z, 1) = uint8(i32(192) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(31))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) goto _72 _71: if _c >= uint32(i32(65536)) { goto _73 } *postInc4543(&_z, 1) = uint8(i32(224) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(15))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) goto _74 _73: *postInc4543(&_z, 1) = uint8(i32(240) + int32(uint8((_c>>uint(i32(18)))&uint32(i32(7))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(63))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) *postInc4543(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) _74: _72: _70: goto _64 _65: _63: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32(int64((uintptr(unsafe.Pointer(_z)) - uintptr(unsafe.Pointer(_zOut))) / 1)) _48: *_z = uint8(i32(0)) func() int32 { if ((_pMem.X4) + func() int32 { if int32(_desiredEnc) == i32(1) { return i32(1) } return i32(2) }()) <= _len { return i32(0) } return func() int32 { 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(4364))) crt.X__builtin_abort(tls) return i32(0) }() }() _c = uint32(_pMem.X1) _sqlite3VdbeMemRelease(tls, _pMem) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(uint32(i32(514)) | (_c & uint32(i32(32799)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _desiredEnc *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(_zOut)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X6 */))) = _pMem.X5 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X5)) _translate_out: r0 = i32(0) return } var _sqlite3VdbeMemTranslateØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemTranslateØ00__func__Ø000[0], str(4412), 24) } func _sqlite3VdbeMemMakeWriteable(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69809:1 func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2948))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pMem.X1) & i32(18)) == i32(0) { goto _5 } if func() int32 { if (int32(_pMem.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pMem) } return i32(0) }() == 0 { goto _8 } r0 = i32(7) return _8: if (_pMem.X7) != i32(0) && (_pMem.X5) == (_pMem.X6) { goto _10 } if _sqlite3VdbeMemGrow(tls, _pMem, (_pMem.X4)+i32(2), i32(1)) == 0 { goto _11 } r0 = _sqlite3NomemError(tls, i32(69816)) return _11: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_pMem.X4))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr((_pMem.X4)+i32(1)))) = int8(i32(0)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(512)) sink4530 = *p } _10: _5: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-4097)) sink4530 = *p } *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(56 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) r0 = i32(0) return } var _sqlite3VdbeMemMakeWriteableØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemMakeWriteableØ00__func__Ø000[0], str(4436), 28) } var _sqlite3Utf8Trans1 [64]uint8 // sqlite3.c:27133:28 func init() { _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} } func _sqlite3VdbeMemRelease(tls *crt.TLS, _p *XMem) { // sqlite3.c:70029:1 func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, _p) != 0 { return i32(0) } return func() int32 { 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(4464))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X1)&i32(9312)) == i32(0) && (_p.X7) == 0 { goto _3 } _vdbeMemClear(tls, _p) _3: return } var _sqlite3VdbeMemReleaseØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemReleaseØ00__func__Ø000[0], str(4500), 22) } func _vdbeMemClear(tls *crt.TLS, _p *XMem) { // sqlite3.c:70008:1 if (int32(_p.X1) & i32(9312)) == i32(0) { goto _0 } _vdbeMemClearExternAndSetNull(tls, _p) _0: if (_p.X7) == 0 { goto _1 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X9)), (unsafe.Pointer)(_p.X6)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = i32(0) _1: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } func _sqlite3VdbeMemNulTerminate(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69876:1 func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pMem.X1) & i32(514)) == i32(2) { goto _3 } r0 = i32(0) return _3: r0 = _vdbeMemAddTerminator(tls, _pMem) return } var _sqlite3VdbeMemNulTerminateØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemNulTerminateØ00__func__Ø000[0], str(4524), 27) } func _vdbeMemAddTerminator(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69863:1 if _sqlite3VdbeMemGrow(tls, _pMem, (_pMem.X4)+i32(2), i32(1)) == 0 { goto _0 } r0 = _sqlite3NomemError(tls, i32(69865)) return _0: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_pMem.X4))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr((_pMem.X4)+i32(1)))) = int8(i32(0)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(512)) sink4530 = *p } r0 = i32(0) return } func _sqlite3VdbeMemStringify(tls *crt.TLS, _pMem *XMem, _enc uint8, _bForce uint8) (r0 int32) { // sqlite3.c:69901:1 var _fg int32 // sqlite3.c:69902:7 _ = _fg var _nByte int32 // sqlite3.c:69903:13 _ = _nByte _fg = int32(_pMem.X1) _nByte = i32(32) func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_fg & i32(16384)) == 0 { return i32(0) } return func() int32 { 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(4552))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_fg & i32(18)) == 0 { return i32(0) } return func() int32 { 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(4568))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_fg & i32(12)) != 0 { return i32(0) } return func() int32 { 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(4596))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(2948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3VdbeMemClearAndResize(tls, _pMem, _nByte) == 0 { goto _13 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(0)) r0 = _sqlite3NomemError(tls, i32(69915)) return _13: if (_fg & i32(4)) == 0 { goto _14 } Xsqlite3_snprintf(tls, _nByte, _pMem.X5, str(4648), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) goto _15 _14: func() int32 { if (_fg & i32(8)) != 0 { return i32(0) } return func() int32 { 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(4656))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_snprintf(tls, _nByte, _pMem.X5, str(4672), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) _15: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pMem.X5) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(514)) sink4530 = *p } if _bForce == 0 { goto _18 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-13)) sink4530 = *p } _18: _sqlite3VdbeChangeEncoding(tls, _pMem, int32(_enc)) r0 = i32(0) return } var _sqlite3VdbeMemStringifyØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemStringifyØ00__func__Ø000[0], str(4680), 24) } func _sqlite3VdbeMemClearAndResize(tls *crt.TLS, _pMem *XMem, _szNew int32) (r0 int32) { // sqlite3.c:69791:1 func() int32 { if _szNew > i32(0) { return i32(0) } return func() int32 { 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(4704))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pMem.X1) & i32(1024)) == i32(0)) || ((_pMem.X7) == i32(0)) { return i32(0) } return func() int32 { 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(4712))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pMem.X7) >= _szNew { goto _5 } r0 = _sqlite3VdbeMemGrow(tls, _pMem, _szNew, i32(0)) return _5: func() int32 { if (int32(_pMem.X1) & i32(1024)) == i32(0) { return i32(0) } return func() int32 { 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(3936))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _pMem.X6 { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(13)) sink4530 = *p } r0 = i32(0) return } var _sqlite3VdbeMemClearAndResizeØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemClearAndResizeØ00__func__Ø000[0], str(4760), 29) } func Xsqlite3_snprintf(tls *crt.TLS, _n int32, _zBuf *int8, _zFormat *int8, args ...interface{}) (r0 *int8) { // sqlite3.c:26065:12 var _z *int8 // sqlite3.c:26066:8 _ = _z var _ap []interface{} // sqlite3.c:26067:11 _ = _ap _ap = args _z = Xsqlite3_vsnprintf(tls, _n, _zBuf, _zFormat, _ap) _ap = nil r0 = _z return } func Xsqlite3_vsnprintf(tls *crt.TLS, _n int32, _zBuf *int8, _zFormat *int8, _ap []interface{}) (r0 *int8) { // sqlite3.c:26050:12 var _acc XStrAccum // sqlite3.c:26051:12 _ = _acc if _n > i32(0) { goto _0 } r0 = _zBuf return _0: if _zBuf != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _zFormat != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _sqlite3MisuseError(tls, i32(26055)) if _zBuf == nil { goto _3 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(0)))) = int8(i32(0)) _3: r0 = _zBuf return _2: _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _zBuf, _n, i32(0)) _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_acc.X3))) = int8(i32(0)) r0 = _zBuf return } func Xsqlite3_context_db_handle(tls *crt.TLS, _p *Xsqlite3_context) (r0 *Xsqlite3) { // sqlite3.c:76721:12 func() int32 { if (_p != nil) && ((*XMem)(unsafe.Pointer(_p.X0)) != nil) { return i32(0) } return func() int32 { 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(4792))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_p.X0)).X9)) return } var _sqlite3_context_db_handleØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_context_db_handleØ00__func__Ø000[0], str(4808), 26) } func _sqlite3GetToken(tls *crt.TLS, _z *uint8, _tokenType *int32) (r0 int32) { // sqlite3.c:139096:1 var _i int32 // sqlite3.c:139097:7 _ = _i var _c int32 // sqlite3.c:139097:10 _ = _c var _35_delim int32 // sqlite3.c:139216:11 _ = _35_delim var _58_n int32 // sqlite3.c:139298:11 _ = _58_n switch int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiClass)) + 1*uintptr(*_z)))) { case i32(0): goto _26 case i32(1): goto _25 case i32(2): goto _27 case i32(3): goto _20 case i32(4): goto _23 case i32(5): goto _24 case i32(6): goto _22 case i32(7): goto _1 case i32(8): goto _18 case i32(9): goto _21 case i32(10): goto _14 case i32(11): goto _2 case i32(12): goto _11 case i32(13): goto _12 case i32(14): goto _10 case i32(15): goto _13 case i32(16): goto _8 case i32(17): goto _3 case i32(18): goto _4 case i32(19): goto _5 case i32(20): goto _6 case i32(21): goto _7 case i32(22): goto _9 case i32(23): goto _15 case i32(24): goto _16 case i32(25): goto _17 case i32(26): goto _19 default: goto _28 } _1: _i = i32(1) _29: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(1)) == 0 { goto _32 } _i += 1 goto _29 _32: *_tokenType = i32(162) r0 = _i return _2: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(45) { goto _33 } _i = i32(2) _34: if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) || _c == i32(10) { goto _38 } _i += 1 goto _34 _38: *_tokenType = i32(162) r0 = _i return _33: *_tokenType = i32(48) r0 = i32(1) return _3: *_tokenType = i32(22) r0 = i32(1) return _4: *_tokenType = i32(23) r0 = i32(1) return _5: *_tokenType = i32(1) r0 = i32(1) return _6: *_tokenType = i32(47) r0 = i32(1) return _7: *_tokenType = i32(49) r0 = i32(1) return _8: 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) { goto _40 } *_tokenType = i32(50) r0 = i32(1) return _40: *func() *int32 { _i = i32(3); return &_c }() = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(2))))) _41: 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) { goto _46 } _i += 1 goto _41 _46: if _c == 0 { goto _47 } _i += 1 _47: *_tokenType = i32(162) r0 = _i return _9: *_tokenType = i32(51) r0 = i32(1) return _10: *_tokenType = i32(37) r0 = i32(1) + bool2int(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(61)) return _11: if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1)))))) != i32(61) { goto _48 } *_tokenType = i32(39) r0 = i32(2) return _48: if _c != i32(62) { goto _50 } *_tokenType = i32(36) r0 = i32(2) return _50: if _c != i32(60) { goto _52 } *_tokenType = i32(45) r0 = i32(2) return _52: *_tokenType = i32(40) r0 = i32(1) return _12: if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1)))))) != i32(61) { goto _54 } *_tokenType = i32(41) r0 = i32(2) return _54: if _c != i32(62) { goto _56 } *_tokenType = i32(46) r0 = i32(2) return _56: *_tokenType = i32(38) r0 = i32(1) return _13: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(61) { goto _58 } *_tokenType = i32(163) r0 = i32(1) return _58: *_tokenType = i32(36) r0 = i32(2) return _14: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(124) { goto _60 } *_tokenType = i32(44) r0 = i32(1) return _60: *_tokenType = i32(52) r0 = i32(2) return _15: *_tokenType = i32(26) r0 = i32(1) return _16: *_tokenType = i32(43) r0 = i32(1) return _17: *_tokenType = i32(54) r0 = i32(1) return _18: _35_delim = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) _i = i32(1) _62: if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { goto _65 } if _c != _35_delim { goto _66 } if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != _35_delim { goto _67 } _i += 1 goto _68 _67: goto _65 _68: _66: _i += 1 goto _62 _65: if _c != i32(39) { goto _69 } *_tokenType = i32(97) r0 = _i + i32(1) return _69: if _c == i32(0) { goto _71 } *_tokenType = i32(55) r0 = _i + i32(1) return _71: *_tokenType = i32(163) r0 = _i return _19: 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 { goto _73 } *_tokenType = i32(122) r0 = i32(1) return _73: _20: *_tokenType = i32(134) 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 { goto _77 } _i = i32(3) _78: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(8)) == 0 { goto _81 } _i += 1 goto _78 _81: r0 = _i return _77: _i = i32(0) _82: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { goto _85 } _i += 1 goto _82 _85: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != i32(46) { goto _86 } _i += 1 _87: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { goto _88 } _i += 1 goto _87 _88: *_tokenType = i32(132) _86: 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) { goto _94 } { p := &_i *p = (*p) + i32(2) sink961 = *p } _95: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { goto _96 } _i += 1 goto _95 _96: *_tokenType = i32(132) _94: _97: 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) { goto _98 } *_tokenType = i32(163) _i += 1 goto _97 _98: r0 = _i return _21: *func() *int32 { _i = i32(1); return &_c }() = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) _99: if _c == i32(93) || store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { goto _103 } _i += 1 goto _99 _103: *_tokenType = func() int32 { if _c == i32(93) { return i32(55) } return i32(163) }() r0 = _i return _22: *_tokenType = i32(135) _i = i32(1) _106: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { goto _109 } _i += 1 goto _106 _109: r0 = _i return _23: _24: _58_n = i32(0) *_tokenType = i32(135) _i = i32(1) _110: if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { goto _113 } if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_c))))) & i32(70)) == i32(0) { goto _114 } _58_n += 1 goto _115 _114: if _c != i32(40) || _58_n <= i32(0) { goto _117 } _118: _i += 1 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)) { goto _118 } if _c != i32(41) { goto _121 } _i += 1 goto _122 _121: *_tokenType = i32(163) _122: goto _113 _117: if _c != i32(58) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != i32(58) { goto _125 } _i += 1 goto _126 _125: goto _113 _126: _115: _i += 1 goto _110 _113: if _58_n != i32(0) { goto _127 } *_tokenType = i32(163) _127: r0 = _i return _25: _i = i32(1) _128: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiClass)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) > i32(1) { goto _131 } _i += 1 goto _128 _131: 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) { goto _132 } _i += 1 goto _133 _132: *_tokenType = i32(55) r0 = _keywordCode(tls, (*int8)(unsafe.Pointer(_z)), _i, _tokenType) return _26: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(39) { goto _134 } *_tokenType = i32(133) _i = i32(2) _135: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(8)) == 0 { goto _138 } _i += 1 goto _135 _138: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == i32(39) && (_i%i32(2)) == 0 { goto _140 } *_tokenType = i32(163) _141: 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) { goto _142 } _i += 1 goto _141 _142: _140: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == 0 { goto _144 } _i += 1 _144: r0 = _i return _134: _27: _i = i32(1) goto _133 _28: *_tokenType = i32(163) r0 = i32(1) return _133: _145: 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) { goto _146 } _i += 1 goto _145 _146: *_tokenType = i32(55) r0 = _i return } var _aiClass [256]uint8 // sqlite3.c:138669:28 func init() { _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} } var _sqlite3CtypeMap [256]uint8 // sqlite3.c:17222:36 func init() { _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} } func _keywordCode(tls *crt.TLS, _z *int8, _n int32, _pType *int32) (r0 int32) { // sqlite3.c:138772:1 var _i int32 // sqlite3.c:138892:7 _ = _i var _j int32 // sqlite3.c:138892:10 _ = _j var _zKW *int8 // sqlite3.c:138893:14 _ = _zKW if _n < i32(2) { goto _0 } _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) _i = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aHashØ002)) + 1*uintptr(_i)))) - i32(1) _1: if _i < i32(0) { goto _4 } if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aLenØ004)) + 1*uintptr(_i)))) == _n { goto _5 } goto _2 _5: _j = i32(0) _zKW = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00zTextØ001)) + 1*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aOffsetØ005)) + 2*uintptr(_i)))))) _6: 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)))) { goto _7 } _j += 1 goto _6 _7: if _j >= _n { goto _9 } goto _2 _9: *_pType = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aCodeØ006)) + 1*uintptr(_i)))) goto _4 _2: _i = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aNextØ003)) + 1*uintptr(_i)))) - i32(1) goto _1 _4: _0: r0 = _n return } var _keywordCodeØ00aHashØ002 [127]uint8 // sqlite3.c:138817:30 func init() { _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} } var _keywordCodeØ00aLenØ004 [124]uint8 // sqlite3.c:138841:30 func init() { _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} } var _keywordCodeØ00zTextØ001 [553]int8 // sqlite3.c:138784:21 func init() { _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} } var _keywordCodeØ00aOffsetØ005 [124]uint16 // sqlite3.c:138853:35 func init() { _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)} } var _keywordCodeØ00aCodeØ006 [124]uint8 // sqlite3.c:138865:30 func init() { _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} } var _keywordCodeØ00aNextØ003 [124]uint8 // sqlite3.c:138829:30 func init() { _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} } var _renameTableFuncØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_renameTableFuncØ00__func__Ø000[0], str(4836), 16) } func _sqlite3MPrintf(tls *crt.TLS, _db *Xsqlite3, _zFormat *int8, args ...interface{}) (r0 *int8) { // sqlite3.c:25988:1 var _ap []interface{} // sqlite3.c:25989:11 _ = _ap var _z *int8 // sqlite3.c:25990:8 _ = _z _ap = args _z = _sqlite3VMPrintf(tls, _db, _zFormat, _ap) _ap = nil r0 = _z return } func _sqlite3VMPrintf(tls *crt.TLS, _db *Xsqlite3, _zFormat *int8, _ap []interface{}) (r0 *int8) { // sqlite3.c:25968:1 var _z *int8 // sqlite3.c:25969:8 _ = _z var _zBase [70]int8 // sqlite3.c:25970:8 _ = _zBase var _acc XStrAccum // sqlite3.c:25971:12 _ = _acc func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StrAccumInit(tls, &_acc, _db, (*int8)(unsafe.Pointer(&_zBase)), int32(u64(70)), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_acc)) + uintptr(37 /* X7 */))) = uint8(i32(1)) _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) _z = _sqlite3StrAccumFinish(tls, &_acc) if int32(_acc.X6) != i32(1) { goto _2 } _sqlite3OomFault(tls, _db) _2: r0 = _z return } var _sqlite3VMPrintfØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VMPrintfØ00__func__Ø000[0], str(4852), 16) } func _sqlite3StrAccumFinish(tls *crt.TLS, _p *XStrAccum) (r0 *int8) { // sqlite3.c:25917:1 if (_p.X2) == nil { goto _0 } func() int32 { if ((_p.X2) == (_p.X1)) == ((int32(_p.X7) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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(4868))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 1*uintptr(_p.X3))) = int8(i32(0)) if (_p.X5) <= uint32(i32(0)) || (int32(_p.X7)&i32(4)) != i32(0) { goto _4 } r0 = _strAccumFinishRealloc(tls, _p) return _4: _0: r0 = _p.X2 return } var _sqlite3StrAccumFinishØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StrAccumFinishØ00__func__Ø000[0], str(4908), 22) } func _strAccumFinishRealloc(tls *crt.TLS, _p *XStrAccum) (r0 *int8) { // sqlite3.c:25906:1 func() int32 { if ((_p.X5) > uint32(i32(0))) && ((int32(_p.X7) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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(4932))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), uint64((_p.X3)+uint32(i32(1)))))) if (_p.X2) == nil { goto _3 } crt.Xmemcpy(tls, (unsafe.Pointer)(_p.X2), (unsafe.Pointer)(_p.X1), uint64((_p.X3)+uint32(i32(1)))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(37 /* X7 */))) *p = uint8(int32(*p) | i32(4)) sink4537 = *p } goto _4 _3: _setStrAccumError(tls, _p, uint8(i32(1))) _4: r0 = _p.X2 return } var _strAccumFinishReallocØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_strAccumFinishReallocØ00__func__Ø000[0], str(4964), 22) } func Xsqlite3_result_text(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76390:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _setResultStrOrError(tls, _pCtx, _z, _n, uint8(i32(1)), _xDel) return } var _sqlite3_result_textØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_textØ00__func__Ø000[0], str(5032), 20) } func _setResultStrOrError(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32, _enc uint8, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76303:1 if _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _z, _n, _enc, _xDel) != i32(18) { goto _0 } Xsqlite3_result_error_toobig(tls, _pCtx) _0: return } 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 var _nByte int32 // sqlite3.c:70476:7 _ = _nByte var _iLimit int32 // sqlite3.c:70477:7 _ = _iLimit var _flags uint16 // sqlite3.c:70478:7 _ = _flags var _8_nAlloc int32 // sqlite3.c:70511:9 _ = _8_nAlloc _nByte = _n _flags = u16(0) func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(5052))) crt.X__builtin_abort(tls) return i32(0) }() }() if _z != nil { goto _5 } _sqlite3VdbeMemSetNull(tls, _pMem) r0 = i32(0) return _5: if (*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == nil { goto _6 } _iLimit = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pMem.X9)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0)))) goto _7 _6: _iLimit = i32(1000000000) _7: _flags = uint16(func() int32 { if int32(_enc) == i32(0) { return i32(16) } return i32(2) }()) if _nByte >= i32(0) { goto _10 } func() int32 { if int32(_enc) != i32(0) { return i32(0) } return func() int32 { 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(5084))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_enc) != i32(1) { goto _13 } _nByte = _sqlite3Strlen30(tls, _z) if _nByte <= _iLimit { goto _14 } _nByte = _iLimit + i32(1) _14: goto _15 _13: _nByte = i32(0) _16: 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 { goto _20 } { p := &_nByte *p = (*p) + i32(2) sink961 = *p } goto _16 _20: _15: { p := &_flags *p = uint16(int32(*p) | i32(512)) sink4530 = *p } _10: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)})))})) { goto _21 } _8_nAlloc = _nByte if (int32(_flags) & i32(512)) == 0 { goto _22 } { p := &_8_nAlloc *p = (*p) + func() int32 { if int32(_enc) == i32(1) { return i32(1) } return i32(2) }() sink961 = *p } _22: if _nByte <= _iLimit { goto _25 } r0 = i32(18) return _25: if _sqlite3VdbeMemClearAndResize(tls, _pMem, func() int32 { if _8_nAlloc > i32(32) { return _8_nAlloc } return i32(32) }()) == 0 { goto _28 } r0 = _sqlite3NomemError(tls, i32(70522)) return _28: crt.Xmemcpy(tls, (unsafe.Pointer)(_pMem.X5), (unsafe.Pointer)(_z), uint64(_8_nAlloc)) goto _29 _21: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))})) { goto _30 } _sqlite3VdbeMemRelease(tls, _pMem) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X6 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(16 /* X5 */))), _z) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) goto _31 _30: _sqlite3VdbeMemRelease(tls, _pMem) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _z *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(48 /* X10 */))) = _xDel { p := &_flags *p = uint16(int32(*p) | func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{nil})) { return i32(2048) } return i32(1024) }()) sink4530 = *p } _31: _29: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _nByte *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = _flags *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(func() int32 { if int32(_enc) == i32(0) { return i32(1) } return int32(_enc) }()) if int32(_pMem.X2) == i32(1) || _sqlite3VdbeMemHandleBom(tls, _pMem) == 0 { goto _37 } r0 = _sqlite3NomemError(tls, i32(70542)) return _37: if _nByte <= _iLimit { goto _38 } r0 = i32(18) return _38: r0 = i32(0) return } var _sqlite3VdbeMemSetStrØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemSetStrØ00__func__Ø000[0], str(5092), 21) } func _sqlite3VdbeMemHandleBom(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:27426:1 var _rc int32 // sqlite3.c:27427:7 _ = _rc var _bom uint8 // sqlite3.c:27428:6 _ = _bom var _1_b1 uint8 // sqlite3.c:27432:8 _ = _1_b1 var _1_b2 uint8 // sqlite3.c:27433:8 _ = _1_b2 _rc = i32(0) _bom = u8(0) func() int32 { if (_pMem.X4) >= i32(0) { return i32(0) } return func() int32 { 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(4280))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pMem.X4) <= i32(1) { goto _2 } _1_b1 = *(*uint8)(unsafe.Pointer(_pMem.X5)) _1_b2 = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_pMem.X5)))) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(1)))))))) if int32(_1_b1) != i32(254) || int32(_1_b2) != i32(255) { goto _4 } _bom = uint8(i32(3)) _4: if int32(_1_b1) != i32(255) || int32(_1_b2) != i32(254) { goto _6 } _bom = uint8(i32(2)) _6: _2: if _bom == 0 { goto _7 } _rc = _sqlite3VdbeMemMakeWriteable(tls, _pMem) if _rc != i32(0) { goto _8 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) *p = (*p) - i32(2) sink961 = *p } crt.Xmemmove(tls, (unsafe.Pointer)(_pMem.X5), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5))+1*uintptr(i32(2))))), uint64(_pMem.X4)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_pMem.X4))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr((_pMem.X4)+i32(1)))) = int8(i32(0)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(512)) sink4530 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _bom _8: _7: r0 = _rc return } var _sqlite3VdbeMemHandleBomØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemHandleBomØ00__func__Ø000[0], str(5116), 24) } func Xsqlite3_result_error_toobig(tls *crt.TLS, _pCtx *Xsqlite3_context) { // sqlite3.c:76474:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(36 /* X5 */))) = i32(18) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(1)) _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), str(5140), i32(-1), uint8(i32(1)), nil) return } var _sqlite3_result_error_toobigØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_error_toobigØ00__func__Ø000[0], str(5164), 28) } func _renameTriggerFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:96035:1 var _zSql *uint8 // sqlite3.c:96040:23 _ = _zSql var _zTableName *uint8 // sqlite3.c:96041:23 _ = _zTableName var _token int32 // sqlite3.c:96043:7 _ = _token var _tname XToken // sqlite3.c:96044:9 _ = _tname var _dist int32 // sqlite3.c:96045:7 _ = _dist var _zCsr *uint8 // sqlite3.c:96046:23 _ = _zCsr var _len int32 // sqlite3.c:96047:7 _ = _len var _zRet *int8 // sqlite3.c:96048:8 _ = _zRet var _db *Xsqlite3 // sqlite3.c:96049:11 _ = _db _zSql = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _zTableName = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) _dist = i32(3) _zCsr = _zSql _len = i32(0) _db = Xsqlite3_context_db_handle(tls, _context) if _zSql == nil { goto _0 } _1: if (*_zCsr) != 0 { goto _2 } return _2: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(_zCsr)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(8 /* X1 */))) = uint32(_len) _3: { p := &_zCsr *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_len))) sink4543 = *p } _len = _sqlite3GetToken(tls, _zCsr, &_token) if _token == i32(162) { goto _3 } func() int32 { if _len > i32(0) { return i32(0) } return func() int32 { 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(2520))) crt.X__builtin_abort(tls) return i32(0) }() }() _dist += 1 if _token != i32(122) && _token != i32(107) { goto _7 } _dist = i32(0) _7: if (_dist != i32(2)) || (((_token != i32(137)) && (_token != i32(74))) && (_token != i32(5))) { goto _1 } _zRet = _sqlite3MPrintf(tls, _db, str(2528), int32(int64((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))))))))) Xsqlite3_result_text(tls, _context, _zRet, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _0: return } var _renameTriggerFuncØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_renameTriggerFuncØ00__func__Ø000[0], str(5192), 18) } func _renameParentFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:95978:1 var _db *Xsqlite3 // sqlite3.c:95983:11 _ = _db var _zOutput *int8 // sqlite3.c:95984:8 _ = _zOutput var _zResult *int8 // sqlite3.c:95985:8 _ = _zResult var _zInput *uint8 // sqlite3.c:95986:23 _ = _zInput var _zOld *uint8 // sqlite3.c:95987:23 _ = _zOld var _zNew *uint8 // sqlite3.c:95988:23 _ = _zNew var _z *uint8 // sqlite3.c:95990:23 _ = _z var _n int32 // sqlite3.c:95991:7 _ = _n var _token int32 // sqlite3.c:95992:7 _ = _token var _2_zParent *int8 // sqlite3.c:95999:12 _ = _2_zParent var _4_zOut *int8 // sqlite3.c:96010:14 _ = _4_zOut _db = Xsqlite3_context_db_handle(tls, _context) _zOutput = nil _zInput = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _zOld = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) _zNew = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) if _zInput != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && _zOld != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } return _1: _z = _zInput _2: if (*_z) == 0 { goto _5 } _n = _sqlite3GetToken(tls, _z, &_token) if _token != i32(105) { goto _6 } _7: { p := &_z *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink4543 = *p } _n = _sqlite3GetToken(tls, _z, &_token) if _token == i32(162) { goto _7 } if _token != i32(163) { goto _8 } goto _5 _8: _2_zParent = _sqlite3DbStrNDup(tls, _db, (*int8)(unsafe.Pointer(_z)), uint64(_n)) if _2_zParent != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } goto _5 _9: _sqlite3Dequote(tls, _2_zParent) if i32(0) != _sqlite3StrICmp(tls, (*int8)(unsafe.Pointer(_zOld)), _2_zParent) { goto _10 } _4_zOut = _sqlite3MPrintf(tls, _db, str(5212), unsafe.Pointer(func() *int8 { if _zOutput != nil { return _zOutput } return str(196) }()), int32(int64((uintptr(unsafe.Pointer(_z))-uintptr(unsafe.Pointer(_zInput)))/1)), unsafe.Pointer(_zInput), unsafe.Pointer((*int8)(unsafe.Pointer(_zNew)))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zOutput)) _zOutput = _4_zOut _zInput = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n))) _10: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_zParent)) _6: _z = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_n))))))) goto _2 _5: Xsqlite3_result_text(tls, func() *Xsqlite3_context { _zResult = _sqlite3MPrintf(tls, _db, str(5224), unsafe.Pointer(func() *int8 { if _zOutput != nil { return _zOutput } return str(196) }()), unsafe.Pointer(_zInput)) return _context }(), _zResult, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zOutput)) return } func _sqlite3DbStrNDup(tls *crt.TLS, _db *Xsqlite3, _z *int8, _n uint64) (r0 *int8) { // sqlite3.c:24937:1 var _zNew *int8 // sqlite3.c:24938:8 _ = _zNew func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _2: func() int32 { if (_n & uint64(i32(2147483647))) == _n { return i32(0) } return func() int32 { 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(5232))) crt.X__builtin_abort(tls) return i32(0) }() }() _zNew = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, _n+uint64(i32(1))))) if _zNew == nil { goto _5 } crt.Xmemcpy(tls, (unsafe.Pointer)(_zNew), (unsafe.Pointer)(_z), _n) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNew)) + 1*uintptr(_n))) = int8(i32(0)) _5: r0 = _zNew return } var _sqlite3DbStrNDupØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DbStrNDupØ00__func__Ø000[0], str(5252), 17) } func _sqlite3Dequote(tls *crt.TLS, _z *int8) { // sqlite3.c:27859:1 var _quote int8 // sqlite3.c:27860:8 _ = _quote var _i int32 // sqlite3.c:27861:7 _ = _i var _j int32 // sqlite3.c:27861:10 _ = _j if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _quote = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0)))) if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_quote))))) & i32(128)) != 0 { goto _1 } return _1: if int32(_quote) != i32(91) { goto _2 } _quote = int8(i32(93)) _2: *func() *int32 { _i = i32(1); return &_j }() = i32(0) _3: func() int32 { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != 0 { return i32(0) } return func() int32 { 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(5272))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != int32(_quote) { goto _8 } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != int32(_quote) { goto _9 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_j, int32(1))))) = _quote _i += 1 goto _10 _9: goto _5 _10: goto _11 _8: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_j, int32(1))))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))) _11: _i += 1 goto _3 _5: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_j))) = int8(i32(0)) return } var _sqlite3DequoteØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DequoteØ00__func__Ø000[0], str(5280), 15) } func _sqlite3RegisterDateTimeFunctions(tls *crt.TLS) { // sqlite3.c:20030:1 _sqlite3InsertBuiltinFuncs(tls, (*XFuncDef)(unsafe.Pointer(&_sqlite3RegisterDateTimeFunctionsØ00aDateTimeFuncsØ001)), i32(8)) return } var _sqlite3RegisterDateTimeFunctionsØ00aDateTimeFuncsØ001 [8]XFuncDef // sqlite3.c:20031:18 func init() { _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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_juliandayFunc})), X5: nil, X6: str(5296), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_dateFunc})), X5: nil, X6: str(5308), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_timeFunc})), X5: nil, X6: str(5316), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_datetimeFunc})), X5: nil, X6: str(5324), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_strftimeFunc})), X5: nil, X6: str(5336), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_ctimeFunc})), X5: nil, X6: str(5348), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_ctimestampFunc})), X5: nil, X6: str(5364), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_cdateFunc})), X5: nil, X6: str(5384), X7: T5458811{}}} } func _juliandayFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19715:1 var _x XDateTime // sqlite3.c:19720:12 _ = _x if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { goto _0 } _computeJD(tls, &_x) Xsqlite3_result_double(tls, _context, float64(_x.X0)/(8.64e+07)) _0: return } func _isDate(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem, _p *XDateTime) (r0 int32) { // sqlite3.c:19672:1 var _i int32 // sqlite3.c:19678:7 _ = _i var _n int32 // sqlite3.c:19678:10 _ = _n var _z *uint8 // sqlite3.c:19679:23 _ = _z var _eType int32 // sqlite3.c:19680:7 _ = _eType crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(48)) if _argc != i32(0) { goto _0 } r0 = _setDateTimeToCurrent(tls, _context, _p) return _0: if store961(&_eType, Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))))) != i32(2) && _eType != i32(1) { goto _2 } _setRawDateNumber(tls, _p, Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))))) goto _3 _2: _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _z != nil && _parseDateOrTime(tls, _context, (*int8)(unsafe.Pointer(_z)), _p) == 0 { goto _5 } r0 = i32(1) return _5: _3: _i = i32(1) _6: if _i >= _argc { goto _9 } _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))) _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))) if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && _parseModifier(tls, _context, (*int8)(unsafe.Pointer(_z)), _n, _p) == 0 { goto _11 } r0 = i32(1) return _11: _i += 1 goto _6 _9: _computeJD(tls, _p) if (_p.X14) == 0 && _validJulianDay(tls, _p.X0) != 0 { goto _13 } r0 = i32(1) return _13: r0 = i32(0) return } func _setDateTimeToCurrent(tls *crt.TLS, _context *Xsqlite3_context, _p *XDateTime) (r0 int32) { // sqlite3.c:19139:1 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _sqlite3StmtCurrentTime(tls, _context) if (_p.X0) <= int64(i32(0)) { goto _0 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) r0 = i32(0) return _0: r0 = i32(1) return } func _sqlite3StmtCurrentTime(tls *crt.TLS, _p *Xsqlite3_context) (r0 int64) { // sqlite3.c:76733:1 var _rc int32 // sqlite3.c:76734:7 _ = _rc var _piTime *int64 // sqlite3.c:76736:17 _ = _piTime _piTime = (*int64)(unsafe.Pointer(uintptr(_p.X3) + uintptr(72 /* X13 */))) func() int32 { if (*TVdbe)(unsafe.Pointer(_p.X3)) != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(5400))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*_piTime) != int64(i32(0)) { goto _2 } _rc = _sqlite3OsCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_p.X0)).X9)).X0)), _piTime) if _rc == 0 { goto _3 } *_piTime = int64(i32(0)) _3: _2: r0 = *_piTime return } var _sqlite3StmtCurrentTimeØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StmtCurrentTimeØ00__func__Ø000[0], str(5412), 23) } func _sqlite3OsCurrentTimeInt64(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pTimeOut *int64) (r0 int32) { // sqlite3.c:20315:1 var _rc int32 // sqlite3.c:20316:7 _ = _rc var _2_r float64 // sqlite3.c:20326:12 _ = _2_r if (_pVfs.X0) < i32(2) || (*(*func(*crt.TLS, *Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int64) int32 }{(_pVfs.X18)}))) == nil { goto _1 } _rc = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int64) int32 }{(_pVfs.X18)})))(tls, _pVfs, _pTimeOut) goto _2 _1: _rc = (*(*func(*crt.TLS, *Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *float64) int32 }{(_pVfs.X16)})))(tls, _pVfs, &_2_r) *_pTimeOut = int64(_2_r * (8.64e+07)) _2: r0 = _rc return } func Xsqlite3_value_type(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76224:12 r0 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_value_typeØ00aTypeØ001)) + 1*uintptr(int32(_pVal.X1)&i32(31))))) return } var _sqlite3_value_typeØ00aTypeØ001 [32]uint8 // sqlite3.c:76225:19 func init() { _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} } func _setRawDateNumber(tls *crt.TLS, _p *XDateTime, _r float64) { // sqlite3.c:19155:1 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = _r *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(1)) if _r < float64(0) || _r >= (5.3734845e+06) { goto _1 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int64((_r * (8.64e+07)) + (0.5)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) _1: return } func Xsqlite3_value_double(tls *crt.TLS, _pVal *XMem) (r0 float64) { // sqlite3.c:76193:12 r0 = _sqlite3VdbeRealValue(tls, _pVal) return } func _sqlite3VdbeRealValue(tls *crt.TLS, _pMem *XMem) (r0 float64) { // sqlite3.c:70102:1 var _3_val float64 // sqlite3.c:70111:12 _ = _3_val func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pMem.X1) & i32(8)) == 0 { goto _5 } r0 = *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) return _5: if (int32(_pMem.X1) & i32(4)) == 0 { goto _7 } r0 = float64(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) return _7: if (int32(_pMem.X1) & i32(18)) == 0 { goto _9 } _3_val = 0 _sqlite3AtoF(tls, _pMem.X5, &_3_val, _pMem.X4, _pMem.X2) r0 = _3_val return _9: r0 = float64(0) return } var _sqlite3VdbeRealValueØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeRealValueØ00__func__Ø000[0], str(5436), 21) } func _sqlite3AtoF(tls *crt.TLS, _z *int8, _pResult *float64, _length int32, _enc uint8) (r0 int32) { // sqlite3.c:27959:1 var _incr int32 // sqlite3.c:27961:7 _ = _incr var _zEnd *int8 // sqlite3.c:27962:14 _ = _zEnd var _sign int32 // sqlite3.c:27964:7 _ = _sign var _s int64 // sqlite3.c:27965:7 _ = _s var _d int32 // sqlite3.c:27966:7 _ = _d var _esign int32 // sqlite3.c:27967:7 _ = _esign var _e int32 // sqlite3.c:27968:7 _ = _e var _eValid int32 // sqlite3.c:27969:7 _ = _eValid var _result float64 // sqlite3.c:27970:10 _ = _result var _nDigits int32 // sqlite3.c:27971:7 _ = _nDigits var _nonNum int32 // sqlite3.c:27972:7 _ = _nonNum var _2_i int32 // sqlite3.c:27980:9 _ = _2_i var _22_scale float64 // sqlite3.c:28092:23 _ = _22_scale _zEnd = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_length))))))) _sign = i32(1) _s = i64(0) _d = i32(0) _esign = i32(1) _e = i32(0) _eValid = i32(1) _nDigits = i32(0) _nonNum = i32(0) func() int32 { if ((int32(_enc) == i32(1)) || (int32(_enc) == i32(2))) || (int32(_enc) == i32(3)) { return i32(0) } return func() int32 { 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(5460))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pResult = float64(0) if int32(_enc) != i32(1) { goto _4 } _incr = i32(1) goto _5 _4: _incr = i32(2) i32(0) _2_i = i32(3) - int32(_enc) _6: if _2_i >= _length || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_2_i)))) != i32(0) { goto _10 } { p := &_2_i *p = (*p) + i32(2) sink961 = *p } goto _6 _10: _nonNum = bool2int(_2_i < _length) _zEnd = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_2_i^i32(1)))) { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(int32(_enc)&i32(1)))) sink1025 = *p } _5: _11: if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(1)) == 0 { goto _12 } { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _11 _12: if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { goto _14 } r0 = i32(0) return _14: if int32(*_z) != i32(45) { goto _15 } _sign = i32(-1) { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _16 _15: if int32(*_z) != i32(43) { goto _17 } { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } _17: _16: _18: 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) { goto _19 } _s = (_s * int64(i32(10))) + int64(int32(*_z)-i32(48)) *func() *int32 { { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } return &_nDigits }() += 1 goto _18 _19: _22: if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 { goto _23 } *func() *int32 { *func() *int32 { { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } return &_nDigits }() += 1 return &_d }() += 1 goto _22 _23: if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { goto _25 } goto _do_atof_calc _25: if int32(*_z) != i32(46) { goto _26 } { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } _27: if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 { goto _28 } if _s >= i64(922337203685477579) { goto _30 } _s = (_s * int64(i32(10))) + int64(int32(*_z)-i32(48)) _d -= 1 _30: *func() *int32 { { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } return &_nDigits }() += 1 goto _27 _28: _26: if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { goto _31 } goto _do_atof_calc _31: if int32(*_z) != i32(101) && int32(*_z) != i32(69) { goto _33 } { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } _eValid = i32(0) if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { goto _34 } goto _do_atof_calc _34: if int32(*_z) != i32(45) { goto _35 } _esign = i32(-1) { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _36 _35: if int32(*_z) != i32(43) { goto _37 } { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } _37: _36: _38: if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 { goto _39 } _e = func() int32 { if _e < i32(10000) { return ((_e * i32(10)) + (int32(*_z) - i32(48))) } return i32(10000) }() { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } _eValid = i32(1) goto _38 _39: _33: _43: if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(1)) == 0 { goto _44 } { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _43 _44: _do_atof_calc: _e = (_e * _esign) + _d if _e >= i32(0) { goto _46 } _esign = i32(-1) { p := &_e *p = (*p) * i32(-1) sink961 = *p } goto _47 _46: _esign = i32(1) _47: if _s != int64(i32(0)) { goto _48 } _result = func() float64 { if _sign < i32(0) { return (-0) } return float64(0) }() goto _51 _48: _52: if _e <= i32(0) { goto _53 } if _esign <= i32(0) { goto _54 } if _s < i64(922337203685477580) { goto _55 } goto _53 _55: { p := &_s *p = (*p) * int64(i32(10)) sink967 = *p } goto _56 _54: if (_s % int64(i32(10))) == int64(i32(0)) { goto _57 } goto _53 _57: { p := &_s *p = (*p) / int64(i32(10)) sink967 = *p } _56: _e -= 1 goto _52 _53: _s = func() int64 { if _sign < i32(0) { return (-_s) } return _s }() if _e != i32(0) { goto _60 } _result = float64(_s) goto _61 _60: _22_scale = 1 if _e <= i32(307) { goto _62 } if _e >= i32(342) { goto _63 } _64: if (_e % i32(308)) == 0 { goto _65 } { p := &_22_scale *p = (*p) * float64(10) sink4517 = *p } { p := &_e *p = (*p) - i32(1) sink961 = *p } goto _64 _65: if _esign >= i32(0) { goto _66 } _result = float64(_s) / _22_scale { p := &_result *p = (*p) / float64(1e+308) sink4517 = *p } goto _67 _66: _result = float64(_s) * _22_scale { p := &_result *p = (*p) * float64(1e+308) sink4517 = *p } _67: goto _68 _63: func() int32 { if _e >= i32(342) { return i32(0) } return func() int32 { 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(5524))) crt.X__builtin_abort(tls) return i32(0) }() }() if _esign >= i32(0) { goto _71 } _result = float64(0) * float64(_s) goto _72 _71: _result = inf * float64(_s) _72: _68: goto _73 _62: _74: if (_e % i32(22)) == 0 { goto _75 } { p := &_22_scale *p = (*p) * float64(10) sink4517 = *p } { p := &_e *p = (*p) - i32(1) sink961 = *p } goto _74 _75: _76: if _e <= i32(0) { goto _77 } { p := &_22_scale *p = (*p) * float64(1e+22) sink4517 = *p } { p := &_e *p = (*p) - i32(22) sink961 = *p } goto _76 _77: if _esign >= i32(0) { goto _78 } _result = float64(_s) / _22_scale goto _79 _78: _result = float64(_s) * _22_scale _79: _73: _61: _51: *_pResult = _result r0 = bool2int((((_z == _zEnd) && (_nDigits > i32(0))) && _eValid != 0) && (_nonNum == i32(0))) return } var _sqlite3AtoFØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AtoFØ00__func__Ø000[0], str(5532), 12) } func _parseDateOrTime(tls *crt.TLS, _context *Xsqlite3_context, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:19180:1 var _r float64 // sqlite3.c:19185:10 _ = _r if _parseYyyyMmDd(tls, _zDate, _p) != i32(0) { goto _0 } r0 = i32(0) return _0: if _parseHhMmSs(tls, _zDate, _p) != i32(0) { goto _2 } r0 = i32(0) return _2: if _sqlite3StrICmp(tls, _zDate, str(5544)) != i32(0) { goto _4 } r0 = _setDateTimeToCurrent(tls, _context, _p) return _4: if _sqlite3AtoF(tls, _zDate, &_r, _sqlite3Strlen30(tls, _zDate), uint8(i32(1))) == 0 { goto _6 } _setRawDateNumber(tls, _p, _r) r0 = i32(0) return _6: r0 = i32(1) return } func _parseYyyyMmDd(tls *crt.TLS, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:19102:1 var _Y int32 // sqlite3.c:19103:7 _ = _Y var _M int32 // sqlite3.c:19103:10 _ = _M var _D int32 // sqlite3.c:19103:13 _ = _D var _neg int32 // sqlite3.c:19103:16 _ = _neg if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDate)) + 1*uintptr(i32(0))))) != i32(45) { goto _0 } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) _neg = i32(1) goto _1 _0: _neg = i32(0) _1: if _getDigits(tls, _zDate, str(5548), unsafe.Pointer(&_Y), unsafe.Pointer(&_M), unsafe.Pointer(&_D)) == i32(3) { goto _2 } r0 = i32(1) return _2: { p := &_zDate *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(10)))) sink1025 = *p } _3: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate)))))&i32(1)) == 0 && i32(84) != int32(*(*uint8)(unsafe.Pointer(_zDate))) { goto _4 } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) goto _3 _4: if _parseHhMmSs(tls, _zDate, _p) != i32(0) { goto _6 } goto _7 _6: if int32(*_zDate) != i32(0) { goto _8 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(0)) goto _9 _8: r0 = i32(1) return _9: _7: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = func() int32 { if _neg != 0 { return (-_Y) } return _Y }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = _M *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = _D if (_p.X12) == 0 { goto _12 } _computeJD(tls, _p) _12: r0 = i32(0) return } func _getDigits(tls *crt.TLS, _zDate *int8, _zFormat *int8, args ...interface{}) (r0 int32) { // sqlite3.c:18911:1 var _ap []interface{} // sqlite3.c:18915:11 _ = _ap var _cnt int32 // sqlite3.c:18916:7 _ = _cnt var _nextC int8 // sqlite3.c:18917:8 _ = _nextC var _1_N int8 // sqlite3.c:18920:10 _ = _1_N var _1_min int8 // sqlite3.c:18921:10 _ = _1_min var _1_val int32 // sqlite3.c:18922:9 _ = _1_val var _1_max uint16 // sqlite3.c:18923:9 _ = _1_max _cnt = i32(0) _ap = args _0: _1_N = int8(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(0))))) - i32(48)) _1_min = int8(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(1))))) - i32(48)) _1_val = i32(0) func() int32 { 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)) { return i32(0) } return func() int32 { 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(5560))) crt.X__builtin_abort(tls) return i32(0) }() }() _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)))) _nextC = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(3)))) _1_val = i32(0) _4: if postInc973(&_1_N, int8(-1)) == 0 { goto _5 } if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(4)) != 0 { goto _6 } goto _end_getDigits _6: _1_val = ((_1_val * i32(10)) + int32(*_zDate)) - i32(48) *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) goto _4 _5: if _1_val >= int32(_1_min) && _1_val <= int32(_1_max) && (int32(_nextC) == i32(0) || int32(_nextC) == int32(*_zDate)) { goto _10 } goto _end_getDigits _10: *(*int32)(crt.VAPointer(&_ap)) = _1_val *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) _cnt += 1 { p := &_zFormat *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(4)))) sink1025 = *p } if _nextC != 0 { goto _0 } _end_getDigits: _ap = nil r0 = _cnt return } var _getDigitsØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_getDigitsØ00__func__Ø000[0], str(5596), 10) } var _getDigitsØ00aMxØ001 [6]uint16 // sqlite3.c:18914:20 func init() { _getDigitsØ00aMxØ001 = [6]uint16{u16(12), u16(14), u16(24), u16(31), u16(59), u16(9999)} } func _parseHhMmSs(tls *crt.TLS, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:19001:1 var _h int32 // sqlite3.c:19002:7 _ = _h var _m int32 // sqlite3.c:19002:10 _ = _m var _s int32 // sqlite3.c:19002:13 _ = _s var _ms float64 // sqlite3.c:19003:10 _ = _ms var _4_rScale float64 // sqlite3.c:19015:14 _ = _4_rScale _ms = 0 if _getDigits(tls, _zDate, str(5608), unsafe.Pointer(&_h), unsafe.Pointer(&_m)) == i32(2) { goto _0 } r0 = i32(1) return _0: { p := &_zDate *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(5)))) sink1025 = *p } if int32(*_zDate) != i32(58) { goto _1 } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) if _getDigits(tls, _zDate, str(5616), unsafe.Pointer(&_s)) == i32(1) { goto _2 } r0 = i32(1) return _2: { p := &_zDate *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink1025 = *p } 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 { goto _4 } _4_rScale = 1 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) _5: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(4)) == 0 { goto _6 } _ms = ((_ms * float64(10)) + float64(*_zDate)) - float64(i32(48)) { p := &_4_rScale *p = (*p) * float64(10) sink4517 = *p } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) goto _5 _6: { p := &_ms *p = (*p) / _4_rScale sink4517 = *p } _4: goto _7 _1: _s = i32(0) _7: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X4 */))) = _h *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))) = _m *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = float64(_s) + _ms if _parseTimezone(tls, _zDate, _p) == 0 { goto _8 } r0 = i32(1) return _8: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(func() int32 { if (_p.X6) != i32(0) { return i32(1) } return i32(0) }()) r0 = i32(0) return } func _parseTimezone(tls *crt.TLS, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:18965:1 var _sgn int32 // sqlite3.c:18966:7 _ = _sgn var _nHr int32 // sqlite3.c:18967:7 _ = _nHr var _nMn int32 // sqlite3.c:18967:12 _ = _nMn var _c int32 // sqlite3.c:18968:7 _ = _c _sgn = i32(0) _0: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(1)) == 0 { goto _1 } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) goto _0 _1: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X6 */))) = i32(0) _c = int32(*_zDate) if _c != i32(45) { goto _2 } _sgn = i32(-1) goto _3 _2: if _c != i32(43) { goto _4 } _sgn = i32(1) goto _5 _4: if _c != i32(90) && _c != i32(122) { goto _7 } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) goto _zulu_time _7: r0 = bool2int(_c != i32(0)) return _5: _3: *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) if _getDigits(tls, _zDate, str(5620), unsafe.Pointer(&_nHr), unsafe.Pointer(&_nMn)) == i32(2) { goto _9 } r0 = i32(1) return _9: { p := &_zDate *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(5)))) sink1025 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X6 */))) = _sgn * (_nMn + (_nHr * i32(60))) _zulu_time: _10: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(1)) == 0 { goto _11 } *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) goto _10 _11: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X13 */))) = int8(i32(1)) r0 = bool2int(int32(*_zDate) != i32(0)) return } func _computeJD(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19052:1 var _Y int32 // sqlite3.c:19053:7 _ = _Y var _M int32 // sqlite3.c:19053:10 _ = _M var _D int32 // sqlite3.c:19053:13 _ = _D var _A int32 // sqlite3.c:19053:16 _ = _A var _B int32 // sqlite3.c:19053:19 _ = _B var _X1 int32 // sqlite3.c:19053:22 _ = _X1 var _X2 int32 // sqlite3.c:19053:26 _ = _X2 if (_p.X8) == 0 { goto _0 } return _0: if (_p.X10) == 0 { goto _1 } _Y = _p.X1 _M = _p.X2 _D = _p.X3 goto _2 _1: _Y = i32(2000) _M = i32(1) _D = i32(1) _2: if _Y >= i32(-4713) && _Y <= i32(9999) && (_p.X9) == 0 { goto _5 } _datetimeError(tls, _p) return _5: if _M > i32(2) { goto _6 } _Y -= 1 { p := &_M *p = (*p) + i32(12) sink961 = *p } _6: _A = _Y / i32(100) _B = (i32(2) - _A) + (_A / i32(4)) _X1 = (i32(36525) * (_Y + i32(4716))) / i32(100) _X2 = (i32(306001) * (_M + i32(1))) / i32(10000) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int64((float64(((_X1+_X2)+_D)+_B) - (1524.5)) * float64(i32(86400000))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) if (_p.X11) == 0 { goto _7 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + (int64(((_p.X4)*i32(3600000))+((_p.X5)*i32(60000))) + int64((_p.X7)*float64(i32(1000)))) sink967 = *p } if (_p.X12) == 0 { goto _8 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) - int64((_p.X6)*i32(60000)) sink967 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) _8: _7: return } func _datetimeError(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19041:1 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(48)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(46 /* X14 */))) = int8(i32(1)) return } func Xsqlite3_value_bytes(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76187:12 r0 = _sqlite3ValueBytes(tls, _pVal, uint8(i32(1))) return } func _sqlite3ValueBytes(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 int32) { // sqlite3.c:71311:1 var _p *XMem // sqlite3.c:71312:7 _ = _p _p = _pVal func() int32 { if ((int32(_p.X1) & i32(1)) == i32(0)) || ((int32(_p.X1) & i32(18)) == i32(0)) { return i32(0) } return func() int32 { 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(5628))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X1)&i32(2)) == i32(0) || int32(_pVal.X2) != int32(_enc) { goto _4 } r0 = _p.X4 return _4: if (int32(_p.X1) & i32(16)) == i32(0) { goto _5 } if (int32(_p.X1) & i32(16384)) == 0 { goto _6 } r0 = (_p.X4) + (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) return _6: r0 = _p.X4 return _5: if (int32(_p.X1) & i32(1)) == 0 { goto _8 } r0 = i32(0) return _8: r0 = _valueBytes(tls, _pVal, _enc) return } var _sqlite3ValueBytesØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ValueBytesØ00__func__Ø000[0], str(5692), 18) } func _valueBytes(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 int32) { // sqlite3.c:71308:1 r0 = func() int32 { if _valueToText(tls, _pVal, _enc) != (unsafe.Pointer)(uintptr(i32(0))) { return (_pVal.X4) } return i32(0) }() return } func _parseModifier(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32, _p *XDateTime) (r0 int32) { // sqlite3.c:19455:1 var _rc int32 // sqlite3.c:19461:7 _ = _rc var _r float64 // sqlite3.c:19462:10 _ = _r var _8_c1 int64 // sqlite3.c:19499:25 _ = _8_c1 var _12_Z int64 // sqlite3.c:19526:23 _ = _12_Z var _17_rRounder float64 // sqlite3.c:19580:14 _ = _17_rRounder var _17_i int32 // sqlite3.c:19581:11 _ = _17_i var _20_z2 *int8 // sqlite3.c:19593:20 _ = _20_z2 var _20_tx XDateTime // sqlite3.c:19594:18 _ = _20_tx var _20_day int64 // sqlite3.c:19595:23 _ = _20_day var _24_x int32 // sqlite3.c:19628:19 _ = _24_x var _25_y int32 // sqlite3.c:19639:19 _ = _25_y _rc = i32(1) switch int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))))))) { case i32(43): goto _5 case i32(45): goto _6 case i32(48): goto _7 case i32(49): goto _8 case i32(50): goto _9 case i32(51): goto _10 case i32(52): goto _11 case i32(53): goto _12 case i32(54): goto _13 case i32(55): goto _14 case i32(56): goto _15 case i32(57): goto _16 case i32(108): goto _1 case i32(115): goto _4 case i32(117): goto _2 case i32(119): goto _3 default: goto _17 } _1: if Xsqlite3_stricmp(tls, _z, str(5712)) != i32(0) { goto _18 } _computeJD(tls, _p) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + _localtimeOffset(tls, _p, _pCtx, &_rc) sink967 = *p } _clearYMD_HMS_TZ(tls, _p) _18: goto _19 _2: if Xsqlite3_stricmp(tls, _z, str(5724)) != i32(0) || (_p.X9) == 0 { goto _21 } _r = ((_p.X7) * float64(1000)) + (2.1086676e+14) if _r < float64(0) || _r >= (4.642690608e+14) { goto _23 } _clearYMD_HMS_TZ(tls, _p) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int64(_r) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) _rc = i32(0) _23: goto _24 _21: if Xsqlite3_stricmp(tls, _z, str(5736)) != i32(0) { goto _25 } if int32(_p.X13) != i32(0) { goto _26 } _computeJD(tls, _p) _8_c1 = _localtimeOffset(tls, _p, _pCtx, &_rc) if _rc != i32(0) { goto _27 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) - _8_c1 sink967 = *p } _clearYMD_HMS_TZ(tls, _p) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + (_8_c1 - _localtimeOffset(tls, _p, _pCtx, &_rc)) sink967 = *p } _27: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X13 */))) = int8(i32(1)) goto _28 _26: _rc = i32(0) _28: _25: _24: goto _19 _3: if Xsqlite3_strnicmp(tls, _z, str(5740), 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)) { goto _33 } _computeYMD_HMS(tls, _p) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) _computeJD(tls, _p) _12_Z = (((_p.X0) + int64(i32(129600000))) / int64(i32(86400000))) % int64(i32(7)) if _12_Z <= int64(_n) { goto _34 } { p := &_12_Z *p = (*p) - int64(i32(7)) sink967 = *p } _34: { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + ((int64(_n) - _12_Z) * int64(i32(86400000))) sink967 = *p } _clearYMD_HMS_TZ(tls, _p) _rc = i32(0) _33: goto _19 _4: if Xsqlite3_strnicmp(tls, _z, str(5752), i32(9)) == i32(0) { goto _35 } goto _19 _35: if (_p.X8) != 0 || (_p.X10) != 0 || (_p.X11) != 0 { goto _38 } goto _19 _38: { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(9)))) sink1025 = *p } _computeYMD(tls, _p) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X4 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))), i32(0)) *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = float64(0) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) if Xsqlite3_stricmp(tls, _z, str(5764)) != i32(0) { goto _39 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(1) _rc = i32(0) goto _40 _39: if Xsqlite3_stricmp(tls, _z, str(5772)) != i32(0) { goto _41 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(1) _rc = i32(0) goto _42 _41: if Xsqlite3_stricmp(tls, _z, str(5780)) != i32(0) { goto _43 } _rc = i32(0) _43: _42: _40: goto _19 _5: _6: _7: _8: _9: _10: _11: _12: _13: _14: _15: _16: _n = i32(1) _44: 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 { goto _49 } _n += 1 goto _44 _49: if _sqlite3AtoF(tls, _z, &_r, _n, uint8(i32(1))) != 0 { goto _50 } _rc = i32(1) goto _19 _50: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n)))) != i32(58) { goto _51 } _20_z2 = _z if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_20_z2))))) & i32(4)) != 0 { goto _52 } *(*uintptr)(unsafe.Pointer(&_20_z2)) += uintptr(1) _52: crt.Xmemset(tls, (unsafe.Pointer)(&_20_tx), i32(0), u64(48)) if _parseHhMmSs(tls, _20_z2, &_20_tx) == 0 { goto _53 } goto _19 _53: _computeJD(tls, &_20_tx) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_20_tx)) + uintptr(0 /* X0 */))) *p = (*p) - int64(i32(43200000)) sink967 = *p } _20_day = (_20_tx.X0) / int64(i32(86400000)) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_20_tx)) + uintptr(0 /* X0 */))) *p = (*p) - (_20_day * int64(i32(86400000))) sink967 = *p } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(45) { goto _54 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_20_tx)) + uintptr(0 /* X0 */))) = -(_20_tx.X0) _54: _computeJD(tls, _p) _clearYMD_HMS_TZ(tls, _p) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + (_20_tx.X0) sink967 = *p } _rc = i32(0) goto _19 _51: { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink1025 = *p } _55: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z))))) & i32(1)) == 0 { goto _56 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _55 _56: _n = _sqlite3Strlen30(tls, _z) if _n <= i32(10) && _n >= i32(3) { goto _58 } goto _19 _58: 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) { goto _59 } _n -= 1 _59: _computeJD(tls, _p) _rc = i32(1) _17_rRounder = func() float64 { if _r < float64(i32(0)) { return (-0.5) } return (0.5) }() _17_i = i32(0) _62: if _17_i >= i32(6) { goto _65 } if int32((*T5447453)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+32*uintptr(_17_i))).X1) != _n || Xsqlite3_strnicmp(tls, (*T5447453)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+32*uintptr(_17_i))).X2, _z, _n) != i32(0) || _r <= (-((*T5447453)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType)) + 32*uintptr(_17_i))).X3)) || _r >= ((*T5447453)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+32*uintptr(_17_i))).X3) { goto _69 } switch int32((*T5447453)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType)) + 32*uintptr(_17_i))).X0) { case i32(1): goto _71 case i32(2): goto _72 default: goto _73 } _71: _computeYMD_HMS(tls, _p) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) *p = (*p) + int32(_r) sink961 = *p } _24_x = func() int32 { if (_p.X2) > i32(0) { return (((_p.X2) - i32(1)) / i32(12)) } return (((_p.X2) - i32(12)) / i32(12)) }() { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) *p = (*p) + _24_x sink961 = *p } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) *p = (*p) - (_24_x * i32(12)) sink961 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) { p := &_r *p = (*p) - float64(int32(_r)) sink4517 = *p } goto _73 _72: _25_y = int32(_r) _computeYMD_HMS(tls, _p) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) *p = (*p) + _25_y sink961 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) { p := &_r *p = (*p) - float64(int32(_r)) sink4517 = *p } goto _73 _73: _computeJD(tls, _p) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + int64((_r*((*T5447453)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+32*uintptr(_17_i))).X4))+_17_rRounder) sink967 = *p } _rc = i32(0) goto _65 _69: _17_i += 1 goto _62 _65: _clearYMD_HMS_TZ(tls, _p) goto _19 _17: goto _19 _19: r0 = _rc return } func Xsqlite3_stricmp(tls *crt.TLS, _zLeft *int8, _zRight *int8) (r0 int32) { // sqlite3.c:27903:12 if _zLeft != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = func() int32 { if _zRight != nil { return i32(-1) } return i32(0) }() return _0: if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } r0 = i32(1) return _4: r0 = _sqlite3StrICmp(tls, _zLeft, _zRight) return } func _localtimeOffset(tls *crt.TLS, _p *XDateTime, _pCtx *Xsqlite3_context, _pRc *int32) (r0 int64) { // sqlite3.c:19351:1 var _x XDateTime // sqlite3.c:19356:12 _ = _x var _y XDateTime // sqlite3.c:19356:15 _ = _y var _t int64 // sqlite3.c:19357:10 _ = _t var _sLocal crt.Xtm // sqlite3.c:19358:13 _ = _sLocal var _2_s int32 // sqlite3.c:19378:9 _ = _2_s crt.Xmemset(tls, (unsafe.Pointer)(&_sLocal), i32(0), u64(56)) _x = *_p _computeYMD_HMS(tls, &_x) if (_x.X1) >= i32(1971) && (_x.X1) < i32(2038) { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X1 */))) = i32(2000) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(12 /* X2 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(16 /* X3 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(20 /* X4 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(24 /* X5 */))) = i32(0) *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(32 /* X7 */))) = float64(0) goto _2 _1: _2_s = int32((_x.X7) + (0.5)) *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(32 /* X7 */))) = float64(_2_s) _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(28 /* X6 */))) = i32(0) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(40 /* X8 */))) = int8(i32(0)) _computeJD(tls, &_x) _t = ((_x.X0) / int64(i32(1000))) - i64(210866760000) if _osLocaltime(tls, &_t, &_sLocal) == 0 { goto _3 } Xsqlite3_result_error(tls, _pCtx, str(5784), i32(-1)) *_pRc = i32(1) r0 = int64(i32(0)) return _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(8 /* X1 */))) = (_sLocal.X5) + i32(1900) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(12 /* X2 */))) = (_sLocal.X4) + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(16 /* X3 */))) = _sLocal.X3 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(20 /* X4 */))) = _sLocal.X2 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(24 /* X5 */))) = _sLocal.X1 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(32 /* X7 */))) = float64(_sLocal.X0) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(42 /* X10 */))) = int8(i32(1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(43 /* X11 */))) = int8(i32(1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(40 /* X8 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(41 /* X9 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(44 /* X12 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(46 /* X14 */))) = int8(i32(0)) _computeJD(tls, &_y) *_pRc = i32(0) r0 = (_y.X0) - (_x.X0) return } func _computeYMD_HMS(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19266:1 _computeYMD(tls, _p) _computeHMS(tls, _p) return } func _computeYMD(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19220:1 var _Z int32 // sqlite3.c:19221:7 _ = _Z var _A int32 // sqlite3.c:19221:10 _ = _A var _B int32 // sqlite3.c:19221:13 _ = _B var _C int32 // sqlite3.c:19221:16 _ = _C var _D int32 // sqlite3.c:19221:19 _ = _D var _E int32 // sqlite3.c:19221:22 _ = _E var _X1 int32 // sqlite3.c:19221:25 _ = _X1 if (_p.X10) == 0 { goto _0 } return _0: if (_p.X8) != 0 { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = i32(2000) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(1) goto _2 _1: func() int32 { if _validJulianDay(tls, _p.X0) != 0 { return i32(0) } return func() int32 { 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(5808))) crt.X__builtin_abort(tls) return i32(0) }() }() _Z = int32(((_p.X0) + int64(i32(43200000))) / int64(i32(86400000))) _A = int32((float64(_Z) - (1.86721625e+06)) / (36524.25)) _A = ((_Z + i32(1)) + _A) - (_A / i32(4)) _B = _A + i32(1524) _C = int32((float64(_B) - (122.1)) / (365.25)) _D = (i32(36525) * (_C & i32(32767))) / i32(100) _E = int32(float64(_B-_D) / (30.6001)) _X1 = int32((30.6001) * float64(_E)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = (_B - _D) - _X1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = func() int32 { if _E < i32(14) { return (_E - i32(1)) } return (_E - i32(13)) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = func() int32 { if (_p.X2) > i32(2) { return (_C - i32(4716)) } return (_C - i32(4715)) }() _2: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(1)) return } func _validJulianDay(tls *crt.TLS, _iJD int64) (r0 int32) { // sqlite3.c:19213:1 r0 = bool2int((_iJD >= int64(i32(0))) && (_iJD <= i64(464269060799999))) return } var _computeYMDØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_computeYMDØ00__func__Ø000[0], str(5832), 11) } func _computeHMS(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19247:1 var _s int32 // sqlite3.c:19248:7 _ = _s if (_p.X11) == 0 { goto _0 } return _0: _computeJD(tls, _p) _s = int32(((_p.X0) + int64(i32(43200000))) % int64(i32(86400000))) *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = float64(_s) / float64(1000) _s = int32(_p.X7) { p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) *p = (*p) - float64(_s) sink4517 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X4 */))) = _s / i32(3600) { p := &_s *p = (*p) - ((_p.X4) * i32(3600)) sink961 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))) = _s / i32(60) { p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) *p = (*p) + float64(_s-((_p.X5)*i32(60))) sink4517 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(1)) return } func _osLocaltime(tls *crt.TLS, _t *int64, _pTm *crt.Xtm) (r0 int32) { // sqlite3.c:19312:1 var _rc int32 // sqlite3.c:19313:7 _ = _rc var _pX *crt.Xtm // sqlite3.c:19315:13 _ = _pX var _mutex *Xsqlite3_mutex // sqlite3.c:19317:17 _ = _mutex _mutex = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _mutex) _pX = crt.Xlocaltime(tls, _t) if (_sqlite3Config.X38) == 0 { goto _0 } _pX = (*crt.Xtm)(unsafe.Pointer(uintptr(i32(0)))) _0: if _pX == nil { goto _1 } *_pTm = *_pX _1: Xsqlite3_mutex_leave(tls, _mutex) _rc = bool2int(_pX == (*crt.Xtm)(unsafe.Pointer(uintptr(i32(0))))) r0 = _rc return } func Xsqlite3_result_error(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32) { // sqlite3.c:76358:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(36 /* X5 */))) = i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(1)) _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _z, _n, uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) return } var _sqlite3_result_errorØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_errorØ00__func__Ø000[0], str(5844), 21) } func _clearYMD_HMS_TZ(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19274:1 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) return } func Xsqlite3_strnicmp(tls *crt.TLS, _zLeft *int8, _zRight *int8, _N int32) (r0 int32) { // sqlite3.c:27924:12 var _a *uint8 // sqlite3.c:27925:26 _ = _a var _b *uint8 // sqlite3.c:27925:30 _ = _b if _zLeft != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = func() int32 { if _zRight != nil { return i32(-1) } return i32(0) }() return _0: if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } r0 = i32(1) return _4: _a = (*uint8)(unsafe.Pointer(_zLeft)) _b = (*uint8)(unsafe.Pointer(_zRight)) _5: 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)))) { goto _6 } *(*uintptr)(unsafe.Pointer(&_a)) += uintptr(1) *(*uintptr)(unsafe.Pointer(&_b)) += uintptr(1) goto _5 _6: r0 = func() int32 { if _N < i32(0) { return i32(0) } return (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_a)))) - int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_b))))) }() return } var _aXformType [6]struct { X0 uint8 X1 uint8 X2 *int8 X3 float64 X4 float64 } // sqlite3.c:19422:3 func init() { _aXformType = [6]struct { X0 uint8 X1 uint8 X2 *int8 X3 float64 X4 float64 }{T5447453{X0: u8(0), X1: u8(6), X2: str(5868), X3: 4.642690608e+11, X4: 1000}, T5447453{X0: u8(0), X1: u8(6), X2: str(5876), X3: 7.73781768e+09, X4: 60000}, T5447453{X0: u8(0), X1: u8(4), X2: str(5884), X3: 1.28963628e+08, X4: 3.6e+06}, T5447453{X0: u8(0), X1: u8(3), X2: str(5780), X3: 5.373485e+06, X4: 8.64e+07}, T5447453{X0: u8(1), X1: u8(5), X2: str(5764), X3: 176546, X4: 2.592e+09}, T5447453{X0: u8(2), X1: u8(4), X2: str(5772), X3: 14713, X4: 3.1536e+10}} } func Xsqlite3_result_double(tls *crt.TLS, _pCtx *Xsqlite3_context, _rVal float64) { // sqlite3.c:76354:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetDouble(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _rVal) return } var _sqlite3_result_doubleØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_doubleØ00__func__Ø000[0], str(5892), 22) } func _sqlite3VdbeMemSetDouble(tls *crt.TLS, _pMem *XMem, _val float64) { // sqlite3.c:70323:1 _sqlite3VdbeMemSetNull(tls, _pMem) if _sqlite3IsNaN(tls, _val) != 0 { goto _0 } *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _val *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(8)) _0: return } func _sqlite3IsNaN(tls *crt.TLS, _x float64) (r0 int32) { // sqlite3.c:27673:1 var _rc int32 // sqlite3.c:27674:7 _ = _rc var _y float64 // sqlite3.c:27702:19 _ = _y var _z float64 // sqlite3.c:27703:19 _ = _z _y = _x _z = _y _rc = bool2int(_y != _z) r0 = _rc return } func _dateFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19771:1 var _x XDateTime // sqlite3.c:19776:12 _ = _x var _1_zBuf [100]int8 // sqlite3.c:19778:10 _ = _1_zBuf if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { goto _0 } _computeYMD(tls, &_x) Xsqlite3_snprintf(tls, int32(u64(100)), (*int8)(unsafe.Pointer(&_1_zBuf)), str(5916), _x.X1, _x.X2, _x.X3) Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_1_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _0: return } func _timeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19752:1 var _x XDateTime // sqlite3.c:19757:12 _ = _x var _1_zBuf [100]int8 // sqlite3.c:19759:10 _ = _1_zBuf if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { goto _0 } _computeHMS(tls, &_x) Xsqlite3_snprintf(tls, int32(u64(100)), (*int8)(unsafe.Pointer(&_1_zBuf)), str(5932), _x.X4, _x.X5, int32(_x.X7)) Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_1_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _0: return } func _datetimeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19732:1 var _x XDateTime // sqlite3.c:19737:12 _ = _x var _1_zBuf [100]int8 // sqlite3.c:19739:10 _ = _1_zBuf if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { goto _0 } _computeYMD_HMS(tls, &_x) Xsqlite3_snprintf(tls, int32(u64(100)), (*int8)(unsafe.Pointer(&_1_zBuf)), str(5948), _x.X1, _x.X2, _x.X3, _x.X4, _x.X5, int32(_x.X7)) Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_1_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _0: return } func _strftimeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19804:1 var _x XDateTime // sqlite3.c:19809:12 _ = _x var _n uint64 // sqlite3.c:19810:7 _ = _n var _i uint64 // sqlite3.c:19811:10 _ = _i var _j uint64 // sqlite3.c:19811:12 _ = _j var _z *int8 // sqlite3.c:19812:8 _ = _z var _db *Xsqlite3 // sqlite3.c:19813:11 _ = _db var _zFmt *int8 // sqlite3.c:19814:14 _ = _zFmt var _zBuf [100]int8 // sqlite3.c:19815:8 _ = _zBuf var _12_s float64 // sqlite3.c:19879:18 _ = _12_s var _13_nDay int32 // sqlite3.c:19888:15 _ = _13_nDay var _13_y XDateTime // sqlite3.c:19889:20 _ = _13_y var _14_wd int32 // sqlite3.c:19896:17 _ = _14_wd if _argc != i32(0) { goto _0 } return _0: _zFmt = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) 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(8))))))))))), &_x) == 0 { goto _2 } return _2: _db = Xsqlite3_context_db_handle(tls, _context) *func() *uint64 { _i = uint64(i32(0)); return &_n }() = uint64(i32(1)) _3: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) == 0 { goto _6 } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) != i32(37) { goto _7 } switch int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i+uint64(i32(1)))))) { case i32(37): goto _16 case i32(72): goto _10 case i32(74): goto _21 case i32(77): goto _12 case i32(83): goto _13 case i32(87): goto _14 case i32(89): goto _19 case i32(100): goto _9 case i32(102): goto _17 case i32(106): goto _18 case i32(109): goto _11 case i32(115): goto _20 case i32(119): goto _15 default: goto _22 } _9: _10: _11: _12: _13: _14: _n += 1 _15: _16: goto _23 _17: { p := &_n *p = (*p) + uint64(i32(8)) sink992 = *p } goto _23 _18: { p := &_n *p = (*p) + uint64(i32(3)) sink992 = *p } goto _23 _19: { p := &_n *p = (*p) + uint64(i32(8)) sink992 = *p } goto _23 _20: _21: { p := &_n *p = (*p) + uint64(i32(50)) sink992 = *p } goto _23 _22: return _23: _i += 1 _7: *func() *uint64 { _i += 1; return &_n }() += 1 goto _3 _6: if _n >= u64(100) { goto _24 } _z = (*int8)(unsafe.Pointer(&_zBuf)) goto _25 _24: if _n <= uint64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _26 } Xsqlite3_result_error_toobig(tls, _context) return _26: _z = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(int32(_n))))) if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _28 } Xsqlite3_result_error_nomem(tls, _context) return _28: _25: _computeJD(tls, &_x) _computeYMD_HMS(tls, &_x) _i = store992(&_j, uint64(i32(0))) _29: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) == 0 { goto _32 } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) == i32(37) { goto _33 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc992(&_j, uint64(1))))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i))) goto _34 _33: _i += 1 switch int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) { case i32(72): goto _38 case i32(74): goto _41 case i32(77): goto _43 case i32(83): goto _45 case i32(87): goto _39 case i32(89): goto _47 case i32(100): goto _36 case i32(102): goto _37 case i32(106): goto _40 case i32(109): goto _42 case i32(115): goto _44 case i32(119): goto _46 default: goto _48 } _36: Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5980), _x.X3) { p := &_j *p = (*p) + uint64(i32(2)) sink992 = *p } goto _49 _37: _12_s = _x.X7 if _12_s <= (59.999) { goto _50 } _12_s = 59.999 _50: Xsqlite3_snprintf(tls, i32(7), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5988), _12_s) { p := &_j *p = (*p) + uint64(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) sink992 = *p } goto _49 _38: Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5980), _x.X4) { p := &_j *p = (*p) + uint64(i32(2)) sink992 = *p } goto _49 _39: _40: _13_y = _x *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_13_y)) + uintptr(40 /* X8 */))) = int8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_13_y)) + uintptr(12 /* X2 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_13_y)) + uintptr(16 /* X3 */))) = i32(1) _computeJD(tls, &_13_y) _13_nDay = int32((((_x.X0) - (_13_y.X0)) + int64(i32(43200000))) / int64(i32(86400000))) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) != i32(87) { goto _51 } _14_wd = int32((((_x.X0) + int64(i32(43200000))) / int64(i32(86400000))) % int64(i32(7))) Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5980), ((_13_nDay+i32(7))-_14_wd)/i32(7)) { p := &_j *p = (*p) + uint64(i32(2)) sink992 = *p } goto _52 _51: Xsqlite3_snprintf(tls, i32(4), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5996), _13_nDay+i32(1)) { p := &_j *p = (*p) + uint64(i32(3)) sink992 = *p } _52: goto _49 _41: Xsqlite3_snprintf(tls, i32(20), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(6004), float64(_x.X0)/(8.64e+07)) { p := &_j *p = (*p) + uint64(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) sink992 = *p } goto _49 _42: Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5980), _x.X2) { p := &_j *p = (*p) + uint64(i32(2)) sink992 = *p } goto _49 _43: Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5980), _x.X5) { p := &_j *p = (*p) + uint64(i32(2)) sink992 = *p } goto _49 _44: Xsqlite3_snprintf(tls, i32(30), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(4648), ((_x.X0)/int64(i32(1000)))-i64(210866760000)) { p := &_j *p = (*p) + uint64(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) sink992 = *p } goto _49 _45: Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5980), int32(_x.X7)) { p := &_j *p = (*p) + uint64(i32(2)) sink992 = *p } goto _49 _46: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc992(&_j, uint64(1))))) = int8(int32(int8((((_x.X0)+int64(i32(129600000)))/int64(i32(86400000)))%int64(i32(7)))) + i32(48)) goto _49 _47: Xsqlite3_snprintf(tls, i32(5), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(6012), _x.X1) { p := &_j *p = (*p) + uint64(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) sink992 = *p } goto _49 _48: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc992(&_j, uint64(1))))) = int8(i32(37)) goto _49 _49: _34: _i += 1 goto _29 _32: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_j))) = int8(i32(0)) Xsqlite3_result_text(tls, _context, _z, i32(-1), func() func(*crt.TLS, unsafe.Pointer) { if _z == (*int8)(unsafe.Pointer(&_zBuf)) { return (*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) } return (*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) }()) return } func Xsqlite3_result_error_nomem(tls *crt.TLS, _pCtx *Xsqlite3_context) { // sqlite3.c:76483:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetNull(tls, (*XMem)(unsafe.Pointer(_pCtx.X0))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(36 /* X5 */))) = _sqlite3NomemError(tls, i32(76486)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(1)) _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9))) return } var _sqlite3_result_error_nomemØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_error_nomemØ00__func__Ø000[0], str(6020), 27) } func _ctimeFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:19942:1 func() **XMem { ; return _NotUsed2 }() _timeFunc(tls, _context, i32(0), (**XMem)(unsafe.Pointer(uintptr(i32(0))))) return } func _ctimestampFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:19970:1 func() **XMem { ; return _NotUsed2 }() _datetimeFunc(tls, _context, i32(0), (**XMem)(unsafe.Pointer(uintptr(i32(0))))) return } func _cdateFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:19956:1 func() **XMem { ; return _NotUsed2 }() _dateFunc(tls, _context, i32(0), (**XMem)(unsafe.Pointer(uintptr(i32(0))))) return } var _sqlite3RegisterBuiltinFunctionsØ00aBuiltinFuncØ001 [60]XFuncDef // sqlite3.c:107046:18 func init() { _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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_loadExt})), X5: nil, X6: str(6048), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_loadExt})), X5: nil, X6: str(6048), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_compileoptionusedFunc})), X5: nil, X6: str(6064), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_compileoptiongetFunc})), X5: nil, X6: str(6092), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(3073), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6120), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(3073), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6132), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(3073), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6144), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(18433), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6152), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_trimFunc})), X5: nil, X6: str(6164), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_trimFunc})), X5: nil, X6: str(6164), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_trimFunc})), X5: nil, X6: str(6172), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_trimFunc})), X5: nil, X6: str(6172), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_trimFunc})), X5: nil, X6: str(6180), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_trimFunc})), X5: nil, X6: str(6180), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(2081), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_minmaxFunc})), X5: nil, X6: str(6188), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(2081), X2: nil, X3: nil, X4: nil, X5: nil, X6: str(6188), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(4129), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_minmaxStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_minMaxFinalize})), X6: str(6188), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_minmaxFunc})), X5: nil, X6: str(6192), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(2081), X2: (unsafe.Pointer)(uintptr(1)), X3: nil, X4: nil, X5: nil, X6: str(6192), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_minmaxStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_minMaxFinalize})), X6: str(6192), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2177), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_typeofFunc})), X5: nil, X6: str(6196), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2113), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_lengthFunc})), X5: nil, X6: str(6204), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_instrFunc})), X5: nil, X6: str(6212), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_printfFunc})), X5: nil, X6: str(6220), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_unicodeFunc})), X5: nil, X6: str(6228), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_charFunc})), X5: nil, X6: str(6236), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_absFunc})), X5: nil, X6: str(6244), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_roundFunc})), X5: nil, X6: str(6248), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_roundFunc})), X5: nil, X6: str(6248), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_upperFunc})), X5: nil, X6: str(6256), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_lowerFunc})), X5: nil, X6: str(6264), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_hexFunc})), X5: nil, X6: str(6272), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2561), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6276), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_randomFunc})), X5: nil, X6: str(6284), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_randomBlob})), X5: nil, X6: str(6292), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2081), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_nullifFunc})), X5: nil, X6: str(6304), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6312), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_sourceidFunc})), X5: nil, X6: str(6328), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_errlogFunc})), X5: nil, X6: str(6348), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_quoteFunc})), X5: nil, X6: str(6360), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_last_insert_rowid})), X5: nil, X6: str(6368), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_changes})), X5: nil, X6: str(6388), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_total_changes})), X5: nil, X6: str(6396), X7: T5458811{}}, XFuncDef{X0: i8(3), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_replaceFunc})), X5: nil, X6: str(6412), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_zeroblobFunc})), X5: nil, X6: str(6420), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_substrFunc})), X5: nil, X6: str(6432), X7: T5458811{}}, XFuncDef{X0: i8(3), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_substrFunc})), X5: nil, X6: str(6432), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_sumStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_sumFinalize})), X6: str(6440), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_sumStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_totalFinalize})), X6: str(6444), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_sumStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_avgFinalize})), X6: str(6452), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(257), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_countStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_countFinalize})), X6: str(6456), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_countStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_countFinalize})), X6: str(6456), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_groupConcatStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_groupConcatFinalize})), X6: str(6464), X7: T5458811{}}, XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_groupConcatStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{_groupConcatFinalize})), X6: str(6464), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_likeFunc})), X5: nil, X6: str(6480), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_likeFunc})), X5: nil, X6: str(6488), X7: T5458811{}}, 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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_likeFunc})), X5: nil, X6: str(6488), X7: T5458811{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: nil, X5: nil, X6: str(6496), X7: T5458811{}}, XFuncDef{X0: i8(0), X1: u16(2049), X2: nil, X3: nil, X4: nil, X5: nil, X6: str(6496), X7: T5458811{}}, XFuncDef{X0: i8(-1), X1: u16(2561), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_versionFunc})), X5: nil, X6: str(6496), X7: T5458811{}}} } func _loadExt(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106711:1 var _zFile *int8 // sqlite3.c:106712:14 _ = _zFile var _zProc *int8 // sqlite3.c:106713:14 _ = _zProc var _db *Xsqlite3 // sqlite3.c:106714:11 _ = _db var _zErrMsg *int8 // sqlite3.c:106715:8 _ = _zErrMsg _zFile = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _db = Xsqlite3_context_db_handle(tls, _context) _zErrMsg = nil if ((_db.X6) & i32(8388608)) != i32(0) { goto _0 } Xsqlite3_result_error(tls, _context, str(6508), i32(-1)) return _0: if _argc != i32(2) { goto _1 } _zProc = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))))) goto _2 _1: _zProc = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _2: if _zFile == nil || Xsqlite3_load_extension(tls, _db, _zFile, _zProc, &_zErrMsg) == 0 { goto _4 } Xsqlite3_result_error(tls, _context, _zErrMsg, i32(-1)) Xsqlite3_free(tls, (unsafe.Pointer)(_zErrMsg)) _4: return } func Xsqlite3_load_extension(tls *crt.TLS, _db *Xsqlite3, _zFile *int8, _zProc *int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:112129:12 var _rc int32 // sqlite3.c:112135:7 _ = _rc Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _rc = _sqlite3LoadExtension(tls, _db, _zFile, _zProc, _pzErrMsg) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func _sqlite3LoadExtension(tls *crt.TLS, _db *Xsqlite3, _zFile *int8, _zProc *int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:111988:1 var _pVfs *Xsqlite3_vfs // sqlite3.c:111994:15 _ = _pVfs var _handle unsafe.Pointer // sqlite3.c:111995:8 _ = _handle var _xInit func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 // sqlite3.c:111996:25 _ = _xInit var _zErrmsg *int8 // sqlite3.c:111997:8 _ = _zErrmsg var _zEntry *int8 // sqlite3.c:111998:14 _ = _zEntry var _zAltEntry *int8 // sqlite3.c:111999:8 _ = _zAltEntry var _aHandle *unsafe.Pointer // sqlite3.c:112000:8 _ = _aHandle var _nMsg uint64 // sqlite3.c:112001:7 _ = _nMsg var _ii int32 // sqlite3.c:112002:7 _ = _ii var _rc int32 // sqlite3.c:112003:7 _ = _rc var _3_zAltFile *int8 // sqlite3.c:112038:10 _ = _3_zAltFile var _7_iFile int32 // sqlite3.c:112069:9 _ = _7_iFile var _7_iEntry int32 // sqlite3.c:112069:16 _ = _7_iEntry var _7_c int32 // sqlite3.c:112069:24 _ = _7_c var _7_ncFile int32 // sqlite3.c:112070:9 _ = _7_ncFile _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)) _zErrmsg = nil _zAltEntry = nil _nMsg = uint64(i32(300) + _sqlite3Strlen30(tls, _zFile)) if _pzErrMsg == nil { goto _0 } *_pzErrMsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _0: if ((_db.X6) & i32(4194304)) != i32(0) { goto _1 } if _pzErrMsg == nil { goto _2 } *_pzErrMsg = Xsqlite3_mprintf(tls, str(6508)) _2: r0 = i32(1) return _1: _zEntry = func() *int8 { if _zProc != nil { return _zProc } return str(6524) }() _handle = _sqlite3OsDlOpen(tls, _pVfs, _zFile) _ii = i32(0) _5: if _ii >= i32(1) || unsafe.Pointer(_handle) != (unsafe.Pointer)(uintptr(i32(0))) { goto _9 } _3_zAltFile = Xsqlite3_mprintf(tls, str(6548), unsafe.Pointer(_zFile), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LoadExtensionØ00azEndingsØ001)) + 8*uintptr(_ii))))) if _3_zAltFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } r0 = _sqlite3NomemError(tls, i32(112039)) return _10: _handle = _sqlite3OsDlOpen(tls, _pVfs, _3_zAltFile) Xsqlite3_free(tls, (unsafe.Pointer)(_3_zAltFile)) _ii += 1 goto _5 _9: if unsafe.Pointer(_handle) != (unsafe.Pointer)(uintptr(i32(0))) { goto _11 } if _pzErrMsg == nil { goto _12 } *_pzErrMsg = store1025(&_zErrmsg, (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, _nMsg)))) if _zErrmsg == nil { goto _13 } Xsqlite3_snprintf(tls, int32(_nMsg), _zErrmsg, str(6556), unsafe.Pointer(_zFile)) _sqlite3OsDlError(tls, _pVfs, int32(_nMsg-uint64(i32(1))), _zErrmsg) _13: _12: r0 = i32(1) return _11: _xInit = *(*func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_sqlite3OsDlSym(tls, _pVfs, _handle, _zEntry)})) if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 }{_xInit})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 }{nil})) || _zProc != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _7_ncFile = _sqlite3Strlen30(tls, _zFile) _zAltEntry = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_7_ncFile+i32(30))))) if _zAltEntry != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } _sqlite3OsDlClose(tls, _pVfs, _handle) r0 = _sqlite3NomemError(tls, i32(112074)) return _16: crt.Xmemcpy(tls, (unsafe.Pointer)(_zAltEntry), (unsafe.Pointer)(str(6592)), uint64(i32(8))) _7_iFile = _7_ncFile - i32(1) _17: if _7_iFile < i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_7_iFile)))) == i32(47) { goto _21 } _7_iFile -= 1 goto _17 _21: _7_iFile += 1 if Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zFile))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_7_iFile))))))), str(6604), i32(3)) != i32(0) { goto _22 } { p := &_7_iFile *p = (*p) + i32(3) sink961 = *p } _22: _7_iEntry = i32(8) _23: if store961(&_7_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_7_iFile))))) == i32(0) || _7_c == i32(46) { goto _27 } if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_7_c))))) & i32(2)) == 0 { goto _28 } *(*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))))) _28: _7_iFile += 1 goto _23 _27: crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zAltEntry))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_7_iEntry)))))))), (unsafe.Pointer)(str(6608)), uint64(i32(6))) _zEntry = _zAltEntry _xInit = *(*func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_sqlite3OsDlSym(tls, _pVfs, _handle, _zEntry)})) _15: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 }{_xInit})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 }{nil})) { goto _29 } if _pzErrMsg == nil { goto _30 } { p := &_nMsg *p = (*p) + uint64(_sqlite3Strlen30(tls, _zEntry)) sink992 = *p } *_pzErrMsg = store1025(&_zErrmsg, (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, _nMsg)))) if _zErrmsg == nil { goto _31 } Xsqlite3_snprintf(tls, int32(_nMsg), _zErrmsg, str(6616), unsafe.Pointer(_zEntry), unsafe.Pointer(_zFile)) _sqlite3OsDlError(tls, _pVfs, int32(_nMsg-uint64(i32(1))), _zErrmsg) _31: _30: _sqlite3OsDlClose(tls, _pVfs, _handle) Xsqlite3_free(tls, (unsafe.Pointer)(_zAltEntry)) r0 = i32(1) return _29: Xsqlite3_free(tls, (unsafe.Pointer)(_zAltEntry)) _rc = _xInit(tls, _db, &_zErrmsg, &_sqlite3Apis) if _rc == 0 { goto _32 } if _rc != i32(256) { goto _33 } r0 = i32(0) return _33: if _pzErrMsg == nil { goto _34 } *_pzErrMsg = Xsqlite3_mprintf(tls, str(6660), unsafe.Pointer(_zErrmsg)) _34: Xsqlite3_free(tls, (unsafe.Pointer)(_zErrmsg)) _sqlite3OsDlClose(tls, _pVfs, _handle) r0 = i32(1) return _32: _aHandle = (*unsafe.Pointer)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(8)*uint64((_db.X39)+i32(1))))) if _aHandle != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { goto _35 } r0 = _sqlite3NomemError(tls, i32(112118)) return _35: if (_db.X39) <= i32(0) { goto _36 } crt.Xmemcpy(tls, (unsafe.Pointer)(_aHandle), (unsafe.Pointer)(_db.X40), u64(8)*uint64(_db.X39)) _36: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_db.X40)) *(**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(200 /* X40 */))) = _aHandle *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X40)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(192 /* X39 */))), int32(1))))) = _handle r0 = i32(0) return } func Xsqlite3_mprintf(tls *crt.TLS, _zFormat *int8, args ...interface{}) (r0 *int8) { // sqlite3.c:26025:12 var _ap []interface{} // sqlite3.c:26026:11 _ = _ap var _z *int8 // sqlite3.c:26027:8 _ = _z if Xsqlite3_initialize(tls) == 0 { goto _0 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: _ap = args _z = Xsqlite3_vmprintf(tls, _zFormat, _ap) _ap = nil r0 = _z return } func Xsqlite3_vmprintf(tls *crt.TLS, _zFormat *int8, _ap []interface{}) (r0 *int8) { // sqlite3.c:26001:12 var _z *int8 // sqlite3.c:26002:8 _ = _z var _zBase [70]int8 // sqlite3.c:26003:8 _ = _zBase var _acc XStrAccum // sqlite3.c:26004:12 _ = _acc if _zFormat != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3MisuseError(tls, i32(26008)) r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: if Xsqlite3_initialize(tls) == 0 { goto _1 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _1: _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBase)), int32(u64(70)), i32(1000000000)) _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) _z = _sqlite3StrAccumFinish(tls, &_acc) r0 = _z return } func _sqlite3OsDlOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8) (r0 unsafe.Pointer) { // sqlite3.c:20293:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer }{(_pVfs.X10)})))(tls, _pVfs, _zPath) return } var _sqlite3LoadExtensionØ00azEndingsØ001 [1]*int8 // sqlite3.c:112006:21 func init() { _sqlite3LoadExtensionØ00azEndingsØ001 = [1]*int8{str(6692)} } func Xsqlite3_malloc64(tls *crt.TLS, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24487:12 if Xsqlite3_initialize(tls) == 0 { goto _0 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: r0 = _sqlite3Malloc(tls, _n) return } func _sqlite3OsDlError(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nByte int32, _zBufOut *int8) { // sqlite3.c:20296:1 (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8) }{(_pVfs.X11)})))(tls, _pVfs, _nByte, _zBufOut) return } func _sqlite3OsDlSym(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pHdle unsafe.Pointer, _zSym *int8) (r0 func(*crt.TLS)) { // sqlite3.c:20299:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS) }{(_pVfs.X12)})))(tls, _pVfs, _pHdle, _zSym) return } func _sqlite3OsDlClose(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pHandle unsafe.Pointer) { // sqlite3.c:20302:1 (*(*func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) }{(_pVfs.X13)})))(tls, _pVfs, _pHandle) return } var _sqlite3Apis Xsqlite3_api_routines // sqlite3.c:111678:35 func init() { _sqlite3Apis = Xsqlite3_api_routines{X0: *(*func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32) unsafe.Pointer }{Xsqlite3_aggregate_context})), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) int32 }{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 { f func(*crt.TLS, unsafe.Pointer, int32, *XMem) int32 }{Xsqlite3_bind_value})), X13: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32 }{Xsqlite3_busy_handler})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32) int32 }{Xsqlite3_busy_timeout})), X15: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_changes})), X16: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_close})), X17: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8)) int32 }{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 { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer)) int32 }{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 { f func(*crt.TLS, unsafe.Pointer, int32) *XMem }{Xsqlite3_column_value})), X40: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer }{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 { f func(*crt.TLS, *Xsqlite3, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 }{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 { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 }{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 { 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 }{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 { 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 }{Xsqlite3_create_function16})), X47: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, *Xsqlite3_module, unsafe.Pointer) int32 }{Xsqlite3_create_module})), X48: Xsqlite3_data_count, X49: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) *Xsqlite3 }{Xsqlite3_db_handle})), X50: *(*func(*crt.TLS, unsafe.Pointer, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8) int32 }{Xsqlite3_declare_vtab})), X51: Xsqlite3_enable_shared_cache, X52: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_errcode})), X53: *(*func(*crt.TLS, unsafe.Pointer) *int8)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) *int8 }{Xsqlite3_errmsg})), X54: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) unsafe.Pointer }{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 { f func(*crt.TLS, *Xsqlite3, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32 }{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 { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_get_autocommit})), X61: *(*func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32) unsafe.Pointer }{Xsqlite3_get_auxdata})), X62: *(*func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, ***int8, *int32, *int32, **int8) int32 }{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 { f func(*crt.TLS, *Xsqlite3) int64 }{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 { f func(*crt.TLS, *int8, **Xsqlite3) int32 }{Xsqlite3_open})), X71: *(*func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, **Xsqlite3) int32 }{Xsqlite3_open16})), X72: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, int32, *unsafe.Pointer, **int8) int32 }{Xsqlite3_prepare})), X73: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 }{Xsqlite3_prepare16})), X74: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer }{Xsqlite3_profile})), X75: *(*func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) }{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 { f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) }{Xsqlite3_result_blob})), X79: *(*func(*crt.TLS, unsafe.Pointer, float64))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, float64) }{Xsqlite3_result_double})), X80: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, *int8, int32) }{Xsqlite3_result_error})), X81: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32) }{Xsqlite3_result_error16})), X82: *(*func(*crt.TLS, unsafe.Pointer, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32) }{Xsqlite3_result_int})), X83: *(*func(*crt.TLS, unsafe.Pointer, int64))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int64) }{Xsqlite3_result_int64})), X84: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{Xsqlite3_result_null})), X85: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, *int8, int32, func(*crt.TLS, unsafe.Pointer)) }{Xsqlite3_result_text})), X86: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) }{Xsqlite3_result_text16})), X87: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) }{Xsqlite3_result_text16be})), X88: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) }{Xsqlite3_result_text16le})), X89: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, *XMem) }{Xsqlite3_result_value})), X90: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer }{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 { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32 }{Xsqlite3_set_authorizer})), X92: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) }{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 { f func(*crt.TLS, *Xsqlite3, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32 }{Xsqlite3_table_column_metadata})), X96: Xsqlite3_thread_cleanup, X97: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_total_changes})), X98: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer }{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 { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer }{Xsqlite3_update_hook})), X101: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) unsafe.Pointer }{Xsqlite3_user_data})), X102: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XMem) unsafe.Pointer }{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 { f func(*crt.TLS, *XMem) unsafe.Pointer }{Xsqlite3_value_text16})), X111: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XMem) unsafe.Pointer }{Xsqlite3_value_text16be})), X112: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XMem) unsafe.Pointer }{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 { f func(*crt.TLS, *int8, []interface{}) *int8 }{Xsqlite3_vmprintf})), X115: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, int32) int32 }{Xsqlite3_overload_function})), X116: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, int32, *unsafe.Pointer, **int8) int32 }{Xsqlite3_prepare_v2})), X117: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 }{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 { f func(*crt.TLS, *Xsqlite3, *int8, *Xsqlite3_module, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32 }{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 { f func(*crt.TLS, *Xsqlite3, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32 }{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 { 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 }{Xsqlite3_create_collation_v2})), X127: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, int32, unsafe.Pointer) int32 }{Xsqlite3_file_control})), X128: Xsqlite3_memory_highwater, X129: Xsqlite3_memory_used, X130: *(*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) *Xsqlite3_mutex }{Xsqlite3_mutex_alloc})), X131: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{Xsqlite3_mutex_enter})), X132: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{Xsqlite3_mutex_free})), X133: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) }{Xsqlite3_mutex_leave})), X134: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_mutex) int32 }{Xsqlite3_mutex_try})), X135: *(*func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, **Xsqlite3, int32, *int8) int32 }{Xsqlite3_open_v2})), X136: Xsqlite3_release_memory, X137: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{Xsqlite3_result_error_nomem})), X138: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{Xsqlite3_result_error_toobig})), X139: Xsqlite3_sleep, X140: Xsqlite3_soft_heap_limit, X141: *(*func(*crt.TLS, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *int8) *Xsqlite3_vfs }{Xsqlite3_vfs_find})), X142: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 }{Xsqlite3_vfs_register})), X143: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs) int32 }{Xsqlite3_vfs_unregister})), X144: Xsqlite3_threadsafe, X145: *(*func(*crt.TLS, unsafe.Pointer, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32) }{Xsqlite3_result_zeroblob})), X146: *(*func(*crt.TLS, unsafe.Pointer, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32) }{Xsqlite3_result_error_code})), X147: Xsqlite3_test_control, X148: Xsqlite3_randomness, X149: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) *Xsqlite3 }{Xsqlite3_context_db_handle})), X150: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32) int32 }{Xsqlite3_extended_result_codes})), X151: *(*func(*crt.TLS, unsafe.Pointer, int32, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32, int32) int32 }{Xsqlite3_limit})), X152: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer) unsafe.Pointer }{Xsqlite3_next_stmt})), X153: Xsqlite3_sql, X154: Xsqlite3_status, X155: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_backup) int32 }{Xsqlite3_backup_finish})), X156: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, *Xsqlite3, *int8) *Xsqlite3_backup }{Xsqlite3_backup_init})), X157: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_backup) int32 }{Xsqlite3_backup_pagecount})), X158: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_backup) int32 }{Xsqlite3_backup_remaining})), X159: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_backup, int32) int32 }{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 { 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 }{Xsqlite3_create_function_v2})), X163: *(*func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32, ...interface{}) int32 }{Xsqlite3_db_config})), X164: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) *Xsqlite3_mutex }{Xsqlite3_db_mutex})), X165: *(*func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32, *int32, *int32, int32) int32 }{Xsqlite3_db_status})), X166: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{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 { f func(*crt.TLS, *Xsqlite3, int32) int32 }{Xsqlite3_wal_autocheckpoint})), X174: *(*func(*crt.TLS, unsafe.Pointer, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8) int32 }{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 { f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer }{Xsqlite3_wal_hook})), X176: Xsqlite3_blob_reopen, X177: *(*func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int32, ...interface{}) int32 }{Xsqlite3_vtab_config})), X178: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_vtab_on_conflict})), X179: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_close_v2})), X180: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8) *int8 }{Xsqlite3_db_filename})), X181: *(*func(*crt.TLS, unsafe.Pointer, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8) int32 }{Xsqlite3_db_readonly})), X182: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{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 { f func(*crt.TLS, int32, *int8, *int8, []interface{}) *int8 }{Xsqlite3_vsnprintf})), X191: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, *int8, int32, *int32, *int32) int32 }{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 { f func(*crt.TLS, *Xsqlite3, *int8, *int8, **int8) int32 }{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 { f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) }{Xsqlite3_result_blob64})), X202: *(*func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) }{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 { f func(*crt.TLS, *Xsqlite3_context, uint64) int32 }{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 { f func(*crt.TLS, *Xsqlite3_context, uint32) }{Xsqlite3_result_subtype})), X210: Xsqlite3_status64, X211: Xsqlite3_strlike, X212: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{Xsqlite3_db_cacheflush})), X213: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3) int32 }{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 { f func(*crt.TLS, *Xsqlite3, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32 }{Xsqlite3_trace_v2})), X215: Xsqlite3_expanded_sql, X216: *(*func(*crt.TLS, unsafe.Pointer, int64))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, int64) }{Xsqlite3_set_last_insert_rowid}))} } func Xsqlite3_aggregate_context(tls *crt.TLS, _p *Xsqlite3_context, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:76797:12 func() int32 { if ((_p != nil) && ((*XFuncDef)(unsafe.Pointer(_p.X1)) != nil)) && ((*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*XFuncDef)(unsafe.Pointer(_p.X1)).X5)}))) != nil) { return i32(0) } return func() int32 { 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(6696))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_p.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(6736))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32((*XMem)(unsafe.Pointer(_p.X2)).X1) & i32(8192)) != i32(0) { goto _6 } r0 = _createAggContext(tls, _p, _nByte) return _6: r0 = (unsafe.Pointer)((*XMem)(unsafe.Pointer(_p.X2)).X5) return } var _sqlite3_aggregate_contextØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_aggregate_contextØ00__func__Ø000[0], str(6776), 26) } func _createAggContext(tls *crt.TLS, _p *Xsqlite3_context, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:76775:1 var _pMem *XMem // sqlite3.c:76776:7 _ = _pMem _pMem = (*XMem)(unsafe.Pointer(_p.X2)) func() int32 { if (int32(_pMem.X1) & i32(8192)) == i32(0) { return i32(0) } return func() int32 { 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(6804))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nByte > i32(0) { goto _2 } _sqlite3VdbeMemSetNull(tls, _pMem) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _3 _2: _sqlite3VdbeMemClearAndResize(tls, _pMem, _nByte) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(8192)) *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) = (*XFuncDef)(unsafe.Pointer(_p.X1)) if (_pMem.X5) == nil { goto _4 } crt.Xmemset(tls, (unsafe.Pointer)(_pMem.X5), i32(0), uint64(_nByte)) _4: _3: r0 = (unsafe.Pointer)(_pMem.X5) return } var _createAggContextØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_createAggContextØ00__func__Ø000[0], str(6832), 17) } func Xsqlite3_aggregate_count(tls *crt.TLS, _p *Xsqlite3_context) (r0 int32) { // sqlite3.c:76888:12 func() int32 { if (((_p != nil) && ((*XMem)(unsafe.Pointer(_p.X2)) != nil)) && ((*XFuncDef)(unsafe.Pointer(_p.X1)) != nil)) && ((*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*XFuncDef)(unsafe.Pointer(_p.X1)).X5)}))) != nil) { return i32(0) } return func() int32 { 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(6852))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*XMem)(unsafe.Pointer(_p.X2)).X4 return } var _sqlite3_aggregate_countØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_aggregate_countØ00__func__Ø000[0], str(6900), 24) } 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 if _nData >= i32(0) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(77318)) return _0: r0 = _bindText(tls, _pStmt, _i, _zData, _nData, _xDel, uint8(i32(0))) return } 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 var _p *TVdbe // sqlite3.c:77284:8 _ = _p var _pVar *XMem // sqlite3.c:77285:7 _ = _pVar var _rc int32 // sqlite3.c:77286:7 _ = _rc _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _rc = _vdbeUnbind(tls, _p, _i) if _rc != i32(0) { goto _0 } if _zData == (unsafe.Pointer)(uintptr(i32(0))) { goto _1 } _pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 72*uintptr(_i-i32(1)))) _rc = _sqlite3VdbeMemSetStr(tls, _pVar, (*int8)(unsafe.Pointer(_zData)), _nData, _encoding, _xDel) if _rc != i32(0) || int32(_encoding) == i32(0) { goto _3 } _rc = _sqlite3VdbeChangeEncoding(tls, _pVar, int32((*Xsqlite3)(unsafe.Pointer(_p.X0)).X14)) _3: _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) _rc = _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) _1: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) goto _4 _0: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{nil})) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)})))})) { goto _6 } _xDel(tls, _zData) _6: _4: r0 = _rc return } func _vdbeUnbind(tls *crt.TLS, _p *TVdbe, _i int32) (r0 int32) { // sqlite3.c:77233:1 var _pVar *XMem // sqlite3.c:77234:7 _ = _pVar if _vdbeSafetyNotNull(tls, _p) == 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(77236)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) if (_p.X5) == uint32(i32(770837923)) && (_p.X9) < i32(0) { goto _2 } _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), i32(21)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) Xsqlite3_log(tls, i32(21), str(6924), unsafe.Pointer(_p.X36)) r0 = _sqlite3MisuseError(tls, i32(77244)) return _2: if _i >= i32(1) && _i <= int32(_p.X4) { goto _4 } _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), i32(25)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) r0 = i32(25) return _4: _i -= 1 _pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 72*uintptr(_i))) _sqlite3VdbeMemRelease(tls, _pVar) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(8 /* X1 */))) = uint16(i32(1)) _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), i32(0)) func() int32 { if (((uint32((_p.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_p.X41) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(6964))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X41) == uint32(i32(0)) || ((_p.X41)&func() uint32 { if _i >= i32(31) { return u32(2147483648) } return (u32(1) << uint(_i)) }()) == uint32(i32(0)) { goto _11 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _11: r0 = i32(0) return } func _vdbeSafetyNotNull(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:76051:1 if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } Xsqlite3_log(tls, i32(21), str(6996)) r0 = i32(1) return _0: r0 = _vdbeSafety(tls, _p) return } func _vdbeSafety(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:76043:1 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } Xsqlite3_log(tls, i32(21), str(7036)) r0 = i32(1) return _0: r0 = i32(0) return } func _sqlite3Error(tls *crt.TLS, _db *Xsqlite3, _err_code int32) { // sqlite3.c:27753:1 func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = _err_code if _err_code == 0 && (*XMem)(unsafe.Pointer(_db.X56)) == nil { goto _3 } _sqlite3ErrorFinish(tls, _db, _err_code) _3: return } var _sqlite3ErrorØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ErrorØ00__func__Ø000[0], str(7084), 13) } func _sqlite3ErrorFinish(tls *crt.TLS, _db *Xsqlite3, _err_code int32) { // sqlite3.c:27743:1 if (*XMem)(unsafe.Pointer(_db.X56)) == nil { goto _0 } _sqlite3ValueSetNull(tls, (*XMem)(unsafe.Pointer(_db.X56))) _0: _sqlite3SystemError(tls, _db, _err_code) return } func _sqlite3ValueSetNull(tls *crt.TLS, _p *XMem) { // sqlite3.c:70276:1 _sqlite3VdbeMemSetNull(tls, _p) return } func _sqlite3SystemError(tls *crt.TLS, _db *Xsqlite3, _rc int32) { // sqlite3.c:27763:1 if _rc != i32(3082) { goto _0 } return _0: { p := &_rc *p = (*p) & i32(255) sink961 = *p } if _rc != i32(14) && _rc != i32(10) { goto _2 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(76 /* X12 */))) = _sqlite3OsGetLastError(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0))) _2: return } func _sqlite3OsGetLastError(tls *crt.TLS, _pVfs *Xsqlite3_vfs) (r0 int32) { // sqlite3.c:20312:1 r0 = func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 }{(_pVfs.X17)}))) != nil { return (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 }{(_pVfs.X17)})))(tls, _pVfs, i32(0), (*int8)(unsafe.Pointer(uintptr(i32(0))))) } return i32(0) }() return } var _vdbeUnbindØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeUnbindØ00__func__Ø000[0], str(7100), 11) } func _sqlite3ApiExit(tls *crt.TLS, _db *Xsqlite3, _rc int32) (r0 int32) { // sqlite3.c:25013:1 func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 && _rc != i32(3082) { goto _5 } r0 = _apiOomError(tls, _db) return _5: r0 = _rc & (_db.X11) return } var _sqlite3ApiExitØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ApiExitØ00__func__Ø000[0], str(7112), 15) } func _apiOomError(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:24995:1 _sqlite3OomClear(tls, _db) _sqlite3Error(tls, _db, i32(7)) r0 = _sqlite3NomemError(tls, i32(24998)) return } func _sqlite3OomClear(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:24983:1 if (_db.X17) == 0 || (_db.X37) != i32(0) { goto _1 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(85 /* X17 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */))))) = i32(0) func() int32 { if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X0) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(7128))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) -= 1 _1: return } var _sqlite3OomClearØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3OomClearØ00__func__Ø000[0], str(7156), 16) } func Xsqlite3_bind_double(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _rValue float64) (r0 int32) { // sqlite3.c:77336:12 var _rc int32 // sqlite3.c:77337:7 _ = _rc var _p *TVdbe // sqlite3.c:77338:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _rc = _vdbeUnbind(tls, _p, _i) if _rc != i32(0) { goto _0 } _sqlite3VdbeMemSetDouble(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+72*uintptr(_i-i32(1)))), _rValue) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _0: r0 = _rc return } func Xsqlite3_bind_int(tls *crt.TLS, _p unsafe.Pointer, _i int32, _iValue int32) (r0 int32) { // sqlite3.c:77346:12 r0 = Xsqlite3_bind_int64(tls, _p, _i, int64(_iValue)) return } func Xsqlite3_bind_int64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _iValue int64) (r0 int32) { // sqlite3.c:77349:12 var _rc int32 // sqlite3.c:77350:7 _ = _rc var _p *TVdbe // sqlite3.c:77351:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _rc = _vdbeUnbind(tls, _p, _i) if _rc != i32(0) { goto _0 } _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+72*uintptr(_i-i32(1)))), _iValue) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _0: r0 = _rc return } func _sqlite3VdbeMemSetInt64(tls *crt.TLS, _pMem *XMem, _val int64) { // sqlite3.c:70309:1 if (int32(_pMem.X1) & i32(9312)) == i32(0) { goto _0 } _vdbeReleaseAndSetInt64(tls, _pMem, _val) goto _1 _0: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _val *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) _1: return } func _vdbeReleaseAndSetInt64(tls *crt.TLS, _pMem *XMem, _val int64) { // sqlite3.c:70299:1 _sqlite3VdbeMemSetNull(tls, _pMem) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _val *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) return } func Xsqlite3_bind_null(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77359:12 var _rc int32 // sqlite3.c:77360:7 _ = _rc var _p *TVdbe // sqlite3.c:77361:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _rc = _vdbeUnbind(tls, _p, _i) if _rc != i32(0) { goto _0 } Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _0: r0 = _rc return } func Xsqlite3_bind_parameter_count(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77464:12 var _p *TVdbe // sqlite3.c:77465:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) r0 = func() int32 { if _p != nil { return int32(_p.X4) } return i32(0) }() return } func Xsqlite3_bind_parameter_index(tls *crt.TLS, _pStmt unsafe.Pointer, _zName *int8) (r0 int32) { // sqlite3.c:77490:12 r0 = _sqlite3VdbeParameterIndex(tls, (*TVdbe)(unsafe.Pointer(_pStmt)), _zName, _sqlite3Strlen30(tls, _zName)) return } func _sqlite3VdbeParameterIndex(tls *crt.TLS, _p *TVdbe, _zName *int8, _nName int32) (r0 int32) { // sqlite3.c:77486:1 if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = i32(0) return _1: r0 = _sqlite3VListNameToNum(tls, _p.X25, _zName, _nName) return } func _sqlite3VListNameToNum(tls *crt.TLS, _pIn *int32, _zName *int8, _nName int32) (r0 int32) { // sqlite3.c:29169:1 var _i int32 // sqlite3.c:29170:7 _ = _i var _mx int32 // sqlite3.c:29170:10 _ = _mx var _1_z *int8 // sqlite3.c:29175:16 _ = _1_z if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) _i = i32(2) _1: _1_z = (*int8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(2)))))) if crt.Xstrncmp(tls, _1_z, _zName, uint64(_nName)) != i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_z)) + 1*uintptr(_nName)))) != i32(0) { goto _3 } r0 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i))) return _3: { p := &_i *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(1))))) sink961 = *p } if _i < _mx { goto _1 } r0 = i32(0) return } func Xsqlite3_bind_parameter_name(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *int8) { // sqlite3.c:77475:12 var _p *TVdbe // sqlite3.c:77476:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: r0 = _sqlite3VListNumToName(tls, _p.X25, _i) return } func _sqlite3VListNumToName(tls *crt.TLS, _pIn *int32, _iVal int32) (r0 *int8) { // sqlite3.c:29153:1 var _i int32 // sqlite3.c:29154:7 _ = _i var _mx int32 // sqlite3.c:29154:10 _ = _mx if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: _mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) _i = i32(2) _1: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i)))) != _iVal { goto _2 } r0 = (*int8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(2)))))) return _2: { p := &_i *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(1))))) sink961 = *p } if _i < _mx { goto _1 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } 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 r0 = _bindText(tls, _pStmt, _i, (unsafe.Pointer)(_zData), _nData, _xDel, uint8(i32(1))) return } 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 r0 = _bindText(tls, _pStmt, _i, _zData, _nData, _xDel, uint8(i32(2))) return } func Xsqlite3_bind_value(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _pValue *XMem) (r0 int32) { // sqlite3.c:77404:12 var _rc int32 // sqlite3.c:77405:7 _ = _rc switch Xsqlite3_value_type(tls, _pValue) { case i32(1): goto _1 case i32(2): goto _2 case i32(3): goto _4 case i32(4): goto _3 default: goto _5 } _1: _rc = Xsqlite3_bind_int64(tls, _pStmt, _i, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pValue)) + uintptr(0 /* X0 */)))))) goto _6 _2: _rc = Xsqlite3_bind_double(tls, _pStmt, _i, *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pValue)) + uintptr(0 /* X0 */)))))) goto _6 _3: if (int32(_pValue.X1) & i32(16384)) == 0 { goto _7 } _rc = Xsqlite3_bind_zeroblob(tls, _pStmt, _i, *(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pValue)) + uintptr(0 /* X0 */)))))) goto _8 _7: _rc = Xsqlite3_bind_blob(tls, _pStmt, _i, (unsafe.Pointer)(_pValue.X5), _pValue.X4, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _8: goto _6 _4: _rc = _bindText(tls, _pStmt, _i, (unsafe.Pointer)(_pValue.X5), _pValue.X4, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)})), _pValue.X2) goto _6 _5: _rc = Xsqlite3_bind_null(tls, _pStmt, _i) goto _6 _6: r0 = _rc return } func Xsqlite3_bind_zeroblob(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _n int32) (r0 int32) { // sqlite3.c:77435:12 var _rc int32 // sqlite3.c:77436:7 _ = _rc var _p *TVdbe // sqlite3.c:77437:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _rc = _vdbeUnbind(tls, _p, _i) if _rc != i32(0) { goto _0 } _sqlite3VdbeMemSetZeroBlob(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+72*uintptr(_i-i32(1)))), _n) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _0: r0 = _rc return } func _sqlite3VdbeMemSetZeroBlob(tls *crt.TLS, _pMem *XMem, _n int32) { // sqlite3.c:70284:1 _sqlite3VdbeMemRelease(tls, _pMem) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(16400)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = i32(0) if _n >= i32(0) { goto _0 } _n = i32(0) _0: *(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _n *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(141423)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415638)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(536 /* X71 */))))) + uintptr(0 /* X0 */))) = _xBusy *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415638)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(536 /* X71 */))))) + uintptr(8 /* X1 */))) = _pArg *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415638)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(536 /* X71 */))))) + uintptr(16 /* X2 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(632 /* X74 */))) = i32(0) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(0) return } func _sqlite3SafetyCheckOk(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:28854:1 var _magic uint32 // sqlite3.c:28855:7 _ = _magic if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _logBadConnection(tls, str(200)) r0 = i32(0) return _0: _magic = _db.X28 if _magic == u32(2687084183) { goto _1 } if _sqlite3SafetyCheckSickOrOk(tls, _db) == 0 { goto _2 } _logBadConnection(tls, str(7172)) _2: r0 = i32(0) return _1: r0 = i32(1) return } func _logBadConnection(tls *crt.TLS, _zType *int8) { // sqlite3.c:28833:1 Xsqlite3_log(tls, i32(21), str(7184), unsafe.Pointer(_zType)) return } func _sqlite3SafetyCheckSickOrOk(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:28871:1 var _magic uint32 // sqlite3.c:28872:7 _ = _magic _magic = _db.X28 if _magic == uint32(i32(1266094736)) || _magic == u32(2687084183) || _magic == u32(4030429446) { goto _2 } _logBadConnection(tls, str(7232)) r0 = i32(0) return _2: r0 = i32(1) return } func Xsqlite3_busy_timeout(tls *crt.TLS, _db *Xsqlite3, _ms int32) (r0 int32) { // sqlite3.c:141471:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(141473)) return _0: if _ms <= i32(0) { goto _1 } Xsqlite3_busy_handler(tls, _db, _sqliteDefaultBusyCallback, (unsafe.Pointer)(_db)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(632 /* X74 */))) = _ms goto _2 _1: Xsqlite3_busy_handler(tls, _db, nil, (unsafe.Pointer)(uintptr(i32(0)))) _2: r0 = i32(0) return } func _sqliteDefaultBusyCallback(tls *crt.TLS, _ptr unsafe.Pointer, _count int32) (r0 int32) { // sqlite3.c:141355:1 var _db *Xsqlite3 // sqlite3.c:141365:11 _ = _db var _timeout int32 // sqlite3.c:141366:7 _ = _timeout var _delay int32 // sqlite3.c:141367:7 _ = _delay var _prior int32 // sqlite3.c:141367:14 _ = _prior _db = (*Xsqlite3)(unsafe.Pointer(_ptr)) _timeout = _db.X74 func() int32 { if _count >= i32(0) { return i32(0) } return func() int32 { 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(7240))) crt.X__builtin_abort(tls) return i32(0) }() }() if _count >= i32(12) { goto _2 } _delay = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00delaysØ001)) + 1*uintptr(_count)))) _prior = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00totalsØ002)) + 1*uintptr(_count)))) goto _3 _2: _delay = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00delaysØ001)) + 1*uintptr(i32(11))))) _prior = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00totalsØ002)) + 1*uintptr(i32(11))))) + (_delay * (_count - i32(11))) _3: if (_prior + _delay) <= _timeout { goto _4 } _delay = _timeout - _prior if _delay > i32(0) { goto _5 } r0 = i32(0) return _5: _4: _sqlite3OsSleep(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), _delay*i32(1000)) r0 = i32(1) return } var _sqliteDefaultBusyCallbackØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqliteDefaultBusyCallbackØ00__func__Ø000[0], str(7252), 26) } var _sqliteDefaultBusyCallbackØ00delaysØ001 [12]uint8 // sqlite3.c:141360:19 func init() { _sqliteDefaultBusyCallbackØ00delaysØ001 = [12]uint8{1, 2, 5, 10, 15, 20, 25, 25, 25, 50, 50, 100} } var _sqliteDefaultBusyCallbackØ00totalsØ002 [12]uint8 // sqlite3.c:141362:19 func init() { _sqliteDefaultBusyCallbackØ00totalsØ002 = [12]uint8{0, 1, 3, 8, 18, 33, 53, 78, 103, 128, 178, 228} } func _sqlite3OsSleep(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nMicro int32) (r0 int32) { // sqlite3.c:20309:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_pVfs.X15)})))(tls, _pVfs, _nMicro) return } func Xsqlite3_changes(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140845:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(140848)) r0 = i32(0) return _0: r0 = _db.X29 return } func Xsqlite3_close(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:141009:12 r0 = _sqlite3Close(tls, _db, i32(0)) return } func _sqlite3Close(tls *crt.TLS, _db *Xsqlite3, _forceZombie int32) (r0 int32) { // sqlite3.c:140950:1 if _db != nil { goto _0 } r0 = i32(0) return _0: if _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { goto _1 } r0 = _sqlite3MisuseError(tls, i32(140957)) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if (int32(_db.X24) & i32(8)) == 0 { goto _2 } (_db.X41)(tls, uint32(i32(8)), _db.X42, (unsafe.Pointer)(_db), (unsafe.Pointer)(uintptr(i32(0)))) _2: _disconnectAllVtab(tls, _db) _sqlite3VtabRollback(tls, _db) if _forceZombie != 0 || _connectionIsBusy(tls, _db) == 0 { goto _4 } _sqlite3ErrorWithMsg(tls, _db, i32(5), str(7280)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(5) return _4: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(100 /* X28 */))) = uint32(i32(1691352191)) _sqlite3LeaveMutexAndCloseZombie(tls, _db) r0 = i32(0) return } func _disconnectAllVtab(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:140905:1 var _i int32 // sqlite3.c:140907:7 _ = _i var _p *XHashElem // sqlite3.c:140908:12 _ = _p var _1_pSchema *XSchema // sqlite3.c:140911:12 _ = _1_pSchema var _3_pTab *XTable // sqlite3.c:140914:15 _ = _3_pTab var _4_pMod *XModule // sqlite3.c:140920:12 _ = _4_pMod _sqlite3BtreeEnterAll(tls, _db) _i = i32(0) _0: if _i >= (_db.X5) { goto _3 } _1_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X4)) if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X4)) == nil { goto _4 } _p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSchema)) + uintptr(8 /* X2 */))).X2)) _5: if _p == nil { goto _8 } _3_pTab = (*XTable)(unsafe.Pointer(_p.X2)) if (_3_pTab.X16) == 0 { goto _9 } _sqlite3VtabDisconnect(tls, _db, _3_pTab) _9: _p = (*XHashElem)(unsafe.Pointer(_p.X0)) goto _5 _8: _4: _i += 1 goto _0 _3: _p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(440 /* X65 */))).X2)) _10: if _p == nil { goto _13 } _4_pMod = (*XModule)(unsafe.Pointer(_p.X2)) if (*XTable)(unsafe.Pointer(_4_pMod.X4)) == nil { goto _14 } _sqlite3VtabDisconnect(tls, _db, (*XTable)(unsafe.Pointer(_4_pMod.X4))) _14: _p = (*XHashElem)(unsafe.Pointer(_p.X0)) goto _10 _13: _sqlite3VtabUnlockList(tls, _db) _sqlite3BtreeLeaveAll(tls, _db) return } func _sqlite3BtreeEnterAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58847:1 if int32(_db.X25) != i32(0) { goto _0 } _btreeEnterAll(tls, _db) _0: return } func _btreeEnterAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58833:1 var _i int32 // sqlite3.c:58834:7 _ = _i var _skipOk int32 // sqlite3.c:58835:7 _ = _skipOk var _p *XBtree // sqlite3.c:58836:9 _ = _p _skipOk = i32(1) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= (_db.X5) { goto _5 } _p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _p == nil || (_p.X3) == 0 { goto _7 } _sqlite3BtreeEnter(tls, _p) _skipOk = i32(0) _7: _i += 1 goto _2 _5: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(93 /* X25 */))) = uint8(_skipOk) return } var _btreeEnterAllØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_btreeEnterAllØ00__func__Ø000[0], str(7348), 14) } func _sqlite3BtreeEnter(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58718:1 func() int32 { 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))))) { return i32(0) } return func() int32 { 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(7364))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(7400))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(7436))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(7472))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)))))) { return i32(0) } return func() int32 { 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(7508))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X4) == 0) || ((_p.X6) > i32(0)) { return i32(0) } return func() int32 { 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(7552))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X3) != 0) || ((_p.X6) == i32(0)) { return i32(0) } return func() int32 { 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(7584))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_p.X4) == i32(0)) && ((_p.X3) != 0)) || ((*Xsqlite3)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X1)) == (*Xsqlite3)(unsafe.Pointer(_p.X0))) { return i32(0) } return func() int32 { 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(7652))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X3) != 0 { goto _28 } return _28: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))) += 1 if (_p.X4) == 0 { goto _29 } return _29: _btreeLockCarefully(tls, _p) return } var _sqlite3BtreeEnterØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeEnterØ00__func__Ø000[0], str(7704), 18) } func _btreeLockCarefully(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58752:1 var _pLater *XBtree // sqlite3.c:58753:9 _ = _pLater if Xsqlite3_mutex_try(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != i32(0) { goto _0 } *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X1) + uintptr(8 /* X1 */))))) = (*Xsqlite3)(unsafe.Pointer(_p.X0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(18 /* X4 */))) = uint8(i32(1)) return _0: _pLater = (*XBtree)(unsafe.Pointer(_p.X9)) _1: if _pLater == nil { goto _4 } func() int32 { if (_pLater.X3) != 0 { return i32(0) } return func() int32 { 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(7724))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(7744))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pLater.X4) == 0) || ((_pLater.X6) > i32(0)) { return i32(0) } return func() int32 { 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(7796))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pLater.X4) == 0 { goto _13 } _unlockBtreeMutex(tls, _pLater) _13: _pLater = (*XBtree)(unsafe.Pointer(_pLater.X9)) goto _1 _4: _lockBtreeMutex(tls, _p) _pLater = (*XBtree)(unsafe.Pointer(_p.X9)) _14: if _pLater == nil { goto _17 } if (_pLater.X6) == 0 { goto _18 } _lockBtreeMutex(tls, _pLater) _18: _pLater = (*XBtree)(unsafe.Pointer(_pLater.X9)) goto _14 _17: return } func Xsqlite3_mutex_try(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22847:12 var _rc int32 // sqlite3.c:22848:7 _ = _rc _rc = i32(0) if _p == nil { goto _0 } func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X5)}))) != nil { return i32(0) } return func() int32 { 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(7836))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X5)})))(tls, _p) return _0: r0 = _rc return } var _sqlite3_mutex_tryØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_tryØ00__func__Ø000[0], str(7872), 18) } var _btreeLockCarefullyØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_btreeLockCarefullyØ00__func__Ø000[0], str(7892), 19) } func _unlockBtreeMutex(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58688:1 var _pBt *XBtShared // sqlite3.c:58689:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if int32(_p.X4) == i32(1) { return i32(0) } return func() int32 { 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(7912))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == (*Xsqlite3)(unsafe.Pointer(_pBt.X1)) { return i32(0) } return func() int32 { 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(7960))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(18 /* X4 */))) = uint8(i32(0)) return } var _unlockBtreeMutexØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_unlockBtreeMutexØ00__func__Ø000[0], str(7976), 17) } func _lockBtreeMutex(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58674:1 func() int32 { if int32(_p.X4) == i32(0) { return i32(0) } return func() int32 { 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(7996))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != 0 { return i32(0) } return func() int32 { 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(8012))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X1) + uintptr(8 /* X1 */))))) = (*Xsqlite3)(unsafe.Pointer(_p.X0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(18 /* X4 */))) = uint8(i32(1)) return } var _lockBtreeMutexØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_lockBtreeMutexØ00__func__Ø000[0], str(8052), 15) } func Xsqlite3_mutex_notheld(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22878:12 func() int32 { if (_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X8)}))) != nil) { return i32(0) } return func() int32 { 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(8068))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X8)})))(tls, _p) != 0) return } var _sqlite3_mutex_notheldØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_notheldØ00__func__Ø000[0], str(8116), 22) } func _sqlite3VtabDisconnect(tls *crt.TLS, _db *Xsqlite3, _p *XTable) { // sqlite3.c:124742:1 var _ppVTab **XVTable // sqlite3.c:124743:10 _ = _ppVTab var _2_pVTab *XVTable // sqlite3.c:124751:14 _ = _2_pVTab func() int32 { if (_p.X16) != 0 { return i32(0) } return func() int32 { 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(8140))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _ppVTab = (**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X18 */))))) _6: if (*_ppVTab) == nil { goto _9 } if (*Xsqlite3)(unsafe.Pointer((*_ppVTab).X0)) != _db { goto _10 } _2_pVTab = *_ppVTab *_ppVTab = (*XVTable)(unsafe.Pointer(_2_pVTab.X6)) _sqlite3VtabUnlock(tls, _2_pVTab) goto _9 _10: _ppVTab = (**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_ppVTab)) + uintptr(40 /* X6 */))))) goto _6 _9: return } var _sqlite3VtabDisconnectØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabDisconnectØ00__func__Ø000[0], str(8188), 22) } func _sqlite3BtreeHoldsAllMutexes(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:58870:1 var _i int32 // sqlite3.c:58871:7 _ = _i var _2_p *XBtree // sqlite3.c:58876:11 _ = _2_p if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { goto _0 } r0 = i32(0) return _0: _i = i32(0) _1: if _i >= (_db.X5) { goto _4 } _2_p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) 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 { goto _8 } r0 = i32(0) return _8: _i += 1 goto _1 _4: r0 = i32(1) return } func _sqlite3VtabUnlock(tls *crt.TLS, _pVTab *XVTable) { // sqlite3.c:124678:1 var _db *Xsqlite3 // sqlite3.c:124679:11 _ = _db var _1_p *Xsqlite3_vtab // sqlite3.c:124687:18 _ = _1_p _db = (*Xsqlite3)(unsafe.Pointer(_pVTab.X0)) func() int32 { if _db != nil { return i32(0) } return func() int32 { 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(8212))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pVTab.X3) > i32(0) { return i32(0) } return func() int32 { 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(8216))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_db.X28) == u32(2687084183)) || ((_db.X28) == uint32(i32(1691352191))) { return i32(0) } return func() int32 { 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(8232))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTab)) + uintptr(24 /* X3 */))) -= 1 if (_pVTab.X3) != i32(0) { goto _7 } _1_p = (*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)) if _1_p == nil { goto _8 } (*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_1_p.X0)).X4)})))(tls, _1_p) _8: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pVTab)) _7: return } var _sqlite3VtabUnlockØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabUnlockØ00__func__Ø000[0], str(8296), 18) } func _sqlite3VtabUnlockList(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:124780:1 var _p *XVTable // sqlite3.c:124781:10 _ = _p var _2_pNext *XVTable // sqlite3.c:124790:14 _ = _2_pNext _p = (*XVTable)(unsafe.Pointer(_db.X68)) *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(480 /* X68 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p == nil { goto _4 } _sqlite3ExpirePreparedStatements(tls, _db) _5: _2_pNext = (*XVTable)(unsafe.Pointer(_p.X6)) _sqlite3VtabUnlock(tls, _p) _p = _2_pNext if _p != nil { goto _5 } _4: return } var _sqlite3VtabUnlockListØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabUnlockListØ00__func__Ø000[0], str(8316), 22) } func _sqlite3ExpirePreparedStatements(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:75845:1 var _p *TVdbe // sqlite3.c:75846:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_db.X1)) _0: if _p == nil { goto _3 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _p = (*TVdbe)(unsafe.Pointer(_p.X2)) goto _0 _3: return } func _sqlite3BtreeLeaveAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58859:1 if int32(_db.X25) != i32(0) { goto _0 } _btreeLeaveAll(tls, _db) _0: return } func _btreeLeaveAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58850:1 var _i int32 // sqlite3.c:58851:7 _ = _i var _p *XBtree // sqlite3.c:58852:9 _ = _p func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= (_db.X5) { goto _5 } _p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _p == nil { goto _6 } _sqlite3BtreeLeave(tls, _p) _6: _i += 1 goto _2 _5: return } var _btreeLeaveAllØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_btreeLeaveAllØ00__func__Ø000[0], str(8340), 14) } func _sqlite3BtreeLeave(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58790:1 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X3) == 0 { goto _2 } func() int32 { if (_p.X6) > i32(0) { return i32(0) } return func() int32 { 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(8356))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))) -= 1 if (_p.X6) != i32(0) { goto _5 } _unlockBtreeMutex(tls, _p) _5: _2: return } var _sqlite3BtreeLeaveØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeLeaveØ00__func__Ø000[0], str(8372), 18) } func _sqlite3VtabRollback(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125432:1 _callFinaliser(tls, _db, int32(u64(136))) r0 = i32(0) return } func _callFinaliser(tls *crt.TLS, _db *Xsqlite3, _offset int32) { // sqlite3.c:125382:1 var _i int32 // sqlite3.c:125383:7 _ = _i var _1_aVTrans **XVTable // sqlite3.c:125385:12 _ = _1_aVTrans var _2_pVTab *XVTable // sqlite3.c:125388:14 _ = _2_pVTab var _2_p *Xsqlite3_vtab // sqlite3.c:125389:20 _ = _2_p var _3_x func(*crt.TLS, *Xsqlite3_vtab) int32 // sqlite3.c:125391:13 _ = _3_x if (**XVTable)(unsafe.Pointer(_db.X67)) == nil { goto _0 } _1_aVTrans = (**XVTable)(unsafe.Pointer(_db.X67)) *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(472 /* X67 */))))) = (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) _i = i32(0) _1: if _i >= (_db.X64) { goto _4 } _2_pVTab = *(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aVTrans)) + 8*uintptr(_i))) _2_p = (*Xsqlite3_vtab)(unsafe.Pointer(_2_pVTab.X2)) if _2_p == nil { goto _5 } _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))))))))) if _3_x == nil { goto _6 } _3_x(tls, _2_p) _6: _5: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pVTab)) + uintptr(32 /* X5 */))) = i32(0) _sqlite3VtabUnlock(tls, _2_pVTab) _i += 1 goto _1 _4: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_aVTrans)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(436 /* X64 */))) = i32(0) _0: return } func _connectionIsBusy(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140936:1 var _j int32 // sqlite3.c:140937:7 _ = _j var _1_pBt *XBtree // sqlite3.c:140941:11 _ = _1_pBt func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*TVdbe)(unsafe.Pointer(_db.X1)) == nil { goto _2 } r0 = i32(1) return _2: _j = i32(0) _3: if _j >= (_db.X5) { goto _6 } _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_j))).X1)) if _1_pBt == nil || _sqlite3BtreeIsInBackup(tls, _1_pBt) == 0 { goto _8 } r0 = i32(1) return _8: _j += 1 goto _3 _6: r0 = i32(0) return } var _connectionIsBusyØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_connectionIsBusyØ00__func__Ø000[0], str(8392), 17) } func _sqlite3BtreeIsInBackup(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68596:1 func() int32 { if _p != nil { return i32(0) } return func() int32 { 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(8412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((_p.X7) != i32(0)) return } var _sqlite3BtreeIsInBackupØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeIsInBackupØ00__func__Ø000[0], str(8416), 23) } func _sqlite3ErrorWithMsg(tls *crt.TLS, _db *Xsqlite3, _err_code int32, _zFormat *int8, args ...interface{}) { // sqlite3.c:27792:1 var _2_z *int8 // sqlite3.c:27799:10 _ = _2_z var _2_ap []interface{} // sqlite3.c:27800:13 _ = _2_ap func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = _err_code _sqlite3SystemError(tls, _db, _err_code) if _zFormat != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _sqlite3Error(tls, _db, _err_code) goto _3 _2: if (*XMem)(unsafe.Pointer(_db.X56)) == nil && store5448613((**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(328 /* X56 */))))), _sqlite3ValueNew(tls, _db)) == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _2_ap = args _2_z = _sqlite3VMPrintf(tls, _db, _zFormat, _2_ap) _2_ap = nil _sqlite3ValueSetStr(tls, (*XMem)(unsafe.Pointer(_db.X56)), i32(-1), (unsafe.Pointer)(_2_z), uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _5: _3: return } var _sqlite3ErrorWithMsgØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ErrorWithMsgØ00__func__Ø000[0], str(8440), 20) } func _sqlite3ValueNew(tls *crt.TLS, _db *Xsqlite3) (r0 *XMem) { // sqlite3.c:70683:1 var _p *XMem // sqlite3.c:70684:7 _ = _p _p = (*XMem)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(72)))) if _p == nil { goto _0 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint16(i32(1)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X9 */))))) = _db _0: r0 = _p return } func _sqlite3DbMallocZero(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24778:1 var _p unsafe.Pointer // sqlite3.c:24779:8 _ = _p _p = _sqlite3DbMallocRaw(tls, _db, _n) if _p == nil { goto _0 } crt.Xmemset(tls, _p, i32(0), _n) _0: r0 = _p return } func _sqlite3ValueSetStr(tls *crt.TLS, _v *XMem, _n int32, _z unsafe.Pointer, _enc uint8, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:71284:1 if _v == nil { goto _0 } _sqlite3VdbeMemSetStr(tls, _v, (*int8)(unsafe.Pointer(_z)), _n, _enc, _xDel) _0: return } func _sqlite3LeaveMutexAndCloseZombie(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:141021:1 var _i *XHashElem // sqlite3.c:141022:12 _ = _i var _j int32 // sqlite3.c:141023:7 _ = _j var _2_pDb *XDb // sqlite3.c:141051:15 _ = _2_pDb var _6_pNext *XFuncDef // sqlite3.c:141077:13 _ = _6_pNext var _6_p *XFuncDef // sqlite3.c:141077:21 _ = _6_p var _8_pColl *XCollSeq // sqlite3.c:141088:13 _ = _8_pColl var _11_pMod *XModule // sqlite3.c:141100:12 _ = _11_pMod if (_db.X28) == uint32(i32(1691352191)) && _connectionIsBusy(tls, _db) == 0 { goto _1 } Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) return _1: _sqlite3RollbackAll(tls, _db, i32(0)) _sqlite3CloseSavepoints(tls, _db) _j = i32(0) _2: if _j >= (_db.X5) { goto _5 } _2_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_j))) if (*XBtree)(unsafe.Pointer(_2_pDb.X1)) == nil { goto _6 } _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_2_pDb.X1))) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pDb)) + uintptr(8 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) if _j == i32(1) { goto _7 } *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pDb)) + uintptr(24 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) _7: _6: _j += 1 goto _2 _5: if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X4)) == nil { goto _8 } _sqlite3SchemaClear(tls, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X4) _8: _sqlite3VtabUnlockList(tls, _db) _sqlite3CollapseDatabaseArray(tls, _db) func() int32 { if (_db.X5) <= i32(2) { return i32(0) } return func() int32 { 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(8460))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XDb)(unsafe.Pointer(_db.X4)) == (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(560 /* X72 */))))) { return i32(0) } return func() int32 { 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(8472))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(488 /* X69 */))).X2)) _13: if _i == nil { goto _16 } _6_p = (*XFuncDef)(unsafe.Pointer(_i.X2)) _17: _functionDestroy(tls, _db, _6_p) _6_pNext = (*XFuncDef)(unsafe.Pointer(_6_p.X3)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_6_p)) _6_p = _6_pNext if _6_p != nil { goto _17 } _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _13 _16: _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(488 /* X69 */)))) _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(512 /* X70 */))).X2)) _18: if _i == nil { goto _21 } _8_pColl = (*XCollSeq)(unsafe.Pointer(_i.X2)) _j = i32(0) _22: if _j >= i32(3) { goto _25 } if ((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pColl)) + 40*uintptr(_j))).X4) == nil { goto _26 } ((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pColl)) + 40*uintptr(_j))).X4)(tls, (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pColl))+40*uintptr(_j))).X2) _26: _j += 1 goto _22 _25: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_8_pColl)) _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _18 _21: _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(512 /* X70 */)))) _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(440 /* X65 */))).X2)) _27: if _i == nil { goto _30 } _11_pMod = (*XModule)(unsafe.Pointer(_i.X2)) if (_11_pMod.X3) == nil { goto _31 } (_11_pMod.X3)(tls, _11_pMod.X2) _31: _sqlite3VtabEponymousTableClear(tls, _db, _11_pMod) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_11_pMod)) _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _27 _30: _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */)))) _sqlite3Error(tls, _db, i32(0)) _sqlite3ValueFree(tls, (*XMem)(unsafe.Pointer(_db.X56))) _sqlite3CloseExtensions(tls, _db) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(100 /* X28 */))) = u32(3040180528) _sqlite3DbFree(tls, _db, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X4) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(100 /* X28 */))) = u32(2671521075) Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) func() int32 { if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3) == i32(0) { return i32(0) } return func() int32 { 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(8496))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X2) == 0 { goto _34 } Xsqlite3_free(tls, (*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X7) _34: Xsqlite3_free(tls, (unsafe.Pointer)(_db)) return } func _sqlite3RollbackAll(tls *crt.TLS, _db *Xsqlite3, _tripCode int32) { // sqlite3.c:141144:1 var _i int32 // sqlite3.c:141145:7 _ = _i var _inTrans int32 // sqlite3.c:141146:7 _ = _inTrans var _schemaChange int32 // sqlite3.c:141147:7 _ = _schemaChange var _1_p *XBtree // sqlite3.c:141161:11 _ = _1_p _inTrans = i32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BeginBenignMalloc(tls) _sqlite3BtreeEnterAll(tls, _db) _schemaChange = bool2int((((_db.X6) & i32(2)) != i32(0)) && (int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == i32(0))) _i = i32(0) _3: if _i >= (_db.X5) { goto _6 } _1_p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _1_p == nil { goto _7 } if _sqlite3BtreeIsInTrans(tls, _1_p) == 0 { goto _8 } _inTrans = i32(1) _8: _sqlite3BtreeRollback(tls, _1_p, _tripCode, bool2int(_schemaChange == 0)) _7: _i += 1 goto _3 _6: _sqlite3VtabRollback(tls, _db) _sqlite3EndBenignMalloc(tls) if ((_db.X6)&i32(2)) == i32(0) || int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != i32(0) { goto _10 } _sqlite3ExpirePreparedStatements(tls, _db) _sqlite3ResetAllSchemasOfConnection(tls, _db) _10: _sqlite3BtreeLeaveAll(tls, _db) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(648 /* X77 */))) = int64(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(656 /* X78 */))) = int64(i32(0)) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-33554433) sink961 = *p } if (_db.X48) == nil || _inTrans == 0 && (_db.X15) != 0 { goto _13 } (_db.X48)(tls, _db.X47) _13: return } var _sqlite3RollbackAllØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RollbackAllØ00__func__Ø000[0], str(8520), 19) } func _sqlite3BeginBenignMalloc(tls *crt.TLS) { // sqlite3.c:20543:1 if (_sqlite3Hooks.X0) == nil { goto _0 } (_sqlite3Hooks.X0)(tls) _0: return } var _sqlite3Hooks TBenignMallocHooks // sqlite3.c:20507:3 func _sqlite3BtreeIsInTrans(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68557:1 func() int32 { if (_p == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(8540))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((_p != nil) && (int32(_p.X2) == i32(2))) return } var _sqlite3BtreeIsInTransØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeIsInTransØ00__func__Ø000[0], str(8584), 22) } func _sqlite3BtreeRollback(tls *crt.TLS, _p *XBtree, _tripCode int32, _writeOnly int32) (r0 int32) { // sqlite3.c:62955:1 var _rc int32 // sqlite3.c:62956:7 _ = _rc var _pBt *XBtShared // sqlite3.c:62957:12 _ = _pBt var _pPage1 *XMemPage // sqlite3.c:62958:11 _ = _pPage1 var _3_rc2 int32 // sqlite3.c:62970:9 _ = _3_rc2 var _4_rc2 int32 // sqlite3.c:62977:9 _ = _4_rc2 var _6_nPage int32 // sqlite3.c:62989:11 _ = _6_nPage _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if (_writeOnly == i32(1)) || (_writeOnly == i32(0)) { return i32(0) } return func() int32 { 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(8608))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_tripCode == i32(516)) || (_tripCode == i32(0)) { return i32(0) } return func() int32 { 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(8640))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) if _tripCode != i32(0) { goto _6 } _rc = store961(&_tripCode, _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))))) if _rc == 0 { goto _7 } _writeOnly = i32(0) _7: goto _8 _6: _rc = i32(0) _8: if _tripCode == 0 { goto _9 } _3_rc2 = _sqlite3BtreeTripAllCursors(tls, _p, _tripCode, _writeOnly) func() int32 { if (_rc == i32(0)) || ((_writeOnly == i32(0)) && (_3_rc2 == i32(0))) { return i32(0) } return func() int32 { 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(8696))) crt.X__builtin_abort(tls) return i32(0) }() }() if _3_rc2 == i32(0) { goto _14 } _rc = _3_rc2 _14: _9: func() int32 { if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { return i32(0) } return func() int32 { 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(8748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { return i32(0) } return func() int32 { 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(8812))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X2) != i32(2) { goto _20 } func() int32 { if i32(2) == int32(_pBt.X8) { return i32(0) } return func() int32 { 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(8848))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_rc2 = _sqlite3PagerRollback(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) if _4_rc2 == i32(0) { goto _23 } _rc = _4_rc2 _23: if _btreeGetPage(tls, _pBt, uint32(i32(1)), &_pPage1, i32(0)) != i32(0) { goto _24 } _6_nPage = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(28))))))+uintptr(unsafe.Pointer(_pPage1.X19)))))) if _6_nPage != i32(0) { goto _25 } _sqlite3PagerPagecount(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), &_6_nPage) _25: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) = uint32(_6_nPage) _releasePage(tls, _pPage1) _24: func() int32 { if _countValidCursors(tls, _pBt, i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(8880))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X8 */))) = uint8(i32(1)) _btreeClearHasContent(tls, _pBt) _20: _btreeEndTransaction(tls, _p) _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeRollbackØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeRollbackØ00__func__Ø000[0], str(8912), 21) } func _saveAllCursors(tls *crt.TLS, _pBt *XBtShared, _iRoot uint32, _pExcept *XBtCursor) (r0 int32) { // sqlite3.c:59661:1 var _p *XBtCursor // sqlite3.c:59662:12 _ = _p func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pExcept == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || ((*XBtShared)(unsafe.Pointer(_pExcept.X1)) == _pBt) { return i32(0) } return func() int32 { 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(8936))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) _5: if _p == nil { goto _8 } if _p == _pExcept || uint32(i32(0)) != _iRoot && (_p.X7) != _iRoot { goto _11 } goto _8 _11: _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) goto _5 _8: if _p == nil { goto _12 } r0 = _saveCursorsOnList(tls, _p, _iRoot, _pExcept) return _12: if _pExcept == nil { goto _13 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExcept)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-33)) sink4537 = *p } _13: r0 = i32(0) return } var _saveAllCursorsØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_saveAllCursorsØ00__func__Ø000[0], str(8968), 15) } func _saveCursorsOnList(tls *crt.TLS, _p *XBtCursor, _iRoot uint32, _pExcept *XBtCursor) (r0 int32) { // sqlite3.c:59678:1 var _3_rc int32 // sqlite3.c:59686:13 _ = _3_rc _0: if _p == _pExcept || uint32(i32(0)) != _iRoot && (_p.X7) != _iRoot { goto _3 } if int32(_p.X12) != i32(1) && int32(_p.X12) != i32(2) { goto _5 } _3_rc = _saveCursorPosition(tls, _p) if i32(0) == _3_rc { goto _6 } r0 = _3_rc return _6: goto _7 _5: _btreeReleaseAllCursorPages(tls, _p) _7: _3: _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) if _p != nil { goto _0 } r0 = i32(0) return } func _saveCursorPosition(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59614:1 var _rc int32 // sqlite3.c:59615:7 _ = _rc func() int32 { if (i32(1) == int32(_pCur.X12)) || (i32(2) == int32(_pCur.X12)) { return i32(0) } return func() int32 { 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(8984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) == (_pCur.X6) { return i32(0) } return func() int32 { 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(9044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _cursorHoldsMutex(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(9060))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCur.X12) != i32(2) { goto _7 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(1)) goto _8 _7: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(0) _8: _rc = _saveCursorKey(tls, _pCur) if _rc != i32(0) { goto _9 } _btreeReleaseAllCursorPages(tls, _pCur) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(3)) _9: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-15)) sink4537 = *p } r0 = _rc return } var _saveCursorPositionØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_saveCursorPositionØ00__func__Ø000[0], str(9084), 19) } func _cursorHoldsMutex(tls *crt.TLS, _p *XBtCursor) (r0 int32) { // sqlite3.c:59408:1 r0 = Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) return } func _saveCursorKey(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59578:1 var _rc int32 // sqlite3.c:59579:7 _ = _rc var _2_pKey unsafe.Pointer // sqlite3.c:59589:10 _ = _2_pKey _rc = i32(0) func() int32 { if i32(1) == int32(_pCur.X12) { return i32(0) } return func() int32 { 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(9104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) == (_pCur.X6) { return i32(0) } return func() int32 { 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(9044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _cursorHoldsMutex(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(9060))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pCur.X15) == 0 { goto _6 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X5 */))) = _sqlite3BtreeIntegerKey(tls, _pCur) goto _7 _6: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X5 */))) = int64(_sqlite3BtreePayloadSize(tls, _pCur)) _2_pKey = _sqlite3Malloc(tls, uint64(_pCur.X5)) if _2_pKey == nil { goto _8 } _rc = _sqlite3BtreePayload(tls, _pCur, uint32(i32(0)), uint32(int32(_pCur.X5)), _2_pKey) if _rc != i32(0) { goto _9 } *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X6 */))) = _2_pKey goto _10 _9: Xsqlite3_free(tls, _2_pKey) _10: goto _11 _8: _rc = _sqlite3NomemError(tls, i32(59600)) _11: _7: func() int32 { if ((_pCur.X15) == 0) || ((_pCur.X6) == nil) { return i32(0) } return func() int32 { 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(9132))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _saveCursorKeyØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_saveCursorKeyØ00__func__Ø000[0], str(9164), 14) } func _sqlite3BtreeIntegerKey(tls *crt.TLS, _pCur *XBtCursor) (r0 int64) { // sqlite3.c:63314:1 func() int32 { if _cursorHoldsMutex(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(9060))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) == i32(1) { return i32(0) } return func() int32 { 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(9180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCur.X15) != 0 { return i32(0) } return func() int32 { 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(9208))) crt.X__builtin_abort(tls) return i32(0) }() }() _getCellInfo(tls, _pCur) r0 = (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X0 return } var _sqlite3BtreeIntegerKeyØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeIntegerKeyØ00__func__Ø000[0], str(9224), 23) } func _getCellInfo(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:63283:1 var _1_iPage int32 // sqlite3.c:63285:9 _ = _1_iPage if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X4) != i32(0) { goto _0 } _1_iPage = int32(_pCur.X14) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(2)) sink4537 = *p } _btreeParseCell(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_1_iPage))), int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_1_iPage)))), (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */)))) goto _1 _0: _assertCellInfo(tls, _pCur) _1: return } func _btreeParseCell(tls *crt.TLS, _pPage *XMemPage, _iCell int32, _pInfo *XCellInfo) { // sqlite3.c:60159:1 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_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)))))<= i32(0)) && ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))) != nil) { return i32(0) } return func() int32 { 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(9348))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) { return i32(0) } return func() int32 { 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(9392))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _accessPayload(tls, _pCur, _offset, _amt, (*uint8)(unsafe.Pointer(_pBuf)), i32(0)) return } var _sqlite3BtreePayloadØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreePayloadØ00__func__Ø000[0], str(9452), 20) } func _accessPayload(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf *uint8, _eOp int32) (r0 int32) { // sqlite3.c:63475:1 var _aPayload *uint8 // sqlite3.c:63482:17 _ = _aPayload var _rc int32 // sqlite3.c:63483:7 _ = _rc var _iIdx int32 // sqlite3.c:63484:7 _ = _iIdx var _pPage *XMemPage // sqlite3.c:63485:11 _ = _pPage var _pBt *XBtShared // sqlite3.c:63486:12 _ = _pBt var _2_a int32 // sqlite3.c:63513:9 _ = _2_a var _5_ovflSize uint32 // sqlite3.c:63527:15 _ = _5_ovflSize var _5_nextPage uint32 // sqlite3.c:63528:10 _ = _5_nextPage var _6_nOvfl int32 // sqlite3.c:63540:11 _ = _6_nOvfl var _7_aNew *uint32 // sqlite3.c:63542:14 _ = _7_aNew var _16_a int32 // sqlite3.c:63596:13 _ = _16_a var _18_pDbPage *XPgHdr // sqlite3.c:63633:18 _ = _18_pDbPage _rc = i32(0) _iIdx = i32(0) _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) _pBt = (*XBtShared)(unsafe.Pointer(_pCur.X1)) func() int32 { if _pPage != nil { return i32(0) } return func() int32 { 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(9472))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eOp == i32(0)) || (_eOp == i32(1)) { return i32(0) } return func() int32 { 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(9480))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) == i32(1) { return i32(0) } return func() int32 { 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(9180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32(_pPage.X14) { return i32(0) } return func() int32 { 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(9500))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _cursorHoldsMutex(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(9060))) crt.X__builtin_abort(tls) return i32(0) }() }() _getCellInfo(tls, _pCur) _aPayload = (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X1 func() int32 { if (_offset + _amt) <= ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X2) { return i32(0) } return func() int32 { 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(9540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if uintptr(unsafe.Pointer(_aPayload)) > uintptr(unsafe.Pointer(_pPage.X19)) { return i32(0) } return func() int32 { 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(9576))) crt.X__builtin_abort(tls) return i32(0) }() }() if uint64(int64((uintptr(unsafe.Pointer(_aPayload))-uintptr(unsafe.Pointer(_pPage.X19)))/1)) <= uint64((_pBt.X16)-uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3)) { goto _15 } r0 = _sqlite3CorruptError(tls, i32(63508)) return _15: if _offset >= uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3) { goto _16 } _2_a = int32(_amt) if (uint32(_2_a) + _offset) <= uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3) { goto _17 } _2_a = int32(uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3) - _offset) _17: _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))) _offset = uint32(i32(0)) { p := &_pBuf *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_2_a))) sink4543 = *p } { p := &_amt *p = (*p) - uint32(_2_a) sink985 = *p } goto _18 _16: { p := &_offset *p = (*p) - uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3) sink985 = *p } _18: if _rc != i32(0) || _amt <= uint32(i32(0)) { goto _20 } _5_ovflSize = (_pBt.X16) - uint32(i32(4)) _5_nextPage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPayload))+1*uintptr((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3)))) if (int32(_pCur.X10) & i32(4)) != i32(0) { goto _21 } _6_nOvfl = int32((((((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X2) - uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3)) + _5_ovflSize) - uint32(i32(1))) / _5_ovflSize) if _6_nOvfl <= (_pCur.X8) { goto _22 } _7_aNew = (*uint32)(unsafe.Pointer(_sqlite3Realloc(tls, (unsafe.Pointer)(_pCur.X3), uint64(_6_nOvfl*i32(2))*u64(4)))) if _7_aNew != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } r0 = _sqlite3NomemError(tls, i32(63546)) return _23: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(76 /* X8 */))) = _6_nOvfl * i32(2) *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(24 /* X3 */))) = _7_aNew _22: crt.Xmemset(tls, (unsafe.Pointer)(_pCur.X3), i32(0), uint64(_6_nOvfl)*u64(4)) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(4)) sink4537 = *p } goto _25 _21: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_offset/_5_ovflSize)))) == 0 { goto _26 } _iIdx = int32(_offset / _5_ovflSize) _5_nextPage = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx))) _offset = _offset % _5_ovflSize _26: _25: func() int32 { if (_rc == i32(0)) && (_amt > uint32(i32(0))) { return i32(0) } return func() int32 { 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(9600))) crt.X__builtin_abort(tls) return i32(0) }() }() _30: if _5_nextPage == 0 { goto _31 } func() int32 { 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)) { return i32(0) } return func() int32 { 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(9624))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx))) = _5_nextPage if _offset < _5_ovflSize { goto _36 } func() int32 { if (int32(_pCur.X10) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(9700))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)) == (*Xsqlite3)(unsafe.Pointer(_pBt.X1)) { return i32(0) } return func() int32 { 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(9732))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx+i32(1))))) == 0 { goto _41 } _5_nextPage = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx+i32(1)))) goto _42 _41: _rc = _getOverflowPage(tls, _pBt, _5_nextPage, (**XMemPage)(unsafe.Pointer(uintptr(i32(0)))), &_5_nextPage) _42: { p := &_offset *p = (*p) - _5_ovflSize sink985 = *p } goto _43 _36: _16_a = int32(_amt) if (uint32(_16_a) + _offset) <= _5_ovflSize { goto _44 } _16_a = int32(_5_ovflSize - _offset) _44: _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _5_nextPage, &_18_pDbPage, func() int32 { if _eOp == i32(0) { return i32(2) } return i32(0) }()) if _rc != i32(0) { goto _47 } _aPayload = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _18_pDbPage))) _5_nextPage = _sqlite3Get4byte(tls, _aPayload) _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) _sqlite3PagerUnref(tls, _18_pDbPage) _offset = uint32(i32(0)) _47: { p := &_amt *p = (*p) - uint32(_16_a) sink985 = *p } if _amt != uint32(i32(0)) { goto _48 } r0 = _rc return _48: { p := &_pBuf *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_16_a))) sink4543 = *p } _43: if _rc == 0 { goto _49 } goto _31 _49: _iIdx += 1 goto _30 _31: _20: if _rc != i32(0) || _amt <= uint32(i32(0)) { goto _51 } r0 = _sqlite3CorruptError(tls, i32(63655)) return _51: r0 = _rc return } var _accessPayloadØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_accessPayloadØ00__func__Ø000[0], str(9760), 14) } func _sqlite3CorruptError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143228:1 r0 = _reportError(tls, i32(11), _lineno, str(9776)) return } func _copyPayload(tls *crt.TLS, _pPayload unsafe.Pointer, _pBuf unsafe.Pointer, _nByte int32, _eOp int32, _pDbPage *XPgHdr) (r0 int32) { // sqlite3.c:63425:1 var _1_rc int32 // sqlite3.c:63434:9 _ = _1_rc if _eOp == 0 { goto _0 } _1_rc = _sqlite3PagerWrite(tls, _pDbPage) if _1_rc == i32(0) { goto _1 } r0 = _1_rc return _1: crt.Xmemcpy(tls, _pPayload, _pBuf, uint64(_nByte)) goto _2 _0: crt.Xmemcpy(tls, _pBuf, _pPayload, uint64(_nByte)) _2: r0 = i32(0) return } func _sqlite3PagerWrite(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52911:1 var _pPager *XPager // sqlite3.c:52912:9 _ = _pPager _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) func() int32 { if (int32(_pPg.X6) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(9796))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) >= i32(2) { return i32(0) } return func() int32 { 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(9828))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pPg.X6)&i32(4)) == i32(0) || (_pPager.X22) < (_pPg.X5) { goto _7 } if (_pPager.X38) == 0 { goto _8 } r0 = _subjournalPageIfRequired(tls, _pPg) return _8: r0 = i32(0) return _7: if (_pPager.X26) == 0 { goto _10 } r0 = _pPager.X26 return _10: if (_pPager.X47) <= uint32(_pPager.X48) { goto _12 } func() int32 { if int32(_pPager.X10) == i32(0) { return i32(0) } return func() int32 { 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(9892))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pagerWriteLargeSector(tls, _pPg) return _12: r0 = _pager_write(tls, _pPg) return } var _sqlite3PagerWriteØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerWriteØ00__func__Ø000[0], str(9912), 18) } func _assert_pager_state(tls *crt.TLS, _p *XPager) (r0 int32) { // sqlite3.c:47721:1 var _pPager *XPager // sqlite3.c:47722:9 _ = _pPager _pPager = _p func() int32 { 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)) { return i32(0) } return func() int32 { 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(9932))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X10) == i32(0)) || (int32(_p.X15) == i32(4)) { return i32(0) } return func() int32 { 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(10148))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X10) == i32(0)) || ((_pPager.X16) != 0) { return i32(0) } return func() int32 { 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(10192))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X2) == i32(2)) || ((_p.X3) != 0) { return i32(0) } return func() int32 { 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(10236))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(10292))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X13) == 0 { goto _20 } func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_p.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(10352))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X4) != 0 { return i32(0) } return func() int32 { 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(10368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X2) == i32(2)) || (int32(_p.X2) == i32(4)) { return i32(0) } return func() int32 { 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(10380))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X14) != i32(6)) && (int32(_p.X14) != i32(0)) { return i32(0) } return func() int32 { 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(10464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if bool2int((*XWal)(unsafe.Pointer(_p.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0) { return i32(0) } return func() int32 { 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(10512))) crt.X__builtin_abort(tls) return i32(0) }() }() _20: func() int32 { if (int32(_pPager.X16) == i32(0)) || (int32(_pPager.X15) >= i32(2)) { return i32(0) } return func() int32 { 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(10532))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X15) != i32(3) { return i32(0) } return func() int32 { 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(10592))) crt.X__builtin_abort(tls) return i32(0) }() }() switch int32(_p.X14) { case i32(0): goto _39 case i32(1): goto _40 case i32(2): goto _41 case i32(3): goto _42 case i32(4): goto _43 case i32(5): goto _44 case i32(6): goto _45 default: goto _46 } _39: func() int32 { if (_pPager.X13) == 0 { return i32(0) } return func() int32 { 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(10616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) == i32(0)) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(10652))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _40: func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X15) != i32(5) { return i32(0) } return func() int32 { 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(10716))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X15) >= i32(1) { return i32(0) } return func() int32 { 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(10740))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _41: func() int32 { if int32(_p.X15) != i32(5) { return i32(0) } return func() int32 { 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(10716))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _64 } func() int32 { if int32(_p.X15) >= i32(2) { return i32(0) } return func() int32 { 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(10764))) crt.X__builtin_abort(tls) return i32(0) }() }() _64: func() int32 { if (_pPager.X22) == (_pPager.X23) { return i32(0) } return func() int32 { 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(10788))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X23) == (_pPager.X24) { return i32(0) } return func() int32 { 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(10824))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X23) == (_pPager.X25) { return i32(0) } return func() int32 { 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(10864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X17) == i32(0) { return i32(0) } return func() int32 { 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(10904))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _42: func() int32 { if int32(_p.X15) != i32(5) { return i32(0) } return func() int32 { 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(10716))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _79 } func() int32 { if int32(_p.X15) >= i32(2) { return i32(0) } return func() int32 { 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(10764))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(10928))) crt.X__builtin_abort(tls) return i32(0) }() }() _79: func() int32 { if (_pPager.X23) == (_pPager.X24) { return i32(0) } return func() int32 { 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(10824))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X23) == (_pPager.X25) { return i32(0) } return func() int32 { 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(10864))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _43: func() int32 { if int32(_p.X15) == i32(4) { return i32(0) } return func() int32 { 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(11028))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X15) >= i32(4) { return i32(0) } return func() int32 { 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(11080))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(10928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X23) <= (_pPager.X25) { return i32(0) } return func() int32 { 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(11108))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _44: func() int32 { if int32(_p.X15) == i32(4) { return i32(0) } return func() int32 { 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(11028))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(10928))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _45: func() int32 { if (_pPager.X26) != i32(0) { return i32(0) } return func() int32 { 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(11148))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) > i32(0)) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(11176))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _46: r0 = i32(1) return } var _assert_pager_stateØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_assert_pager_stateØ00__func__Ø000[0], str(11240), 19) } func _sqlite3PcacheRefCount(tls *crt.TLS, _pCache *XPCache) (r0 int32) { // sqlite3.c:44862:1 r0 = _pCache.X3 return } func _subjournalPageIfRequired(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:51344:1 if _subjRequiresPage(tls, _pPg) == 0 { goto _0 } r0 = _subjournalPage(tls, _pPg) return _0: r0 = i32(0) return } func _subjRequiresPage(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:47938:1 var _pPager *XPager // sqlite3.c:47939:9 _ = _pPager var _p *XPagerSavepoint // sqlite3.c:47940:18 _ = _p var _pgno uint32 // sqlite3.c:47941:8 _ = _pgno var _i int32 // sqlite3.c:47942:7 _ = _i _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) _pgno = _pPg.X5 _i = i32(0) _0: if _i >= (_pPager.X38) { goto _3 } _p = (*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 48*uintptr(_i))) if (_p.X3) < _pgno || i32(0) != _sqlite3BitvecTestNotNull(tls, (*XBitvec)(unsafe.Pointer(_p.X2)), _pgno) { goto _5 } r0 = i32(1) return _5: _i += 1 goto _0 _3: r0 = i32(0) return } func _sqlite3BitvecTestNotNull(tls *crt.TLS, _p *XBitvec, _i uint32) (r0 int32) { // sqlite3.c:43794:1 var _1_bin uint32 // sqlite3.c:43799:9 _ = _1_bin var _4_h uint32 // sqlite3.c:43809:9 _ = _4_h func() int32 { if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _i -= 1 if _i < (_p.X0) { goto _2 } r0 = i32(0) return _2: _3: if (_p.X2) == 0 { goto _4 } _1_bin = _i / (_p.X2) _i = _i % (_p.X2) _p = *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_bin))) if _p != nil { goto _5 } r0 = i32(0) return _5: goto _3 _4: if uint64(_p.X0) > u64(3968) { goto _6 } r0 = bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[496]uint8)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 1*uintptr(_i/uint32(i32(8)))))) & (i32(1) << uint(int32(_i&uint32(i32(7)))))) != i32(0)) return _6: _4_h = uint32(uint64(postInc985(&_i, uint32(1))*uint32(i32(1))) % u64(124)) _8: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_4_h)))) == 0 { goto _9 } if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_4_h)))) != _i { goto _10 } r0 = i32(1) return _10: _4_h = uint32(uint64(_4_h+uint32(i32(1))) % u64(124)) goto _8 _9: r0 = i32(0) return } var _sqlite3BitvecTestNotNullØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BitvecTestNotNullØ00__func__Ø000[0], str(11260), 25) } func _subjournalPage(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:51307:1 var _rc int32 // sqlite3.c:51308:7 _ = _rc var _pPager *XPager // sqlite3.c:51309:9 _ = _pPager var _2_pData unsafe.Pointer // sqlite3.c:51325:12 _ = _2_pData var _2_offset int64 // sqlite3.c:51326:11 _ = _2_offset var _2_pData2 *int8 // sqlite3.c:51327:12 _ = _2_pData2 _rc = i32(0) _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) if int32(_pPager.X2) == i32(2) { goto _0 } func() int32 { if (_pPager.X3) != 0 { return i32(0) } return func() int32 { 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(11288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(11308))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(11352))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) || _pageInJournal(tls, _pPager, _pPg) != 0) || ((_pPg.X5) > (_pPager.X23)) { return i32(0) } return func() int32 { 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(11396))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _openSubJournal(tls, _pPager) if _rc != i32(0) { goto _13 } _2_pData = _pPg.X1 _2_offset = int64(_pPager.X29) * int64(i32(4)+(_pPager.X48)) _2_pData2 = (*int8)(unsafe.Pointer(_2_pData)) _rc = _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), _2_offset, _pPg.X5) if _rc != i32(0) { goto _14 } _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), (unsafe.Pointer)(_2_pData2), _pPager.X48, _2_offset+int64(i32(4))) _14: _13: _0: if _rc != i32(0) { goto _15 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X29 */))) += 1 func() int32 { if (_pPager.X38) > i32(0) { return i32(0) } return func() int32 { 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(11480))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _addToSavepointBitvecs(tls, _pPager, _pPg.X5) _15: r0 = _rc return } var _subjournalPageØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_subjournalPageØ00__func__Ø000[0], str(11504), 15) } func _pageInJournal(tls *crt.TLS, _pPager *XPager, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:47956:1 r0 = _sqlite3BitvecTest(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pPg.X5) return } func _sqlite3BitvecTest(tls *crt.TLS, _p *XBitvec, _i uint32) (r0 int32) { // sqlite3.c:43817:1 r0 = bool2int((_p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0))))) && _sqlite3BitvecTestNotNull(tls, _p, _i) != 0) return } func _openSubJournal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51281:1 var _rc int32 // sqlite3.c:51282:7 _ = _rc var _1_flags int32 // sqlite3.c:51284:15 _ = _1_flags var _1_nStmtSpill int32 // sqlite3.c:51287:9 _ = _1_nStmtSpill _rc = i32(0) if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _1_flags = i32(8222) _1_nStmtSpill = _sqlite3Config.X9 if int32(_pPager.X2) != i32(4) && (_pPager.X19) == 0 { goto _2 } _1_nStmtSpill = i32(-1) _2: _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) _0: r0 = _rc return } func _sqlite3JournalOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zName *int8, _pJfd *Xsqlite3_file, _flags int32, _nSpill int32) (r0 int32) { // sqlite3.c:88948:1 var _p *XMemJournal // sqlite3.c:88955:14 _ = _p _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(88)) if _nSpill != i32(0) { goto _0 } r0 = _sqlite3OsOpen(tls, _pVfs, _zName, _pJfd, _flags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) return _0: if _nSpill <= i32(0) { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = _nSpill goto _2 _1: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = int32(u64(1016)) func() int32 { if uint64(i32(1024)) == (u64(16) + uint64((_p.X1)-i32(8))) { return i32(0) } return func() int32 { 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(11520))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: *(**Xsqlite3_io_methods)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = &_MemJournalMethods *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = _nSpill *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X7 */))) = _flags *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X9 */))) = _zName *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X8 */))))) = _pVfs r0 = i32(0) return } func _sqlite3OsOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _pFile *Xsqlite3_file, _flags int32, _pFlagsOut *int32) (r0 int32) { // sqlite3.c:20251:1 var _rc int32 // sqlite3.c:20258:7 _ = _rc _rc = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32 }{(_pVfs.X6)})))(tls, _pVfs, _zPath, _pFile, _flags&i32(556927), _pFlagsOut) func() int32 { if (_rc == i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_pFile.X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(11580))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3OsOpenØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3OsOpenØ00__func__Ø000[0], str(11616), 14) } var _sqlite3JournalOpenØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3JournalOpenØ00__func__Ø000[0], str(11632), 19) } var _MemJournalMethods Xsqlite3_io_methods // sqlite3.c:88914:40 func init() { _MemJournalMethods = Xsqlite3_io_methods{X0: i32(1), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_memjrnlClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_memjrnlRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_memjrnlWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64) int32 }{_memjrnlTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_memjrnlSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int64) int32 }{_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} } func _memjrnlClose(tls *crt.TLS, _pJfd *Xsqlite3_file) (r0 int32) { // sqlite3.c:88885:1 var _p *XMemJournal // sqlite3.c:88886:14 _ = _p _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) _memjrnlFreeChunks(tls, _p) r0 = i32(0) return } func _memjrnlFreeChunks(tls *crt.TLS, _p *XMemJournal) { // sqlite3.c:88739:1 var _pIter *XFileChunk // sqlite3.c:88740:13 _ = _pIter var _pNext *XFileChunk // sqlite3.c:88741:13 _ = _pNext _pIter = (*XFileChunk)(unsafe.Pointer(_p.X4)) _0: if _pIter == nil { goto _3 } _pNext = (*XFileChunk)(unsafe.Pointer(_pIter.X0)) Xsqlite3_free(tls, (unsafe.Pointer)(_pIter)) _pIter = _pNext goto _0 _3: *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) return } func _memjrnlRead(tls *crt.TLS, _pJfd *Xsqlite3_file, _zBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { // sqlite3.c:88688:1 var _p *XMemJournal // sqlite3.c:88694:14 _ = _p var _zOut *uint8 // sqlite3.c:88695:6 _ = _zOut var _nRead int32 // sqlite3.c:88696:7 _ = _nRead var _iChunkOffset int32 // sqlite3.c:88697:7 _ = _iChunkOffset var _pChunk *XFileChunk // sqlite3.c:88698:13 _ = _pChunk var _1_iOff int64 // sqlite3.c:88709:19 _ = _1_iOff var _4_iSpace int32 // sqlite3.c:88723:9 _ = _4_iSpace var _4_nCopy int32 // sqlite3.c:88724:9 _ = _4_nCopy _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) _zOut = (*uint8)(unsafe.Pointer(_zBuf)) _nRead = _iAmt func() int32 { if (int64(_iAmt) + _iOfst) <= ((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))).X0) { return i32(0) } return func() int32 { 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(11652))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))).X0) == int64(i32(0))) || ((*XFileChunk)(unsafe.Pointer((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X6 */))).X1)) != (*XFileChunk)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(11688))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X6 */))).X0) == _iOfst && _iOfst != int64(i32(0)) { goto _6 } _1_iOff = i64(0) _pChunk = (*XFileChunk)(unsafe.Pointer(_p.X4)) _7: if func() int32 { if _pChunk != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || (_1_iOff+int64(_p.X1)) > _iOfst { goto _13 } { p := &_1_iOff *p = (*p) + int64(_p.X1) sink967 = *p } _pChunk = (*XFileChunk)(unsafe.Pointer(_pChunk.X0)) goto _7 _13: goto _14 _6: _pChunk = (*XFileChunk)(unsafe.Pointer((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))).X1)) func() int32 { if _pChunk != (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11740))) crt.X__builtin_abort(tls) return i32(0) }() }() _14: _iChunkOffset = int32(_iOfst % int64(_p.X1)) _17: _4_iSpace = (_p.X1) - _iChunkOffset _4_nCopy = func() int32 { if _nRead < ((_p.X1) - _iChunkOffset) { return _nRead } return ((_p.X1) - _iChunkOffset) }() 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(8 /* X1 */)))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_iChunkOffset)))))))), uint64(_4_nCopy)) { p := &_zOut *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_4_nCopy))) sink4543 = *p } { p := &_nRead *p = (*p) - _4_iSpace sink961 = *p } _iChunkOffset = i32(0) if ((_nRead >= i32(0)) && (store5963683(&_pChunk, (*XFileChunk)(unsafe.Pointer(_pChunk.X0))) != (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))))) && (_nRead > i32(0)) { goto _17 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X6 */))))) + uintptr(0 /* X0 */))) = func() int64 { if _pChunk != nil { return (_iOfst + int64(_iAmt)) } return int64(i32(0)) }() *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X6 */))))) + uintptr(8 /* X1 */))))) = _pChunk r0 = i32(0) return } var _memjrnlReadØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_memjrnlReadØ00__func__Ø000[0], str(11752), 12) } func _memjrnlWrite(tls *crt.TLS, _pJfd *Xsqlite3_file, _zBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { // sqlite3.c:88791:1 var _p *XMemJournal // sqlite3.c:88797:14 _ = _p var _nWrite int32 // sqlite3.c:88798:7 _ = _nWrite var _zWrite *uint8 // sqlite3.c:88799:6 _ = _zWrite var _1_rc int32 // sqlite3.c:88804:9 _ = _1_rc var _5_pChunk *XFileChunk // sqlite3.c:88829:19 _ = _5_pChunk var _5_iChunkOffset int32 // sqlite3.c:88830:13 _ = _5_iChunkOffset var _5_iSpace int32 // sqlite3.c:88831:13 _ = _5_iSpace var _6_pNew *XFileChunk // sqlite3.c:88835:21 _ = _6_pNew _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) _nWrite = _iAmt _zWrite = (*uint8)(unsafe.Pointer(_zBuf)) if (_p.X2) <= i32(0) || (int64(_iAmt)+_iOfst) <= int64(_p.X2) { goto _1 } _1_rc = _memjrnlCreateFile(tls, _p) if _1_rc != i32(0) { goto _2 } _1_rc = _sqlite3OsWrite(tls, _pJfd, _zBuf, _iAmt, _iOfst) _2: r0 = _1_rc return _1: func() int32 { if (_iOfst == ((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))).X0)) || (_iOfst == int64(i32(0))) { return i32(0) } return func() int32 { 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(11764))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iOfst > int64(i32(0))) || ((*XFileChunk)(unsafe.Pointer(_p.X4)) == (*XFileChunk)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(11804))) crt.X__builtin_abort(tls) return i32(0) }() }() _10: if _nWrite <= i32(0) { goto _11 } _5_pChunk = (*XFileChunk)(unsafe.Pointer((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))).X1)) _5_iChunkOffset = int32(((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))).X0) % int64(_p.X1)) _5_iSpace = func() int32 { if _nWrite < ((_p.X1) - _5_iChunkOffset) { return _nWrite } return ((_p.X1) - _5_iChunkOffset) }() if _5_iChunkOffset != i32(0) { goto _14 } _6_pNew = (*XFileChunk)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u64(16)+uint64((_p.X1)-i32(8)))))) if _6_pNew != nil { goto _15 } r0 = _sqlite3IoerrnomemError(tls, i32(88837)) return _15: *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(0 /* X0 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) if _5_pChunk == nil { goto _16 } func() int32 { if (*XFileChunk)(unsafe.Pointer(_p.X4)) != nil { return i32(0) } return func() int32 { 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(11828))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pChunk)) + uintptr(0 /* X0 */))))) = _6_pNew goto _19 _16: func() int32 { if (*XFileChunk)(unsafe.Pointer(_p.X4)) == nil { return i32(0) } return func() int32 { 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(11840))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))))) = _6_pNew _19: *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X5 */))))) + uintptr(8 /* X1 */))))) = _6_pNew _14: crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*[8]uint8)(unsafe.Pointer(uintptr((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X5 */))).X1)+uintptr(8 /* X1 */)))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_5_iChunkOffset)))))))), (unsafe.Pointer)(_zWrite), uint64(_5_iSpace)) { p := &_zWrite *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_5_iSpace))) sink4543 = *p } { p := &_nWrite *p = (*p) - _5_iSpace sink961 = *p } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X5 */))))) + uintptr(0 /* X0 */))) *p = (*p) + int64(_5_iSpace) sink967 = *p } goto _10 _11: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = int32(int64(_iAmt) + _iOfst) r0 = i32(0) return } func _memjrnlCreateFile(tls *crt.TLS, _p *XMemJournal) (r0 int32) { // sqlite3.c:88752:1 var _rc int32 // sqlite3.c:88753:7 _ = _rc var _pReal *Xsqlite3_file // sqlite3.c:88754:16 _ = _pReal var _copy XMemJournal // sqlite3.c:88755:14 _ = _copy var _1_nChunk int32 // sqlite3.c:88760:9 _ = _1_nChunk var _1_iOff int64 // sqlite3.c:88761:9 _ = _1_iOff var _1_pIter *XFileChunk // sqlite3.c:88762:15 _ = _1_pIter _pReal = (*Xsqlite3_file)(unsafe.Pointer(_p)) _copy = *_p crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(88)) _rc = _sqlite3OsOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_copy.X8)), _copy.X9, _pReal, _copy.X7, (*int32)(unsafe.Pointer(uintptr(i32(0))))) if _rc != i32(0) { goto _0 } _1_nChunk = _copy.X1 _1_iOff = i64(0) _1_pIter = (*XFileChunk)(unsafe.Pointer(_copy.X4)) _1: if _1_pIter == nil { goto _4 } if (_1_iOff + int64(_1_nChunk)) <= ((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_copy)) + uintptr(32 /* X5 */))).X0) { goto _5 } _1_nChunk = int32(((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_copy)) + uintptr(32 /* X5 */))).X0) - _1_iOff) _5: _rc = _sqlite3OsWrite(tls, _pReal, (unsafe.Pointer)((*[8]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIter))+uintptr(8 /* X1 */)))), _1_nChunk, _1_iOff) if _rc == 0 { goto _6 } goto _4 _6: { p := &_1_iOff *p = (*p) + int64(_1_nChunk) sink967 = *p } _1_pIter = (*XFileChunk)(unsafe.Pointer(_1_pIter.X0)) goto _1 _4: if _rc != i32(0) { goto _7 } _memjrnlFreeChunks(tls, &_copy) _7: _0: if _rc == i32(0) { goto _8 } _sqlite3OsClose(tls, _pReal) *_p = _copy _8: r0 = _rc return } func _sqlite3OsWrite(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:20143:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X3)})))(tls, _id, _pBuf, _amt, _offset) return } func _sqlite3OsClose(tls *crt.TLS, _pId *Xsqlite3_file) { // sqlite3.c:20133:1 if (*Xsqlite3_io_methods)(unsafe.Pointer(_pId.X0)) == nil { goto _0 } (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_pId.X0)).X1)})))(tls, _pId) *(**Xsqlite3_io_methods)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pId)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) _0: return } var _memjrnlWriteØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_memjrnlWriteØ00__func__Ø000[0], str(11852), 13) } func Xsqlite3_malloc(tls *crt.TLS, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:24481:12 if Xsqlite3_initialize(tls) == 0 { goto _0 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: r0 = func() unsafe.Pointer { if _n <= i32(0) { return unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) } return _sqlite3Malloc(tls, uint64(_n)) }() return } func _sqlite3IoerrnomemError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143245:1 r0 = _reportError(tls, i32(3082), _lineno, str(11868)) return } func _memjrnlTruncate(tls *crt.TLS, _pJfd *Xsqlite3_file, _size int64) (r0 int32) { // sqlite3.c:88869:1 var _p *XMemJournal // sqlite3.c:88870:14 _ = _p _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) if func() int32 { if _size == int64(i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2 } _memjrnlFreeChunks(tls, _p) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(0) *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X5 */))))) + uintptr(8 /* X1 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X5 */))))) + uintptr(0 /* X0 */))) = int64(i32(0)) *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X6 */))))) + uintptr(8 /* X1 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X6 */))))) + uintptr(0 /* X0 */))) = int64(i32(0)) _2: r0 = i32(0) return } var _memjrnlTruncateØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_memjrnlTruncateØ00__func__Ø000[0], str(11884), 16) } func _memjrnlSync(tls *crt.TLS, _pJfd *Xsqlite3_file, _flags int32) (r0 int32) { // sqlite3.c:88897:1 func() int32 { ; return _flags }() r0 = i32(0) return } func _memjrnlFileSize(tls *crt.TLS, _pJfd *Xsqlite3_file, _pSize *int64) (r0 int32) { // sqlite3.c:88905:1 var _p *XMemJournal // sqlite3.c:88906:14 _ = _p _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) *_pSize = (*T5963412)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))).X0 r0 = i32(0) return } func _write32bits(tls *crt.TLS, _fd *Xsqlite3_file, _offset int64, _val uint32) (r0 int32) { // sqlite3.c:47987:1 var _ac [4]int8 // sqlite3.c:47988:8 _ = _ac _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(&_ac)))), _val) r0 = _sqlite3OsWrite(tls, _fd, (unsafe.Pointer)(&_ac), i32(4), _offset) return } func _sqlite3Put4byte(tls *crt.TLS, _p *uint8, _v uint32) { // sqlite3.c:28770:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0)))) = uint8(_v >> uint(i32(24))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(1)))) = uint8(_v >> uint(i32(16))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(2)))) = uint8(_v >> uint(i32(8))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(3)))) = uint8(_v) return } func _addToSavepointBitvecs(tls *crt.TLS, _pPager *XPager, _pgno uint32) (r0 int32) { // sqlite3.c:48640:1 var _ii int32 // sqlite3.c:48641:7 _ = _ii var _rc int32 // sqlite3.c:48642:7 _ = _rc var _1_p *XPagerSavepoint // sqlite3.c:48645:20 _ = _1_p _rc = i32(0) _ii = i32(0) _0: if _ii >= (_pPager.X38) { goto _3 } _1_p = (*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 48*uintptr(_ii))) if _pgno > (_1_p.X3) { goto _4 } { p := &_rc *p = (*p) | _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_1_p.X2)), _pgno) sink961 = *p } func() int32 { if (_rc == i32(0)) || (_rc == i32(7)) { return i32(0) } return func() int32 { 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(4072))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: _ii += 1 goto _0 _3: r0 = _rc return } func _sqlite3BitvecSet(tls *crt.TLS, _p *XBitvec, _i uint32) (r0 int32) { // sqlite3.c:43833:1 var _h uint32 // sqlite3.c:43834:7 _ = _h var _1_bin uint32 // sqlite3.c:43840:9 _ = _1_bin var _8_j uint32 // sqlite3.c:43875:18 _ = _8_j var _8_rc int32 // sqlite3.c:43876:9 _ = _8_rc var _8_aiValues *uint32 // sqlite3.c:43877:9 _ = _8_aiValues if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: func() int32 { if _i > uint32(i32(0)) { return i32(0) } return func() int32 { 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(11900))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _i <= (_p.X0) { return i32(0) } return func() int32 { 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(11904))) crt.X__builtin_abort(tls) return i32(0) }() }() _i -= 1 _5: if uint64(_p.X0) <= u64(3968) || (_p.X2) == 0 { goto _6 } _1_bin = _i / (_p.X2) _i = _i % (_p.X2) if (*(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_bin)))) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_bin))) = _sqlite3BitvecCreate(tls, _p.X2) if (*(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_bin)))) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } r0 = _sqlite3NomemError(tls, i32(43844)) return _9: _8: _p = *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_bin))) goto _5 _6: if uint64(_p.X0) > u64(3968) { goto _10 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[496]uint8)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 1*uintptr(_i/uint32(i32(8))))) *p = uint8(int32(*p) | (i32(1) << uint(int32(_i&uint32(i32(7)))))) sink4537 = *p } r0 = i32(0) return _10: _h = uint32(uint64(postInc985(&_i, uint32(1))*uint32(i32(1))) % u64(124)) if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_h)))) != 0 { goto _11 } if uint64(_p.X1) >= u64(123) { goto _12 } goto _bitvec_set_end _12: goto _bitvec_set_rehash _11: _14: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_h)))) != _i { goto _15 } r0 = i32(0) return _15: _h += 1 if uint64(_h) < u64(124) { goto _16 } _h = uint32(i32(0)) _16: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_h)))) != 0 { goto _14 } _bitvec_set_rehash: if uint64(_p.X1) < u64(62) { goto _17 } _8_aiValues = (*uint32)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), u64(496)))) if _8_aiValues != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } r0 = _sqlite3NomemError(tls, i32(43879)) return _18: crt.Xmemcpy(tls, (unsafe.Pointer)(_8_aiValues), (unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */)))))), u64(496)) crt.Xmemset(tls, (unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */)))))), i32(0), u64(496)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint32(((uint64(_p.X0) + u64(62)) - uint64(i32(1))) / u64(62)) _8_rc = _sqlite3BitvecSet(tls, _p, _i) _8_j = uint32(i32(0)) _20: if uint64(_8_j) >= u64(124) { goto _23 } if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aiValues)) + 4*uintptr(_8_j)))) == 0 { goto _24 } { p := &_8_rc *p = (*p) | _sqlite3BitvecSet(tls, _p, *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aiValues)) + 4*uintptr(_8_j)))) sink961 = *p } _24: _8_j += 1 goto _20 _23: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_8_aiValues)) r0 = _8_rc return _17: _bitvec_set_end: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_h))) = _i r0 = i32(0) return } var _sqlite3BitvecSetØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BitvecSetØ00__func__Ø000[0], str(11916), 17) } func _sqlite3BitvecCreate(tls *crt.TLS, _iSize uint32) (r0 *XBitvec) { // sqlite3.c:43779:1 var _p *XBitvec // sqlite3.c:43780:10 _ = _p i32(0) _p = (*XBitvec)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(512)))) if _p == nil { goto _0 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _iSize _0: r0 = _p return } var _addToSavepointBitvecsØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_addToSavepointBitvecsØ00__func__Ø000[0], str(11936), 22) } func _pagerWriteLargeSector(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52817:1 var _rc int32 // sqlite3.c:52818:7 _ = _rc var _nPageCount uint32 // sqlite3.c:52819:8 _ = _nPageCount var _pg1 uint32 // sqlite3.c:52820:8 _ = _pg1 var _nPage int32 // sqlite3.c:52821:7 _ = _nPage var _ii int32 // sqlite3.c:52822:7 _ = _ii var _needSync int32 // sqlite3.c:52823:7 _ = _needSync var _pPager *XPager // sqlite3.c:52824:9 _ = _pPager var _nPagePerSector uint32 // sqlite3.c:52825:8 _ = _nPagePerSector var _4_pg uint32 // sqlite3.c:52854:10 _ = _4_pg var _4_pPage *XPgHdr // sqlite3.c:52855:11 _ = _4_pPage var _12_pPage *XPgHdr // sqlite3.c:52884:13 _ = _12_pPage _rc = i32(0) _nPage = i32(0) _needSync = i32(0) _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) _nPagePerSector = (_pPager.X47) / uint32(_pPager.X48) func() int32 { if (_pPager.X13) == 0 { return i32(0) } return func() int32 { 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(10616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X18) & i32(4)) == i32(0) { return i32(0) } return func() int32 { 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(11960))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(25 /* X18 */))) *p = uint8(int32(*p) | i32(4)) sink4537 = *p } _pg1 = (((_pPg.X5) - uint32(i32(1))) & (^(_nPagePerSector - uint32(i32(1))))) + uint32(i32(1)) _nPageCount = _pPager.X22 if (_pPg.X5) <= _nPageCount { goto _4 } _nPage = int32(((_pPg.X5) - _pg1) + uint32(i32(1))) goto _5 _4: if ((_pg1 + _nPagePerSector) - uint32(i32(1))) <= _nPageCount { goto _6 } _nPage = int32((_nPageCount + uint32(i32(1))) - _pg1) goto _7 _6: _nPage = int32(_nPagePerSector) _7: _5: func() int32 { if _nPage > i32(0) { return i32(0) } return func() int32 { 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(12004))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pg1 <= (_pPg.X5) { return i32(0) } return func() int32 { 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(12012))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pg1 + uint32(_nPage)) > (_pPg.X5) { return i32(0) } return func() int32 { 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(12028))) crt.X__builtin_abort(tls) return i32(0) }() }() _ii = i32(0) _14: if _ii >= _nPage || _rc != i32(0) { goto _18 } _4_pg = _pg1 + uint32(_ii) if _4_pg != (_pPg.X5) && _sqlite3BitvecTest(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _4_pg) != 0 { goto _20 } if _4_pg == uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { goto _21 } _rc = _sqlite3PagerGet(tls, _pPager, _4_pg, &_4_pPage, i32(0)) if _rc != i32(0) { goto _22 } _rc = _pager_write(tls, _4_pPage) if (int32(_4_pPage.X6) & i32(8)) == 0 { goto _23 } _needSync = i32(1) _23: _sqlite3PagerUnrefNotNull(tls, _4_pPage) _22: _21: goto _24 _20: if store5557795(&_4_pPage, _sqlite3PagerLookup(tls, _pPager, _4_pg)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _25 } if (int32(_4_pPage.X6) & i32(8)) == 0 { goto _26 } _needSync = i32(1) _26: _sqlite3PagerUnrefNotNull(tls, _4_pPage) _25: _24: _ii += 1 goto _14 _18: if _rc != i32(0) || _needSync == 0 { goto _28 } func() int32 { if (_pPager.X13) == 0 { return i32(0) } return func() int32 { 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(10616))) crt.X__builtin_abort(tls) return i32(0) }() }() _ii = i32(0) _31: if _ii >= _nPage { goto _34 } _12_pPage = _sqlite3PagerLookup(tls, _pPager, _pg1+uint32(_ii)) if _12_pPage == nil { goto _35 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } _sqlite3PagerUnrefNotNull(tls, _12_pPage) _35: _ii += 1 goto _31 _34: _28: func() int32 { if (int32(_pPager.X18) & i32(4)) != i32(0) { return i32(0) } return func() int32 { 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(12052))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(25 /* X18 */))) *p = uint8(int32(*p) & i32(-5)) sink4537 = *p } r0 = _rc return } var _pagerWriteLargeSectorØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pagerWriteLargeSectorØ00__func__Ø000[0], str(12096), 22) } var _sqlite3PendingByte int32 // sqlite3.c:17407:20 func init() { _sqlite3PendingByte = i32(1073741824) } func _sqlite3PagerGet(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52434:1 r0 = (*(*func(*crt.TLS, *XPager, uint32, **XPgHdr, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32 }{(_pPager.X57)})))(tls, _pPager, _pgno, _ppPage, _flags) return } func _pager_write(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52725:1 var _pPager *XPager // sqlite3.c:52726:9 _ = _pPager var _rc int32 // sqlite3.c:52727:7 _ = _rc _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) _rc = i32(0) func() int32 { if ((int32(_pPager.X14) == i32(2)) || (int32(_pPager.X14) == i32(3))) || (int32(_pPager.X14) == i32(4)) { return i32(0) } return func() int32 { 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(12120))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(12236))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X12) == i32(0) { return i32(0) } return func() int32 { 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(12256))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X14) != i32(2) { goto _10 } _rc = _pager_open_journal(tls, _pPager) if _rc == i32(0) { goto _11 } r0 = _rc return _11: _10: func() int32 { if int32(_pPager.X14) >= i32(3) { return i32(0) } return func() int32 { 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(12276))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3PcacheMakeDirty(tls, _pPg) func() int32 { 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))))) { return i32(0) } return func() int32 { 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(12316))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3BitvecTestNotNull(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pPg.X5) != i32(0) { goto _19 } func() int32 { if bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0) { return i32(0) } return func() int32 { 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(12364))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPg.X5) > (_pPager.X23) { goto _22 } _rc = _pagerAddPageToRollbackJournal(tls, _pPg) if _rc == i32(0) { goto _23 } r0 = _rc return _23: goto _24 _22: if int32(_pPager.X14) == i32(4) { goto _25 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } _25: _24: _19: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } if (_pPager.X38) <= i32(0) { goto _26 } _rc = _subjournalPageIfRequired(tls, _pPg) _26: if (_pPager.X22) >= (_pPg.X5) { goto _27 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X22 */))) = _pPg.X5 _27: r0 = _rc return } var _pager_writeØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_pager_writeØ00__func__Ø000[0], str(12388), 12) } func _pager_open_journal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:52510:1 var _rc int32 // sqlite3.c:52511:7 _ = _rc var _pVfs *Xsqlite3_vfs // sqlite3.c:52512:15 _ = _pVfs var _5_flags int32 // sqlite3.c:52534:13 _ = _5_flags var _5_nSpill int32 // sqlite3.c:52535:13 _ = _5_nSpill _rc = i32(0) _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) func() int32 { if int32(_pPager.X14) == i32(2) { return i32(0) } return func() int32 { 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(12400))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12436))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (_pPager.X26) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _8 } r0 = _pPager.X26 return _8: if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X2) == i32(2) { goto _10 } *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(64 /* X30 */))))) = _sqlite3BitvecCreate(tls, _pPager.X22) if (*XBitvec)(unsafe.Pointer(_pPager.X30)) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } r0 = _sqlite3NomemError(tls, i32(52526)) return _11: if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } if int32(_pPager.X2) != i32(4) { goto _13 } _sqlite3MemJournalOpen(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) goto _14 _13: _5_flags = i32(6) if (_pPager.X10) == 0 { goto _15 } { p := &_5_flags *p = (*p) | i32(4104) sink961 = *p } _5_nSpill = _sqlite3Config.X9 goto _16 _15: { p := &_5_flags *p = (*p) | i32(2048) sink961 = *p } _5_nSpill = i32(0) _16: _rc = _databaseIsUnmoved(tls, _pPager) if _rc != i32(0) { goto _17 } _rc = _sqlite3JournalOpen(tls, _pVfs, _pPager.X52, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _5_flags, _5_nSpill) _17: _14: func() int32 { if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(12460))) crt.X__builtin_abort(tls) return i32(0) }() }() _12: if _rc != i32(0) { goto _21 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(52 /* X27 */))) = i32(0) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(24 /* X17 */))) = uint8(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X35 */))) = int64(i32(0)) _rc = _writeJournalHdr(tls, _pPager) _21: _10: if _rc == i32(0) { goto _22 } _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30))) *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(64 /* X30 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) goto _23 _22: func() int32 { if int32(_pPager.X14) == i32(2) { return i32(0) } return func() int32 { 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(12400))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(3)) _23: r0 = _rc return } var _pager_open_journalØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_pager_open_journalØ00__func__Ø000[0], str(12500), 19) } func _sqlite3MemJournalOpen(tls *crt.TLS, _pJfd *Xsqlite3_file) { // sqlite3.c:88984:1 _sqlite3JournalOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _pJfd, i32(0), i32(-1)) return } func _databaseIsUnmoved(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51783:1 var _bHasMoved int32 // sqlite3.c:51784:7 _ = _bHasMoved var _rc int32 // sqlite3.c:51785:7 _ = _rc _bHasMoved = i32(0) if (_pPager.X10) == 0 { goto _0 } r0 = i32(0) return _0: if (_pPager.X22) != uint32(i32(0)) { goto _1 } r0 = i32(0) return _1: func() int32 { if ((_pPager.X51) != nil) && ((*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X51)) + 1*uintptr(i32(0))))) != 0) { return i32(0) } return func() int32 { 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(12520))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsFileControl(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(20), (unsafe.Pointer)(&_bHasMoved)) if _rc != i32(12) { goto _5 } _rc = i32(0) goto _6 _5: if _rc != i32(0) || _bHasMoved == 0 { goto _8 } _rc = i32(1032) _8: _6: r0 = _rc return } var _databaseIsUnmovedØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_databaseIsUnmovedØ00__func__Ø000[0], str(12564), 18) } func _sqlite3OsFileControl(tls *crt.TLS, _id *Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:20178:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X10)})))(tls, _id, _op, _pArg) return } func _writeJournalHdr(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:48291:1 var _rc int32 // sqlite3.c:48292:7 _ = _rc var _zHeader *int8 // sqlite3.c:48293:8 _ = _zHeader var _nHeader uint32 // sqlite3.c:48294:7 _ = _nHeader var _nWrite uint32 // sqlite3.c:48295:7 _ = _nWrite var _ii int32 // sqlite3.c:48296:7 _ = _ii _rc = i32(0) _zHeader = _pPager.X58 _nHeader = uint32(_pPager.X48) func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12584))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nHeader <= (_pPager.X47) { goto _2 } _nHeader = _pPager.X47 _2: _ii = i32(0) _3: if _ii >= (_pPager.X38) { goto _6 } if ((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 48*uintptr(_ii))).X1) != int64(i32(0)) { goto _7 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37)+48*uintptr(_ii))))) + uintptr(8 /* X1 */))) = _pPager.X34 _7: _ii += 1 goto _3 _6: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X35 */))) = store967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(96 /* X34 */))), _journalHdrOffset(tls, _pPager)) func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X4) != 0) { return i32(0) } return func() int32 { 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(12604))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X4) == 0 && int32(_pPager.X2) != i32(4) && (_sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)))&i32(512)) == 0 { goto _13 } crt.Xmemcpy(tls, (unsafe.Pointer)(_zHeader), (unsafe.Pointer)(&_aJournalMagic), u64(8)) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u64(8)))))), u32(4294967295)) goto _14 _13: crt.Xmemset(tls, (unsafe.Pointer)(_zHeader), i32(0), u64(12)) _14: Xsqlite3_randomness(tls, int32(u64(4)), (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(56 /* X28 */))))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u64(12)))))), _pPager.X28) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u64(16)))))), _pPager.X23) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u64(20)))))), _pPager.X47) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u64(24)))))), uint32(_pPager.X48)) crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u64(28))))), i32(0), uint64(_nHeader)-u64(28)) _nWrite = uint32(i32(0)) _15: if _rc != i32(0) || _nWrite >= (_pPager.X47) { goto _19 } _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(_zHeader), int32(_nHeader), _pPager.X34) func() int32 { if (_pPager.X35) <= (_pPager.X34) { return i32(0) } return func() int32 { 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(12644))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) *p = (*p) + int64(_nHeader) sink967 = *p } { p := &_nWrite *p = (*p) + _nHeader sink985 = *p } goto _15 _19: r0 = _rc return } var _writeJournalHdrØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_writeJournalHdrØ00__func__Ø000[0], str(12688), 16) } func _journalHdrOffset(tls *crt.TLS, _pPager *XPager) (r0 int64) { // sqlite3.c:48208:1 var _offset int64 // sqlite3.c:48209:7 _ = _offset var _c int64 // sqlite3.c:48210:7 _ = _c _offset = i64(0) _c = _pPager.X34 if _c == 0 { goto _0 } _offset = (((_c - int64(i32(1))) / int64(_pPager.X47)) + int64(i32(1))) * int64(_pPager.X47) _0: func() int32 { if (_offset % int64(_pPager.X47)) == int64(i32(0)) { return i32(0) } return func() int32 { 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(12704))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _offset >= _c { return i32(0) } return func() int32 { 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(12740))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_offset - _c) < int64(_pPager.X47) { return i32(0) } return func() int32 { 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(12752))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _offset return } var _journalHdrOffsetØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_journalHdrOffsetØ00__func__Ø000[0], str(12788), 17) } func _sqlite3OsDeviceCharacteristics(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:20204:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X12)})))(tls, _id) return } var _aJournalMagic [8]uint8 // sqlite3.c:47632:28 func init() { _aJournalMagic = [8]uint8{217, 213, 5, 249, 32, 161, 99, 215} } func Xsqlite3_randomness(tls *crt.TLS, _N int32, _pBuf unsafe.Pointer) { // sqlite3.c:26700:12 var _t uint8 // sqlite3.c:26701:17 _ = _t var _zBuf *uint8 // sqlite3.c:26702:17 _ = _zBuf var _mutex *Xsqlite3_mutex // sqlite3.c:26718:17 _ = _mutex var _2_i int32 // sqlite3.c:26746:9 _ = _2_i var _2_k [256]int8 // sqlite3.c:26747:10 _ = _2_k _zBuf = (*uint8)(unsafe.Pointer(_pBuf)) if Xsqlite3_initialize(tls) == 0 { goto _0 } return _0: _mutex = _sqlite3MutexAlloc(tls, i32(5)) Xsqlite3_mutex_enter(tls, _mutex) if _N > i32(0) && unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { goto _2 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(0 /* X0 */))) = uint8(i32(0)) Xsqlite3_mutex_leave(tls, _mutex) return _2: if (_sqlite3Prng.X0) != 0 { goto _3 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(2 /* X2 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(1 /* X1 */))) = uint8(i32(0)) _sqlite3OsRandomness(tls, Xsqlite3_vfs_find(tls, (*int8)(unsafe.Pointer(uintptr(i32(0))))), i32(256), (*int8)(unsafe.Pointer(&_2_k))) _2_i = i32(0) _4: if _2_i >= i32(256) { goto _7 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i))) = uint8(_2_i) _2_i += 1 goto _4 _7: _2_i = i32(0) _8: if _2_i >= i32(256) { goto _11 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(2 /* X2 */))) *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)))))) sink4537 = *p } _t = *(*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(_sqlite3Prng.X2))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i))) = _t _2_i += 1 goto _8 _11: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(0 /* X0 */))) = uint8(i32(1)) _3: func() int32 { if _N > i32(0) { return i32(0) } return func() int32 { 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(12808))) crt.X__builtin_abort(tls) return i32(0) }() }() _14: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(1 /* X1 */))) += 1 _t = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X1))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(2 /* X2 */))) *p = uint8(int32(*p) + int32(_t)) sink4537 = *p } *(*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))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X2))) = _t { p := &_t *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))))) sink4537 = *p } *postInc4543(&_zBuf, 1) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_t))) if preInc961(&_N, -1) != 0 { goto _14 } Xsqlite3_mutex_leave(tls, _mutex) return } var _sqlite3Prng Tsqlite3PrngType // sqlite3.c:26695:3 func _sqlite3OsRandomness(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nByte int32, _zBufOut *int8) (r0 int32) { // sqlite3.c:20306:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 }{(_pVfs.X14)})))(tls, _pVfs, _nByte, _zBufOut) return } func Xsqlite3_vfs_find(tls *crt.TLS, _zVfs *int8) (r0 *Xsqlite3_vfs) { // sqlite3.c:20384:12 var _pVfs *Xsqlite3_vfs // sqlite3.c:20385:15 _ = _pVfs var _mutex *Xsqlite3_mutex // sqlite3.c:20387:17 _ = _mutex var _rc int32 // sqlite3.c:20390:7 _ = _rc _pVfs = nil _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _0 } r0 = (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) return _0: _mutex = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _mutex) _pVfs = _vfsList _1: if _pVfs == nil { goto _4 } if _zVfs != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } goto _4 _5: if crt.Xstrcmp(tls, _zVfs, _pVfs.X4) != i32(0) { goto _6 } goto _4 _6: _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pVfs.X3)) goto _1 _4: Xsqlite3_mutex_leave(tls, _mutex) r0 = _pVfs return } var _vfsList *Xsqlite3_vfs // sqlite3.c:20377:20 var _sqlite3_randomnessØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_randomnessØ00__func__Ø000[0], str(12812), 19) } func _sqlite3BitvecDestroy(tls *crt.TLS, _p *XBitvec) { // sqlite3.c:43941:1 var _1_i uint32 // sqlite3.c:43944:18 _ = _1_i if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: if (_p.X2) == 0 { goto _1 } _1_i = uint32(i32(0)) _2: if uint64(_1_i) >= u64(62) { goto _5 } _sqlite3BitvecDestroy(tls, *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_i)))) _1_i += 1 goto _2 _5: _1: Xsqlite3_free(tls, (unsafe.Pointer)(_p)) return } func _sqlite3PcacheMakeDirty(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44633:1 func() int32 { if int32(_p.X7) > i32(0) { return i32(0) } return func() int32 { 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(12832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X6) & i32(17)) == 0 { goto _4 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-17)) sink4530 = *p } if (int32(_p.X6) & i32(1)) == 0 { goto _5 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) ^ i32(3)) sink4530 = *p } func() int32 { if (int32(_p.X6) & i32(3)) == i32(2) { return i32(0) } return func() int32 { 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(12872))) crt.X__builtin_abort(tls) return i32(0) }() }() _pcacheManageDirtyList(tls, _p, uint8(i32(2))) _5: func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: return } var _sqlite3PcacheMakeDirtyØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheMakeDirtyØ00__func__Ø000[0], str(12924), 23) } func _sqlite3PcachePageSanity(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:44186:1 var _pCache *XPCache // sqlite3.c:44187:10 _ = _pCache func() int32 { if _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pPg.X5) > uint32(i32(0))) || ((*XPager)(unsafe.Pointer(_pPg.X4)) == (*XPager)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(12956))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCache = (*XPCache)(unsafe.Pointer(_pPg.X8)) func() int32 { if _pCache != (*XPCache)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12988))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pPg.X6) & i32(1)) == 0 { goto _7 } func() int32 { if (int32(_pPg.X6) & i32(2)) == i32(0) { return i32(0) } return func() int32 { 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(13000))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPgHdr)(unsafe.Pointer(_pCache.X0)) != _pPg { return i32(0) } return func() int32 { 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(13032))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPgHdr)(unsafe.Pointer(_pCache.X1)) != _pPg { return i32(0) } return func() int32 { 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(13052))) crt.X__builtin_abort(tls) return i32(0) }() }() _7: if (int32(_pPg.X6) & i32(4)) == 0 { goto _14 } func() int32 { if (int32(_pPg.X6) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(13076))) crt.X__builtin_abort(tls) return i32(0) }() }() _14: r0 = i32(1) return } var _sqlite3PcachePageSanityØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcachePageSanityØ00__func__Ø000[0], str(13104), 24) } func _pcacheManageDirtyList(tls *crt.TLS, _pPage *XPgHdr, _addRemove uint8) { // sqlite3.c:44236:1 var _p *XPCache // sqlite3.c:44237:10 _ = _p _p = (*XPCache)(unsafe.Pointer(_pPage.X8)) if (int32(_addRemove) & i32(1)) == 0 { goto _0 } func() int32 { if ((*XPgHdr)(unsafe.Pointer(_pPage.X9)) != nil) || (_pPage == (*XPgHdr)(unsafe.Pointer(_p.X1))) { return i32(0) } return func() int32 { 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(13128))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XPgHdr)(unsafe.Pointer(_pPage.X10)) != nil) || (_pPage == (*XPgHdr)(unsafe.Pointer(_p.X0))) { return i32(0) } return func() int32 { 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(13172))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XPgHdr)(unsafe.Pointer(_p.X2)) != _pPage { goto _7 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X10)) _7: if (*XPgHdr)(unsafe.Pointer(_pPage.X9)) == nil { goto _8 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X9) + uintptr(64 /* X10 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X10)) goto _9 _8: func() int32 { if _pPage == (*XPgHdr)(unsafe.Pointer(_p.X1)) { return i32(0) } return func() int32 { 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(13212))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X10)) _9: if (*XPgHdr)(unsafe.Pointer(_pPage.X10)) == nil { goto _12 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X10) + uintptr(56 /* X9 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X9)) goto _13 _12: func() int32 { if _pPage == (*XPgHdr)(unsafe.Pointer(_p.X0)) { return i32(0) } return func() int32 { 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(13236))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X9)) func() int32 { if ((_p.X8) != 0) || (int32(_p.X9) == i32(2)) { return i32(0) } return func() int32 { 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(13256))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XPgHdr)(unsafe.Pointer(_p.X0)) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } func() int32 { if (int32(_p.X8) == i32(0)) || (int32(_p.X9) == i32(1)) { return i32(0) } return func() int32 { 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(13288))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X9 */))) = uint8(i32(2)) _19: _13: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(56 /* X9 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(64 /* X10 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _0: if (int32(_addRemove) & i32(2)) == 0 { goto _23 } func() int32 { 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) { return i32(0) } return func() int32 { 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(13324))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(56 /* X9 */))))) = (*XPgHdr)(unsafe.Pointer(_p.X0)) if (*XPgHdr)(unsafe.Pointer(_pPage.X9)) == nil { goto _28 } func() int32 { if (*XPgHdr)(unsafe.Pointer((*XPgHdr)(unsafe.Pointer(_pPage.X9)).X10)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(13392))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X9) + uintptr(64 /* X10 */))))) = _pPage goto _31 _28: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _pPage if (_p.X8) == 0 { goto _32 } func() int32 { if int32(_p.X9) == i32(2) { return i32(0) } return func() int32 { 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(13428))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X9 */))) = uint8(i32(1)) _32: _31: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pPage if (*XPgHdr)(unsafe.Pointer(_p.X2)) != nil || i32(0) != (int32(_pPage.X6)&i32(8)) { goto _36 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = _pPage _36: _23: return } var _pcacheManageDirtyListØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pcacheManageDirtyListØ00__func__Ø000[0], str(13444), 22) } func _pagerAddPageToRollbackJournal(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52668:1 var _pPager *XPager // sqlite3.c:52669:9 _ = _pPager var _rc int32 // sqlite3.c:52670:7 _ = _rc var _cksum uint32 // sqlite3.c:52671:7 _ = _cksum var _pData2 *int8 // sqlite3.c:52672:8 _ = _pData2 var _iOff int64 // sqlite3.c:52673:7 _ = _iOff _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) _iOff = _pPager.X34 func() int32 { if (_pPg.X5) != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { return i32(0) } return func() int32 { 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(13468))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X35) <= (_pPager.X34) { return i32(0) } return func() int32 { 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(13504))) crt.X__builtin_abort(tls) return i32(0) }() }() _pData2 = (*int8)(unsafe.Pointer(_pPg.X1)) _cksum = _pager_cksum(tls, _pPager, (*uint8)(unsafe.Pointer(_pData2))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } _rc = _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iOff, _pPg.X5) if _rc == i32(0) { goto _4 } r0 = _rc return _4: _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(_pData2), _pPager.X48, _iOff+int64(i32(4))) if _rc == i32(0) { goto _5 } r0 = _rc return _5: _rc = _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (_iOff+int64(_pPager.X48))+int64(i32(4)), _cksum) if _rc == i32(0) { goto _6 } r0 = _rc return _6: { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) *p = (*p) + int64(i32(8)+(_pPager.X48)) sink967 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(52 /* X27 */))) += 1 func() int32 { if (*XBitvec)(unsafe.Pointer(_pPager.X30)) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(13544))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pPg.X5) func() int32 { if (_rc == i32(0)) || (_rc == i32(7)) { return i32(0) } return func() int32 { 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(4072))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_rc *p = (*p) | _addToSavepointBitvecs(tls, _pPager, _pPg.X5) sink961 = *p } func() int32 { if (_rc == i32(0)) || (_rc == i32(7)) { return i32(0) } return func() int32 { 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(4072))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _pagerAddPageToRollbackJournalØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_pagerAddPageToRollbackJournalØ00__func__Ø000[0], str(13568), 30) } func _pager_cksum(tls *crt.TLS, _pPager *XPager, _aData *uint8) (r0 uint32) { // sqlite3.c:49044:1 var _cksum uint32 // sqlite3.c:49045:7 _ = _cksum var _i int32 // sqlite3.c:49046:7 _ = _i _cksum = _pPager.X28 _i = (_pPager.X48) - i32(200) _0: if _i <= i32(0) { goto _1 } { p := &_cksum *p = (*p) + uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_i)))) sink985 = *p } { p := &_i *p = (*p) - i32(200) sink961 = *p } goto _0 _1: r0 = _cksum return } func _sqlite3PagerUnrefNotNull(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:52473:1 var _pPager *XPager // sqlite3.c:52474:9 _ = _pPager func() int32 { if _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12948))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) if (int32(_pPg.X6) & i32(32)) == 0 { goto _2 } _pagerReleaseMapPage(tls, _pPg) goto _3 _2: _sqlite3PcacheRelease(tls, _pPg) _3: _pagerUnlockIfUnused(tls, _pPager) return } var _sqlite3PagerUnrefNotNullØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerUnrefNotNullØ00__func__Ø000[0], str(13600), 25) } func _pagerReleaseMapPage(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:50901:1 var _pPager *XPager // sqlite3.c:50902:9 _ = _pPager _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(152 /* X41 */))) -= 1 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(_pPager.X43)) *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(168 /* X43 */))))) = _pPg func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)).X0) >= i32(3) { return i32(0) } return func() int32 { 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(13628))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64((_pPg.X5)-uint32(i32(1)))*int64(_pPager.X48), _pPg.X1) return } var _pagerReleaseMapPageØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_pagerReleaseMapPageØ00__func__Ø000[0], str(13664), 20) } func _sqlite3OsUnfetch(tls *crt.TLS, _id *Xsqlite3_file, _iOff int64, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:20233:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X18)})))(tls, _id, _iOff, _p) return } func _sqlite3PcacheRelease(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44588:1 func() int32 { if int32(_p.X7) > i32(0) { return i32(0) } return func() int32 { 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(12832))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(24 /* X3 */))) -= 1 if int32(preInc955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(46 /* X7 */))), -1)) != i32(0) { goto _2 } if (int32(_p.X6) & i32(1)) == 0 { goto _3 } _pcacheUnpin(tls, _p) goto _4 _3: if (*XPgHdr)(unsafe.Pointer(_p.X10)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _pcacheManageDirtyList(tls, _p, uint8(i32(3))) _5: _4: _2: return } var _sqlite3PcacheReleaseØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheReleaseØ00__func__Ø000[0], str(13684), 21) } func _pcacheUnpin(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44309:1 if ((*XPCache)(unsafe.Pointer(_p.X8)).X8) == 0 { goto _0 } (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X8)})))(tls, (*XPCache)(unsafe.Pointer(_p.X8)).X12, (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)), i32(0)) _0: return } func _pagerUnlockIfUnused(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:52176:1 if (_pPager.X41) != i32(0) || _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) != i32(0) { goto _1 } _pagerUnlockAndRollback(tls, _pPager) _1: return } func _pagerUnlockAndRollback(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:49010:1 if int32(_pPager.X14) == i32(6) || int32(_pPager.X14) == i32(0) { goto _1 } func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X14) < i32(2) { goto _4 } _sqlite3BeginBenignMalloc(tls) _sqlite3PagerRollback(tls, _pPager) _sqlite3EndBenignMalloc(tls) goto _5 _4: if (_pPager.X1) != 0 { goto _6 } func() int32 { if int32(_pPager.X14) == i32(1) { return i32(0) } return func() int32 { 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(13708))) crt.X__builtin_abort(tls) return i32(0) }() }() _pager_end_transaction(tls, _pPager, i32(0), i32(0)) _6: _5: _1: _pager_unlock(tls, _pPager) return } var _pagerUnlockAndRollbackØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_pagerUnlockAndRollbackØ00__func__Ø000[0], str(13740), 23) } func _sqlite3PagerRollback(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53388:1 var _rc int32 // sqlite3.c:53389:7 _ = _rc var _1_rc2 int32 // sqlite3.c:53401:9 _ = _1_rc2 var _2_eState int32 // sqlite3.c:53406:9 _ = _2_eState _rc = i32(0) func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X14) != i32(6) { goto _2 } r0 = _pPager.X26 return _2: if int32(_pPager.X14) > i32(1) { goto _3 } r0 = i32(0) return _3: if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _rc = _sqlite3PagerSavepoint(tls, _pPager, i32(2), i32(-1)) _1_rc2 = _pager_end_transaction(tls, _pPager, int32(_pPager.X17), i32(0)) if _rc != i32(0) { goto _5 } _rc = _1_rc2 _5: goto _6 _4: 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) { goto _8 } _2_eState = int32(_pPager.X14) _rc = _pager_end_transaction(tls, _pPager, i32(0), i32(0)) if (_pPager.X13) != 0 || _2_eState <= i32(2) { goto _10 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X26 */))) = i32(4) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(6)) _setGetterMethod(tls, _pPager) r0 = _rc return _10: goto _11 _8: _rc = _pager_playback(tls, _pPager, i32(0)) _11: _6: func() int32 { if (int32(_pPager.X14) == i32(1)) || (_rc != i32(0)) { return i32(0) } return func() int32 { 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(13764))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((((_rc == i32(0)) || (_rc == i32(13))) || (_rc == i32(11))) || (_rc == i32(7))) || ((_rc & i32(255)) == i32(10))) || (_rc == i32(14)) { return i32(0) } return func() int32 { 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(13812))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pager_error(tls, _pPager, _rc) return } var _sqlite3PagerRollbackØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerRollbackØ00__func__Ø000[0], str(13940), 21) } func _sqlite3PagerSavepoint(tls *crt.TLS, _pPager *XPager, _op int32, _iSavepoint int32) (r0 int32) { // sqlite3.c:53619:1 var _rc int32 // sqlite3.c:53620:7 _ = _rc var _1_ii int32 // sqlite3.c:53630:9 _ = _1_ii var _1_nNew int32 // sqlite3.c:53631:9 _ = _1_nNew var _6_pSavepoint *XPagerSavepoint // sqlite3.c:53661:22 _ = _6_pSavepoint _rc = _pPager.X26 func() int32 { if (_op == i32(1)) || (_op == i32(2)) { return i32(0) } return func() int32 { 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(13964))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iSavepoint >= i32(0)) || (_op == i32(2)) { return i32(0) } return func() int32 { 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(14012))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || _iSavepoint >= (_pPager.X38) { goto _7 } _1_nNew = _iSavepoint + func() int32 { if _op == i32(1) { return i32(0) } return i32(1) }() _1_ii = _1_nNew _10: if _1_ii >= (_pPager.X38) { goto _13 } _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37)+48*uintptr(_1_ii))).X2))) _1_ii += 1 goto _10 _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(128 /* X38 */))) = _1_nNew if _op != i32(1) { goto _14 } 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)))) { goto _16 } if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33))) == 0 { goto _17 } _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), int64(i32(0))) func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _17: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X29 */))) = uint32(i32(0)) _16: goto _20 _14: 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)))) { goto _22 } _6_pSavepoint = func() *XPagerSavepoint { if _1_nNew == i32(0) { return (*XPagerSavepoint)(unsafe.Pointer(uintptr(i32(0)))) } return (*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 48*uintptr(_1_nNew-i32(1)))) }() _rc = _pagerPlaybackSavepoint(tls, _pPager, _6_pSavepoint) func() int32 { if _rc != i32(101) { return i32(0) } return func() int32 { 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(14068))) crt.X__builtin_abort(tls) return i32(0) }() }() _22: _20: _7: r0 = _rc return } var _sqlite3PagerSavepointØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerSavepointØ00__func__Ø000[0], str(14084), 22) } func _sqlite3JournalIsInMemory(tls *crt.TLS, _p *Xsqlite3_file) (r0 int32) { // sqlite3.c:89009:1 r0 = bool2int((*Xsqlite3_io_methods)(unsafe.Pointer(_p.X0)) == &_MemJournalMethods) return } func _sqlite3OsTruncate(tls *crt.TLS, _id *Xsqlite3_file, _size int64) (r0 int32) { // sqlite3.c:20147:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int64) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X4)})))(tls, _id, _size) return } func _pagerPlaybackSavepoint(tls *crt.TLS, _pPager *XPager, _pSavepoint *XPagerSavepoint) (r0 int32) { // sqlite3.c:50215:1 var _szJ int64 // sqlite3.c:50216:7 _ = _szJ var _iHdrOff int64 // sqlite3.c:50217:7 _ = _iHdrOff var _rc int32 // sqlite3.c:50218:7 _ = _rc var _pDone *XBitvec // sqlite3.c:50219:10 _ = _pDone var _7_ii uint32 // sqlite3.c:50274:9 _ = _7_ii var _7_nJRec uint32 // sqlite3.c:50275:9 _ = _7_nJRec var _7_dummy uint32 // sqlite3.c:50276:9 _ = _7_dummy var _10_ii uint32 // sqlite3.c:50302:9 _ = _10_ii var _10_offset int64 // sqlite3.c:50303:9 _ = _10_offset _rc = i32(0) _pDone = nil func() int32 { if int32(_pPager.X14) != i32(6) { return i32(0) } return func() int32 { 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(14108))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) >= i32(2) { return i32(0) } return func() int32 { 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(9828))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pSavepoint == nil { goto _4 } _pDone = _sqlite3BitvecCreate(tls, _pSavepoint.X3) if _pDone != nil { goto _5 } r0 = _sqlite3NomemError(tls, i32(50228)) return _5: _4: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X22 */))) = func() uint32 { if _pSavepoint != nil { return (_pSavepoint.X3) } return (_pPager.X23) }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = _pPager.X10 if _pSavepoint != nil || (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } r0 = _pagerRollbackWal(tls, _pPager) return _9: _szJ = _pPager.X34 func() int32 { if (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) || (_szJ == int64(i32(0))) { return i32(0) } return func() int32 { 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(14136))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pSavepoint == nil || (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } _iHdrOff = func() int64 { if (_pSavepoint.X1) != 0 { return (_pSavepoint.X1) } return _szJ }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = _pSavepoint.X0 _17: if _rc != i32(0) || (_pPager.X34) >= _iHdrOff { goto _18 } _rc = _pager_playback_one_page(tls, _pPager, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(96 /* X34 */))), _pDone, i32(1), i32(1)) goto _17 _18: func() int32 { if _rc != i32(101) { return i32(0) } return func() int32 { 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(14068))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _22 _14: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) _22: _23: if _rc != i32(0) || (_pPager.X34) >= _szJ { goto _24 } _7_nJRec = uint32(i32(0)) _rc = _readJournalHdr(tls, _pPager, i32(0), _szJ, &_7_nJRec, &_7_dummy) func() int32 { if _rc != i32(101) { return i32(0) } return func() int32 { 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(14068))) crt.X__builtin_abort(tls) return i32(0) }() }() if _7_nJRec != uint32(i32(0)) || ((_pPager.X35)+int64(_pPager.X47)) != (_pPager.X34) { goto _29 } _7_nJRec = uint32((_szJ - (_pPager.X34)) / int64((_pPager.X48)+i32(8))) _29: _7_ii = uint32(i32(0)) _30: if _rc != i32(0) || _7_ii >= _7_nJRec || (_pPager.X34) >= _szJ { goto _35 } _rc = _pager_playback_one_page(tls, _pPager, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(96 /* X34 */))), _pDone, i32(1), i32(1)) _7_ii += 1 goto _30 _35: func() int32 { if _rc != i32(101) { return i32(0) } return func() int32 { 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(14068))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _23 _24: func() int32 { if (_rc != i32(0)) || ((_pPager.X34) >= _szJ) { return i32(0) } return func() int32 { 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(14172))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pSavepoint == nil { goto _41 } _10_offset = int64(_pSavepoint.X4) * int64(i32(4)+(_pPager.X48)) if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _42 } _rc = _sqlite3WalSavepointUndo(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), (*uint32)(unsafe.Pointer((*[4]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSavepoint))+uintptr(32 /* X5 */)))))) _42: _10_ii = _pSavepoint.X4 _43: if _rc != i32(0) || _10_ii >= (_pPager.X29) { goto _47 } func() int32 { if _10_offset == (int64(_10_ii) * int64(i32(4)+(_pPager.X48))) { return i32(0) } return func() int32 { 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(14216))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pager_playback_one_page(tls, _pPager, &_10_offset, _pDone, i32(0), i32(1)) _10_ii += 1 goto _43 _47: func() int32 { if _rc != i32(101) { return i32(0) } return func() int32 { 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(14068))) crt.X__builtin_abort(tls) return i32(0) }() }() _41: _sqlite3BitvecDestroy(tls, _pDone) if _rc != i32(0) { goto _52 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = _szJ _52: r0 = _rc return } var _pagerPlaybackSavepointØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_pagerPlaybackSavepointØ00__func__Ø000[0], str(14256), 23) } func _pagerRollbackWal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:49954:1 var _rc int32 // sqlite3.c:49955:7 _ = _rc var _pList *XPgHdr // sqlite3.c:49956:9 _ = _pList var _1_pNext *XPgHdr // sqlite3.c:49969:11 _ = _1_pNext *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X22 */))) = _pPager.X23 _rc = _sqlite3WalUndo(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pagerUndoCallback, (unsafe.Pointer)(_pPager)) _pList = _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) _0: if _pList == nil || _rc != i32(0) { goto _1 } _1_pNext = (*XPgHdr)(unsafe.Pointer(_pList.X3)) _rc = _pagerUndoCallback(tls, (unsafe.Pointer)(_pPager), _pList.X5) _pList = _1_pNext goto _0 _1: r0 = _rc return } func _sqlite3WalUndo(tls *crt.TLS, _pWal *XWal, _xUndo func(*crt.TLS, unsafe.Pointer, uint32) int32, _pUndoCtx unsafe.Pointer) (r0 int32) { // sqlite3.c:57183:1 var _rc int32 // sqlite3.c:57184:7 _ = _rc var _1_iMax uint32 // sqlite3.c:57186:10 _ = _1_iMax var _1_iFrame uint32 // sqlite3.c:57187:10 _ = _1_iFrame _rc = i32(0) if func() int32 { if (_pWal.X12) != 0 { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2 } _1_iMax = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 crt.Xmemcpy(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), u64(48)) _1_iFrame = ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) + uint32(i32(1)) _3: if func() int32 { if _rc == i32(0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || _1_iFrame > _1_iMax { goto _9 } func() int32 { if _walFramePgno(tls, _pWal, _1_iFrame) != uint32(i32(1)) { return i32(0) } return func() int32 { 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(14280))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _xUndo(tls, _pUndoCtx, _walFramePgno(tls, _pWal, _1_iFrame)) _1_iFrame += 1 goto _3 _9: if _1_iMax == ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { goto _12 } _walCleanupHash(tls, _pWal) _12: _2: r0 = _rc return } var _sqlite3WalUndoØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalUndoØ00__func__Ø000[0], str(14312), 15) } func _walIndexHdr(tls *crt.TLS, _pWal *XWal) (r0 *XWalIndexHdr) { // sqlite3.c:54989:1 func() int32 { if ((_pWal.X5) > i32(0)) && ((*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0))))) != nil) { return i32(0) } return func() int32 { 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(14328))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*XWalIndexHdr)(unsafe.Pointer(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0)))))) return } var _walIndexHdrØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexHdrØ00__func__Ø000[0], str(14368), 12) } func _walFramePgno(tls *crt.TLS, _pWal *XWal, _iFrame uint32) (r0 uint32) { // sqlite3.c:55314:1 var _iHash int32 // sqlite3.c:55315:7 _ = _iHash _iHash = _walFramePage(tls, _iFrame) if _iHash != i32(0) { goto _0 } r0 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0)))))) + 4*uintptr((u64(34)+uint64(_iFrame))-uint64(i32(1))))) return _0: r0 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_iHash))))) + 4*uintptr((uint64(_iFrame-uint32(i32(1)))-u64(4062))%uint64(i32(4096))))) return } func _walFramePage(tls *crt.TLS, _iFrame uint32) (r0 int32) { // sqlite3.c:55300:1 var _iHash int32 // sqlite3.c:55301:7 _ = _iHash _iHash = int32(((uint64(_iFrame+uint32(i32(4096))) - u64(4062)) - uint64(i32(1))) / uint64(i32(4096))) func() int32 { if (((((_iHash == i32(0)) || (uint64(_iFrame) > u64(4062))) && ((_iHash >= i32(1)) || (uint64(_iFrame) <= u64(4062)))) && ((_iHash <= i32(1)) || (uint64(_iFrame) > u64(8158)))) && ((_iHash >= i32(2)) || (uint64(_iFrame) <= u64(8158)))) && ((_iHash <= i32(2)) || (uint64(_iFrame) > u64(12254))) { return i32(0) } return func() int32 { 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(14380))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _iHash return } var _walFramePageØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_walFramePageØ00__func__Ø000[0], str(14656), 13) } func _walCleanupHash(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:55334:1 var _aHash *uint16 // sqlite3.c:55335:20 _ = _aHash var _aPgno *uint32 // sqlite3.c:55336:16 _ = _aPgno var _iZero uint32 // sqlite3.c:55337:7 _ = _iZero var _iLimit int32 // sqlite3.c:55338:7 _ = _iLimit var _nByte int32 // sqlite3.c:55339:7 _ = _nByte var _i int32 // sqlite3.c:55340:7 _ = _i _aHash = nil _aPgno = nil _iZero = u32(0) _iLimit = i32(0) func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) != uint32(i32(0)) { goto _2 } return _2: func() int32 { if (_pWal.X5) > _walFramePage(tls, (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X6) { return i32(0) } return func() int32 { 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(14688))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_walFramePage(tls, (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X6))))) != nil { return i32(0) } return func() int32 { 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(14736))) crt.X__builtin_abort(tls) return i32(0) }() }() _walHashGet(tls, _pWal, _walFramePage(tls, (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X6), &_aHash, &_aPgno, &_iZero) _iLimit = int32(((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) - _iZero) func() int32 { if _iLimit > i32(0) { return i32(0) } return func() int32 { 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(14784))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _9: if _i >= i32(8192) { goto _12 } if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_i)))) <= _iLimit { goto _13 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_i))) = uint16(i32(0)) _13: _i += 1 goto _9 _12: _nByte = int32(int64((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)) crt.Xmemset(tls, (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno))+4*uintptr(_iLimit+i32(1))))), i32(0), uint64(_nByte)) return } var _walCleanupHashØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_walCleanupHashØ00__func__Ø000[0], str(14796), 15) } func _walHashGet(tls *crt.TLS, _pWal *XWal, _iHash int32, _paHash **uint16, _paPgno **uint32, _piZero *uint32) (r0 int32) { // sqlite3.c:55262:1 var _rc int32 // sqlite3.c:55269:7 _ = _rc var _aPgno *uint32 // sqlite3.c:55270:16 _ = _aPgno var _1_iZero uint32 // sqlite3.c:55276:9 _ = _1_iZero var _1_aHash *uint16 // sqlite3.c:55277:22 _ = _1_aHash _rc = _walIndexPage(tls, _pWal, _iHash, &_aPgno) func() int32 { if (_rc == i32(0)) || (_iHash > i32(0)) { return i32(0) } return func() int32 { 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(14812))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) { goto _3 } _1_aHash = (*uint16)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(i32(4096)))))) if _iHash != i32(0) { goto _4 } _aPgno = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(u64(34)))) _1_iZero = uint32(i32(0)) goto _5 _4: _1_iZero = uint32(u64(4062) + uint64((_iHash-i32(1))*i32(4096))) _5: *_paPgno = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(i32(-1)))) *_paHash = _1_aHash *_piZero = _1_iZero _3: r0 = _rc return } func _walIndexPage(tls *crt.TLS, _pWal *XWal, _iPage int32, _ppPage **uint32) (r0 int32) { // sqlite3.c:54939:1 var _rc int32 // sqlite3.c:54940:7 _ = _rc var _1_nByte int32 // sqlite3.c:54944:9 _ = _1_nByte var _1_apNew **uint32 // sqlite3.c:54945:18 _ = _1_apNew _rc = i32(0) if (_pWal.X5) > _iPage { goto _0 } _1_nByte = int32(u64(8) * uint64(_iPage+i32(1))) _1_apNew = (**uint32)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_pWal.X7), uint64(_1_nByte)))) if _1_apNew != nil { goto _1 } *_ppPage = (*uint32)(unsafe.Pointer(uintptr(i32(0)))) r0 = _sqlite3NomemError(tls, i32(54949)) return _1: crt.Xmemset(tls, (unsafe.Pointer)((**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_apNew))+8*uintptr(_pWal.X5)))), i32(0), u64(8)*uint64((_iPage+i32(1))-(_pWal.X5))) *(***uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(48 /* X7 */))) = _1_apNew *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(40 /* X5 */))) = _iPage + i32(1) _0: if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_iPage)))) != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } if int32(_pWal.X11) != i32(2) { goto _3 } *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_iPage))) = (*uint32)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(32768)))) if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_iPage)))) != nil { goto _4 } _rc = _sqlite3NomemError(tls, i32(54961)) _4: goto _5 _3: _rc = _sqlite3OsShmMap(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _iPage, int32(u64(32768)), int32(_pWal.X12), (*unsafe.Pointer)(unsafe.Pointer((**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7))+8*uintptr(_iPage)))))) if _rc != i32(8) { goto _6 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(66 /* X14 */))) *p = uint8(int32(*p) | i32(2)) sink4537 = *p } _rc = i32(0) _6: _5: _2: *_ppPage = *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_iPage))) func() int32 { if ((_iPage == i32(0)) || ((*_ppPage) != nil)) || (_rc != i32(0)) { return i32(0) } return func() int32 { 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(14840))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } func _sqlite3OsShmMap(tls *crt.TLS, _id *Xsqlite3_file, _iPage int32, _pgsz int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:20216:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X13)})))(tls, _id, _iPage, _pgsz, _bExtend, _pp) return } var _walIndexPageØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexPageØ00__func__Ø000[0], str(14880), 13) } var _walHashGetØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_walHashGetØ00__func__Ø000[0], str(14896), 11) } func _pagerUndoCallback(tls *crt.TLS, _pCtx unsafe.Pointer, _iPg uint32) (r0 int32) { // sqlite3.c:49915:1 var _rc int32 // sqlite3.c:49916:7 _ = _rc var _pPager *XPager // sqlite3.c:49917:9 _ = _pPager var _pPg *XPgHdr // sqlite3.c:49918:9 _ = _pPg var _3_iFrame uint32 // sqlite3.c:49926:11 _ = _3_iFrame _rc = i32(0) _pPager = (*XPager)(unsafe.Pointer(_pCtx)) func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(14908))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPg = _sqlite3PagerLookup(tls, _pPager, _iPg) if _pPg == nil { goto _2 } if _sqlite3PcachePageRefcount(tls, _pPg) != i32(1) { goto _3 } _sqlite3PcacheDrop(tls, _pPg) goto _4 _3: _3_iFrame = u32(0) _rc = _sqlite3WalFindFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pPg.X5, &_3_iFrame) if _rc != i32(0) { goto _5 } _rc = _readDbPage(tls, _pPg, _3_iFrame) _5: if _rc != i32(0) { goto _6 } (*(*func(*crt.TLS, *XPgHdr))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_pPager.X56)})))(tls, _pPg) _6: _sqlite3PagerUnrefNotNull(tls, _pPg) _4: _2: _sqlite3BackupRestart(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36))) r0 = _rc return } var _pagerUndoCallbackØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_pagerUndoCallbackØ00__func__Ø000[0], str(14928), 18) } func _sqlite3PagerLookup(tls *crt.TLS, _pPager *XPager, _pgno uint32) (r0 *XPgHdr) { // sqlite3.c:52454:1 var _pPage *Xsqlite3_pcache_page // sqlite3.c:52455:23 _ = _pPage func() int32 { if _pPager != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(14948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pgno != uint32(i32(0)) { return i32(0) } return func() int32 { 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(14960))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPCache)(unsafe.Pointer(_pPager.X59)) != (*XPCache)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(14968))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPage = _sqlite3PcacheFetch(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, i32(0)) func() int32 { if (_pPage == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X21) != 0) { return i32(0) } return func() int32 { 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(14988))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pPage != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } r0 = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) return _9: r0 = _sqlite3PcacheFetchFinish(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, _pPage) return } var _sqlite3PagerLookupØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerLookupØ00__func__Ø000[0], str(15028), 19) } func _sqlite3PcacheFetch(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _createFlag int32) (r0 *Xsqlite3_pcache_page) { // sqlite3.c:44442:1 var _eCreate int32 // sqlite3.c:44447:7 _ = _eCreate var _pRes *Xsqlite3_pcache_page // sqlite3.c:44448:23 _ = _pRes func() int32 { if _pCache != (*XPCache)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(15048))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_createFlag == i32(3)) || (_createFlag == i32(0)) { return i32(0) } return func() int32 { 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(15068))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCache.X9) == func() int32 { if ((_pCache.X8) != 0) && ((*XPgHdr)(unsafe.Pointer(_pCache.X0)) != nil) { return i32(1) } return i32(2) }() { return i32(0) } return func() int32 { 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(15100))) crt.X__builtin_abort(tls) return i32(0) }() }() _eCreate = _createFlag & int32(_pCache.X9) func() int32 { if ((_eCreate == i32(0)) || (_eCreate == i32(1))) || (_eCreate == i32(2)) { return i32(0) } return func() int32 { 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(15168))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_createFlag == i32(0)) || (int32(_pCache.X9) == _eCreate) { return i32(0) } return func() int32 { 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(15208))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_createFlag == i32(0)) || (_eCreate == (i32(1) + bool2int(((_pCache.X8) == 0) || ((*XPgHdr)(unsafe.Pointer(_pCache.X0)) == nil)))) { return i32(0) } return func() int32 { 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(15252))) crt.X__builtin_abort(tls) return i32(0) }() }() _pRes = (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X7)})))(tls, _pCache.X12, _pgno, _eCreate) r0 = _pRes return } var _sqlite3PcacheFetchØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheFetchØ00__func__Ø000[0], str(15320), 19) } func _sqlite3PcacheFetchFinish(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _pPage *Xsqlite3_pcache_page) (r0 *XPgHdr) { // sqlite3.c:44565:1 var _pPgHdr *XPgHdr // sqlite3.c:44570:9 _ = _pPgHdr func() int32 { if _pPage != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15340))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPgHdr = (*XPgHdr)(unsafe.Pointer(_pPage.X1)) if (*Xsqlite3_pcache_page)(unsafe.Pointer(_pPgHdr.X0)) != nil { goto _2 } r0 = _pcacheFetchFinishWithInit(tls, _pCache, _pgno, _pPage) return _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(24 /* X3 */))) += 1 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(46 /* X7 */))) += 1 func() int32 { if _sqlite3PcachePageSanity(tls, _pPgHdr) != 0 { return i32(0) } return func() int32 { 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(15352))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pPgHdr return } var _sqlite3PcacheFetchFinishØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheFetchFinishØ00__func__Ø000[0], str(15384), 25) } func _pcacheFetchFinishWithInit(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _pPage *Xsqlite3_pcache_page) (r0 *XPgHdr) { // sqlite3.c:44539:1 var _pPgHdr *XPgHdr // sqlite3.c:44544:9 _ = _pPgHdr func() int32 { if _pPage != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15340))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPgHdr = (*XPgHdr)(unsafe.Pointer(_pPage.X1)) func() int32 { if (*Xsqlite3_pcache_page)(unsafe.Pointer(_pPgHdr.X0)) == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15412))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr))+uintptr(24 /* X3 */)))), i32(0), u64(48)) *(**Xsqlite3_pcache_page)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(0 /* X0 */))))) = _pPage *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(8 /* X1 */))) = _pPage.X0 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(16 /* X2 */))) = (unsafe.Pointer)((*XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + 72*uintptr(i32(1))))) crt.Xmemset(tls, _pPgHdr.X2, i32(0), uint64(i32(8))) *(**XPCache)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(48 /* X8 */))))) = _pCache *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(40 /* X5 */))) = _pgno *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(44 /* X6 */))) = uint16(i32(1)) r0 = _sqlite3PcacheFetchFinish(tls, _pCache, _pgno, _pPage) return } var _pcacheFetchFinishWithInitØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_pcacheFetchFinishWithInitØ00__func__Ø000[0], str(15432), 26) } func _sqlite3PcachePageRefcount(tls *crt.TLS, _p *XPgHdr) (r0 int32) { // sqlite3.c:44869:1 r0 = int32(_p.X7) return } func _sqlite3PcacheDrop(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44619:1 func() int32 { if int32(_p.X7) == i32(1) { return i32(0) } return func() int32 { 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(15460))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X6) & i32(2)) == 0 { goto _4 } _pcacheManageDirtyList(tls, _p, uint8(i32(1))) _4: *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(24 /* X3 */))) -= 1 (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X8)})))(tls, (*XPCache)(unsafe.Pointer(_p.X8)).X12, (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)), i32(1)) return } var _sqlite3PcacheDropØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheDropØ00__func__Ø000[0], str(15472), 18) } func _sqlite3WalFindFrame(tls *crt.TLS, _pWal *XWal, _pgno uint32, _piRead *uint32) (r0 int32) { // sqlite3.c:56980:1 var _iRead uint32 // sqlite3.c:56985:7 _ = _iRead var _iLast uint32 // sqlite3.c:56986:7 _ = _iLast var _iHash int32 // sqlite3.c:56987:7 _ = _iHash var _iMinHash int32 // sqlite3.c:56988:7 _ = _iMinHash var _2_aHash *uint16 // sqlite3.c:57031:22 _ = _2_aHash var _2_aPgno *uint32 // sqlite3.c:57032:18 _ = _2_aPgno var _2_iZero uint32 // sqlite3.c:57033:9 _ = _2_iZero var _2_iKey int32 // sqlite3.c:57034:9 _ = _2_iKey var _2_nCollide int32 // sqlite3.c:57035:9 _ = _2_nCollide var _2_rc int32 // sqlite3.c:57036:9 _ = _2_rc var _4_iFrame uint32 // sqlite3.c:57044:11 _ = _4_iFrame _iRead = u32(0) _iLast = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 func() int32 { if (int32(_pWal.X9) >= i32(0)) || ((_pWal.X23) != 0) { return i32(0) } return func() int32 { 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(15492))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iLast != uint32(i32(0)) && int32(_pWal.X9) != i32(0) { goto _4 } *_piRead = uint32(i32(0)) r0 = i32(0) return _4: _iMinHash = _walFramePage(tls, _pWal.X19) _iHash = _walFramePage(tls, _iLast) _5: if _iHash < _iMinHash || _iRead != uint32(i32(0)) { goto _9 } _2_rc = _walHashGet(tls, _pWal, _iHash, &_2_aHash, &_2_aPgno, &_2_iZero) if _2_rc == i32(0) { goto _10 } r0 = _2_rc return _10: _2_nCollide = i32(8192) _2_iKey = _walHash(tls, _pgno) _11: if (*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aHash)) + 2*uintptr(_2_iKey)))) == 0 { goto _14 } _4_iFrame = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aHash)) + 2*uintptr(_2_iKey)))) + _2_iZero 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 { goto _17 } func() int32 { if (_4_iFrame > _iRead) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(15532))) crt.X__builtin_abort(tls) return i32(0) }() }() _iRead = _4_iFrame _17: if postInc961(&_2_nCollide, int32(-1)) != i32(0) { goto _21 } r0 = _sqlite3CorruptError(tls, i32(57050)) return _21: _2_iKey = _walNextHash(tls, _2_iKey) goto _11 _14: _iHash -= 1 goto _5 _9: *_piRead = _iRead r0 = i32(0) return } var _sqlite3WalFindFrameØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalFindFrameØ00__func__Ø000[0], str(15560), 20) } func _walHash(tls *crt.TLS, _iPage uint32) (r0 int32) { // sqlite3.c:55239:1 func() int32 { if _iPage > uint32(i32(0)) { return i32(0) } return func() int32 { 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(15580))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) r0 = int32((_iPage * uint32(i32(383))) & uint32(i32(8191))) return } var _walHashØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_walHashØ00__func__Ø000[0], str(15588), 8) } func _walNextHash(tls *crt.TLS, _iPriorHash int32) (r0 int32) { // sqlite3.c:55244:1 r0 = (_iPriorHash + i32(1)) & i32(8191) return } func _readDbPage(tls *crt.TLS, _pPg *XPgHdr, _iFrame uint32) (r0 int32) { // sqlite3.c:49826:1 var _pPager *XPager // sqlite3.c:49827:9 _ = _pPager var _pgno uint32 // sqlite3.c:49828:8 _ = _pgno var _rc int32 // sqlite3.c:49829:7 _ = _rc var _pgsz int32 // sqlite3.c:49830:7 _ = _pgsz var _2_iOffset int64 // sqlite3.c:49842:9 _ = _2_iOffset var _6_dbFileVers *uint8 // sqlite3.c:49865:10 _ = _6_dbFileVers _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) _pgno = _pPg.X5 _rc = i32(0) _pgsz = _pPager.X48 func() int32 { if (int32(_pPager.X14) >= i32(1)) && ((_pPager.X13) == 0) { return i32(0) } return func() int32 { 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(15596))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15636))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iFrame == 0 { goto _5 } _rc = _sqlite3WalReadFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _iFrame, _pgsz, (*uint8)(unsafe.Pointer(_pPg.X1))) goto _6 _5: _2_iOffset = int64(_pgno-uint32(i32(1))) * int64(_pPager.X48) _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _pPg.X1, _pgsz, _2_iOffset) if _rc != i32(522) { goto _7 } _rc = i32(0) _7: _6: if _pgno != uint32(i32(1)) { goto _8 } if _rc == 0 { goto _9 } crt.Xmemset(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(136 /* X40 */)))), i32(255), u64(16)) goto _10 _9: _6_dbFileVers = (*uint8)(unsafe.Pointer(uintptr(_pPg.X1) + 1*uintptr(i32(24)))) crt.Xmemcpy(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(136 /* X40 */)))), (unsafe.Pointer)(_6_dbFileVers), u64(16)) _10: _8: r0 = _rc return } var _readDbPageØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_readDbPageØ00__func__Ø000[0], str(15656), 11) } func _sqlite3WalReadFrame(tls *crt.TLS, _pWal *XWal, _iRead uint32, _nOut int32, _pOut *uint8) (r0 int32) { // sqlite3.c:57082:1 var _sz int32 // sqlite3.c:57088:7 _ = _sz var _iOffset int64 // sqlite3.c:57089:7 _ = _iOffset _sz = int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X5) _sz = (_sz & i32(65024)) + ((_sz & i32(1)) << uint(i32(16))) _iOffset = (int64(i32(32)) + (int64(_iRead-uint32(i32(1))) * int64(_sz+i32(24)))) + int64(i32(24)) r0 = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_pOut), func() int32 { if _nOut > _sz { return _sz } return _nOut }(), _iOffset) return } func _sqlite3OsRead(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:20139:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X2)})))(tls, _id, _pBuf, _amt, _offset) return } func _sqlite3BackupRestart(tls *crt.TLS, _pBackup *Xsqlite3_backup) { // sqlite3.c:69545:1 var _p *Xsqlite3_backup // sqlite3.c:69546:18 _ = _p _p = _pBackup _0: if _p == nil { goto _3 } func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X21))) != 0 { return i32(0) } return func() int32 { 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(15668))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) = uint32(i32(1)) _p = (*Xsqlite3_backup)(unsafe.Pointer(_p.X11)) goto _0 _3: return } var _sqlite3BackupRestartØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BackupRestartØ00__func__Ø000[0], str(15708), 21) } func _sqlite3PcacheDirtyList(tls *crt.TLS, _pCache *XPCache) (r0 *XPgHdr) { // sqlite3.c:44848:1 var _p *XPgHdr // sqlite3.c:44849:9 _ = _p _p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) _0: if _p == nil { goto _3 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(_p.X9)) _p = (*XPgHdr)(unsafe.Pointer(_p.X9)) goto _0 _3: r0 = _pcacheSortDirtyList(tls, (*XPgHdr)(unsafe.Pointer(_pCache.X0))) return } func _pcacheSortDirtyList(tls *crt.TLS, _pIn *XPgHdr) (r0 *XPgHdr) { // sqlite3.c:44813:1 var _a [32]*XPgHdr // sqlite3.c:44814:9 _ = _a var _p *XPgHdr // sqlite3.c:44814:28 _ = _p var _i int32 // sqlite3.c:44815:7 _ = _i crt.Xmemset(tls, (unsafe.Pointer)(&_a), i32(0), u64(256)) _0: if _pIn == nil { goto _1 } _p = _pIn _pIn = (*XPgHdr)(unsafe.Pointer(_p.X3)) *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _i = i32(0) _2: if func() int32 { if _i < i32(31) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _7 } if (*(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i)))) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i))) = _p goto _7 _8: _p = _pcacheMergeDirtyList(tls, *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i))), _p) *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _2 _7: if func() int32 { if _i == i32(31) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _12 } *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i))) = _pcacheMergeDirtyList(tls, *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i))), _p) _12: goto _0 _1: _p = *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(i32(0)))) _i = i32(1) _13: if _i >= i32(32) { goto _16 } if (*(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i)))) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } goto _14 _17: _p = func() *XPgHdr { if _p != nil { return _pcacheMergeDirtyList(tls, _p, *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i)))) } return (*(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 8*uintptr(_i)))) }() _14: _i += 1 goto _13 _16: r0 = _p return } var _pcacheSortDirtyListØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_pcacheSortDirtyListØ00__func__Ø000[0], str(15732), 20) } func _pcacheMergeDirtyList(tls *crt.TLS, _pA *XPgHdr, _pB *XPgHdr) (r0 *XPgHdr) { // sqlite3.c:44776:1 var _result XPgHdr // sqlite3.c:44777:9 _ = _result var _pTail *XPgHdr // sqlite3.c:44777:17 _ = _pTail _pTail = &_result func() int32 { if (_pA != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) && (_pB != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(15752))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: if (_pA.X5) >= (_pB.X5) { goto _6 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(24 /* X3 */))))) = _pA _pTail = _pA _pA = (*XPgHdr)(unsafe.Pointer(_pA.X3)) if _pA != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(24 /* X3 */))))) = _pB goto _5 _7: goto _8 _6: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(24 /* X3 */))))) = _pB _pTail = _pB _pB = (*XPgHdr)(unsafe.Pointer(_pB.X3)) if _pB != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(24 /* X3 */))))) = _pA goto _5 _9: _8: goto _3 _5: r0 = (*XPgHdr)(unsafe.Pointer(_result.X3)) return } var _pcacheMergeDirtyListØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_pcacheMergeDirtyListØ00__func__Ø000[0], str(15768), 21) } func _pager_playback_one_page(tls *crt.TLS, _pPager *XPager, _pOffset *int64, _pDone *XBitvec, _isMainJrnl int32, _isSavepnt int32) (r0 int32) { // sqlite3.c:49120:1 var _rc int32 // sqlite3.c:49127:7 _ = _rc var _pPg *XPgHdr // sqlite3.c:49128:9 _ = _pPg var _pgno uint32 // sqlite3.c:49129:8 _ = _pgno var _cksum uint32 // sqlite3.c:49130:7 _ = _cksum var _aData *int8 // sqlite3.c:49131:8 _ = _aData var _jfd *Xsqlite3_file // sqlite3.c:49132:16 _ = _jfd var _isSynced int32 // sqlite3.c:49133:7 _ = _isSynced var _11_ofst int64 // sqlite3.c:49254:9 _ = _11_ofst var _15_pData unsafe.Pointer // sqlite3.c:49299:10 _ = _15_pData func() int32 { if (_isMainJrnl & i32(-2)) == i32(0) { return i32(0) } return func() int32 { 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(15792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_isSavepnt & i32(-2)) == i32(0) { return i32(0) } return func() int32 { 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(15812))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _isMainJrnl != 0 || (_pDone != nil) { return i32(0) } return func() int32 { 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(15832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _isSavepnt != 0 || (_pDone == (*XBitvec)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(15852))) crt.X__builtin_abort(tls) return i32(0) }() }() _aData = _pPager.X58 func() int32 { if _aData != nil { return i32(0) } return func() int32 { 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(15876))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) || ((_isMainJrnl == 0) && _isSavepnt != 0) { return i32(0) } return func() int32 { 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(15884))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) >= i32(3)) || ((int32(_pPager.X14) == i32(0)) && (int32(_pPager.X15) == i32(4))) { return i32(0) } return func() int32 { 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(15940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) >= i32(3)) || _isMainJrnl != 0 { return i32(0) } return func() int32 { 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(16044))) crt.X__builtin_abort(tls) return i32(0) }() }() _jfd = func() *Xsqlite3_file { if _isMainJrnl != 0 { return (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)) } return (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)) }() _rc = _read32bits(tls, _jfd, *_pOffset, &_pgno) if _rc == i32(0) { goto _25 } r0 = _rc return _25: _rc = _sqlite3OsRead(tls, _jfd, (unsafe.Pointer)(_aData), _pPager.X48, (*_pOffset)+int64(i32(4))) if _rc == i32(0) { goto _26 } r0 = _rc return _26: { p := _pOffset *p = (*p) + int64(((_pPager.X48)+i32(4))+(_isMainJrnl*i32(4))) sink967 = *p } if _pgno != uint32(i32(0)) && _pgno != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { goto _28 } func() int32 { if _isSavepnt == 0 { return i32(0) } return func() int32 { 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(16096))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(101) return _28: if _pgno <= (_pPager.X22) && _sqlite3BitvecTest(tls, _pDone, _pgno) == 0 { goto _32 } r0 = i32(0) return _32: if _isMainJrnl == 0 { goto _33 } _rc = _read32bits(tls, _jfd, (*_pOffset)-int64(i32(4)), &_cksum) if _rc == 0 { goto _34 } r0 = _rc return _34: if _isSavepnt != 0 || _pager_cksum(tls, _pPager, (*uint8)(unsafe.Pointer(_aData))) == _cksum { goto _36 } r0 = i32(101) return _36: _33: if _pDone == nil || store961(&_rc, _sqlite3BitvecSet(tls, _pDone, _pgno)) == i32(0) { goto _38 } r0 = _rc return _38: if _pgno != uint32(i32(1)) || int32(_pPager.X45) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(i32(20))))) { goto _40 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(178 /* X45 */))) = int16(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(i32(20))))) _40: if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _41 } _pPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) goto _42 _41: _pPg = _sqlite3PagerLookup(tls, _pPager, _pgno) _42: func() int32 { if (_pPg != nil) || ((_pPager.X13) == 0) { return i32(0) } return func() int32 { 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(16108))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pPager.X14) != i32(0)) || (_pPg == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))))) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(16124))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isMainJrnl == 0 { goto _50 } _isSynced = bool2int(((_pPager.X4) != 0) || ((*_pOffset) <= (_pPager.X35))) goto _52 _50: _isSynced = bool2int((_pPg == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) || (i32(0) == (int32(_pPg.X6) & i32(8)))) _52: 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 { goto _57 } _11_ofst = int64(_pgno-uint32(i32(1))) * int64(_pPager.X48) func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_aData), _pPager.X48, _11_ofst) if _pgno <= (_pPager.X24) { goto _60 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(40 /* X24 */))) = _pgno _60: if (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)) == nil { goto _61 } _sqlite3BackupUpdate(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)), _pgno, (*uint8)(unsafe.Pointer(_aData))) _aData = _aData _61: goto _62 _57: if _isMainJrnl != 0 || _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _64 } func() int32 { if _isSavepnt != 0 { return i32(0) } return func() int32 { 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(16184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X18) & i32(2)) == i32(0) { return i32(0) } return func() int32 { 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(16196))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(25 /* X18 */))) *p = uint8(int32(*p) | i32(2)) sink4537 = *p } _rc = _sqlite3PagerGet(tls, _pPager, _pgno, &_pPg, i32(1)) func() int32 { if (int32(_pPager.X18) & i32(2)) != i32(0) { return i32(0) } return func() int32 { 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(16244))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(25 /* X18 */))) *p = uint8(int32(*p) & i32(-3)) sink4537 = *p } if _rc == i32(0) { goto _71 } r0 = _rc return _71: _sqlite3PcacheMakeDirty(tls, _pPg) _64: _62: if _pPg == nil { goto _72 } _15_pData = _pPg.X1 crt.Xmemcpy(tls, _15_pData, (unsafe.Pointer)(_aData), uint64(_pPager.X48)) (*(*func(*crt.TLS, *XPgHdr))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_pPager.X56)})))(tls, _pPg) if _pgno != uint32(i32(1)) { goto _73 } crt.Xmemcpy(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(136 /* X40 */)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_15_pData)+1*uintptr(i32(24))))), u64(16)) _73: _sqlite3PcacheRelease(tls, _pPg) _72: r0 = _rc return } var _pager_playback_one_pageØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_pager_playback_one_pageØ00__func__Ø000[0], str(16292), 24) } func _read32bits(tls *crt.TLS, _fd *Xsqlite3_file, _offset int64, _pRes *uint32) (r0 int32) { // sqlite3.c:47968:1 var _ac [4]uint8 // sqlite3.c:47969:17 _ = _ac var _rc int32 // sqlite3.c:47970:7 _ = _rc _rc = _sqlite3OsRead(tls, _fd, (unsafe.Pointer)(&_ac), int32(u64(4)), _offset) if _rc != i32(0) { goto _0 } *_pRes = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(&_ac))) _0: r0 = _rc return } func _sqlite3Get4byte(tls *crt.TLS, _p *uint8) (r0 uint32) { // sqlite3.c:28752:1 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)))))<= (_p.X4) { goto _6 } func() int32 { if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != nil { return i32(0) } return func() int32 { 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(16316))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _2_rc = _backupOnePage(tls, _p, _iPage, _aData, i32(1)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) func() int32 { if (_2_rc != i32(5)) && (_2_rc != i32(6)) { return i32(0) } return func() int32 { 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(16328))) crt.X__builtin_abort(tls) return i32(0) }() }() if _2_rc == i32(0) { goto _12 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X7 */))) = _2_rc _12: _6: if store5584708(&_p, (*Xsqlite3_backup)(unsafe.Pointer(_p.X11))) != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } return } var _backupUpdateØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_backupUpdateØ00__func__Ø000[0], str(16368), 13) } func _isFatalError(tls *crt.TLS, _rc int32) (r0 int32) { // sqlite3.c:69033:1 r0 = bool2int(((_rc != i32(0)) && (_rc != i32(5))) && func() int32 { if _rc != i32(6) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() != 0) return } var _isFatalErrorØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_isFatalErrorØ00__func__Ø000[0], str(16384), 13) } func _backupOnePage(tls *crt.TLS, _p *Xsqlite3_backup, _iSrcPg uint32, _zSrcData *uint8, _bUpdate int32) (r0 int32) { // sqlite3.c:69042:1 var _pDestPager *XPager // sqlite3.c:69048:9 _ = _pDestPager var _nSrcPgsz int32 // sqlite3.c:69049:13 _ = _nSrcPgsz var _nDestPgsz int32 // sqlite3.c:69050:7 _ = _nDestPgsz var _nCopy int32 // sqlite3.c:69051:13 _ = _nCopy var _iEnd int64 // sqlite3.c:69052:13 _ = _iEnd var _rc int32 // sqlite3.c:69060:7 _ = _rc var _iOff int64 // sqlite3.c:69061:7 _ = _iOff var _2_pDestPg *XPgHdr // sqlite3.c:69101:12 _ = _2_pDestPg var _2_iDest uint32 // sqlite3.c:69102:10 _ = _2_iDest var _3_zIn *uint8 // sqlite3.c:69107:16 _ = _3_zIn var _3_zDestData *uint8 // sqlite3.c:69108:10 _ = _3_zDestData var _3_zOut *uint8 // sqlite3.c:69109:10 _ = _3_zOut _pDestPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X1))) _nSrcPgsz = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))) _nDestPgsz = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1))) _nCopy = func() int32 { if _nSrcPgsz < _nDestPgsz { return _nSrcPgsz } return _nDestPgsz }() _iEnd = int64(_iSrcPg) * int64(_nSrcPgsz) _rc = i32(0) func() int32 { if _sqlite3BtreeGetReserveNoMutex(tls, (*XBtree)(unsafe.Pointer(_p.X6))) >= i32(0) { return i32(0) } return func() int32 { 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(16400))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X3) != 0 { return i32(0) } return func() int32 { 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(16444))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _isFatalError(tls, _p.X7) == 0 { return i32(0) } return func() int32 { 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(16460))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iSrcPg != ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X15)) + uint32(i32(1))) { return i32(0) } return func() int32 { 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(16484))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _zSrcData != nil { return i32(0) } return func() int32 { 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(16524))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nSrcPgsz == _nDestPgsz || _sqlite3PagerIsMemdb(tls, _pDestPager) == 0 { goto _13 } _rc = i32(8) _13: _iOff = _iEnd - int64(_nSrcPgsz) _14: if _rc != i32(0) || _iOff >= _iEnd { goto _18 } _2_pDestPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _2_iDest = uint32(_iOff/int64(_nDestPgsz)) + uint32(i32(1)) if _2_iDest != ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15)) + uint32(i32(1))) { goto _19 } goto _15 _19: if i32(0) != store961(&_rc, _sqlite3PagerGet(tls, _pDestPager, _2_iDest, &_2_pDestPg, i32(0))) || i32(0) != store961(&_rc, _sqlite3PagerWrite(tls, _2_pDestPg)) { goto _21 } _3_zIn = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSrcData)) + 1*uintptr(_iOff%int64(_nSrcPgsz)))) _3_zDestData = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _2_pDestPg))) _3_zOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_zDestData)) + 1*uintptr(_iOff%int64(_nDestPgsz)))) crt.Xmemcpy(tls, (unsafe.Pointer)(_3_zOut), (unsafe.Pointer)(_3_zIn), uint64(_nCopy)) *(*uint8)(unsafe.Pointer(uintptr(_sqlite3PagerGetExtra(tls, _2_pDestPg)) + 1*uintptr(i32(0)))) = uint8(i32(0)) if _iOff != int64(i32(0)) || _bUpdate != i32(0) { goto _23 } _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_zOut))+1*uintptr(i32(28)))), _sqlite3BtreeLastPage(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) _23: _21: _sqlite3PagerUnref(tls, _2_pDestPg) _15: { p := &_iOff *p = (*p) + int64(_nDestPgsz) sink967 = *p } goto _14 _18: r0 = _rc return } func _sqlite3BtreePager(tls *crt.TLS, _p *XBtree) (r0 *XPager) { // sqlite3.c:67908:1 r0 = (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)) return } func _sqlite3BtreeGetPageSize(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61702:1 r0 = int32((*XBtShared)(unsafe.Pointer(_p.X1)).X15) return } func _sqlite3BtreeGetReserveNoMutex(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61717:1 var _n int32 // sqlite3.c:61718:7 _ = _n func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != 0 { return i32(0) } return func() int32 { 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(16536))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = int32(((*XBtShared)(unsafe.Pointer(_p.X1)).X15) - ((*XBtShared)(unsafe.Pointer(_p.X1)).X16)) r0 = _n return } var _sqlite3BtreeGetReserveNoMutexØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeGetReserveNoMutexØ00__func__Ø000[0], str(16572), 30) } var _backupOnePageØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_backupOnePageØ00__func__Ø000[0], str(16604), 14) } func _sqlite3PagerIsMemdb(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53518:1 r0 = int32(_pPager.X10) return } func _sqlite3PagerGetData(tls *crt.TLS, _pPg *XPgHdr) (r0 unsafe.Pointer) { // sqlite3.c:53947:1 func() int32 { if (int32(_pPg.X7) > i32(0)) || (((*XPager)(unsafe.Pointer(_pPg.X4)).X13) != 0) { return i32(0) } return func() int32 { 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(16620))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pPg.X1 return } var _sqlite3PagerGetDataØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerGetDataØ00__func__Ø000[0], str(16656), 20) } func _sqlite3PagerGetExtra(tls *crt.TLS, _pPg *XPgHdr) (r0 unsafe.Pointer) { // sqlite3.c:53956:1 r0 = _pPg.X2 return } func _sqlite3BtreeLastPage(tls *crt.TLS, _p *XBtree) (r0 uint32) { // sqlite3.c:60976:1 func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((*XBtShared)(unsafe.Pointer(_p.X1)).X18) & uint32(i32(134217728))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(16704))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _btreePagecount(tls, (*XBtShared)(unsafe.Pointer(_p.X1))) return } func _sqlite3BtreeHoldsMutex(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:58808:1 func() int32 { if ((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(0))) || ((_p.X6) > i32(0)) { return i32(0) } return func() int32 { 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(16736))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(16788))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(16840))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(16908))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((int32(_p.X3) == i32(0)) || ((_p.X4) != 0)) return } var _sqlite3BtreeHoldsMutexØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeHoldsMutexØ00__func__Ø000[0], str(16976), 23) } var _sqlite3BtreeLastPageØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeLastPageØ00__func__Ø000[0], str(17000), 21) } func _btreePagecount(tls *crt.TLS, _pBt *XBtShared) (r0 uint32) { // sqlite3.c:60973:1 r0 = _pBt.X18 return } func _sqlite3PagerUnref(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:52484:1 if _pPg == nil { goto _0 } _sqlite3PagerUnrefNotNull(tls, _pPg) _0: return } func _readJournalHdr(tls *crt.TLS, _pPager *XPager, _isHot int32, _journalSize int64, _pNRec *uint32, _pDbSize *uint32) (r0 int32) { // sqlite3.c:48409:1 var _rc int32 // sqlite3.c:48416:7 _ = _rc var _aMagic [8]uint8 // sqlite3.c:48417:17 _ = _aMagic var _iHdrOff int64 // sqlite3.c:48418:7 _ = _iHdrOff var _6_iPageSize uint32 // sqlite3.c:48459:9 _ = _6_iPageSize var _6_iSectorSize uint32 // sqlite3.c:48460:9 _ = _6_iSectorSize func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12584))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = _journalHdrOffset(tls, _pPager) if ((_pPager.X34) + int64(_pPager.X47)) <= _journalSize { goto _2 } r0 = i32(101) return _2: _iHdrOff = _pPager.X34 if _isHot == 0 && _iHdrOff == (_pPager.X35) { goto _4 } _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_aMagic), int32(u64(8)), _iHdrOff) if _rc == 0 { goto _5 } r0 = _rc return _5: if crt.Xmemcmp(tls, (unsafe.Pointer)(&_aMagic), (unsafe.Pointer)(&_aJournalMagic), u64(8)) == i32(0) { goto _6 } r0 = i32(101) return _6: _4: 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(56 /* X28 */))))) && i32(0) == store961(&_rc, _read32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff+int64(i32(16)), _pDbSize)) { goto _9 } r0 = _rc return _9: if (_pPager.X34) != int64(i32(0)) { goto _10 } 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)) { goto _12 } r0 = _rc return _12: if _6_iPageSize != uint32(i32(0)) { goto _13 } _6_iPageSize = uint32(_pPager.X48) _13: 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)) { goto _19 } r0 = i32(101) return _19: _rc = _sqlite3PagerSetPagesize(tls, _pPager, &_6_iPageSize, i32(-1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(184 /* X47 */))) = _6_iSectorSize _10: { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) *p = (*p) + int64(_pPager.X47) sink967 = *p } r0 = _rc return } var _readJournalHdrØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_readJournalHdrØ00__func__Ø000[0], str(17024), 15) } func _sqlite3PagerSetPagesize(tls *crt.TLS, _pPager *XPager, _pPageSize *uint32, _nReserve int32) (r0 int32) { // sqlite3.c:50570:1 var _rc int32 // sqlite3.c:50571:7 _ = _rc var _pageSize uint32 // sqlite3.c:50583:7 _ = _pageSize var _1_pNew *int8 // sqlite3.c:50589:10 _ = _1_pNew var _1_nByte int64 // sqlite3.c:50590:9 _ = _1_nByte _rc = i32(0) _pageSize = *_pPageSize func() int32 { if (_pageSize == uint32(i32(0))) || ((_pageSize >= uint32(i32(512))) && (_pageSize <= uint32(i32(65536)))) { return i32(0) } return func() int32 { 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(17040))) crt.X__builtin_abort(tls) return i32(0) }() }() 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) { goto _8 } _1_pNew = nil _1_nByte = i64(0) 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)))) { goto _10 } _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_1_nByte) _10: if _rc != i32(0) { goto _11 } _1_pNew = (*int8)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32(_pageSize)))) if _1_pNew != nil { goto _12 } _rc = _sqlite3NomemError(tls, i32(50597)) _12: _11: if _rc != i32(0) { goto _13 } _pager_reset(tls, _pPager) _rc = _sqlite3PcacheSetPageSize(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), int32(_pageSize)) _13: if _rc != i32(0) { goto _14 } _sqlite3PageFree(tls, (unsafe.Pointer)(_pPager.X58)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(272 /* X58 */))) = _1_pNew *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X22 */))) = uint32(((_1_nByte + int64(_pageSize)) - int64(i32(1))) / int64(_pageSize)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(188 /* X48 */))) = int32(_pageSize) goto _15 _14: _sqlite3PageFree(tls, (unsafe.Pointer)(_1_pNew)) _15: _8: *_pPageSize = uint32(_pPager.X48) if _rc != i32(0) { goto _16 } if _nReserve >= i32(0) { goto _17 } _nReserve = int32(_pPager.X45) _17: func() int32 { if (_nReserve >= i32(0)) && (_nReserve < i32(1000)) { return i32(0) } return func() int32 { 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(17108))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(178 /* X45 */))) = int16(_nReserve) _pagerFixMaplimit(tls, _pPager) _16: r0 = _rc return } var _sqlite3PagerSetPagesizeØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerSetPagesizeØ00__func__Ø000[0], str(17140), 24) } func _sqlite3OsFileSize(tls *crt.TLS, _id *Xsqlite3_file, _pSize *int64) (r0 int32) { // sqlite3.c:20154:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int64) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X6)})))(tls, _id, _pSize) return } func _sqlite3PageMalloc(tls *crt.TLS, _sz int32) (r0 unsafe.Pointer) { // sqlite3.c:45434:1 r0 = _pcache1Alloc(tls, _sz) return } func _pcache1Alloc(tls *crt.TLS, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:45272:1 var _p unsafe.Pointer // sqlite3.c:45273:8 _ = _p var _4_sz int32 // sqlite3.c:45295:11 _ = _4_sz _p = nil func() int32 { if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(0 /* X0 */))).X0))) != 0 { return i32(0) } return func() int32 { 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(17164))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nByte > (_pcache1_g.X4) { goto _2 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) _p = _pcache1_g.X10 if _p == nil { goto _3 } *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(128 /* X10 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pcache1_g.X10)).X0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(136 /* X11 */))) -= 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(140 /* X12 */))) = bool2int((_pcache1_g.X11) < (_pcache1_g.X6)) func() int32 { if (_pcache1_g.X11) >= i32(0) { return i32(0) } return func() int32 { 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(17208))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StatusHighwater(tls, i32(7), _nByte) _sqlite3StatusUp(tls, i32(1), i32(1)) _3: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) _2: if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _6 } _p = _sqlite3Malloc(tls, uint64(_nByte)) if _p == nil { goto _7 } _4_sz = _sqlite3MallocSize(tls, _p) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) _sqlite3StatusHighwater(tls, i32(7), _nByte) _sqlite3StatusUp(tls, i32(2), _4_sz) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) _7: _6: r0 = _p return } var _pcache1AllocØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1AllocØ00__func__Ø000[0], str(17232), 13) } func _pager_reset(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:48602:1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(132 /* X39 */))) += 1 _sqlite3BackupRestart(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36))) _sqlite3PcacheClear(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) return } func _sqlite3PcacheClear(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44768:1 _sqlite3PcacheTruncate(tls, _pCache, uint32(i32(0))) return } func _sqlite3PcacheTruncate(tls *crt.TLS, _pCache *XPCache, _pgno uint32) { // sqlite3.c:44726:1 var _1_p *XPgHdr // sqlite3.c:44728:11 _ = _1_p var _1_pNext *XPgHdr // sqlite3.c:44729:11 _ = _1_pNext var _4_pPage1 *Xsqlite3_pcache_page // sqlite3.c:44744:27 _ = _4_pPage1 if (_pCache.X12) == nil { goto _0 } _1_p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) _1: if _1_p == nil { goto _4 } _1_pNext = (*XPgHdr)(unsafe.Pointer(_1_p.X9)) func() int32 { if (_1_p.X5) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(17248))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_1_p.X5) <= _pgno { goto _7 } func() int32 { if (int32(_1_p.X6) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(17260))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3PcacheMakeClean(tls, _1_p) _7: _1_p = _1_pNext goto _1 _4: if _pgno != uint32(i32(0)) || (_pCache.X3) == 0 { goto _11 } _4_pPage1 = (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X7)})))(tls, _pCache.X12, uint32(i32(1)), i32(0)) if func() int32 { if _4_pPage1 != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _14 } crt.Xmemset(tls, _4_pPage1.X0, i32(0), uint64(_pCache.X6)) _pgno = uint32(i32(1)) _14: _11: ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X10)(tls, _pCache.X12, _pgno+uint32(i32(1))) _0: return } var _sqlite3PcacheTruncateØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheTruncateØ00__func__Ø000[0], str(17284), 22) } func _sqlite3PcacheMakeClean(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44652:1 func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (int32(_p.X6) & i32(2)) != i32(0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _4 } func() int32 { if (int32(_p.X6) & i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(17308))) crt.X__builtin_abort(tls) return i32(0) }() }() _pcacheManageDirtyList(tls, _p, uint8(i32(1))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-15)) sink4530 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X7) != i32(0) { goto _9 } _pcacheUnpin(tls, _p) _9: _4: return } var _sqlite3PcacheMakeCleanØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheMakeCleanØ00__func__Ø000[0], str(17336), 23) } func _sqlite3PcacheSetPageSize(tls *crt.TLS, _pCache *XPCache, _szPage int32) (r0 int32) { // sqlite3.c:44398:1 var _1_pNew unsafe.Pointer // sqlite3.c:44401:20 _ = _1_pNew func() int32 { if ((_pCache.X3) == i32(0)) && ((*XPgHdr)(unsafe.Pointer(_pCache.X0)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(17360))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pCache.X6) == 0 { goto _3 } _1_pNew = ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X4)(tls, _szPage, int32(uint64(_pCache.X7)+u64(72)), int32(_pCache.X8)) if unsafe.Pointer(_1_pNew) != (unsafe.Pointer)(uintptr(i32(0))) { goto _4 } r0 = _sqlite3NomemError(tls, i32(44406)) return _4: ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X5)(tls, _1_pNew, _numberOfCachePages(tls, _pCache)) if (_pCache.X12) == nil { goto _5 } ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X11)(tls, _pCache.X12) _5: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(64 /* X12 */))) = _1_pNew *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(36 /* X6 */))) = _szPage _3: r0 = i32(0) return } var _sqlite3PcacheSetPageSizeØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheSetPageSizeØ00__func__Ø000[0], str(17400), 25) } func _numberOfCachePages(tls *crt.TLS, _p *XPCache) (r0 int32) { // sqlite3.c:44321:1 if (_p.X4) < i32(0) { goto _0 } r0 = _p.X4 return _0: r0 = int32((int64(i32(-1024)) * int64(_p.X4)) / int64((_p.X6)+(_p.X7))) return } func _sqlite3PageFree(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:45441:1 _pcache1Free(tls, _p) return } func _pcache1Free(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:45310:1 var _1_pSlot *Xsqlite3_file // sqlite3.c:45313:16 _ = _1_pSlot var _3_nFreed int32 // sqlite3.c:45328:11 _ = _3_nFreed if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } return _0: if uint64(uintptr(unsafe.Pointer(_p))) < uint64(uintptr(unsafe.Pointer(_pcache1_g.X7))) || uint64(uintptr(unsafe.Pointer(_p))) >= uint64(uintptr(unsafe.Pointer(_pcache1_g.X8))) { goto _2 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) _sqlite3StatusDown(tls, i32(1), i32(1)) _1_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_p)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pcache1_g.X10)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(128 /* X10 */))))) = _1_pSlot *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(136 /* X11 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(140 /* X12 */))) = bool2int((_pcache1_g.X11) < (_pcache1_g.X6)) func() int32 { if (_pcache1_g.X11) <= (_pcache1_g.X5) { return i32(0) } return func() int32 { 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(17428))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) goto _5 _2: i32(0) _3_nFreed = i32(0) _3_nFreed = _sqlite3MallocSize(tls, _p) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) _sqlite3StatusDown(tls, i32(2), _3_nFreed) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) Xsqlite3_free(tls, _p) _5: return } var _pcache1FreeØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1FreeØ00__func__Ø000[0], str(17464), 12) } func _pagerFixMaplimit(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50342:1 var _fd *Xsqlite3_file // sqlite3.c:50344:16 _ = _fd var _1_sz int64 // sqlite3.c:50346:19 _ = _1_sz _fd = (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)) 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) { goto _1 } _1_sz = _pPager.X42 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(27 /* X20 */))) = uint8(bool2int(_1_sz > int64(i32(0)))) _setGetterMethod(tls, _pPager) _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(18), (unsafe.Pointer)(&_1_sz)) _1: return } func _setGetterMethod(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:47913:1 if (_pPager.X26) == 0 { goto _0 } *(*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(264 /* X57 */))))) = _getPageError goto _1 _0: if (_pPager.X20) == 0 { goto _2 } *(*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(264 /* X57 */))))) = _getPageMMap goto _3 _2: *(*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(264 /* X57 */))))) = _getPageNormal _3: _1: return } func _getPageError(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52418:1 func() int32 { if (_pPager.X26) != i32(0) { return i32(0) } return func() int32 { 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(11148))) crt.X__builtin_abort(tls) return i32(0) }() }() *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) r0 = _pPager.X26 return } var _getPageErrorØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_getPageErrorØ00__func__Ø000[0], str(17476), 13) } func _getPageMMap(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52346:1 var _rc int32 // sqlite3.c:52352:7 _ = _rc var _pPg *XPgHdr // sqlite3.c:52353:9 _ = _pPg var _iFrame uint32 // sqlite3.c:52354:7 _ = _iFrame var _bMmapOk int32 // sqlite3.c:52360:13 _ = _bMmapOk var _4_pData unsafe.Pointer // sqlite3.c:52389:10 _ = _4_pData _rc = i32(0) _pPg = nil _iFrame = u32(0) _bMmapOk = bool2int((_pgno > uint32(i32(1))) && ((int32(_pPager.X14) == i32(1)) || (_flags&i32(2)) != 0)) func() int32 { if (_pPager.X20) != 0 { return i32(0) } return func() int32 { 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(17492))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgno > uint32(i32(1)) || _pgno != uint32(i32(0)) { goto _5 } r0 = _sqlite3CorruptError(tls, i32(52374)) return _5: func() int32 { if int32(_pPager.X14) >= i32(1) { return i32(0) } return func() int32 { 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(17512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X21) == i32(1) { return i32(0) } return func() int32 { 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(17544))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() if _bMmapOk == 0 || (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _rc = _sqlite3WalFindFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pgno, &_iFrame) if _rc == i32(0) { goto _16 } *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) r0 = _rc return _16: _15: if _bMmapOk == 0 || _iFrame != uint32(i32(0)) { goto _18 } _4_pData = nil _rc = _sqlite3OsFetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(_pgno-uint32(i32(1)))*int64(_pPager.X48), _pPager.X48, &_4_pData) if _rc != i32(0) || _4_pData == nil { goto _20 } if int32(_pPager.X14) <= i32(1) && (_pPager.X10) == 0 { goto _22 } _pPg = _sqlite3PagerLookup(tls, _pPager, _pgno) _22: if _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } _rc = _pagerAcquireMapPage(tls, _pPager, _pgno, _4_pData, &_pPg) goto _24 _23: _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(_pgno-uint32(i32(1)))*int64(_pPager.X48), _4_pData) _24: if _pPg == nil { goto _25 } func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() *_ppPage = _pPg r0 = i32(0) return _25: _20: if _rc == i32(0) { goto _28 } *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) r0 = _rc return _28: _18: r0 = _getPageNormal(tls, _pPager, _pgno, _ppPage, _flags) return } var _getPageMMapØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_getPageMMapØ00__func__Ø000[0], str(17576), 12) } func _sqlite3OsFetch(tls *crt.TLS, _id *Xsqlite3_file, _iOff int64, _iAmt int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:20229:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X17)})))(tls, _id, _iOff, _iAmt, _pp) return } func _pagerAcquireMapPage(tls *crt.TLS, _pPager *XPager, _pgno uint32, _pData unsafe.Pointer, _ppPage **XPgHdr) (r0 int32) { // sqlite3.c:50857:1 var _p *XPgHdr // sqlite3.c:50863:9 _ = _p if (*XPgHdr)(unsafe.Pointer(_pPager.X43)) == nil { goto _0 } *_ppPage = store5557795(&_p, (*XPgHdr)(unsafe.Pointer(_pPager.X43))) *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(168 /* X43 */))))) = (*XPgHdr)(unsafe.Pointer(_p.X3)) *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if int32(_pPager.X44) >= i32(8) { return i32(0) } return func() int32 { 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(17588))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, _p.X2, i32(0), uint64(i32(8))) goto _3 _0: *_ppPage = store5557795(&_p, (*XPgHdr)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(72)+uint64(_pPager.X44))))) if _p != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(_pgno-uint32(i32(1)))*int64(_pPager.X48), _pData) r0 = _sqlite3NomemError(tls, i32(50875)) return _4: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = (unsafe.Pointer)((*XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 72*uintptr(i32(1))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) = uint16(i32(32)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(46 /* X7 */))) = int16(i32(1)) *(**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))))) = _pPager _3: func() int32 { if unsafe.Pointer(_p.X2) == (unsafe.Pointer)((*XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+72*uintptr(i32(1))))) { return i32(0) } return func() int32 { 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(17608))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)) == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(17636))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X6) == i32(32) { return i32(0) } return func() int32 { 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(17648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPager)(unsafe.Pointer(_p.X4)) == _pPager { return i32(0) } return func() int32 { 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(17672))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X7) == i32(1) { return i32(0) } return func() int32 { 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(15460))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X5 */))) = _pgno *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = _pData *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(152 /* X41 */))) += 1 r0 = i32(0) return } var _pagerAcquireMapPageØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_pagerAcquireMapPageØ00__func__Ø000[0], str(17692), 20) } func _getPageNormal(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52239:1 var _rc int32 // sqlite3.c:52245:7 _ = _rc var _pPg *XPgHdr // sqlite3.c:52246:9 _ = _pPg var _noContent uint8 // sqlite3.c:52247:6 _ = _noContent var _pBase *Xsqlite3_pcache_page // sqlite3.c:52248:23 _ = _pBase var _10_iFrame uint32 // sqlite3.c:52318:11 _ = _10_iFrame _rc = i32(0) func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) >= i32(1) { return i32(0) } return func() int32 { 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(17512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X21) == i32(1) { return i32(0) } return func() int32 { 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(17544))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgno != uint32(i32(0)) { goto _8 } r0 = _sqlite3CorruptError(tls, i32(52255)) return _8: _pBase = _sqlite3PcacheFetch(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, i32(3)) if _pBase != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } _pPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _rc = _sqlite3PcacheFetchStress(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, &_pBase) if _rc == i32(0) { goto _10 } goto _pager_acquire_err _10: if _pBase != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } _rc = _sqlite3NomemError(tls, i32(52262)) goto _pager_acquire_err _11: _9: _pPg = store5557795(_ppPage, _sqlite3PcacheFetchFinish(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, _pBase)) func() int32 { if _pPg == (*_ppPage) { return i32(0) } return func() int32 { 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(17712))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPg.X5) == _pgno { return i32(0) } return func() int32 { 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(17728))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XPager)(unsafe.Pointer(_pPg.X4)) == _pPager) || ((*XPager)(unsafe.Pointer(_pPg.X4)) == (*XPager)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(17744))) crt.X__builtin_abort(tls) return i32(0) }() }() _noContent = uint8(bool2int((_flags & i32(1)) != i32(0))) if (*XPager)(unsafe.Pointer(_pPg.X4)) == nil || _noContent != 0 { goto _20 } func() int32 { if (_pgno <= uint32(i32(2147483647))) && (_pgno != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1))) { return i32(0) } return func() int32 { 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(17784))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(240 /* X55 */))))) + 4*uintptr(i32(0)))) += 1 r0 = i32(0) return _20: if _pgno <= uint32(i32(2147483647)) && _pgno != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { goto _26 } _rc = _sqlite3CorruptError(tls, i32(52287)) goto _pager_acquire_err _26: *(**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(32 /* X4 */))))) = _pPager func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X13) == 0) { return i32(0) } return func() int32 { 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(17836))) crt.X__builtin_abort(tls) return i32(0) }() }() 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 { goto _32 } if _pgno <= (_pPager.X49) { goto _33 } _rc = i32(13) goto _pager_acquire_err _33: if _noContent == 0 { goto _34 } _sqlite3BeginBenignMalloc(tls) if _pgno > (_pPager.X23) { goto _35 } _rc = _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pgno) _35: _rc = _addToSavepointBitvecs(tls, _pPager, _pgno) _sqlite3EndBenignMalloc(tls) _34: crt.Xmemset(tls, _pPg.X1, i32(0), uint64(_pPager.X48)) goto _36 _32: _10_iFrame = u32(0) if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _37 } _rc = _sqlite3WalFindFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pgno, &_10_iFrame) if _rc == i32(0) { goto _38 } goto _pager_acquire_err _38: _37: func() int32 { if (*XPager)(unsafe.Pointer(_pPg.X4)) == _pPager { return i32(0) } return func() int32 { 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(17868))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(240 /* X55 */))))) + 4*uintptr(i32(1)))) += 1 _rc = _readDbPage(tls, _pPg, _10_iFrame) if _rc == i32(0) { goto _41 } goto _pager_acquire_err _41: _36: r0 = i32(0) return _pager_acquire_err: func() int32 { if _rc != i32(0) { return i32(0) } return func() int32 { 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(17888))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pPg == nil { goto _44 } _sqlite3PcacheDrop(tls, _pPg) _44: _pagerUnlockIfUnused(tls, _pPager) *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) r0 = _rc return } var _getPageNormalØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_getPageNormalØ00__func__Ø000[0], str(17904), 14) } func _sqlite3PcacheFetchStress(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _ppPage **Xsqlite3_pcache_page) (r0 int32) { // sqlite3.c:44483:1 var _pPg *XPgHdr // sqlite3.c:44488:9 _ = _pPg var _3_rc int32 // sqlite3.c:44510:11 _ = _3_rc if int32(_pCache.X9) != i32(2) { goto _0 } r0 = i32(0) return _0: if _sqlite3PcachePagecount(tls, _pCache) <= (_pCache.X5) { goto _1 } _pPg = (*XPgHdr)(unsafe.Pointer(_pCache.X2)) _2: if _pPg == nil || (_pPg.X7) == 0 && (int32(_pPg.X6)&i32(8)) == 0 { goto _7 } _pPg = (*XPgHdr)(unsafe.Pointer(_pPg.X10)) goto _2 _7: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(16 /* X2 */))))) = _pPg if _pPg != nil { goto _8 } _pPg = (*XPgHdr)(unsafe.Pointer(_pCache.X1)) _9: if _pPg == nil || (_pPg.X7) == 0 { goto _13 } _pPg = (*XPgHdr)(unsafe.Pointer(_pPg.X10)) goto _9 _13: _8: if _pPg == nil { goto _14 } _3_rc = (*(*func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 }{(_pCache.X10)})))(tls, _pCache.X11, _pPg) if _3_rc == i32(0) || _3_rc == i32(5) { goto _16 } r0 = _3_rc return _16: _14: _1: *_ppPage = (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X7)})))(tls, _pCache.X12, _pgno, i32(2)) r0 = func() int32 { if (*_ppPage) == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { return _sqlite3NomemError(tls, i32(44527)) } return i32(0) }() return } func _sqlite3PcachePagecount(tls *crt.TLS, _pCache *XPCache) (r0 int32) { // sqlite3.c:44876:1 func() int32 { if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(15048))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X6)(tls, _pCache.X12) return } var _sqlite3PcachePagecountØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcachePagecountØ00__func__Ø000[0], str(17920), 23) } func _sqlite3EndBenignMalloc(tls *crt.TLS) { // sqlite3.c:20549:1 if (_sqlite3Hooks.X1) == nil { goto _0 } (_sqlite3Hooks.X1)(tls) _0: return } func _sqlite3OsFileControlHint(tls *crt.TLS, _id *Xsqlite3_file, _op int32, _pArg unsafe.Pointer) { // sqlite3.c:20196:1 (*(*func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X10)})))(tls, _id, _op, _pArg) return } func _sqlite3WalSavepointUndo(tls *crt.TLS, _pWal *XWal, _aWalData *uint32) (r0 int32) { // sqlite3.c:57237:1 var _rc int32 // sqlite3.c:57238:7 _ = _rc _rc = i32(0) func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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(72 /* X18 */))).X6)) { return i32(0) } return func() int32 { 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(17944))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3))))) == (_pWal.X22) { goto _5 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0)))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3)))) = _pWal.X22 _5: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0))))) >= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { goto _6 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(16 /* X6 */))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = *(*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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(2)))) _walCleanupHash(tls, _pWal) _6: r0 = _rc return } var _sqlite3WalSavepointUndoØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalSavepointUndoØ00__func__Ø000[0], str(18004), 24) } func _pager_end_transaction(tls *crt.TLS, _pPager *XPager, _hasMaster int32, _bCommit int32) (r0 int32) { // sqlite3.c:48864:1 var _rc int32 // sqlite3.c:48865:7 _ = _rc var _rc2 int32 // sqlite3.c:48866:7 _ = _rc2 var _9_bDelete int32 // sqlite3.c:48922:11 _ = _9_bDelete _rc = i32(0) _rc2 = i32(0) func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) != i32(6) { return i32(0) } return func() int32 { 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(14108))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X14) >= i32(2) || int32(_pPager.X15) >= i32(2) { goto _5 } r0 = i32(0) return _5: _releaseAllSavepoints(tls, _pPager) func() int32 { 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))))) { return i32(0) } return func() int32 { 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(18028))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) == 0 { goto _12 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) goto _13 _12: if int32(_pPager.X2) != i32(3) { goto _14 } if (_pPager.X34) != int64(i32(0)) { goto _15 } _rc = i32(0) goto _16 _15: _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int64(i32(0))) if _rc != i32(0) || (_pPager.X5) == 0 { goto _18 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int32(_pPager.X9)) _18: _16: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) goto _19 _14: if int32(_pPager.X2) != i32(1) && ((_pPager.X1) == 0 || int32(_pPager.X2) == i32(5)) { goto _22 } _rc = _zeroJournalHdr(tls, _pPager, bool2int(_hasMaster != 0 || ((_pPager.X10) != 0))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) goto _24 _22: _9_bDelete = bool2int((_pPager.X10) == 0) func() int32 { if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) == i32(0) { return i32(0) } return func() int32 { 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(18076))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pPager.X2) == i32(0)) || (int32(_pPager.X2) == i32(4))) || (int32(_pPager.X2) == i32(5)) { return i32(0) } return func() int32 { 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(18120))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) if _9_bDelete == 0 { goto _31 } _rc = _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X52, int32(_pPager.X6)) _31: _24: _19: _13: _9: _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30))) *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(64 /* X30 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(52 /* X27 */))) = i32(0) if _rc != i32(0) { goto _32 } if (_pPager.X13) == 0 && _pagerFlushOnCommit(tls, _pPager, _bCommit) == 0 { goto _34 } _sqlite3PcacheCleanAll(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) goto _35 _34: _sqlite3PcacheClearWritable(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) _35: _sqlite3PcacheTruncate(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pPager.X22) _32: if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _36 } _rc2 = _sqlite3WalEndWriteTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) func() int32 { if _rc2 == i32(0) { return i32(0) } return func() int32 { 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(18264))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _39 _36: if _rc != i32(0) || _bCommit == 0 || (_pPager.X24) <= (_pPager.X22) { goto _42 } func() int32 { if int32(_pPager.X15) == i32(4) { return i32(0) } return func() int32 { 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(18280))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pager_truncate(tls, _pPager, _pPager.X22) _42: _39: 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)))) { goto _47 } _rc = _sqlite3OsFileControl(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(22), (unsafe.Pointer)(uintptr(i32(0)))) if _rc != i32(12) { goto _48 } _rc = i32(0) _48: _47: 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 { goto _51 } _rc2 = _pagerUnlockDb(tls, _pPager, i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = uint8(i32(0)) _51: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(24 /* X17 */))) = uint8(i32(0)) r0 = func() int32 { if _rc == i32(0) { return _rc2 } return _rc }() return } var _pager_end_transactionØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pager_end_transactionØ00__func__Ø000[0], str(18312), 22) } func _releaseAllSavepoints(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:48621:1 var _ii int32 // sqlite3.c:48622:7 _ = _ii _ii = i32(0) _0: if _ii >= (_pPager.X38) { goto _3 } _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37)+48*uintptr(_ii))).X2))) _ii += 1 goto _0 _3: if (_pPager.X1) != 0 && _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33))) == 0 { goto _5 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33))) _5: Xsqlite3_free(tls, _pPager.X37) *(**XPagerSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(120 /* X37 */))))) = (*XPagerSavepoint)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(128 /* X38 */))) = i32(0) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X29 */))) = uint32(i32(0)) return } func _sqlite3OsSync(tls *crt.TLS, _id *Xsqlite3_file, _flags int32) (r0 int32) { // sqlite3.c:20150:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X5)})))(tls, _id, _flags) return } func _zeroJournalHdr(tls *crt.TLS, _pPager *XPager, _doTruncate int32) (r0 int32) { // sqlite3.c:48241:1 var _rc int32 // sqlite3.c:48242:7 _ = _rc var _1_iLimit int64 // sqlite3.c:48246:15 _ = _1_iLimit var _5_sz int64 // sqlite3.c:48266:11 _ = _5_sz _rc = i32(0) func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12584))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) == 0 { return i32(0) } return func() int32 { 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(18336))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X34) == 0 { goto _4 } _1_iLimit = _pPager.X50 if _doTruncate == 0 && _1_iLimit != int64(i32(0)) { goto _6 } _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int64(i32(0))) goto _7 _6: _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_zeroJournalHdrØ00zeroHdrØ001), int32(u64(28)), int64(i32(0))) _7: if _rc != i32(0) || (_pPager.X4) != 0 { goto _9 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), i32(16)|int32(_pPager.X9)) _9: if _rc != i32(0) || _1_iLimit <= int64(i32(0)) { goto _11 } _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), &_5_sz) if _rc != i32(0) || _5_sz <= _1_iLimit { goto _13 } _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _1_iLimit) _13: _11: _4: r0 = _rc return } var _zeroJournalHdrØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_zeroJournalHdrØ00__func__Ø000[0], str(18376), 15) } var _zeroJournalHdrØ00zeroHdrØ001 [28]int8 // sqlite3.c:48252:25 func _sqlite3OsDelete(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _dirSync int32) (r0 int32) { // sqlite3.c:20268:1 func() int32 { if (_dirSync == i32(0)) || (_dirSync == i32(1)) { return i32(0) } return func() int32 { 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(18392))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 }{(_pVfs.X7)})))(tls, _pVfs, _zPath, _dirSync) return } var _sqlite3OsDeleteØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3OsDeleteØ00__func__Ø000[0], str(18420), 16) } func _pagerFlushOnCommit(tls *crt.TLS, _pPager *XPager, _bCommit int32) (r0 int32) { // sqlite3.c:48804:1 if int32(_pPager.X10) != i32(0) { goto _0 } r0 = i32(1) return _0: if _bCommit != 0 { goto _1 } r0 = i32(0) return _1: if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = i32(0) return _2: r0 = bool2int(_sqlite3PCachePercentDirty(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) >= i32(25)) return } func _sqlite3PCachePercentDirty(tls *crt.TLS, _pCache *XPCache) (r0 int32) { // sqlite3.c:44937:1 var _pDirty *XPgHdr // sqlite3.c:44938:9 _ = _pDirty var _nDirty int32 // sqlite3.c:44939:7 _ = _nDirty var _nCache int32 // sqlite3.c:44940:7 _ = _nCache _nDirty = i32(0) _nCache = _numberOfCachePages(tls, _pCache) _pDirty = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) _0: if _pDirty == nil { goto _3 } _nDirty += 1 _pDirty = (*XPgHdr)(unsafe.Pointer(_pDirty.X9)) goto _0 _3: r0 = func() int32 { if _nCache != 0 { return int32((int64(_nDirty) * int64(i32(100))) / int64(_nCache)) } return i32(0) }() return } func _sqlite3PcacheCleanAll(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44670:1 var _p *XPgHdr // sqlite3.c:44671:9 _ = _p _0: if store5557795(&_p, (*XPgHdr)(unsafe.Pointer(_pCache.X0))) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _sqlite3PcacheMakeClean(tls, _p) goto _0 _1: return } func _sqlite3PcacheClearWritable(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44681:1 var _p *XPgHdr // sqlite3.c:44682:9 _ = _p _p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) _0: if _p == nil { goto _3 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-13)) sink4530 = *p } _p = (*XPgHdr)(unsafe.Pointer(_p.X9)) goto _0 _3: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(16 /* X2 */))))) = (*XPgHdr)(unsafe.Pointer(_pCache.X1)) return } func _sqlite3WalEndWriteTransaction(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57161:1 if (_pWal.X12) == 0 { goto _0 } _walUnlockExclusive(tls, _pWal, i32(0), i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(64 /* X12 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(124 /* X20 */))) = uint32(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(67 /* X15 */))) = uint8(i32(0)) _0: r0 = i32(0) return } func _walUnlockExclusive(tls *crt.TLS, _pWal *XWal, _lockIdx int32, _n int32) { // sqlite3.c:55226:1 if (_pWal.X11) == 0 { goto _0 } return _0: _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, _n, i32(9)) return } func _sqlite3OsShmLock(tls *crt.TLS, _id *Xsqlite3_file, _offset int32, _n int32, _flags int32) (r0 int32) { // sqlite3.c:20207:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X14)})))(tls, _id, _offset, _n, _flags) return } func _pager_truncate(tls *crt.TLS, _pPager *XPager, _nPage uint32) (r0 int32) { // sqlite3.c:49475:1 var _rc int32 // sqlite3.c:49476:7 _ = _rc var _1_currentSize int64 // sqlite3.c:49483:9 _ = _1_currentSize var _1_newSize int64 // sqlite3.c:49483:22 _ = _1_newSize var _1_szPage int32 // sqlite3.c:49484:9 _ = _1_szPage var _4_pTmp *int8 // sqlite3.c:49493:14 _ = _4_pTmp _rc = i32(0) func() int32 { if int32(_pPager.X14) != i32(6) { return i32(0) } return func() int32 { 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(14108))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) != i32(1) { return i32(0) } return func() int32 { 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(18436))) crt.X__builtin_abort(tls) return i32(0) }() }() 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) { goto _6 } _1_szPage = _pPager.X48 func() int32 { if int32(_pPager.X15) == i32(4) { return i32(0) } return func() int32 { 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(18280))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_1_currentSize) _1_newSize = int64(_1_szPage) * int64(_nPage) if _rc != i32(0) || _1_currentSize == _1_newSize { goto _10 } if _1_currentSize <= _1_newSize { goto _11 } _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _1_newSize) goto _12 _11: if (_1_currentSize + int64(_1_szPage)) > _1_newSize { goto _13 } _4_pTmp = _pPager.X58 crt.Xmemset(tls, (unsafe.Pointer)(_4_pTmp), i32(0), uint64(_1_szPage)) _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_4_pTmp), _1_szPage, _1_newSize-int64(_1_szPage)) _13: _12: if _rc != i32(0) { goto _14 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(40 /* X24 */))) = _nPage _14: _10: _6: r0 = _rc return } var _pager_truncateØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pager_truncateØ00__func__Ø000[0], str(18468), 15) } func _sqlite3WalExclusiveMode(tls *crt.TLS, _pWal *XWal, _op int32) (r0 int32) { // sqlite3.c:57824:1 var _rc int32 // sqlite3.c:57825:7 _ = _rc func() int32 { if int32(_pWal.X12) == i32(0) { return i32(0) } return func() int32 { 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(18484))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pWal.X11) != i32(2)) || (_op == i32(-1)) { return i32(0) } return func() int32 { 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(18504))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pWal.X9) >= i32(0)) || ((_pWal.X23) != 0) { return i32(0) } return func() int32 { 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(15492))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pWal.X9) >= i32(0)) || ((_op <= i32(0)) && (int32(_pWal.X11) == i32(0))) { return i32(0) } return func() int32 { 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(18556))) crt.X__builtin_abort(tls) return i32(0) }() }() if _op != i32(0) { goto _12 } if (_pWal.X11) == 0 { goto _13 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(63 /* X11 */))) = uint8(i32(0)) if _walLockShared(tls, _pWal, i32(3)+int32(_pWal.X9)) == i32(0) { goto _14 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(63 /* X11 */))) = uint8(i32(1)) _14: _rc = bool2int(int32(_pWal.X11) == i32(0)) goto _15 _13: _rc = i32(0) _15: goto _16 _12: if _op <= i32(0) { goto _17 } func() int32 { if int32(_pWal.X11) == i32(0) { return i32(0) } return func() int32 { 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(18612))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pWal.X9) >= i32(0) { return i32(0) } return func() int32 { 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(18636))) crt.X__builtin_abort(tls) return i32(0) }() }() _walUnlockShared(tls, _pWal, i32(3)+int32(_pWal.X9)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(63 /* X11 */))) = uint8(i32(1)) _rc = i32(1) goto _22 _17: _rc = bool2int(int32(_pWal.X11) == i32(0)) _22: _16: r0 = _rc return } var _sqlite3WalExclusiveModeØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalExclusiveModeØ00__func__Ø000[0], str(18656), 24) } func _walLockShared(tls *crt.TLS, _pWal *XWal, _lockIdx int32) (r0 int32) { // sqlite3.c:55200:1 var _rc int32 // sqlite3.c:55201:7 _ = _rc if (_pWal.X11) == 0 { goto _0 } r0 = i32(0) return _0: _rc = _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, i32(1), i32(6)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(140 /* X23 */))) = uint8(bool2int((_rc != i32(0)) && (_rc != i32(5)))) r0 = _rc return } func _walUnlockShared(tls *crt.TLS, _pWal *XWal, _lockIdx int32) { // sqlite3.c:55210:1 if (_pWal.X11) == 0 { goto _0 } return _0: _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, i32(1), i32(5)) return } func _pagerUnlockDb(tls *crt.TLS, _pPager *XPager, _eLock int32) (r0 int32) { // sqlite3.c:48002:1 var _rc int32 // sqlite3.c:48003:7 _ = _rc _rc = i32(0) func() int32 { if ((_pPager.X1) == 0) || (int32(_pPager.X15) == _eLock) { return i32(0) } return func() int32 { 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(18680))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eLock == i32(0)) || (_eLock == i32(1)) { return i32(0) } return func() int32 { 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(18728))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eLock != i32(0)) || (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) { return i32(0) } return func() int32 { 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(18768))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } func() int32 { if int32(_pPager.X15) >= _eLock { return i32(0) } return func() int32 { 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(18812))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = func() int32 { if (_pPager.X11) != 0 { return i32(0) } return _sqlite3OsUnlock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _eLock) }() if int32(_pPager.X15) == i32(5) { goto _14 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(22 /* X15 */))) = uint8(_eLock) _14: _9: r0 = _rc return } var _pagerUnlockDbØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_pagerUnlockDbØ00__func__Ø000[0], str(18836), 14) } func _sqlite3OsUnlock(tls *crt.TLS, _id *Xsqlite3_file, _lockType int32) (r0 int32) { // sqlite3.c:20162:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X8)})))(tls, _id, _lockType) return } func _pager_playback(tls *crt.TLS, _pPager *XPager, _isHot int32) (r0 int32) { // sqlite3.c:49618:1 var _pVfs *Xsqlite3_vfs // sqlite3.c:49619:15 _ = _pVfs var _szJ int64 // sqlite3.c:49620:7 _ = _szJ var _nRec uint32 // sqlite3.c:49621:7 _ = _nRec var _u uint32 // sqlite3.c:49622:7 _ = _u var _mxPg uint32 // sqlite3.c:49623:8 _ = _mxPg var _rc int32 // sqlite3.c:49624:7 _ = _rc var _res int32 // sqlite3.c:49625:7 _ = _res var _zMaster *int8 // sqlite3.c:49626:8 _ = _zMaster var _needPagerReset int32 // sqlite3.c:49627:7 _ = _needPagerReset var _nPlayback int32 // sqlite3.c:49628:7 _ = _nPlayback _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) _mxPg = u32(0) _res = i32(1) _zMaster = nil _nPlayback = i32(0) func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12584))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), &_szJ) if _rc == i32(0) { goto _2 } goto _end_playback _2: _zMaster = _pPager.X58 _rc = _readMasterJournal(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _zMaster, uint32(((*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)).X2)+i32(1))) if _rc != i32(0) || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0))))) == 0 { goto _4 } _rc = _sqlite3OsAccess(tls, _pVfs, _zMaster, i32(0), &_res) _4: _zMaster = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if _rc == i32(0) && _res != 0 { goto _6 } goto _end_playback _6: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) _needPagerReset = _isHot _7: _rc = _readJournalHdr(tls, _pPager, _isHot, _szJ, &_nRec, &_mxPg) if _rc == i32(0) { goto _9 } if _rc != i32(101) { goto _10 } _rc = i32(0) _10: goto _end_playback _9: if _nRec != u32(4294967295) { goto _11 } func() int32 { if (_pPager.X34) == int64(_pPager.X47) { return i32(0) } return func() int32 { 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(18852))) crt.X__builtin_abort(tls) return i32(0) }() }() _nRec = uint32(int32((_szJ - int64(_pPager.X47)) / int64((_pPager.X48)+i32(8)))) _11: if _nRec != uint32(i32(0)) || _isHot != 0 || ((_pPager.X35)+int64(_pPager.X47)) != (_pPager.X34) { goto _16 } _nRec = uint32(int32((_szJ - (_pPager.X34)) / int64((_pPager.X48)+i32(8)))) _16: if (_pPager.X34) != int64(_pPager.X47) { goto _17 } _rc = _pager_truncate(tls, _pPager, _mxPg) if _rc == i32(0) { goto _18 } goto _end_playback _18: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X22 */))) = _mxPg _17: _u = uint32(i32(0)) _19: if _u >= _nRec { goto _22 } if _needPagerReset == 0 { goto _23 } _pager_reset(tls, _pPager) _needPagerReset = i32(0) _23: _rc = _pager_playback_one_page(tls, _pPager, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(96 /* X34 */))), (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), i32(1), i32(0)) if _rc != i32(0) { goto _24 } _nPlayback += 1 goto _25 _24: if _rc != i32(101) { goto _26 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = _szJ goto _22 _26: if _rc != i32(522) { goto _28 } _rc = i32(0) goto _end_playback _28: goto _end_playback _25: _u += 1 goto _19 _22: goto _7 _end_playback: if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == nil { goto _30 } _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int32(u32(3389603744)), (unsafe.Pointer)(uintptr(i32(0)))) _30: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = _pPager.X10 if _rc != i32(0) { goto _31 } _zMaster = _pPager.X58 _rc = _readMasterJournal(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _zMaster, uint32(((*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)).X2)+i32(1))) _31: if _rc != i32(0) || int32(_pPager.X14) < i32(4) && int32(_pPager.X14) != i32(0) { goto _34 } _rc = _sqlite3PagerSync(tls, _pPager, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _34: if _rc != i32(0) { goto _35 } _rc = _pager_end_transaction(tls, _pPager, bool2int(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0))))) != i32(0)), i32(0)) _35: if _rc != i32(0) || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0))))) == 0 || _res == 0 { goto _38 } _rc = _pager_delmaster(tls, _pPager, _zMaster) _38: if _isHot == 0 || _nPlayback == 0 { goto _40 } Xsqlite3_log(tls, i32(539), str(18896), _nPlayback, unsafe.Pointer(_pPager.X52)) _40: _setSectorSize(tls, _pPager) r0 = _rc return } var _pager_playbackØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pager_playbackØ00__func__Ø000[0], str(18924), 15) } func _readMasterJournal(tls *crt.TLS, _pJrnl *Xsqlite3_file, _zMaster *int8, _nMaster uint32) (r0 int32) { // sqlite3.c:48154:1 var _rc int32 // sqlite3.c:48155:7 _ = _rc var _len uint32 // sqlite3.c:48156:7 _ = _len var _szJ int64 // sqlite3.c:48157:7 _ = _szJ var _cksum uint32 // sqlite3.c:48158:7 _ = _cksum var _u uint32 // sqlite3.c:48159:7 _ = _u var _aMagic [8]uint8 // sqlite3.c:48160:17 _ = _aMagic *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0)))) = int8(i32(0)) 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), uint64(i32(8))) == 0 && i32(0) == store961(&_rc, _sqlite3OsRead(tls, _pJrnl, (unsafe.Pointer)(_zMaster), int32(_len), (_szJ-int64(i32(16)))-int64(_len))) { goto _8 } r0 = _rc return _8: _u = uint32(i32(0)) _9: if _u >= _len { goto _12 } { p := &_cksum *p = (*p) - uint32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_u)))) sink985 = *p } _u += 1 goto _9 _12: if _cksum == 0 { goto _13 } _len = uint32(i32(0)) _13: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_len))) = int8(i32(0)) r0 = i32(0) return } func _sqlite3OsAccess(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _flags int32, _pResOut *int32) (r0 int32) { // sqlite3.c:20273:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32 }{(_pVfs.X8)})))(tls, _pVfs, _zPath, _flags, _pResOut) return } func _sqlite3PagerSync(tls *crt.TLS, _pPager *XPager, _zMaster *int8) (r0 int32) { // sqlite3.c:53077:1 var _rc int32 // sqlite3.c:53078:7 _ = _rc var _1_pArg unsafe.Pointer // sqlite3.c:53081:10 _ = _1_pArg _rc = i32(0) if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _1_pArg = (unsafe.Pointer)(_zMaster) _rc = _sqlite3OsFileControl(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(21), _1_pArg) if _rc != i32(12) { goto _1 } _rc = i32(0) _1: _0: if _rc != i32(0) || (_pPager.X4) != 0 { goto _3 } func() int32 { if (_pPager.X13) == 0 { return i32(0) } return func() int32 { 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(10616))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int32(_pPager.X9)) _3: r0 = _rc return } var _sqlite3PagerSyncØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerSyncØ00__func__Ø000[0], str(18940), 17) } func _pager_delmaster(tls *crt.TLS, _pPager *XPager, _zMaster *int8) (r0 int32) { // sqlite3.c:49365:1 var _pVfs *Xsqlite3_vfs // sqlite3.c:49366:15 _ = _pVfs var _rc int32 // sqlite3.c:49367:7 _ = _rc var _pMaster *Xsqlite3_file // sqlite3.c:49368:16 _ = _pMaster var _pJournal *Xsqlite3_file // sqlite3.c:49369:16 _ = _pJournal var _zMasterJournal *int8 // sqlite3.c:49370:8 _ = _zMasterJournal var _nMasterJournal int64 // sqlite3.c:49371:7 _ = _nMasterJournal var _zJournal *int8 // sqlite3.c:49372:8 _ = _zJournal var _zMasterPtr *int8 // sqlite3.c:49373:8 _ = _zMasterPtr var _nMasterPtr int32 // sqlite3.c:49374:7 _ = _nMasterPtr var _2_flags int32 // sqlite3.c:49384:15 _ = _2_flags var _4_exists int32 // sqlite3.c:49409:9 _ = _4_exists var _6_c int32 // sqlite3.c:49419:11 _ = _6_c var _6_flags int32 // sqlite3.c:49420:11 _ = _6_flags _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) _zMasterJournal = nil _pMaster = (*Xsqlite3_file)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64((_pVfs.X1)*i32(2))))) _pJournal = (*Xsqlite3_file)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_pMaster)))) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pVfs.X1))))))))) if _pMaster != nil { goto _0 } _rc = _sqlite3NomemError(tls, i32(49382)) goto _1 _0: _2_flags = i32(16385) _rc = _sqlite3OsOpen(tls, _pVfs, _zMaster, _pMaster, _2_flags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) _1: if _rc == i32(0) { goto _2 } goto _delmaster_out _2: _rc = _sqlite3OsFileSize(tls, _pMaster, &_nMasterJournal) if _rc == i32(0) { goto _3 } goto _delmaster_out _3: _nMasterPtr = (_pVfs.X2) + i32(1) _zMasterJournal = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64((_nMasterJournal+int64(_nMasterPtr))+int64(i32(1)))))) if _zMasterJournal != nil { goto _4 } _rc = _sqlite3NomemError(tls, i32(49399)) goto _delmaster_out _4: _zMasterPtr = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMasterJournal)) + 1*uintptr(_nMasterJournal+int64(i32(1))))) _rc = _sqlite3OsRead(tls, _pMaster, (unsafe.Pointer)(_zMasterJournal), int32(_nMasterJournal), int64(i32(0))) if _rc == i32(0) { goto _5 } goto _delmaster_out _5: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMasterJournal)) + 1*uintptr(_nMasterJournal))) = int8(i32(0)) _zJournal = _zMasterJournal _6: if int64((uintptr(unsafe.Pointer(_zJournal))-uintptr(unsafe.Pointer(_zMasterJournal)))/1) >= _nMasterJournal { goto _7 } _rc = _sqlite3OsAccess(tls, _pVfs, _zJournal, i32(0), &_4_exists) if _rc == i32(0) { goto _8 } goto _delmaster_out _8: if _4_exists == 0 { goto _9 } _6_flags = i32(2049) _rc = _sqlite3OsOpen(tls, _pVfs, _zJournal, _pJournal, _6_flags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) if _rc == i32(0) { goto _10 } goto _delmaster_out _10: _rc = _readMasterJournal(tls, _pJournal, _zMasterPtr, uint32(_nMasterPtr)) _sqlite3OsClose(tls, _pJournal) if _rc == i32(0) { goto _11 } goto _delmaster_out _11: _6_c = bool2int((int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMasterPtr)) + 1*uintptr(i32(0))))) != i32(0)) && (crt.Xstrcmp(tls, _zMasterPtr, _zMaster) == i32(0))) if _6_c == 0 { goto _13 } goto _delmaster_out _13: _9: { p := &_zJournal *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zJournal)+i32(1)))) sink1025 = *p } goto _6 _7: _sqlite3OsClose(tls, _pMaster) _rc = _sqlite3OsDelete(tls, _pVfs, _zMaster, i32(0)) _delmaster_out: Xsqlite3_free(tls, (unsafe.Pointer)(_zMasterJournal)) if _pMaster == nil { goto _14 } _sqlite3OsClose(tls, _pMaster) func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer(_pJournal.X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(18960))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_free(tls, (unsafe.Pointer)(_pMaster)) _14: r0 = _rc return } var _pager_delmasterØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_pager_delmasterØ00__func__Ø000[0], str(18980), 16) } func _setSectorSize(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:49545:1 func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(18996))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X10) == 0 && (_sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)))&i32(4096)) == i32(0) { goto _4 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(184 /* X47 */))) = uint32(i32(512)) goto _5 _4: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(184 /* X47 */))) = uint32(_sqlite3SectorSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)))) _5: return } var _setSectorSizeØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_setSectorSizeØ00__func__Ø000[0], str(19036), 14) } func _sqlite3SectorSize(tls *crt.TLS, _pFile *Xsqlite3_file) (r0 int32) { // sqlite3.c:49511:1 var _iRet int32 // sqlite3.c:49512:7 _ = _iRet _iRet = _sqlite3OsSectorSize(tls, _pFile) if _iRet >= i32(32) { goto _0 } _iRet = i32(512) goto _1 _0: if _iRet <= i32(65536) { goto _2 } i32(0) _iRet = i32(65536) _2: _1: r0 = _iRet return } func _sqlite3OsSectorSize(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:20200:1 var _xSectorSize func(*crt.TLS, *Xsqlite3_file) int32 // sqlite3.c:20201:7 _ = _xSectorSize _xSectorSize = *(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X11)})) r0 = func() int32 { if _xSectorSize != nil { return _xSectorSize(tls, _id) } return i32(4096) }() return } func _pager_error(tls *crt.TLS, _pPager *XPager, _rc int32) (r0 int32) { // sqlite3.c:48770:1 var _rc2 int32 // sqlite3.c:48771:7 _ = _rc2 _rc2 = _rc & i32(255) func() int32 { if (_rc == i32(0)) || ((_pPager.X13) == 0) { return i32(0) } return func() int32 { 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(19052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_pPager.X26) == i32(13)) || ((_pPager.X26) == i32(0))) || (((_pPager.X26) & i32(255)) == i32(10)) { return i32(0) } return func() int32 { 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(19076))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc2 != i32(13) && _rc2 != i32(10) { goto _8 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X26 */))) = _rc *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(6)) _setGetterMethod(tls, _pPager) _8: r0 = _rc return } var _pager_errorØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_pager_errorØ00__func__Ø000[0], str(19180), 12) } func _pager_unlock(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:48672:1 var _2_rc int32 // sqlite3.c:48688:9 _ = _2_rc var _2_iDc int32 // sqlite3.c:48689:9 _ = _2_iDc func() int32 { if ((int32(_pPager.X14) == i32(1)) || (int32(_pPager.X14) == i32(0))) || (int32(_pPager.X14) == i32(6)) { return i32(0) } return func() int32 { 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(19192))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30))) *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(64 /* X30 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) _releaseAllSavepoints(tls, _pPager) if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(19284))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3WalEndReadTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(0)) goto _7 _4: if (_pPager.X1) != 0 { goto _8 } _2_iDc = func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return _sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) } return i32(0) }() i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) if i32(0) != (_2_iDc&i32(2048)) && i32(1) == (int32(_pPager.X2)&i32(5)) { goto _12 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) _12: _2_rc = _pagerUnlockDb(tls, _pPager, i32(0)) if _2_rc == i32(0) || int32(_pPager.X14) != i32(6) { goto _14 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(22 /* X15 */))) = uint8(i32(5)) _14: func() int32 { if (_pPager.X26) != 0 || (int32(_pPager.X14) != i32(6)) { return i32(0) } return func() int32 { 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(19308))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(0)) _8: _7: func() int32 { if ((_pPager.X26) == i32(0)) || ((_pPager.X13) == 0) { return i32(0) } return func() int32 { 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(19356))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X26) == 0 { goto _21 } if int32(_pPager.X10) != i32(0) { goto _22 } _pager_reset(tls, _pPager) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(0)) goto _23 _22: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return i32(1) }()) _23: if (_pPager.X20) == 0 { goto _26 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) _26: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X26 */))) = i32(0) _setGetterMethod(tls, _pPager) _21: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X35 */))) = int64(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(24 /* X17 */))) = uint8(i32(0)) return } var _pager_unlockØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pager_unlockØ00__func__Ø000[0], str(19396), 13) } func _sqlite3WalEndReadTransaction(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:56964:1 _sqlite3WalEndWriteTransaction(tls, _pWal) if int32(_pWal.X9) < i32(0) { goto _0 } _walUnlockShared(tls, _pWal, i32(3)+int32(_pWal.X9)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(60 /* X9 */))) = int16(i32(-1)) _0: return } func _sqlite3Realloc(tls *crt.TLS, _pOld unsafe.Pointer, _nBytes uint64) (r0 unsafe.Pointer) { // sqlite3.c:24696:1 var _nOld int32 // sqlite3.c:24697:7 _ = _nOld var _nNew int32 // sqlite3.c:24697:13 _ = _nNew var _nDiff int32 // sqlite3.c:24697:19 _ = _nDiff var _pNew unsafe.Pointer // sqlite3.c:24698:8 _ = _pNew i32(0) i32(0) if unsafe.Pointer(_pOld) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } r0 = _sqlite3Malloc(tls, _nBytes) return _0: if _nBytes != uint64(i32(0)) { goto _1 } Xsqlite3_free(tls, _pOld) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _1: if _nBytes < uint64(i32(2147483392)) { goto _2 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _2: _nOld = _sqlite3MallocSize(tls, _pOld) _nNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X4)(tls, int32(_nBytes)) if _nOld != _nNew { goto _3 } _pNew = _pOld goto _4 _3: if (_sqlite3Config.X0) == 0 { goto _5 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _sqlite3StatusHighwater(tls, i32(5), int32(_nBytes)) _nDiff = _nNew - _nOld if _nDiff <= i32(0) || _sqlite3StatusValue(tls, i32(0)) < ((_mem0.X1)-int64(_nDiff)) { goto _7 } _sqlite3MallocAlarm(tls, _nDiff) _7: _pNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X2)(tls, _pOld, _nNew) if unsafe.Pointer(_pNew) != (unsafe.Pointer)(uintptr(i32(0))) || (_mem0.X1) <= int64(i32(0)) { goto _9 } _sqlite3MallocAlarm(tls, int32(_nBytes)) _pNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X2)(tls, _pOld, _nNew) _9: if _pNew == nil { goto _10 } _nNew = _sqlite3MallocSize(tls, _pNew) _sqlite3StatusUp(tls, i32(0), _nNew-_nOld) _10: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) goto _11 _5: _pNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X2)(tls, _pOld, _nNew) _11: _4: func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pNew))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(19412))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pNew return } var _sqlite3ReallocØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ReallocØ00__func__Ø000[0], str(19440), 15) } func _getOverflowPage(tls *crt.TLS, _pBt *XBtShared, _ovfl uint32, _ppPage **XMemPage, _pPgnoNext *uint32) (r0 int32) { // sqlite3.c:63357:1 var _next uint32 // sqlite3.c:63363:8 _ = _next var _pPage *XMemPage // sqlite3.c:63364:11 _ = _pPage var _rc int32 // sqlite3.c:63365:7 _ = _rc var _1_pgno uint32 // sqlite3.c:63378:10 _ = _1_pgno var _1_iGuess uint32 // sqlite3.c:63379:10 _ = _1_iGuess var _1_eType uint8 // sqlite3.c:63380:8 _ = _1_eType _next = u32(0) _pPage = nil _rc = i32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pPgnoNext != nil { return i32(0) } return func() int32 { 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(19456))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pBt.X5) == 0 { goto _4 } _1_iGuess = _ovfl + uint32(i32(1)) _5: if _ptrmapPageno(tls, _pBt, _1_iGuess) != _1_iGuess && _1_iGuess != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { goto _6 } _1_iGuess += 1 goto _5 _6: if _1_iGuess > _btreePagecount(tls, _pBt) { goto _8 } _rc = _ptrmapGet(tls, _pBt, _1_iGuess, &_1_eType, &_1_pgno) if _rc != i32(0) || int32(_1_eType) != i32(4) || _1_pgno != _ovfl { goto _11 } _next = _1_iGuess _rc = i32(101) _11: _8: _4: func() int32 { if (_next == uint32(i32(0))) || (_rc == i32(101)) { return i32(0) } return func() int32 { 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(19468))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) { goto _15 } _rc = _btreeGetPage(tls, _pBt, _ovfl, &_pPage, func() int32 { if _ppPage == (**XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(2) } return i32(0) }()) func() int32 { if (_rc == i32(0)) || (_pPage == (*XMemPage)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(19496))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) { goto _21 } _next = _sqlite3Get4byte(tls, _pPage.X19) _21: _15: *_pPgnoNext = _next if _ppPage == nil { goto _22 } *_ppPage = _pPage goto _23 _22: _releasePage(tls, _pPage) _23: r0 = func() int32 { if _rc == i32(101) { return i32(0) } return _rc }() return } var _getOverflowPageØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_getOverflowPageØ00__func__Ø000[0], str(19524), 16) } func _ptrmapPageno(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 uint32) { // sqlite3.c:59857:1 var _nPagesPerMapPage int32 // sqlite3.c:59858:7 _ = _nPagesPerMapPage var _iPtrMap uint32 // sqlite3.c:59859:8 _ = _iPtrMap var _ret uint32 // sqlite3.c:59859:17 _ = _ret func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgno >= uint32(i32(2)) { goto _2 } r0 = uint32(i32(0)) return _2: _nPagesPerMapPage = int32(((_pBt.X16) / uint32(i32(5))) + uint32(i32(1))) _iPtrMap = (_pgno - uint32(i32(2))) / uint32(_nPagesPerMapPage) _ret = (_iPtrMap * uint32(_nPagesPerMapPage)) + uint32(i32(2)) if _ret != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { goto _3 } _ret += 1 _3: r0 = _ret return } var _ptrmapPagenoØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_ptrmapPagenoØ00__func__Ø000[0], str(19540), 13) } func _ptrmapGet(tls *crt.TLS, _pBt *XBtShared, _key uint32, _pEType *uint8, _pPgno *uint32) (r0 int32) { // sqlite3.c:59933:1 var _pDbPage *XPgHdr // sqlite3.c:59934:10 _ = _pDbPage var _iPtrmap int32 // sqlite3.c:59935:7 _ = _iPtrmap var _pPtrmap *uint8 // sqlite3.c:59936:6 _ = _pPtrmap var _offset int32 // sqlite3.c:59937:7 _ = _offset var _rc int32 // sqlite3.c:59938:7 _ = _rc func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() _iPtrmap = int32(_ptrmapPageno(tls, _pBt, _key)) _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), uint32(_iPtrmap), &_pDbPage, i32(0)) if _rc == i32(0) { goto _2 } r0 = _rc return _2: _pPtrmap = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) _offset = int32(uint32(i32(5)) * ((_key - uint32(_iPtrmap)) - uint32(i32(1)))) if _offset >= i32(0) { goto _3 } _sqlite3PagerUnref(tls, _pDbPage) r0 = _sqlite3CorruptError(tls, i32(59952)) return _3: func() int32 { if _offset <= (int32(_pBt.X16) - i32(5)) { return i32(0) } return func() int32 { 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(19556))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pEType != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(19592))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pEType = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap)) + 1*uintptr(_offset))) if _pPgno == nil { goto _8 } *_pPgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap))+1*uintptr(_offset+i32(1))))) _8: _sqlite3PagerUnref(tls, _pDbPage) if int32(*_pEType) >= i32(1) && int32(*_pEType) <= i32(5) { goto _10 } r0 = _sqlite3CorruptError(tls, i32(59960)) return _10: r0 = i32(0) return } var _ptrmapGetØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_ptrmapGetØ00__func__Ø000[0], str(19604), 10) } func _btreeGetPage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _ppPage **XMemPage, _flags int32) (r0 int32) { // sqlite3.c:60937:1 var _rc int32 // sqlite3.c:60943:7 _ = _rc var _pDbPage *XPgHdr // sqlite3.c:60944:10 _ = _pDbPage func() int32 { if ((_flags == i32(0)) || (_flags == i32(1))) || (_flags == i32(2)) { return i32(0) } return func() int32 { 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(19616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgno, &_pDbPage, _flags) if _rc == 0 { goto _6 } r0 = _rc return _6: *_ppPage = _btreePageFromDbPage(tls, _pDbPage, _pgno, _pBt) r0 = i32(0) return } var _btreeGetPageØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_btreeGetPageØ00__func__Ø000[0], str(19684), 13) } func _btreePageFromDbPage(tls *crt.TLS, _pDbPage *XPgHdr, _pgno uint32, _pBt *XBtShared) (r0 *XMemPage) { // sqlite3.c:60913:1 var _pPage *XMemPage // sqlite3.c:60914:11 _ = _pPage _pPage = (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, _pDbPage))) if _pgno == (_pPage.X4) { goto _0 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(80 /* X19 */))) = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(112 /* X23 */))))) = _pDbPage *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(72 /* X18 */))))) = _pBt *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(4 /* X4 */))) = _pgno *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(9 /* X6 */))) = uint8(func() int32 { if _pgno == uint32(i32(1)) { return i32(100) } return i32(0) }()) _0: func() int32 { if (_pPage.X19) == (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) { return i32(0) } return func() int32 { 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(19700))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pPage return } var _btreePageFromDbPageØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_btreePageFromDbPageØ00__func__Ø000[0], str(19744), 20) } func _releasePage(tls *crt.TLS, _pPage *XMemPage) { // sqlite3.c:61058:1 if _pPage == nil { goto _0 } _releasePageNotNull(tls, _pPage) _0: return } func _releasePageNotNull(tls *crt.TLS, _pPage *XMemPage) { // sqlite3.c:61049:1 func() int32 { if (_pPage.X19) != nil { return i32(0) } return func() int32 { 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(19764))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != nil { return i32(0) } return func() int32 { 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(19780))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPgHdr)(unsafe.Pointer(_pPage.X23)) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(19792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer(_sqlite3PagerGetExtra(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_pPage) { return i32(0) } return func() int32 { 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(19812))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer(_sqlite3PagerGetData(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_pPage.X19) { return i32(0) } return func() int32 { 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(19868))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3PagerUnrefNotNull(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) return } var _releasePageNotNullØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_releasePageNotNullØ00__func__Ø000[0], str(19960), 19) } func _btreeReleaseAllCursorPages(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:59556:1 var _i int32 // sqlite3.c:59557:7 _ = _i _i = i32(0) _0: if _i > int32(_pCur.X14) { goto _3 } _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_i)))) *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_i))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _0 _3: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) = int8(i32(-1)) return } func _sqlite3BtreeTripAllCursors(tls *crt.TLS, _pBtree *XBtree, _errCode int32, _writeOnly int32) (r0 int32) { // sqlite3.c:62912:1 var _p *XBtCursor // sqlite3.c:62913:12 _ = _p var _rc int32 // sqlite3.c:62914:7 _ = _rc var _2_i int32 // sqlite3.c:62920:11 _ = _2_i _rc = i32(0) func() int32 { if ((_writeOnly == i32(0)) || (_writeOnly == i32(1))) && i32(1) != 0 { return i32(0) } return func() int32 { 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(19980))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pBtree == nil { goto _4 } _sqlite3BtreeEnter(tls, _pBtree) _p = (*XBtCursor)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X2)) _5: if _p == nil { goto _8 } if _writeOnly == 0 || (int32(_p.X10)&i32(1)) != i32(0) { goto _10 } if int32(_p.X12) != i32(1) && int32(_p.X12) != i32(2) { goto _12 } _rc = _saveCursorPosition(tls, _p) if _rc == i32(0) { goto _13 } _sqlite3BtreeTripAllCursors(tls, _pBtree, _rc, i32(0)) goto _8 _13: _12: goto _14 _10: _sqlite3BtreeClearCursor(tls, _p) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(86 /* X12 */))) = uint8(i32(4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X9 */))) = _errCode _14: _2_i = i32(0) _15: if _2_i > int32(_p.X14) { goto _18 } _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(152 /* X19 */))))) + 8*uintptr(_2_i)))) *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(152 /* X19 */))))) + 8*uintptr(_2_i))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _2_i += 1 goto _15 _18: _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) goto _5 _8: _sqlite3BtreeLeave(tls, _pBtree) _4: r0 = _rc return } var _sqlite3BtreeTripAllCursorsØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeTripAllCursorsØ00__func__Ø000[0], str(20032), 27) } func _sqlite3BtreeClearCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:59703:1 func() int32 { if _cursorHoldsMutex(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(9060))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_free(tls, _pCur.X6) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X6 */))) = (unsafe.Pointer)(uintptr(i32(0))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) return } var _sqlite3BtreeClearCursorØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeClearCursorØ00__func__Ø000[0], str(20060), 24) } func _sqlite3PagerPagecount(tls *crt.TLS, _pPager *XPager, _pnPage *int32) { // sqlite3.c:50719:1 func() int32 { if int32(_pPager.X14) >= i32(1) { return i32(0) } return func() int32 { 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(17512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) != i32(5) { return i32(0) } return func() int32 { 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(20084))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pnPage = int32(_pPager.X22) return } var _sqlite3PagerPagecountØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerPagecountØ00__func__Ø000[0], str(20124), 22) } func _countValidCursors(tls *crt.TLS, _pBt *XBtShared, _wrOnly int32) (r0 int32) { // sqlite3.c:62041:1 var _pCur *XBtCursor // sqlite3.c:62042:12 _ = _pCur var _r int32 // sqlite3.c:62043:7 _ = _r _r = i32(0) _pCur = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) _0: if _pCur == nil { goto _3 } if _wrOnly != i32(0) && (int32(_pCur.X10)&i32(1)) == i32(0) || int32(_pCur.X12) == i32(4) { goto _6 } _r += 1 _6: _pCur = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) goto _0 _3: r0 = _r return } func _btreeClearHasContent(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:59548:1 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pBt.X22))) *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(88 /* X22 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) return } func _btreeEndTransaction(tls *crt.TLS, _p *XBtree) { // sqlite3.c:62781:1 var _pBt *XBtShared // sqlite3.c:62782:12 _ = _pBt var _db *Xsqlite3 // sqlite3.c:62783:11 _ = _db _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(35 /* X7 */))) = uint8(i32(0)) if int32(_p.X2) <= i32(0) || (_db.X35) <= i32(1) { goto _3 } _downgradeAllSharedCacheTableLocks(tls, _p) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = uint8(i32(1)) goto _4 _3: if int32(_p.X2) == i32(0) { goto _5 } _clearAllSharedCacheTableLocks(tls, _p) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(56 /* X17 */))) -= 1 if i32(0) != (_pBt.X17) { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X8 */))) = uint8(i32(0)) _6: _5: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = uint8(i32(0)) _unlockBtreeIfUnused(tls, _pBt) _4: func() int32 { if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { return i32(0) } return func() int32 { 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(8748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { return i32(0) } return func() int32 { 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(8812))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _btreeEndTransactionØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_btreeEndTransactionØ00__func__Ø000[0], str(20148), 20) } func _downgradeAllSharedCacheTableLocks(tls *crt.TLS, _p *XBtree) { // sqlite3.c:59385:1 var _pBt *XBtShared // sqlite3.c:59386:12 _ = _pBt var _1_pLock *XBtLock // sqlite3.c:59388:12 _ = _1_pLock _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) if (*XBtree)(unsafe.Pointer(_pBt.X26)) != _p { goto _0 } *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(120 /* X26 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-97)) sink4530 = *p } _1_pLock = (*XBtLock)(unsafe.Pointer(_pBt.X25)) _1: if _1_pLock == nil { goto _4 } func() int32 { if (int32(_1_pLock.X2) == i32(1)) || ((*XBtree)(unsafe.Pointer(_1_pLock.X0)) == _p) { return i32(0) } return func() int32 { 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(20168))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLock)) + uintptr(12 /* X2 */))) = uint8(i32(1)) _1_pLock = (*XBtLock)(unsafe.Pointer(_1_pLock.X3)) goto _1 _4: _0: return } var _downgradeAllSharedCacheTableLocksØ00__func__Ø000 [34]int8 // - func init() { crt.Xstrncpy(nil, &_downgradeAllSharedCacheTableLocksØ00__func__Ø000[0], str(20212), 34) } func _clearAllSharedCacheTableLocks(tls *crt.TLS, _p *XBtree) { // sqlite3.c:59341:1 var _pBt *XBtShared // sqlite3.c:59342:12 _ = _pBt var _ppIter **XBtLock // sqlite3.c:59343:10 _ = _ppIter var _1_pLock *XBtLock // sqlite3.c:59350:12 _ = _1_pLock _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _ppIter = (**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(112 /* X25 */))))) func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X3) != 0) || ((*XBtLock)(unsafe.Pointer(uintptr(i32(0)))) == (*_ppIter)) { return i32(0) } return func() int32 { 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(20248))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X2) > i32(0) { return i32(0) } return func() int32 { 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(20276))) crt.X__builtin_abort(tls) return i32(0) }() }() _7: if (*_ppIter) == nil { goto _8 } _1_pLock = *_ppIter func() int32 { if ((int32(_pBt.X10) & i32(32)) == i32(0)) || ((*XBtree)(unsafe.Pointer(_pBt.X26)) == (*XBtree)(unsafe.Pointer(_1_pLock.X0))) { return i32(0) } return func() int32 { 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(20292))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XBtree)(unsafe.Pointer(_1_pLock.X0)).X2) >= int32(_1_pLock.X2) { return i32(0) } return func() int32 { 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(20360))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBtree)(unsafe.Pointer(_1_pLock.X0)) != _p { goto _14 } *_ppIter = (*XBtLock)(unsafe.Pointer(_1_pLock.X3)) func() int32 { if ((_1_pLock.X1) != uint32(i32(1))) || (_1_pLock == (*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X11 */)))) { return i32(0) } return func() int32 { 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(20400))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_1_pLock.X1) == uint32(i32(1)) { goto _18 } Xsqlite3_free(tls, (unsafe.Pointer)(_1_pLock)) _18: goto _19 _14: _ppIter = (**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLock)) + uintptr(16 /* X3 */))))) _19: goto _7 _8: func() int32 { if ((int32(_pBt.X10) & i32(64)) == i32(0)) || ((*XBtree)(unsafe.Pointer(_pBt.X26)) != nil) { return i32(0) } return func() int32 { 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(20436))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBtree)(unsafe.Pointer(_pBt.X26)) != _p { goto _23 } *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(120 /* X26 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-97)) sink4530 = *p } goto _24 _23: if (_pBt.X17) != i32(2) { goto _25 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-65)) sink4530 = *p } _25: _24: return } var _clearAllSharedCacheTableLocksØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_clearAllSharedCacheTableLocksØ00__func__Ø000[0], str(20488), 30) } func _unlockBtreeIfUnused(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:62060:1 var _1_pPage1 *XMemPage // sqlite3.c:62064:13 _ = _1_pPage1 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_countValidCursors(tls, _pBt, i32(0)) == i32(0)) || (int32(_pBt.X8) > i32(0)) { return i32(0) } return func() int32 { 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(20520))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pBt.X8) != i32(0) || (*XMemPage)(unsafe.Pointer(_pBt.X3)) == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _1_pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) func() int32 { if (_1_pPage1.X19) != nil { return i32(0) } return func() int32 { 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(20584))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerRefcount(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) == i32(1) { return i32(0) } return func() int32 { 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(20600))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(24 /* X3 */))))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _releasePageNotNull(tls, _1_pPage1) _6: return } var _unlockBtreeIfUnusedØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_unlockBtreeIfUnusedØ00__func__Ø000[0], str(20640), 20) } func _sqlite3PagerRefcount(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53446:1 r0 = _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) return } func _sqlite3ResetAllSchemasOfConnection(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:99996:1 var _i int32 // sqlite3.c:99997:7 _ = _i var _1_pDb *XDb // sqlite3.c:100000:8 _ = _1_pDb _sqlite3BtreeEnterAll(tls, _db) _i = i32(0) _0: if _i >= (_db.X5) { goto _3 } _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))) if (*XSchema)(unsafe.Pointer(_1_pDb.X4)) == nil { goto _4 } _sqlite3SchemaClear(tls, _1_pDb.X4) _4: _i += 1 goto _0 _3: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-3) sink961 = *p } _sqlite3VtabUnlockList(tls, _db) _sqlite3BtreeLeaveAll(tls, _db) _sqlite3CollapseDatabaseArray(tls, _db) return } func _sqlite3SchemaClear(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:104336:1 var _temp1 XHash // sqlite3.c:104337:8 _ = _temp1 var _temp2 XHash // sqlite3.c:104338:8 _ = _temp2 var _pElem *XHashElem // sqlite3.c:104339:12 _ = _pElem var _pSchema *XSchema // sqlite3.c:104340:10 _ = _pSchema var _2_pTab *XTable // sqlite3.c:104352:11 _ = _2_pTab _pSchema = (*XSchema)(unsafe.Pointer(_p)) _temp1 = _pSchema.X2 _temp2 = _pSchema.X4 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(56 /* X4 */)))) _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(32 /* X3 */)))) _pElem = (*XHashElem)(unsafe.Pointer(_temp2.X2)) _0: if _pElem == nil { goto _3 } _sqlite3DeleteTrigger(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*XTrigger)(unsafe.Pointer(_pElem.X2))) _pElem = (*XHashElem)(unsafe.Pointer(_pElem.X0)) goto _0 _3: _sqlite3HashClear(tls, &_temp2) _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(8 /* X2 */)))) _pElem = (*XHashElem)(unsafe.Pointer(_temp1.X2)) _4: if _pElem == nil { goto _7 } _2_pTab = (*XTable)(unsafe.Pointer(_pElem.X2)) _sqlite3DeleteTable(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _2_pTab) _pElem = (*XHashElem)(unsafe.Pointer(_pElem.X0)) goto _4 _7: _sqlite3HashClear(tls, &_temp1) _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(80 /* X5 */)))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(104 /* X6 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) if (int32(_pSchema.X9) & i32(1)) == 0 { goto _8 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(4 /* X1 */))) += 1 { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) & i32(-2)) sink4530 = *p } _8: return } func _sqlite3HashInit(tls *crt.TLS, _pNew *XHash) { // sqlite3.c:29206:1 func() int32 { if _pNew != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20660))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = uint32(i32(0)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X3 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3HashInitØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3HashInitØ00__func__Ø000[0], str(20668), 16) } func _sqlite3HashClear(tls *crt.TLS, _pH *XHash) { // sqlite3.c:29218:1 var _elem *XHashElem // sqlite3.c:29219:12 _ = _elem var _1_next_elem *XHashElem // sqlite3.c:29228:14 _ = _1_next_elem func() int32 { if _pH != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20684))) crt.X__builtin_abort(tls) return i32(0) }() }() _elem = (*XHashElem)(unsafe.Pointer(_pH.X2)) *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) Xsqlite3_free(tls, _pH.X3) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(16 /* X3 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(0 /* X0 */))) = uint32(i32(0)) _2: if _elem == nil { goto _3 } _1_next_elem = (*XHashElem)(unsafe.Pointer(_elem.X0)) Xsqlite3_free(tls, (unsafe.Pointer)(_elem)) _elem = _1_next_elem goto _2 _3: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(4 /* X1 */))) = uint32(i32(0)) return } var _sqlite3HashClearØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3HashClearØ00__func__Ø000[0], str(20692), 17) } func _sqlite3DeleteTrigger(tls *crt.TLS, _db *Xsqlite3, _pTrigger *XTrigger) { // sqlite3.c:122646:1 if _pTrigger != (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _sqlite3DeleteTriggerStep(tls, _db, (*XTriggerStep)(unsafe.Pointer(_pTrigger.X8))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTrigger.X0)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTrigger.X1)) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pTrigger.X4))) _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer(_pTrigger.X5))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTrigger)) return } func _sqlite3DeleteTriggerStep(tls *crt.TLS, _db *Xsqlite3, _pTriggerStep *XTriggerStep) { // sqlite3.c:122201:1 var _1_pTmp *XTriggerStep // sqlite3.c:122203:17 _ = _1_pTmp _0: if _pTriggerStep == nil { goto _1 } _1_pTmp = _pTriggerStep _pTriggerStep = (*XTriggerStep)(unsafe.Pointer(_pTriggerStep.X8)) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_1_pTmp.X5))) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_1_pTmp.X6))) _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_1_pTmp.X3))) _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer(_1_pTmp.X7))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pTmp)) goto _0 _1: return } func _sqlite3ExprDelete(tls *crt.TLS, _db *Xsqlite3, _p *XExpr) { // sqlite3.c:91778:1 if _p == nil { goto _0 } _sqlite3ExprDeleteNN(tls, _db, _p) _0: return } func _sqlite3ExprDeleteNN(tls *crt.TLS, _db *Xsqlite3, _p *XExpr) { // sqlite3.c:91751:1 func() int32 { if _p != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_p.X2) & uint32(i32(1024))) == uint32(i32(0))) || ((*(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) >= i32(0)) { return i32(0) } return func() int32 { 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(20712))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_p.X2)&uint32(i32(8388608))) == uint32(i32(0)) || ((_p.X2)&uint32(i32(16384))) != uint32(i32(0)) { goto _6 } func() int32 { if (*XExpr)(unsafe.Pointer(_p.X4)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20764))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20776))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20792))) crt.X__builtin_abort(tls) return i32(0) }() }() _6: if ((_p.X2) & uint32(i32(8404992))) != uint32(i32(0)) { goto _13 } func() int32 { if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(20808))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_p.X4)) == nil || int32(_p.X0) == i32(159) { goto _18 } _sqlite3ExprDeleteNN(tls, _db, (*XExpr)(unsafe.Pointer(_p.X4))) _18: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X5))) if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _19 } _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */)))))))) goto _20 _19: _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */)))))))) _20: _13: if ((_p.X2) & uint32(i32(65536))) == uint32(i32(0)) { goto _21 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) _21: if ((_p.X2) & uint32(i32(32768))) != uint32(i32(0)) { goto _22 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) _22: return } var _sqlite3ExprDeleteNNØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprDeleteNNØ00__func__Ø000[0], str(20840), 20) } func _sqlite3SelectDelete(tls *crt.TLS, _db *Xsqlite3, _p *XSelect) { // sqlite3.c:116419:1 if _p == nil { goto _0 } _clearSelect(tls, _db, _p, i32(1)) _0: return } func _clearSelect(tls *crt.TLS, _db *Xsqlite3, _p *XSelect, _bFree int32) { // sqlite3.c:116314:1 var _1_pPrior *XSelect // sqlite3.c:116316:12 _ = _1_pPrior _0: if _p == nil { goto _1 } _1_pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X0))) _sqlite3SrcListDelete(tls, _db, (*XSrcList)(unsafe.Pointer(_p.X8))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X9))) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X10))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X11))) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X16))) if (*XWith)(unsafe.Pointer(_p.X17)) == nil { goto _2 } _sqlite3WithDelete(tls, _db, (*XWith)(unsafe.Pointer(_p.X17))) _2: if _bFree == 0 { goto _3 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) _3: _p = _1_pPrior _bFree = i32(1) goto _0 _1: return } func _sqlite3ExprListDelete(tls *crt.TLS, _db *Xsqlite3, _pList *XExprList) { // sqlite3.c:92411:1 if _pList == nil { goto _0 } _exprListDeleteNN(tls, _db, _pList) _0: return } func _exprListDeleteNN(tls *crt.TLS, _db *Xsqlite3, _pList *XExprList) { // sqlite3.c:92399:1 var _i int32 // sqlite3.c:92400:7 _ = _i var _pItem *TExprList_item // sqlite3.c:92401:24 _ = _pItem func() int32 { if ((*TExprList_item)(unsafe.Pointer(_pList.X1)) != (*TExprList_item)(unsafe.Pointer(uintptr(i32(0))))) || ((_pList.X0) == i32(0)) { return i32(0) } return func() int32 { 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(20860))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() *int32 { _pItem = (*TExprList_item)(unsafe.Pointer(_pList.X1)); return &_i }() = i32(0) _3: if _i >= (_pList.X0) { goto _6 } _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pItem.X0))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X2)) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _3 _6: _sqlite3DbFree(tls, _db, _pList.X1) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pList)) return } var _exprListDeleteNNØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_exprListDeleteNNØ00__func__Ø000[0], str(20892), 17) } func _sqlite3SrcListDelete(tls *crt.TLS, _db *Xsqlite3, _pList *XSrcList) { // sqlite3.c:103252:1 var _i int32 // sqlite3.c:103253:7 _ = _i var _pItem *TSrcList_item // sqlite3.c:103254:23 _ = _pItem if _pList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: *func() *int32 { _pItem = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X2 */))))) return &_i }() = i32(0) _1: if _i >= (_pList.X0) { goto _4 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X2)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X3)) if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _5 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(96 /* X15 */))))))) _5: if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _6 } _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(96 /* X15 */)))))))) _6: _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_pItem.X4))) _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_pItem.X5))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pItem.X12))) _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer(_pItem.X13))) *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pItem }())) += uintptr(112) goto _1 _4: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pList)) return } func _sqlite3DeleteTable(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable) { // sqlite3.c:100095:1 if _pTable != nil { goto _0 } return _0: if _db != nil && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) || preInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(60 /* X8 */))), uint32(4294967295)) <= uint32(i32(0)) { goto _3 } return _3: _deleteTable(tls, _db, _pTable) return } func _deleteTable(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable) { // sqlite3.c:100051:1 var _pIndex *XIndex // sqlite3.c:100052:9 _ = _pIndex var _pNext *XIndex // sqlite3.c:100052:18 _ = _pNext var _nLookaside int32 // sqlite3.c:100053:17 _ = _nLookaside var _2_zName *int8 // sqlite3.c:100067:12 _ = _2_zName var _2_pOld *XIndex // sqlite3.c:100068:24 _ = _2_pOld _nLookaside = func() int32 { if (_db != nil) && (((_pTable.X9) & uint32(i32(2))) == uint32(i32(0))) { return ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3) } return i32(0) }() _pIndex = (*XIndex)(unsafe.Pointer(_pTable.X2)) _3: if _pIndex == nil { goto _6 } _pNext = (*XIndex)(unsafe.Pointer(_pIndex.X5)) func() int32 { if ((*XSchema)(unsafe.Pointer(_pIndex.X6)) == (*XSchema)(unsafe.Pointer(_pTable.X20))) || ((_pTable.X16) != 0 && (int32((uint32(_pIndex.X16)<>uint(i32(30))) != i32(0))) { return i32(0) } return func() int32 { 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(20912))) crt.X__builtin_abort(tls) return i32(0) }() }() if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) || (_pTable.X16) != 0 { goto _13 } _2_zName = _pIndex.X0 _2_pOld = (*XIndex)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pIndex.X6)+uintptr(32 /* X3 */))), _2_zName, (unsafe.Pointer)(uintptr(i32(0)))))) func() int32 { if (_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pIndex.X6))) != 0 { return i32(0) } return func() int32 { 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(21012))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_2_pOld == _pIndex) || (_2_pOld == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(21068))) crt.X__builtin_abort(tls) return i32(0) }() }() _13: _freeIndex(tls, _db, _pIndex) _pIndex = _pNext goto _3 _6: _sqlite3FkDelete(tls, _db, _pTable) _sqlite3DeleteColumnNames(tls, _db, _pTable) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTable.X0)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTable.X5)) _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_pTable.X3))) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_pTable.X6))) _sqlite3VtabClear(tls, _db, _pTable) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTable)) func() int32 { if (_nLookaside == i32(0)) || (_nLookaside == ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3)) { return i32(0) } return func() int32 { 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(21092))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _deleteTableØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_deleteTableØ00__func__Ø000[0], str(21140), 12) } func _sqlite3HashInsert(tls *crt.TLS, _pH *XHash, _pKey *int8, _data unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:29422:1 var _h uint32 // sqlite3.c:29423:16 _ = _h var _elem *XHashElem // sqlite3.c:29424:12 _ = _elem var _new_elem *XHashElem // sqlite3.c:29425:12 _ = _new_elem var _1_old_data unsafe.Pointer // sqlite3.c:29431:10 _ = _1_old_data func() int32 { if _pH != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pKey != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21152))) crt.X__builtin_abort(tls) return i32(0) }() }() _elem = _findElementWithHash(tls, _pH, _pKey, &_h) if _elem == nil { goto _4 } _1_old_data = _elem.X2 if unsafe.Pointer(_data) != (unsafe.Pointer)(uintptr(i32(0))) { goto _5 } _removeElementGivenHash(tls, _pH, _elem, _h) goto _6 _5: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_elem)) + uintptr(16 /* X2 */))) = _data *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_elem)) + uintptr(24 /* X3 */))) = _pKey _6: r0 = _1_old_data return _4: if unsafe.Pointer(_data) != (unsafe.Pointer)(uintptr(i32(0))) { goto _7 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _7: _new_elem = (*XHashElem)(unsafe.Pointer(_sqlite3Malloc(tls, u64(32)))) if _new_elem != (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } r0 = _data return _8: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_new_elem)) + uintptr(24 /* X3 */))) = _pKey *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_new_elem)) + uintptr(16 /* X2 */))) = _data *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(4 /* X1 */))) += 1 if (_pH.X1) < uint32(i32(10)) || (_pH.X1) <= (uint32(i32(2))*(_pH.X0)) { goto _10 } if _rehash(tls, _pH, (_pH.X1)*uint32(i32(2))) == 0 { goto _11 } func() int32 { if (_pH.X0) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(21160))) crt.X__builtin_abort(tls) return i32(0) }() }() _h = _strHash(tls, _pKey) % (_pH.X0) _11: _10: _insertElement(tls, _pH, func() *XExprList { if (*XExprList)(unsafe.Pointer(_pH.X3)) != nil { return (*XExprList)(unsafe.Pointer(uintptr(_pH.X3) + 16*uintptr(_h))) } return (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) }(), _new_elem) r0 = (unsafe.Pointer)(uintptr(i32(0))) return } var _sqlite3HashInsertØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3HashInsertØ00__func__Ø000[0], str(21176), 18) } func _findElementWithHash(tls *crt.TLS, _pH *XHash, _pKey *int8, _pHash *uint32) (r0 *XHashElem) { // sqlite3.c:29329:1 var _elem *XHashElem // sqlite3.c:29334:12 _ = _elem var _count int32 // sqlite3.c:29335:7 _ = _count var _h uint32 // sqlite3.c:29336:16 _ = _h var _1_pEntry *XExprList // sqlite3.c:29339:16 _ = _1_pEntry if (*XExprList)(unsafe.Pointer(_pH.X3)) == nil { goto _0 } _h = _strHash(tls, _pKey) % (_pH.X0) _1_pEntry = (*XExprList)(unsafe.Pointer(uintptr(_pH.X3) + 16*uintptr(_h))) _elem = (*XHashElem)(unsafe.Pointer(_1_pEntry.X1)) _count = _1_pEntry.X0 goto _1 _0: _h = uint32(i32(0)) _elem = (*XHashElem)(unsafe.Pointer(_pH.X2)) _count = int32(_pH.X1) _1: *_pHash = _h _2: if postInc961(&_count, int32(-1)) == 0 { goto _3 } func() int32 { if _elem != (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21196))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3StrICmp(tls, _elem.X3, _pKey) != i32(0) { goto _6 } r0 = _elem return _6: _elem = (*XHashElem)(unsafe.Pointer(_elem.X0)) goto _2 _3: r0 = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) return } func _strHash(tls *crt.TLS, _z *int8) (r0 uint32) { // sqlite3.c:29238:1 var _h uint32 // sqlite3.c:29239:16 _ = _h var _c uint8 // sqlite3.c:29240:17 _ = _c _h = u32(0) _0: if int32(store4537(&_c, uint8(*postInc1025(&_z, 1)))) == i32(0) { goto _1 } { p := &_h *p = (*p) + uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(_c)))) sink985 = *p } { p := &_h *p = (*p) * u32(2654435761) sink985 = *p } goto _0 _1: r0 = _h return } var _findElementWithHashØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_findElementWithHashØ00__func__Ø000[0], str(21204), 20) } func _removeElementGivenHash(tls *crt.TLS, _pH *XHash, _elem *XHashElem, _h uint32) { // sqlite3.c:29363:1 var _pEntry *XExprList // sqlite3.c:29368:14 _ = _pEntry if (*XHashElem)(unsafe.Pointer(_elem.X1)) == nil { goto _0 } *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_elem.X1) + uintptr(0 /* X0 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X0)) goto _1 _0: *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X0)) _1: if (*XHashElem)(unsafe.Pointer(_elem.X0)) == nil { goto _2 } *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_elem.X0) + uintptr(8 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X1)) _2: if (*XExprList)(unsafe.Pointer(_pH.X3)) == nil { goto _3 } _pEntry = (*XExprList)(unsafe.Pointer(uintptr(_pH.X3) + 16*uintptr(_h))) if (*XHashElem)(unsafe.Pointer(_pEntry.X1)) != _elem { goto _4 } *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(8 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X0)) _4: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(0 /* X0 */))) -= 1 func() int32 { if (_pEntry.X0) >= i32(0) { return i32(0) } return func() int32 { 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(21224))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: Xsqlite3_free(tls, (unsafe.Pointer)(_elem)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(4 /* X1 */))) -= 1 if (_pH.X1) != uint32(i32(0)) { goto _7 } func() int32 { if (*XHashElem)(unsafe.Pointer(_pH.X2)) == (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21244))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pH.X1) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(21260))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3HashClear(tls, _pH) _7: return } var _removeElementGivenHashØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_removeElementGivenHashØ00__func__Ø000[0], str(21276), 23) } func _rehash(tls *crt.TLS, _pH *XHash, _new_size uint32) (r0 int32) { // sqlite3.c:29289:1 var _new_ht *XExprList // sqlite3.c:29290:14 _ = _new_ht var _elem *XHashElem // sqlite3.c:29291:12 _ = _elem var _next_elem *XHashElem // sqlite3.c:29291:19 _ = _next_elem var _2_h uint32 // sqlite3.c:29318:18 _ = _2_h if (uint64(_new_size) * u64(16)) <= uint64(i32(1024)) { goto _0 } _new_size = uint32(u64(64)) _0: if _new_size != (_pH.X0) { goto _1 } r0 = i32(0) return _1: _sqlite3BeginBenignMalloc(tls) _new_ht = (*XExprList)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_new_size)*u64(16)))) _sqlite3EndBenignMalloc(tls) if _new_ht != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = i32(0) return _2: Xsqlite3_free(tls, _pH.X3) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(16 /* X3 */))))) = _new_ht *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(0 /* X0 */))) = store985(&_new_size, uint32(uint64(_sqlite3MallocSize(tls, (unsafe.Pointer)(_new_ht)))/u64(16))) crt.Xmemset(tls, (unsafe.Pointer)(_new_ht), i32(0), uint64(_new_size)*u64(16)) *(**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)))) _3: if _elem == nil { goto _6 } _2_h = _strHash(tls, _elem.X3) % _new_size _next_elem = (*XHashElem)(unsafe.Pointer(_elem.X0)) _insertElement(tls, _pH, (*XExprList)(unsafe.Pointer(uintptr((unsafe.Pointer)(_new_ht))+16*uintptr(_2_h))), _elem) _elem = _next_elem goto _3 _6: r0 = i32(1) return } func _insertElement(tls *crt.TLS, _pH *XHash, _pEntry *XExprList, _pNew *XHashElem) { // sqlite3.c:29255:1 var _pHead *XHashElem // sqlite3.c:29260:12 _ = _pHead if _pEntry == nil { goto _0 } _pHead = func() *XHashElem { if (_pEntry.X0) != 0 { return (*XHashElem)(unsafe.Pointer(_pEntry.X1)) } return (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(0 /* X0 */))) += 1 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(8 /* X1 */))))) = _pNew goto _3 _0: _pHead = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) _3: if _pHead == nil { goto _4 } *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = _pHead *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(_pHead.X1)) if (*XHashElem)(unsafe.Pointer(_pHead.X1)) == nil { goto _5 } *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pHead.X1) + uintptr(0 /* X0 */))))) = _pNew goto _6 _5: *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = _pNew _6: *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pHead)) + uintptr(8 /* X1 */))))) = _pNew goto _7 _4: *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = (*XHashElem)(unsafe.Pointer(_pH.X2)) if (*XHashElem)(unsafe.Pointer(_pH.X2)) == nil { goto _8 } *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pH.X2) + uintptr(8 /* X1 */))))) = _pNew _8: *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = _pNew _7: return } func _sqlite3SchemaMutexHeld(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _pSchema *XSchema) (r0 int32) { // sqlite3.c:58899:1 var _p *XBtree // sqlite3.c:58900:9 _ = _p func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pSchema == nil { goto _2 } _iDb = _sqlite3SchemaToIndex(tls, _db, _pSchema) _2: func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { goto _6 } r0 = i32(0) return _6: if _iDb != i32(1) { goto _7 } r0 = i32(1) return _7: _p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X1)) func() int32 { if _p != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(1))) return } var _sqlite3SchemaMutexHeldØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SchemaMutexHeldØ00__func__Ø000[0], str(21324), 23) } func _sqlite3SchemaToIndex(tls *crt.TLS, _db *Xsqlite3, _pSchema *XSchema) (r0 int32) { // sqlite3.c:115860:1 var _i int32 // sqlite3.c:115861:7 _ = _i _i = i32(-1000000) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pSchema == nil { goto _2 } _i = i32(0) _3: if func() int32 { if _i < (_db.X5) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _8 } if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X4)) != _pSchema { goto _9 } goto _8 _9: _i += 1 goto _3 _8: func() int32 { if (_i >= i32(0)) && (_i < (_db.X5)) { return i32(0) } return func() int32 { 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(21348))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: r0 = _i return } var _sqlite3SchemaToIndexØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SchemaToIndexØ00__func__Ø000[0], str(21368), 21) } func _freeIndex(tls *crt.TLS, _db *Xsqlite3, _p *XIndex) { // sqlite3.c:99891:1 _sqlite3DeleteIndexSamples(tls, _db, _p) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X9))) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X10))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X4)) if ((uint32((_p.X16)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _0 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X8)) _0: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } func _sqlite3DeleteIndexSamples(tls *crt.TLS, _db *Xsqlite3, _pIdx *XIndex) { // sqlite3.c:98251:1 return } func _sqlite3FkDelete(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable) { // sqlite3.c:108528:1 var _pFKey *XFKey // sqlite3.c:108529:8 _ = _pFKey var _pNext *XFKey // sqlite3.c:108530:8 _ = _pNext var _4_p unsafe.Pointer // sqlite3.c:108541:14 _ = _4_p var _4_z *int8 // sqlite3.c:108542:20 _ = _4_z func() int32 { if ((_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || (_pTab.X16) != 0) || _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pTab.X20))) != 0 { return i32(0) } return func() int32 { 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(21392))) crt.X__builtin_abort(tls) return i32(0) }() }() _pFKey = (*XFKey)(unsafe.Pointer(_pTab.X4)) _4: if _pFKey == nil { goto _7 } if _db != nil && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } if (*XFKey)(unsafe.Pointer(_pFKey.X4)) == nil { goto _10 } *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pFKey.X4) + uintptr(24 /* X3 */))))) = (*XFKey)(unsafe.Pointer(_pFKey.X3)) goto _11 _10: _4_p = _pFKey.X3 _4_z = func() *int8 { if _4_p != nil { return ((*XFKey)(unsafe.Pointer(_pFKey.X3)).X2) } return (_pFKey.X2) }() _sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pTab.X20)+uintptr(80 /* X5 */))), _4_z, _4_p) _11: if (*XFKey)(unsafe.Pointer(_pFKey.X3)) == nil { goto _14 } *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pFKey.X3) + uintptr(32 /* X4 */))))) = (*XFKey)(unsafe.Pointer(_pFKey.X4)) _14: _9: func() int32 { if (int32(_pFKey.X6) == i32(0)) || (int32(_pFKey.X6) == i32(1)) { return i32(0) } return func() int32 { 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(21468))) crt.X__builtin_abort(tls) return i32(0) }() }() _fkTriggerDelete(tls, _db, *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(48 /* X8 */))))) + 8*uintptr(i32(0))))) _fkTriggerDelete(tls, _db, *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(48 /* X8 */))))) + 8*uintptr(i32(1))))) _pNext = (*XFKey)(unsafe.Pointer(_pFKey.X1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pFKey)) _pFKey = _pNext goto _4 _7: return } var _sqlite3FkDeleteØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FkDeleteØ00__func__Ø000[0], str(21516), 16) } func _fkTriggerDelete(tls *crt.TLS, _dbMem *Xsqlite3, _p *XTrigger) { // sqlite3.c:107836:1 var _1_pStep *XTriggerStep // sqlite3.c:107838:17 _ = _1_pStep if _p == nil { goto _0 } _1_pStep = (*XTriggerStep)(unsafe.Pointer(_p.X8)) _sqlite3ExprDelete(tls, _dbMem, (*XExpr)(unsafe.Pointer(_1_pStep.X5))) _sqlite3ExprListDelete(tls, _dbMem, (*XExprList)(unsafe.Pointer(_1_pStep.X6))) _sqlite3SelectDelete(tls, _dbMem, (*XSelect)(unsafe.Pointer(_1_pStep.X3))) _sqlite3ExprDelete(tls, _dbMem, (*XExpr)(unsafe.Pointer(_p.X4))) _sqlite3DbFree(tls, _dbMem, (unsafe.Pointer)(_p)) _0: return } func _sqlite3DeleteColumnNames(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable) { // sqlite3.c:100022:1 var _i int32 // sqlite3.c:100023:7 _ = _i var _pCol *XColumn // sqlite3.c:100024:10 _ = _pCol func() int32 { if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21532))) crt.X__builtin_abort(tls) return i32(0) }() }() if store5524992(&_pCol, (*XColumn)(unsafe.Pointer(_pTable.X1))) == (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _i = i32(0) _3: if _i >= int32(_pTable.X11) { goto _6 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pCol.X0)) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pCol.X1))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pCol.X2)) *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(32) goto _3 _6: _sqlite3DbFree(tls, _db, _pTable.X1) _2: return } var _sqlite3DeleteColumnNamesØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DeleteColumnNamesØ00__func__Ø000[0], str(21544), 25) } func _sqlite3VtabClear(tls *crt.TLS, _db *Xsqlite3, _p *XTable) { // sqlite3.c:124811:1 var _1_i int32 // sqlite3.c:124814:9 _ = _1_i if _db != nil && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _vtabDisconnectAll(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _p) _1: if (_p.X17) == nil { goto _2 } _1_i = i32(0) _3: if _1_i >= (_p.X16) { goto _6 } if _1_i == i32(1) { goto _7 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X17)) + 8*uintptr(_1_i))))) _7: _1_i += 1 goto _3 _6: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X17)) _2: return } func _vtabDisconnectAll(tls *crt.TLS, _db *Xsqlite3, _p *XTable) (r0 *XVTable) { // sqlite3.c:124702:1 var _pRet *XVTable // sqlite3.c:124703:10 _ = _pRet var _pVTable *XVTable // sqlite3.c:124704:10 _ = _pVTable var _1_db2 *Xsqlite3 // sqlite3.c:124716:13 _ = _1_db2 var _1_pNext *XVTable // sqlite3.c:124717:12 _ = _1_pNext _pRet = nil _pVTable = (*XVTable)(unsafe.Pointer(_p.X18)) *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X18 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if (_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_p.X20))) != 0 { return i32(0) } return func() int32 { 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(21572))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: if _pVTable == nil { goto _4 } _1_db2 = (*Xsqlite3)(unsafe.Pointer(_pVTable.X0)) _1_pNext = (*XVTable)(unsafe.Pointer(_pVTable.X6)) func() int32 { if _1_db2 != nil { return i32(0) } return func() int32 { 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(21624))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_db2 != _db { goto _7 } _pRet = _pVTable *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X18 */))))) = _pRet *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(40 /* X6 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) goto _8 _7: *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(40 /* X6 */))))) = (*XVTable)(unsafe.Pointer(_1_db2.X68)) *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db2)) + uintptr(480 /* X68 */))))) = _pVTable _8: _pVTable = _1_pNext goto _3 _4: func() int32 { if (_db == nil) || (_pRet != nil) { return i32(0) } return func() int32 { 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(21628))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pRet return } var _vtabDisconnectAllØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_vtabDisconnectAllØ00__func__Ø000[0], str(21640), 18) } func _sqlite3IdListDelete(tls *crt.TLS, _db *Xsqlite3, _pList *XIdList) { // sqlite3.c:103070:1 var _i int32 // sqlite3.c:103071:7 _ = _i if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _i = i32(0) _1: if _i >= (_pList.X1) { goto _4 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*TIdList_item)(unsafe.Pointer(uintptr(_pList.X0)+16*uintptr(_i))).X0)) _i += 1 goto _1 _4: _sqlite3DbFree(tls, _db, _pList.X0) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pList)) return } func _sqlite3WithDelete(tls *crt.TLS, _db *Xsqlite3, _pWith *XWith) { // sqlite3.c:103885:1 var _1_i int32 // sqlite3.c:103887:9 _ = _1_i var _2_pCte *TCte // sqlite3.c:103889:18 _ = _2_pCte if _pWith == nil { goto _0 } _1_i = i32(0) _1: if _1_i >= (_pWith.X0) { goto _4 } _2_pCte = (*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith))+uintptr(16 /* X2 */))))) + 32*uintptr(_1_i))) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_2_pCte.X1))) _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_2_pCte.X2))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_pCte.X0)) _1_i += 1 goto _1 _4: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pWith)) _0: return } func _sqlite3CollapseDatabaseArray(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:99944:1 var _i int32 // sqlite3.c:99945:7 _ = _i var _j int32 // sqlite3.c:99945:10 _ = _j var _1_pDb *XDb // sqlite3.c:99947:15 _ = _1_pDb _i = store961(&_j, i32(2)) _0: if _i >= (_db.X5) { goto _3 } _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))) if (*XBtree)(unsafe.Pointer(_1_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pDb.X0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pDb)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _1 _4: if _j >= _i { goto _5 } *(*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_j))) = *(*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))) _5: _j += 1 _1: _i += 1 goto _0 _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(40 /* X5 */))) = _j if (_db.X5) > i32(2) || (*XDb)(unsafe.Pointer(_db.X4)) == (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(560 /* X72 */))))) { goto _7 } crt.Xmemcpy(tls, (unsafe.Pointer)((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(560 /* X72 */)))), _db.X4, u64(64)) _sqlite3DbFree(tls, _db, _db.X4) *(**XDb)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(32 /* X4 */))))) = (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(560 /* X72 */))))) _7: return } func _sqlite3CloseSavepoints(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:140873:1 var _1_pTmp *XSavepoint // sqlite3.c:140875:15 _ = _1_pTmp _0: if (*XSavepoint)(unsafe.Pointer(_db.X73)) == nil { goto _1 } _1_pTmp = (*XSavepoint)(unsafe.Pointer(_db.X73)) *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(624 /* X73 */))))) = (*XSavepoint)(unsafe.Pointer(_1_pTmp.X3)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pTmp)) goto _0 _1: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(636 /* X75 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(640 /* X76 */))) = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(91 /* X23 */))) = uint8(i32(0)) return } func _sqlite3BtreeClose(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61521:1 var _pBt *XBtShared // sqlite3.c:61522:12 _ = _pBt var _pCur *XBtCursor // sqlite3.c:61523:12 _ = _pCur var _1_pTmp *XBtCursor // sqlite3.c:61530:14 _ = _1_pTmp _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _pCur = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) _2: if _pCur == nil { goto _3 } _1_pTmp = _pCur _pCur = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) if (*XBtree)(unsafe.Pointer(_1_pTmp.X0)) != _p { goto _4 } _sqlite3BtreeCloseCursor(tls, _1_pTmp) _4: goto _2 _3: _sqlite3BtreeRollback(tls, _p, i32(0), i32(0)) _sqlite3BtreeLeave(tls, _p) func() int32 { if ((_p.X6) == i32(0)) && (int32(_p.X4) == i32(0)) { return i32(0) } return func() int32 { 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(21660))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X3) != 0 && _removeFromSharingList(tls, _pBt) == 0 { goto _9 } func() int32 { if (*XBtCursor)(unsafe.Pointer(_pBt.X2)) == nil { return i32(0) } return func() int32 { 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(21696))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3PagerClose(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(_p.X0))) if (_pBt.X20) == nil || (_pBt.X19) == nil { goto _13 } (_pBt.X20)(tls, _pBt.X19) _13: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _pBt.X19) _freeTempSpace(tls, _pBt) Xsqlite3_free(tls, (unsafe.Pointer)(_pBt)) _9: func() int32 { if (_p.X6) == i32(0) { return i32(0) } return func() int32 { 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(21712))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X4) == i32(0) { return i32(0) } return func() int32 { 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(7996))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBtree)(unsafe.Pointer(_p.X10)) == nil { goto _18 } *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X10) + uintptr(32 /* X9 */))))) = (*XBtree)(unsafe.Pointer(_p.X9)) _18: if (*XBtree)(unsafe.Pointer(_p.X9)) == nil { goto _19 } *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X9) + uintptr(40 /* X10 */))))) = (*XBtree)(unsafe.Pointer(_p.X10)) _19: Xsqlite3_free(tls, (unsafe.Pointer)(_p)) r0 = i32(0) return } var _sqlite3BtreeCloseØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCloseØ00__func__Ø000[0], str(21732), 18) } func _sqlite3BtreeCloseCursor(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63233:1 var _pBtree *XBtree // sqlite3.c:63234:9 _ = _pBtree var _1_i int32 // sqlite3.c:63236:9 _ = _1_i var _1_pBt *XBtShared // sqlite3.c:63237:14 _ = _1_pBt var _3_pPrev *XBtCursor // sqlite3.c:63244:16 _ = _3_pPrev _pBtree = (*XBtree)(unsafe.Pointer(_pCur.X0)) if _pBtree == nil { goto _0 } _1_pBt = (*XBtShared)(unsafe.Pointer(_pCur.X1)) _sqlite3BtreeEnter(tls, _pBtree) _sqlite3BtreeClearCursor(tls, _pCur) func() int32 { if (*XBtCursor)(unsafe.Pointer(_1_pBt.X2)) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21752))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBtCursor)(unsafe.Pointer(_1_pBt.X2)) != _pCur { goto _3 } *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(16 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) goto _4 _3: _3_pPrev = (*XBtCursor)(unsafe.Pointer(_1_pBt.X2)) _5: if (*XBtCursor)(unsafe.Pointer(_3_pPrev.X2)) != _pCur { goto _6 } *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pPrev)) + uintptr(16 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) goto _7 _6: _3_pPrev = (*XBtCursor)(unsafe.Pointer(_3_pPrev.X2)) if func() int32 { if _3_pPrev != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() != 0 { goto _5 } _7: _4: _1_i = i32(0) _10: if _1_i > int32(_pCur.X14) { goto _13 } _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_1_i)))) _1_i += 1 goto _10 _13: _unlockBtreeIfUnused(tls, _1_pBt) Xsqlite3_free(tls, (unsafe.Pointer)(_pCur.X3)) _sqlite3BtreeLeave(tls, _pBtree) _0: r0 = i32(0) return } var _sqlite3BtreeCloseCursorØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCloseCursorØ00__func__Ø000[0], str(21768), 24) } func _removeFromSharingList(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:61442:1 var _pMaster *Xsqlite3_mutex // sqlite3.c:61444:30 _ = _pMaster var _pList *XBtShared // sqlite3.c:61445:12 _ = _pList var _removed int32 // sqlite3.c:61446:7 _ = _removed _removed = i32(0) func() int32 { if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(21792))) crt.X__builtin_abort(tls) return i32(0) }() }() _pMaster = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _pMaster) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(96 /* X23 */))) -= 1 if (_pBt.X23) > i32(0) { goto _2 } if _sqlite3SharedCacheList != _pBt { goto _3 } _sqlite3SharedCacheList = (*XBtShared)(unsafe.Pointer(_pBt.X24)) bug20530(_sqlite3SharedCacheList) goto _4 _3: _pList = _sqlite3SharedCacheList _5: if func() int32 { if _pList != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || (*XBtShared)(unsafe.Pointer(_pList.X24)) == _pBt { goto _6 } _pList = (*XBtShared)(unsafe.Pointer(_pList.X24)) goto _5 _6: if func() int32 { if _pList != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _12 } *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(104 /* X24 */))))) = (*XBtShared)(unsafe.Pointer(_pBt.X24)) _12: _4: Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) _removed = i32(1) _2: Xsqlite3_mutex_leave(tls, _pMaster) r0 = _removed return } var _removeFromSharingListØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_removeFromSharingListØ00__func__Ø000[0], str(21828), 22) } var _sqlite3SharedCacheList *XBtShared // sqlite3.c:59035:17 func Xsqlite3_mutex_free(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:22825:12 if _p == nil { goto _0 } func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X3)}))) != nil { return i32(0) } return func() int32 { 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(21852))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X3)})))(tls, _p) _0: return } var _sqlite3_mutex_freeØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_freeØ00__func__Ø000[0], str(21892), 19) } func _sqlite3PagerClose(tls *crt.TLS, _pPager *XPager, _db *Xsqlite3) (r0 int32) { // sqlite3.c:50938:1 var _pTmp *uint8 // sqlite3.c:50939:6 _ = _pTmp _pTmp = (*uint8)(unsafe.Pointer(_pPager.X58)) func() int32 { if (_db != nil) || (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) { return i32(0) } return func() int32 { 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(21912))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BeginBenignMalloc(tls) _pagerFreeMapHdrs(tls, _pPager) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(8 /* X1 */))) = uint8(i32(0)) func() int32 { if (_db != nil) || ((*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(21944))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3WalClose(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _db, int32(_pPager.X7), _pPager.X48, func() *uint8 { if (_db != nil) && ((uint32(_db.X6) & u32(2147483648)) != 0) { return (*uint8)(unsafe.Pointer(uintptr(i32(0)))) } return _pTmp }()) *(**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(288 /* X60 */))))) = (*XWal)(unsafe.Pointer(uintptr(i32(0)))) _pager_reset(tls, _pPager) if (_pPager.X13) == 0 { goto _11 } _pager_unlock(tls, _pPager) goto _12 _11: if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } _pager_error(tls, _pPager, _pagerSyncHotJournal(tls, _pPager)) _13: _pagerUnlockAndRollback(tls, _pPager) _12: _sqlite3EndBenignMalloc(tls) _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) _sqlite3PageFree(tls, (unsafe.Pointer)(_pTmp)) _sqlite3PcacheClose(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) func() int32 { if ((*XPagerSavepoint)(unsafe.Pointer(_pPager.X37)) == nil) && ((*XBitvec)(unsafe.Pointer(_pPager.X30)) == nil) { return i32(0) } return func() int32 { 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(21968))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(22012))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_free(tls, (unsafe.Pointer)(_pPager)) r0 = i32(0) return } var _sqlite3PagerCloseØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerCloseØ00__func__Ø000[0], str(22060), 18) } func _pagerFreeMapHdrs(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50914:1 var _p *XPgHdr // sqlite3.c:50915:9 _ = _p var _pNext *XPgHdr // sqlite3.c:50916:9 _ = _pNext _p = (*XPgHdr)(unsafe.Pointer(_pPager.X43)) _0: if _p == nil { goto _3 } _pNext = (*XPgHdr)(unsafe.Pointer(_p.X3)) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) _p = _pNext goto _0 _3: return } func _sqlite3WalClose(tls *crt.TLS, _pWal *XWal, _db *Xsqlite3, _sync_flags int32, _nBuf int32, _zBuf *uint8) (r0 int32) { // sqlite3.c:56327:1 var _rc int32 // sqlite3.c:56334:7 _ = _rc var _1_isDelete int32 // sqlite3.c:56336:9 _ = _1_isDelete var _4_bPersist int32 // sqlite3.c:56356:13 _ = _4_bPersist _rc = i32(0) if _pWal == nil { goto _0 } _1_isDelete = i32(0) if _zBuf == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) != store961(&_rc, _sqlite3OsLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), i32(4))) { goto _2 } if int32(_pWal.X11) != i32(0) { goto _3 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(63 /* X11 */))) = uint8(i32(1)) _3: _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))))) if _rc != i32(0) { goto _4 } _4_bPersist = i32(-1) _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), i32(10), (unsafe.Pointer)(&_4_bPersist)) if _4_bPersist == i32(1) { goto _5 } _1_isDelete = i32(1) goto _6 _5: if (_pWal.X4) < int64(i32(0)) { goto _7 } _walLimitSize(tls, _pWal, int64(i32(0))) _7: _6: _4: _2: _walIndexClose(tls, _pWal, _1_isDelete) _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2))) if _1_isDelete == 0 { goto _8 } _sqlite3BeginBenignMalloc(tls) _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pWal.X0)), _pWal.X21, i32(0)) _sqlite3EndBenignMalloc(tls) _8: Xsqlite3_free(tls, (unsafe.Pointer)(_pWal.X7)) Xsqlite3_free(tls, (unsafe.Pointer)(_pWal)) _0: r0 = _rc return } func _sqlite3OsLock(tls *crt.TLS, _id *Xsqlite3_file, _lockType int32) (r0 int32) { // sqlite3.c:20158:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X7)})))(tls, _id, _lockType) return } 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 var _rc int32 // sqlite3.c:57693:7 _ = _rc var _isChanged int32 // sqlite3.c:57694:7 _ = _isChanged var _eMode2 int32 // sqlite3.c:57695:7 _ = _eMode2 var _xBusy2 func(*crt.TLS, unsafe.Pointer) int32 // sqlite3.c:57696:7 _ = _xBusy2 _isChanged = i32(0) _eMode2 = _eMode _xBusy2 = _xBusy func() int32 { if int32(_pWal.X13) == i32(0) { return i32(0) } return func() int32 { 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(22080))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pWal.X12) == i32(0) { return i32(0) } return func() int32 { 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(18484))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eMode != i32(0)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_xBusy})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{nil}))) { return i32(0) } return func() int32 { 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(22100))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pWal.X14) == 0 { goto _7 } r0 = i32(8) return _7: _rc = _walLockExclusive(tls, _pWal, i32(1), i32(1)) if _rc == 0 { goto _8 } r0 = _rc return _8: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(65 /* X13 */))) = uint8(i32(1)) if _eMode == i32(0) { goto _9 } _rc = _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(0), i32(1)) if _rc != i32(0) { goto _10 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(64 /* X12 */))) = uint8(i32(1)) goto _11 _10: if _rc != i32(5) { goto _12 } _eMode2 = i32(0) _xBusy2 = nil _rc = i32(0) _12: _11: _9: if _rc != i32(0) { goto _13 } _rc = _walIndexReadHdr(tls, _pWal, &_isChanged) if _isChanged == 0 || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)).X0)).X0) < i32(3) { goto _15 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) _15: _13: if _rc != i32(0) { goto _16 } if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X6) == 0 || _walPagesize(tls, _pWal) == _nBuf { goto _18 } _rc = _sqlite3CorruptError(tls, i32(57756)) goto _19 _18: _rc = _walCheckpoint(tls, _pWal, _db, _eMode2, _xBusy2, _pBusyArg, _sync_flags, _zBuf) _19: if _rc != i32(0) && _rc != i32(5) { goto _21 } if _pnLog == nil { goto _22 } *_pnLog = int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) _22: if _pnCkpt == nil { goto _23 } *_pnCkpt = int32(_walCkptInfo(tls, _pWal).X0) _23: _21: _16: if _isChanged == 0 { goto _24 } crt.Xmemset(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), i32(0), u64(48)) _24: _sqlite3WalEndWriteTransaction(tls, _pWal) _walUnlockExclusive(tls, _pWal, i32(1), i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(65 /* X13 */))) = uint8(i32(0)) r0 = func() int32 { if (_rc == i32(0)) && (_eMode != _eMode2) { return i32(5) } return _rc }() return } var _sqlite3WalCheckpointØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalCheckpointØ00__func__Ø000[0], str(22148), 21) } func _walLockExclusive(tls *crt.TLS, _pWal *XWal, _lockIdx int32, _n int32) (r0 int32) { // sqlite3.c:55216:1 var _rc int32 // sqlite3.c:55217:7 _ = _rc if (_pWal.X11) == 0 { goto _0 } r0 = i32(0) return _0: _rc = _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, _n, i32(10)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(140 /* X23 */))) = uint8(bool2int((_rc != i32(0)) && (_rc != i32(5)))) r0 = _rc return } 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 var _rc int32 // sqlite3.c:56045:7 _ = _rc _0: _rc = _walLockExclusive(tls, _pWal, _lockIdx, _n) if ((_xBusy != nil) && (_rc == i32(5))) && _xBusy(tls, _pBusyArg) != 0 { goto _0 } r0 = _rc return } func _walIndexReadHdr(tls *crt.TLS, _pWal *XWal, _pChanged *int32) (r0 int32) { // sqlite3.c:56466:1 var _rc int32 // sqlite3.c:56467:7 _ = _rc var _badHdr int32 // sqlite3.c:56468:7 _ = _badHdr var _page0 *uint32 // sqlite3.c:56469:16 _ = _page0 func() int32 { if _pChanged != nil { return i32(0) } return func() int32 { 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(22172))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _walIndexPage(tls, _pWal, i32(0), &_page0) if _rc == i32(0) { goto _2 } r0 = _rc return _2: func() int32 { if (_page0 != nil) || (int32(_pWal.X12) == i32(0)) { return i32(0) } return func() int32 { 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(22184))) crt.X__builtin_abort(tls) return i32(0) }() }() _badHdr = func() int32 { if _page0 != nil { return _walIndexTryHdr(tls, _pWal, _pChanged) } return i32(1) }() func() int32 { if (_badHdr == i32(0)) || (int32(_pWal.X12) == i32(0)) { return i32(0) } return func() int32 { 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(22212))) crt.X__builtin_abort(tls) return i32(0) }() }() if _badHdr == 0 { goto _11 } if (int32(_pWal.X14) & i32(2)) == 0 { goto _12 } if i32(0) != store961(&_rc, _walLockShared(tls, _pWal, i32(0))) { goto _13 } _walUnlockShared(tls, _pWal, i32(0)) _rc = i32(264) _13: goto _14 _12: if i32(0) != store961(&_rc, _walLockExclusive(tls, _pWal, i32(0), i32(1))) { goto _15 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(64 /* X12 */))) = uint8(i32(1)) if i32(0) != store961(&_rc, _walIndexPage(tls, _pWal, i32(0), &_page0)) { goto _16 } _badHdr = _walIndexTryHdr(tls, _pWal, _pChanged) if _badHdr == 0 { goto _17 } _rc = _walIndexRecover(tls, _pWal) *_pChanged = i32(1) _17: _16: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(64 /* X12 */))) = uint8(i32(0)) _walUnlockExclusive(tls, _pWal, i32(0), i32(1)) _15: _14: _11: if _badHdr != i32(0) || ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X0) == uint32(i32(3007000)) { goto _19 } _rc = _sqlite3CantopenError(tls, i32(56521)) _19: r0 = _rc return } var _walIndexReadHdrØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexReadHdrØ00__func__Ø000[0], str(22244), 16) } func _walIndexTryHdr(tls *crt.TLS, _pWal *XWal, _pChanged *int32) (r0 int32) { // sqlite3.c:56408:1 var _aCksum [2]uint32 // sqlite3.c:56409:7 _ = _aCksum var _h1 XWalIndexHdr // sqlite3.c:56410:15 _ = _h1 var _h2 XWalIndexHdr // sqlite3.c:56410:19 _ = _h2 var _aHdr *XWalIndexHdr // sqlite3.c:56411:24 _ = _aHdr func() int32 { if ((_pWal.X5) > i32(0)) && ((*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0))))) != nil) { return i32(0) } return func() int32 { 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(14328))) crt.X__builtin_abort(tls) return i32(0) }() }() _aHdr = _walIndexHdr(tls, _pWal) crt.Xmemcpy(tls, (unsafe.Pointer)(&_h1), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHdr))+48*uintptr(i32(0))))), u64(48)) _walShmBarrier(tls, _pWal) crt.Xmemcpy(tls, (unsafe.Pointer)(&_h2), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHdr))+48*uintptr(i32(1))))), u64(48)) if crt.Xmemcmp(tls, (unsafe.Pointer)(&_h1), (unsafe.Pointer)(&_h2), u64(48)) == i32(0) { goto _3 } r0 = i32(1) return _3: if int32(_h1.X3) != i32(0) { goto _4 } r0 = i32(1) return _4: _walChecksumBytes(tls, i32(1), (*uint8)(unsafe.Pointer(&_h1)), int32(u64(40)), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*uint32)(unsafe.Pointer(&_aCksum))) 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))))) { goto _6 } r0 = i32(1) return _6: if crt.Xmemcmp(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), (unsafe.Pointer)(&_h1), u64(48)) == 0 { goto _7 } *_pChanged = i32(1) crt.Xmemcpy(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), (unsafe.Pointer)(&_h1), u64(48)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(56 /* X8 */))) = uint32((int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X5) & i32(65024)) + ((int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X5) & i32(1)) << uint(i32(16)))) _7: r0 = i32(0) return } var _walIndexTryHdrØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexTryHdrØ00__func__Ø000[0], str(22260), 15) } func _walShmBarrier(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:55053:1 if int32(_pWal.X11) == i32(2) { goto _0 } _sqlite3OsShmBarrier(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1))) _0: return } func _sqlite3OsShmBarrier(tls *crt.TLS, _id *Xsqlite3_file) { // sqlite3.c:20210:1 (*(*func(*crt.TLS, *Xsqlite3_file))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X15)})))(tls, _id) return } func _walChecksumBytes(tls *crt.TLS, _nativeCksum int32, _a *uint8, _nByte int32, _aIn *uint32, _aOut *uint32) { // sqlite3.c:55015:1 var _s1 uint32 // sqlite3.c:55022:7 _ = _s1 var _s2 uint32 // sqlite3.c:55022:11 _ = _s2 var _aData *uint32 // sqlite3.c:55023:7 _ = _aData var _aEnd *uint32 // sqlite3.c:55024:7 _ = _aEnd _aData = (*uint32)(unsafe.Pointer(_a)) _aEnd = (*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 1*uintptr(_nByte))))) if _aIn == nil { goto _0 } _s1 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aIn)) + 4*uintptr(i32(0)))) _s2 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aIn)) + 4*uintptr(i32(1)))) goto _1 _0: _s1 = store985(&_s2, uint32(i32(0))) _1: func() int32 { if _nByte >= i32(8) { return i32(0) } return func() int32 { 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(22276))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_nByte & i32(7)) == i32(0) { return i32(0) } return func() int32 { 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(22288))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nativeCksum == 0 { goto _6 } _7: { p := &_s1 *p = (*p) + ((*postInc5490042(&_aData, 4)) + _s2) sink985 = *p } { p := &_s2 *p = (*p) + ((*postInc5490042(&_aData, 4)) + _s1) sink985 = *p } if uintptr(unsafe.Pointer(_aData)) < uintptr(unsafe.Pointer(_aEnd)) { goto _7 } goto _8 _6: _9: { p := &_s1 *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) sink985 = *p } { p := &_s2 *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) sink985 = *p } { p := &_aData *p = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 4*uintptr(i32(2)))) sink5490042 = *p } if uintptr(unsafe.Pointer(_aData)) < uintptr(unsafe.Pointer(_aEnd)) { goto _9 } _8: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOut)) + 4*uintptr(i32(0)))) = _s1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOut)) + 4*uintptr(i32(1)))) = _s2 return } var _walChecksumBytesØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_walChecksumBytesØ00__func__Ø000[0], str(22312), 17) } func _walIndexRecover(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:55485:1 var _rc int32 // sqlite3.c:55486:7 _ = _rc var _nSize int64 // sqlite3.c:55487:7 _ = _nSize var _aFrameCksum [2]uint32 // sqlite3.c:55488:7 _ = _aFrameCksum var _iLock int32 // sqlite3.c:55489:7 _ = _iLock var _nLock int32 // sqlite3.c:55490:7 _ = _nLock var _3_aBuf [32]uint8 // sqlite3.c:55518:8 _ = _3_aBuf var _3_aFrame *uint8 // sqlite3.c:55519:8 _ = _3_aFrame var _3_szFrame int32 // sqlite3.c:55520:9 _ = _3_szFrame var _3_aData *uint8 // sqlite3.c:55521:8 _ = _3_aData var _3_iFrame int32 // sqlite3.c:55522:9 _ = _3_iFrame var _3_iOffset int64 // sqlite3.c:55523:9 _ = _3_iOffset var _3_szPage int32 // sqlite3.c:55524:9 _ = _3_szPage var _3_magic uint32 // sqlite3.c:55525:9 _ = _3_magic var _3_version uint32 // sqlite3.c:55526:9 _ = _3_version var _3_isValid int32 // sqlite3.c:55527:9 _ = _3_isValid var _9_pgno uint32 // sqlite3.c:55584:11 _ = _9_pgno var _9_nTruncate uint32 // sqlite3.c:55585:11 _ = _9_nTruncate var _11_pInfo *XWalCkptInfo // sqlite3.c:55613:26 _ = _11_pInfo var _11_i int32 // sqlite3.c:55614:9 _ = _11_i _aFrameCksum = [2]uint32{} func() int32 { if (int32(_pWal.X13) == i32(1)) || (int32(_pWal.X13) == i32(0)) { return i32(0) } return func() int32 { 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(22332))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() _iLock = i32(1) + int32(_pWal.X13) _nLock = i32(8) - _iLock _rc = _walLockExclusive(tls, _pWal, _iLock, _nLock) if _rc == 0 { goto _5 } r0 = _rc return _5: crt.Xmemset(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), i32(0), u64(48)) _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), &_nSize) if _rc == i32(0) { goto _6 } goto _recovery_error _6: if _nSize <= int64(i32(32)) { goto _7 } _3_aFrame = nil _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(&_3_aBuf), i32(32), int64(i32(0))) if _rc == i32(0) { goto _8 } goto _recovery_error _8: _3_magic = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(0))))) _3_szPage = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(8)))))) if (_3_magic&u32(4294967294)) == uint32(i32(931071618)) && (_3_szPage&(_3_szPage-i32(1))) == 0 && _3_szPage <= i32(65536) && _3_szPage >= i32(512) { goto _12 } goto _finished _12: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(13 /* X4 */))) = uint8(_3_magic & uint32(i32(1))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(56 /* X8 */))) = uint32(_3_szPage) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(136 /* X22 */))) = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(12))))) crt.Xmemcpy(tls, (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(32 /* X9 */)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(16))))), uint64(i32(8))) _walChecksumBytes(tls, bool2int(int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* 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(72 /* X18 */)))))+uintptr(24 /* X8 */)))))) if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* 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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1))))) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(28))))) { goto _14 } goto _finished _14: _3_version = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(4))))) if _3_version == uint32(i32(3007000)) { goto _15 } _rc = _sqlite3CantopenError(tls, i32(55568)) goto _finished _15: _3_szFrame = _3_szPage + i32(24) _3_aFrame = (*uint8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_3_szFrame)))) if _3_aFrame != nil { goto _16 } _rc = _sqlite3NomemError(tls, i32(55576)) goto _recovery_error _16: _3_aData = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_aFrame)) + 1*uintptr(i32(24)))) _3_iFrame = i32(0) _3_iOffset = int64(i32(32)) _17: if (_3_iOffset + int64(_3_szFrame)) > _nSize { goto _20 } _3_iFrame += 1 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_3_aFrame), _3_szFrame, _3_iOffset) if _rc == i32(0) { goto _21 } goto _20 _21: _3_isValid = _walDecodeFrame(tls, _pWal, &_9_pgno, &_9_nTruncate, _3_aData, _3_aFrame) if _3_isValid != 0 { goto _22 } goto _20 _22: _rc = _walIndexAppend(tls, _pWal, uint32(_3_iFrame), _9_pgno) if _rc == i32(0) { goto _23 } goto _20 _23: if _9_nTruncate == 0 { goto _24 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(16 /* X6 */))) = uint32(_3_iFrame) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(20 /* X7 */))) = _9_nTruncate *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(14 /* X5 */))) = uint16((_3_szPage & i32(65280)) | (_3_szPage >> uint(i32(16)))) *(*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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) *(*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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) _24: { p := &_3_iOffset *p = (*p) + int64(_3_szFrame) sink967 = *p } goto _17 _20: Xsqlite3_free(tls, (unsafe.Pointer)(_3_aFrame)) _7: _finished: if _rc != i32(0) { goto _25 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = *(*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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFrameCksum)) + 4*uintptr(i32(1)))) _walIndexWriteHdr(tls, _pWal) _11_pInfo = _walCkptInfo(tls, _pWal) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo)) + uintptr(0 /* X0 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo)) + uintptr(32 /* X3 */))) = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 *(*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)) _11_i = i32(1) _26: if _11_i >= i32(5) { goto _29 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_11_i))) = u32(4294967295) _11_i += 1 goto _26 _29: if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) == 0 { goto _30 } *(*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(72 /* X18 */))).X6 _30: if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X7) == 0 { goto _31 } Xsqlite3_log(tls, i32(283), str(22372), (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X6, unsafe.Pointer(_pWal.X21)) _31: _25: _recovery_error: _walUnlockExclusive(tls, _pWal, _iLock, _nLock) r0 = _rc return } var _walIndexRecoverØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexRecoverØ00__func__Ø000[0], str(22412), 16) } func _sqlite3CantopenError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143236:1 r0 = _reportError(tls, i32(14), _lineno, str(22428)) return } func _walDecodeFrame(tls *crt.TLS, _pWal *XWal, _piPage *uint32, _pnTruncate *uint32, _aData *uint8, _aFrame *uint8) (r0 int32) { // sqlite3.c:55121:1 var _nativeCksum int32 // sqlite3.c:55128:7 _ = _nativeCksum var _aCksum *uint32 // sqlite3.c:55129:7 _ = _aCksum var _pgno uint32 // sqlite3.c:55130:7 _ = _pgno _aCksum = (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(24 /* X8 */))))) i32(0) if crt.Xmemcmp(tls, (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(32 /* X9 */)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(8))))), uint64(i32(8))) == i32(0) { goto _0 } r0 = i32(0) return _0: _pgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(0))))) if _pgno != uint32(i32(0)) { goto _1 } r0 = i32(0) return _1: _nativeCksum = bool2int(int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X4) == i32(0)) _walChecksumBytes(tls, _nativeCksum, _aFrame, i32(8), _aCksum, _aCksum) _walChecksumBytes(tls, _nativeCksum, _aData, int32(_pWal.X8), _aCksum, _aCksum) 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))))) { goto _3 } r0 = i32(0) return _3: *_piPage = _pgno *_pnTruncate = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(4))))) r0 = i32(1) return } func _walIndexAppend(tls *crt.TLS, _pWal *XWal, _iFrame uint32, _iPage uint32) (r0 int32) { // sqlite3.c:55396:1 var _rc int32 // sqlite3.c:55397:7 _ = _rc var _iZero uint32 // sqlite3.c:55398:7 _ = _iZero var _aPgno *uint32 // sqlite3.c:55399:16 _ = _aPgno var _aHash *uint16 // sqlite3.c:55400:20 _ = _aHash var _1_iKey int32 // sqlite3.c:55408:9 _ = _1_iKey var _1_idx int32 // sqlite3.c:55409:9 _ = _1_idx var _1_nCollide int32 // sqlite3.c:55410:9 _ = _1_nCollide var _2_nByte int32 // sqlite3.c:55419:11 _ = _2_nByte _iZero = u32(0) _aPgno = nil _aHash = nil _rc = _walHashGet(tls, _pWal, _walFramePage(tls, _iFrame), &_aHash, &_aPgno, &_iZero) if _rc != i32(0) { goto _0 } _1_idx = int32(_iFrame - _iZero) func() int32 { if _1_idx <= i32(4097) { return i32(0) } return func() int32 { 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(22448))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_idx != i32(1) { goto _3 } _2_nByte = int32(int64((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)) crt.Xmemset(tls, (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno))+4*uintptr(i32(1))))), i32(0), uint64(_2_nByte)) _3: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(_1_idx)))) == 0 { goto _4 } _walCleanupHash(tls, _pWal) func() int32 { if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(_1_idx)))) == 0 { return i32(0) } return func() int32 { 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(22480))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: _1_nCollide = _1_idx _1_iKey = _walHash(tls, _iPage) _7: if (*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_1_iKey)))) == 0 { goto _10 } if postInc961(&_1_nCollide, int32(-1)) != i32(0) { goto _11 } r0 = _sqlite3CorruptError(tls, i32(55437)) return _11: _1_iKey = _walNextHash(tls, _1_iKey) goto _7 _10: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(_1_idx))) = _iPage *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_1_iKey))) = uint16(_1_idx) _0: r0 = _rc return } var _walIndexAppendØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexAppendØ00__func__Ø000[0], str(22492), 15) } func _walIndexWriteHdr(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:55064:1 var _aHdr *XWalIndexHdr // sqlite3.c:55065:24 _ = _aHdr var _nCksum int32 // sqlite3.c:55066:13 _ = _nCksum _aHdr = _walIndexHdr(tls, _pWal) _nCksum = i32(40) func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(12 /* X3 */))) = uint8(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(0 /* X0 */))) = uint32(i32(3007000)) _walChecksumBytes(tls, i32(1), (*uint8)(unsafe.Pointer((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* 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(72 /* X18 */)))))+uintptr(40 /* X10 */)))))) 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(72 /* X18 */)))), u64(48)) _walShmBarrier(tls, _pWal) 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(72 /* X18 */)))), u64(48)) return } var _walIndexWriteHdrØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_walIndexWriteHdrØ00__func__Ø000[0], str(22508), 17) } func _walCkptInfo(tls *crt.TLS, _pWal *XWal) (r0 *XWalCkptInfo) { // sqlite3.c:54981:1 func() int32 { if ((_pWal.X5) > i32(0)) && ((*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0))))) != nil) { return i32(0) } return func() int32 { 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(14328))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*XWalCkptInfo)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0)))))) + 4*uintptr(u64(24)))))) return } var _walCkptInfoØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_walCkptInfoØ00__func__Ø000[0], str(22528), 12) } func _walPagesize(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:56056:1 r0 = (int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X5) & i32(65024)) + ((int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X5) & i32(1)) << uint(i32(16))) return } 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 var _rc int32 // sqlite3.c:56133:7 _ = _rc var _szPage int32 // sqlite3.c:56134:7 _ = _szPage var _pIter *XWalIterator // sqlite3.c:56135:15 _ = _pIter var _iDbpage uint32 // sqlite3.c:56136:7 _ = _iDbpage var _iFrame uint32 // sqlite3.c:56137:7 _ = _iFrame var _mxSafeFrame uint32 // sqlite3.c:56138:7 _ = _mxSafeFrame var _mxPage uint32 // sqlite3.c:56139:7 _ = _mxPage var _i int32 // sqlite3.c:56140:7 _ = _i var _pInfo *XWalCkptInfo // sqlite3.c:56141:24 _ = _pInfo var _3_y uint32 // sqlite3.c:56176:11 _ = _3_y var _8_nSize int64 // sqlite3.c:56195:11 _ = _8_nSize var _8_nBackfill uint32 // sqlite3.c:56196:11 _ = _8_nBackfill var _10_nReq int64 // sqlite3.c:56209:13 _ = _10_nReq var _12_iOffset int64 // sqlite3.c:56219:13 _ = _12_iOffset var _16_szDb int64 // sqlite3.c:56241:15 _ = _16_szDb var _22_salt1 uint32 // sqlite3.c:56274:11 _ = _22_salt1 _rc = i32(0) _pIter = nil _iDbpage = u32(0) _iFrame = u32(0) _szPage = _walPagesize(tls, _pWal) _pInfo = _walCkptInfo(tls, _pWal) if (_pInfo.X0) >= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { goto _0 } _rc = _walIteratorInit(tls, _pWal, &_pIter) if _rc == i32(0) { goto _1 } r0 = _rc return _1: func() int32 { if _pIter != nil { return i32(0) } return func() int32 { 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(22540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eMode != i32(0)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_xBusy})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{nil}))) { return i32(0) } return func() int32 { 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(22100))) crt.X__builtin_abort(tls) return i32(0) }() }() _mxSafeFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 _mxPage = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X7 _i = i32(1) _7: if _i >= i32(5) { goto _10 } _3_y = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) if _mxSafeFrame <= _3_y { goto _11 } func() int32 { if _3_y <= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { return i32(0) } return func() int32 { 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(22548))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(3)+_i, i32(1)) if _rc != i32(0) { goto _14 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) = func() uint32 { if _i == i32(1) { return _mxSafeFrame } return u32(4294967295) }() _walUnlockExclusive(tls, _pWal, i32(3)+_i, i32(1)) goto _17 _14: if _rc != i32(5) { goto _18 } _mxSafeFrame = _3_y _xBusy = nil goto _19 _18: goto _walcheckpoint_out _19: _17: _11: _i += 1 goto _7 _10: if (_pInfo.X0) >= _mxSafeFrame || store961(&_rc, _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(3), i32(1))) != i32(0) { goto _21 } _8_nBackfill = _pInfo.X0 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(32 /* X3 */))) = _mxSafeFrame if _sync_flags == 0 { goto _22 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _sync_flags) _22: if _rc != i32(0) { goto _23 } _10_nReq = int64(_mxPage) * int64(_szPage) _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), &_8_nSize) if _rc != i32(0) || _8_nSize >= _10_nReq { goto _25 } _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), i32(5), (unsafe.Pointer)(&_10_nReq)) _25: _23: _26: if _rc != i32(0) || i32(0) != _walIteratorNext(tls, _pIter, &_iDbpage, &_iFrame) { goto _27 } func() int32 { if _walFramePgno(tls, _pWal, _iFrame) == _iDbpage { return i32(0) } return func() int32 { 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(22572))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */)))))) == 0 { goto _31 } _rc = func() int32 { if (_db.X17) != 0 { return _sqlite3NomemError(tls, i32(56222)) } return i32(9) }() goto _27 _31: if _iFrame > _8_nBackfill && _iFrame <= _mxSafeFrame && _iDbpage <= _mxPage { goto _36 } goto _26 _36: _12_iOffset = (int64(i32(32)) + (int64(_iFrame-uint32(i32(1))) * int64(_szPage+i32(24)))) + int64(i32(24)) _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_zBuf), _szPage, _12_iOffset) if _rc == i32(0) { goto _37 } goto _27 _37: _12_iOffset = int64(_iDbpage-uint32(i32(1))) * int64(_szPage) _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), (unsafe.Pointer)(_zBuf), _szPage, _12_iOffset) if _rc == i32(0) { goto _38 } goto _27 _38: goto _26 _27: if _rc != i32(0) { goto _39 } if _mxSafeFrame != (_walIndexHdr(tls, _pWal).X6) { goto _40 } _16_szDb = int64((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X7) * int64(_szPage) _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _16_szDb) if _rc != i32(0) || _sync_flags == 0 { goto _42 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _sync_flags) _42: _40: if _rc != i32(0) { goto _43 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = _mxSafeFrame _43: _39: _walUnlockExclusive(tls, _pWal, i32(3), i32(1)) _21: if _rc != i32(5) { goto _44 } _rc = i32(0) _44: _0: if _rc != i32(0) || _eMode == i32(0) { goto _46 } func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pInfo.X0) >= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { goto _49 } _rc = i32(5) goto _50 _49: if _eMode < i32(2) { goto _51 } Xsqlite3_randomness(tls, i32(4), (unsafe.Pointer)(&_22_salt1)) func() int32 { if (_pInfo.X0) == ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { return i32(0) } return func() int32 { 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(22608))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(4), i32(4)) if _rc != i32(0) { goto _54 } if _eMode != i32(3) { goto _55 } _walRestartHdr(tls, _pWal, _22_salt1) _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), int64(i32(0))) _55: _walUnlockExclusive(tls, _pWal, i32(4), i32(4)) _54: _51: _50: _46: _walcheckpoint_out: _walIteratorFree(tls, _pIter) r0 = _rc return } func _walIteratorInit(tls *crt.TLS, _pWal *XWal, _pp **XWalIterator) (r0 int32) { // sqlite3.c:55956:1 var _p *XWalIterator // sqlite3.c:55957:15 _ = _p var _nSegment int32 // sqlite3.c:55958:7 _ = _nSegment var _iLast uint32 // sqlite3.c:55959:7 _ = _iLast var _nByte int32 // sqlite3.c:55960:7 _ = _nByte var _i int32 // sqlite3.c:55961:7 _ = _i var _aTmp *uint16 // sqlite3.c:55962:11 _ = _aTmp var _rc int32 // sqlite3.c:55963:7 _ = _rc var _3_aHash *uint16 // sqlite3.c:55994:22 _ = _3_aHash var _3_iZero uint32 // sqlite3.c:55995:9 _ = _3_iZero var _3_aPgno *uint32 // sqlite3.c:55996:18 _ = _3_aPgno var _4_j int32 // sqlite3.c:56000:11 _ = _4_j var _4_nEntry int32 // sqlite3.c:56001:11 _ = _4_nEntry var _4_aIndex *uint16 // sqlite3.c:56002:15 _ = _4_aIndex _rc = i32(0) func() int32 { if ((_pWal.X13) != 0) && (((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) > uint32(i32(0))) { return i32(0) } return func() int32 { 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(22644))) crt.X__builtin_abort(tls) return i32(0) }() }() _iLast = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 _nSegment = _walFramePage(tls, _iLast) + i32(1) _nByte = int32((u64(40) + (uint64(_nSegment-i32(1)) * u64(32))) + (uint64(_iLast) * u64(2))) _p = (*XWalIterator)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_nByte)))) if _p != nil { goto _3 } r0 = _sqlite3NomemError(tls, i32(55978)) return _3: crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), uint64(_nByte)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _nSegment _aTmp = (*uint16)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(2)*uint64(func() uint32 { if _iLast > uint32(i32(4096)) { return uint32(i32(4096)) } return _iLast }())))) if _aTmp != nil { goto _6 } _rc = _sqlite3NomemError(tls, i32(55990)) _6: _i = i32(0) _7: if _rc != i32(0) || _i >= _nSegment { goto _11 } _rc = _walHashGet(tls, _pWal, _i, &_3_aHash, &_3_aPgno, &_3_iZero) if _rc != i32(0) { goto _12 } *(*uintptr)(unsafe.Pointer(&_3_aPgno)) += uintptr(4) if (_i + i32(1)) != _nSegment { goto _13 } _4_nEntry = int32(_iLast - _3_iZero) goto _14 _13: _4_nEntry = int32(int64((uintptr(unsafe.Pointer((*uint32)(unsafe.Pointer(_3_aHash)))) - uintptr(unsafe.Pointer(_3_aPgno))) / 4)) _14: _4_aIndex = (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+32*uintptr(_p.X1))))) + 2*uintptr(_3_iZero))) _3_iZero += 1 _4_j = i32(0) _15: if _4_j >= _4_nEntry { goto _18 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aIndex)) + 2*uintptr(_4_j))) = uint16(_4_j) _4_j += 1 goto _15 _18: _walMergesort(tls, _3_aPgno, _aTmp, _4_aIndex, &_4_nEntry) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+32*uintptr(_i))))) + uintptr(28 /* X4 */))) = int32(_3_iZero) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+32*uintptr(_i))))) + uintptr(24 /* X3 */))) = _4_nEntry *(**uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+32*uintptr(_i))))) + uintptr(8 /* X1 */))) = _4_aIndex *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+32*uintptr(_i))))) + uintptr(16 /* X2 */))) = _3_aPgno _12: _i += 1 goto _7 _11: Xsqlite3_free(tls, (unsafe.Pointer)(_aTmp)) if _rc == i32(0) { goto _19 } _walIteratorFree(tls, _p) _19: *_pp = _p r0 = _rc return } var _walIteratorInitØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_walIteratorInitØ00__func__Ø000[0], str(22684), 16) } func _walMergesort(tls *crt.TLS, _aContent *uint32, _aBuffer *uint16, _aList *uint16, _pnList *int32) { // sqlite3.c:55877:1 var _nList int32 // sqlite3.c:55888:13 _ = _nList var _nMerge int32 // sqlite3.c:55889:7 _ = _nMerge var _aMerge *uint16 // sqlite3.c:55890:11 _ = _aMerge var _iList int32 // sqlite3.c:55891:7 _ = _iList var _iSub uint32 // sqlite3.c:55892:7 _ = _iSub var _aSub [13]TSublist // sqlite3.c:55893:18 _ = _aSub var _2_p *TSublist // sqlite3.c:55903:22 _ = _2_p var _4_p *TSublist // sqlite3.c:55916:22 _ = _4_p var _5_i int32 // sqlite3.c:55929:9 _ = _5_i _nList = *_pnList _nMerge = i32(0) _aMerge = nil _iSub = u32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_aSub), i32(0), u64(208)) func() int32 { if (_nList <= i32(4096)) && (_nList > i32(0)) { return i32(0) } return func() int32 { 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(22700))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) _iList = i32(0) _3: if _iList >= _nList { goto _6 } _nMerge = i32(1) _aMerge = (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList)) + 2*uintptr(_iList))) _iSub = uint32(i32(0)) _7: if (_iList & (i32(1) << uint(int32(_iSub)))) == 0 { goto _10 } func() int32 { if _iSub < uint32(i32(13)) { return i32(0) } return func() int32 { 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(22736))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_p = (*TSublist)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSub)) + 16*uintptr(_iSub))) func() int32 { if ((_2_p.X1) != nil) && ((_2_p.X0) <= (i32(1) << uint(int32(_iSub)))) { return i32(0) } return func() int32 { 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(22760))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_2_p.X1) == (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList))+2*uintptr(_iList&(^((i32(2)<= uint32(i32(13)) { goto _21 } if (_nList & (i32(1) << uint(int32(_iSub)))) == 0 { goto _22 } func() int32 { if _iSub < uint32(i32(13)) { return i32(0) } return func() int32 { 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(22736))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_p = (*TSublist)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSub)) + 16*uintptr(_iSub))) func() int32 { if (_4_p.X0) <= (i32(1) << uint(int32(_iSub))) { return i32(0) } return func() int32 { 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(22832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_4_p.X1) == (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList))+2*uintptr(_nList&(^((i32(2)<= (*_pnList) { goto _34 } func() int32 { 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)))))))) { return i32(0) } return func() int32 { 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(22908))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_i += 1 goto _31 _34: return } var _walMergesortØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_walMergesortØ00__func__Ø000[0], str(22952), 13) } func _walMerge(tls *crt.TLS, _aContent *uint32, _aLeft *uint16, _nLeft int32, _paRight **uint16, _pnRight *int32, _aTmp *uint16) { // sqlite3.c:55820:1 var _iLeft int32 // sqlite3.c:55828:7 _ = _iLeft var _iRight int32 // sqlite3.c:55829:7 _ = _iRight var _iOut int32 // sqlite3.c:55830:7 _ = _iOut var _nRight int32 // sqlite3.c:55831:7 _ = _nRight var _aRight *uint16 // sqlite3.c:55832:11 _ = _aRight var _1_logpage uint16 // sqlite3.c:55836:13 _ = _1_logpage var _1_dbpage uint32 // sqlite3.c:55837:10 _ = _1_dbpage _iLeft = i32(0) _iRight = i32(0) _iOut = i32(0) _nRight = *_pnRight _aRight = *_paRight func() int32 { if (_nLeft > i32(0)) && (_nRight > i32(0)) { return i32(0) } return func() int32 { 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(22968))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: if _iRight >= _nRight && _iLeft >= _nLeft { goto _4 } 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))))))) { goto _8 } _1_logpage = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(postInc961(&_iLeft, int32(1))))) goto _9 _8: _1_logpage = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRight)) + 2*uintptr(postInc961(&_iRight, int32(1))))) _9: _1_dbpage = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(_1_logpage))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTmp)) + 2*uintptr(postInc961(&_iOut, int32(1))))) = _1_logpage if _iLeft >= _nLeft || (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(_iLeft))))))) != _1_dbpage { goto _11 } _iLeft += 1 _11: func() int32 { if (_iLeft >= _nLeft) || ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(_iLeft))))))) > _1_dbpage) { return i32(0) } return func() int32 { 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(22988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iRight >= _nRight) || ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRight)) + 2*uintptr(_iRight))))))) > _1_dbpage) { return i32(0) } return func() int32 { 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(23036))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _3 _4: *_paRight = _aLeft *_pnRight = _iOut crt.Xmemcpy(tls, (unsafe.Pointer)(_aLeft), (unsafe.Pointer)(_aTmp), u64(2)*uint64(_iOut)) return } var _walMergeØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_walMergeØ00__func__Ø000[0], str(23088), 9) } func _walIteratorFree(tls *crt.TLS, _p *XWalIterator) { // sqlite3.c:55940:1 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) return } var _walCheckpointØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_walCheckpointØ00__func__Ø000[0], str(23100), 14) } func _walIteratorNext(tls *crt.TLS, _p *XWalIterator, _piPage *uint32, _piFrame *uint32) (r0 int32) { // sqlite3.c:55767:1 var _iMin uint32 // sqlite3.c:55772:7 _ = _iMin var _iRet uint32 // sqlite3.c:55773:7 _ = _iRet var _i int32 // sqlite3.c:55774:7 _ = _i var _1_pSegment *TWalSegment // sqlite3.c:55779:23 _ = _1_pSegment var _2_iPg uint32 // sqlite3.c:55781:11 _ = _2_iPg _iRet = u32(4294967295) _iMin = uint32(_p.X0) func() int32 { if _iMin < u32(4294967295) { return i32(0) } return func() int32 { 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(23116))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = (_p.X1) - i32(1) _2: if _i < i32(0) { goto _5 } _1_pSegment = (*TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TWalSegment)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 32*uintptr(_i))) _6: if (_1_pSegment.X0) >= (_1_pSegment.X3) { goto _7 } _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)))))) if _2_iPg <= _iMin { goto _8 } if _2_iPg >= _iRet { goto _9 } _iRet = _2_iPg *_piFrame = uint32((_1_pSegment.X4) + int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSegment.X1)) + 2*uintptr(_1_pSegment.X0))))) _9: goto _7 _8: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSegment)) + uintptr(0 /* X0 */))) += 1 goto _6 _7: _i -= 1 goto _2 _5: *_piPage = uint32(store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))), int32(_iRet))) r0 = bool2int(_iRet == u32(4294967295)) return } var _walIteratorNextØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_walIteratorNextØ00__func__Ø000[0], str(23132), 16) } func _walRestartHdr(tls *crt.TLS, _pWal *XWal, _salt1 uint32) { // sqlite3.c:56077:1 var _pInfo *XWalCkptInfo // sqlite3.c:56078:24 _ = _pInfo var _i int32 // sqlite3.c:56079:7 _ = _i var _aSalt *uint32 // sqlite3.c:56080:7 _ = _aSalt _pInfo = _walCkptInfo(tls, _pWal) _aSalt = (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(32 /* X9 */))))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(136 /* X22 */))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(16 /* X6 */))) = uint32(i32(0)) _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)))))))) 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(72 /* X18 */)))))+uintptr(32 /* X9 */)))))+4*uintptr(i32(1))))), (unsafe.Pointer)(&_salt1), uint64(i32(4))) _walIndexWriteHdr(tls, _pWal) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(32 /* X3 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(i32(1)))) = uint32(i32(0)) _i = i32(2) _0: if _i >= i32(5) { goto _3 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) = u32(4294967295) _i += 1 goto _0 _3: func() int32 { 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)) { return i32(0) } return func() int32 { 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(23148))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _walRestartHdrØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_walRestartHdrØ00__func__Ø000[0], str(23172), 14) } func _walLimitSize(tls *crt.TLS, _pWal *XWal, _nMax int64) { // sqlite3.c:56310:1 var _sz int64 // sqlite3.c:56311:7 _ = _sz var _rx int32 // sqlite3.c:56312:7 _ = _rx _sqlite3BeginBenignMalloc(tls) _rx = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), &_sz) if _rx != i32(0) || _sz <= _nMax { goto _1 } _rx = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _nMax) _1: _sqlite3EndBenignMalloc(tls) if _rx == 0 { goto _2 } Xsqlite3_log(tls, _rx, str(23188), unsafe.Pointer(_pWal.X21)) _2: return } func _walIndexClose(tls *crt.TLS, _pWal *XWal, _isDelete int32) { // sqlite3.c:55652:1 var _1_i int32 // sqlite3.c:55654:9 _ = _1_i if int32(_pWal.X11) != i32(2) { goto _0 } _1_i = i32(0) _1: if _1_i >= (_pWal.X5) { goto _4 } Xsqlite3_free(tls, (unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_1_i))))) *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(_1_i))) = (*uint32)(unsafe.Pointer(uintptr(i32(0)))) _1_i += 1 goto _1 _4: goto _5 _0: _sqlite3OsShmUnmap(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _isDelete) _5: return } func _sqlite3OsShmUnmap(tls *crt.TLS, _id *Xsqlite3_file, _deleteFlag int32) (r0 int32) { // sqlite3.c:20213:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X16)})))(tls, _id, _deleteFlag) return } func _pagerSyncHotJournal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:50835:1 var _rc int32 // sqlite3.c:50836:7 _ = _rc _rc = i32(0) if (_pPager.X4) != 0 { goto _0 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), i32(2)) _0: if _rc != i32(0) { goto _1 } _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(104 /* X35 */)))) _1: r0 = _rc return } func _sqlite3PcacheClose(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44759:1 func() int32 { if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(15048))) crt.X__builtin_abort(tls) return i32(0) }() }() ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X11)(tls, _pCache.X12) return } var _sqlite3PcacheCloseØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheCloseØ00__func__Ø000[0], str(23216), 19) } func _freeTempSpace(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:61510:1 if (_pBt.X27) == nil { goto _0 } { p := (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(128 /* X27 */))) *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(4)))) sink4543 = *p } _sqlite3PageFree(tls, (unsafe.Pointer)(_pBt.X27)) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(128 /* X27 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) _0: return } var _sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000 [32]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000[0], str(23236), 32) } func _functionDestroy(tls *crt.TLS, _db *Xsqlite3, _p *XFuncDef) { // sqlite3.c:140890:1 var _pDestructor *XFuncDestructor // sqlite3.c:140891:18 _ = _pDestructor _pDestructor = (*XFuncDestructor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X7 */))))))) if _pDestructor == nil { goto _0 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDestructor)) + uintptr(0 /* X0 */))) -= 1 if (_pDestructor.X0) != i32(0) { goto _1 } (_pDestructor.X1)(tls, _pDestructor.X2) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pDestructor)) _1: _0: return } func _sqlite3VtabEponymousTableClear(tls *crt.TLS, _db *Xsqlite3, _pMod *XModule) { // sqlite3.c:125696:1 var _pTab *XTable // sqlite3.c:125697:9 _ = _pTab _pTab = (*XTable)(unsafe.Pointer(_pMod.X4)) if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(2)) sink985 = *p } _sqlite3DeleteTable(tls, _db, _pTab) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(32 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _0: return } func _sqlite3ValueFree(tls *crt.TLS, _v *XMem) { // sqlite3.c:71297:1 if _v != nil { goto _0 } return _0: _sqlite3VdbeMemRelease(tls, _v) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_v.X9)), (unsafe.Pointer)(_v)) return } func _sqlite3CloseExtensions(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:112147:1 var _i int32 // sqlite3.c:112148:7 _ = _i func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= (_db.X39) { goto _5 } _sqlite3OsDlClose(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X40)) + 8*uintptr(_i)))) _i += 1 goto _2 _5: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_db.X40)) return } var _sqlite3CloseExtensionsØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CloseExtensionsØ00__func__Ø000[0], str(23268), 23) } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(143154)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*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(304 /* X53 */))))) = _xCollNeeded *(*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(312 /* X54 */))))) = nil *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(320 /* X55 */))) = _pCollNeededArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(0) return } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(143175)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*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(304 /* X53 */))))) = nil *(*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(312 /* X54 */))))) = _xCollNeeded16 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(320 /* X55 */))) = _pCollNeededArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(0) return } func Xsqlite3_column_blob(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 unsafe.Pointer) { // sqlite3.c:77010:12 var _val unsafe.Pointer // sqlite3.c:77011:14 _ = _val _val = Xsqlite3_value_blob(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_value_blob(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76174:12 var _p *XMem // sqlite3.c:76175:7 _ = _p _p = _pVal if (int32(_p.X1) & i32(18)) == 0 { goto _0 } if func() int32 { if (int32(_p.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _p) } return i32(0) }() == i32(0) { goto _3 } func() int32 { if (int32(_p.X1) == i32(1)) && ((_p.X5) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(23292))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (unsafe.Pointer)(uintptr(i32(0))) return _3: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } r0 = (unsafe.Pointer)(func() *int8 { if (_p.X4) != 0 { return (_p.X5) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }()) return _0: r0 = (unsafe.Pointer)(Xsqlite3_value_text(tls, _pVal)) return } var _sqlite3_value_blobØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_value_blobØ00__func__Ø000[0], str(23324), 19) } func _columnMem(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *XMem) { // sqlite3.c:76955:1 var _pVm *TVdbe // sqlite3.c:76956:8 _ = _pVm var _pOut *XMem // sqlite3.c:76957:7 _ = _pOut _pVm = (*TVdbe)(unsafe.Pointer(_pStmt)) if _pVm != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _columnNullValue(tls) return _0: func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pVm.X0)) != nil { return i32(0) } return func() int32 { 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(23344))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pVm.X0)).X3))) if (*XMem)(unsafe.Pointer(_pVm.X21)) == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) || _i >= int32(_pVm.X29) || _i < i32(0) { goto _5 } _pOut = (*XMem)(unsafe.Pointer(uintptr(_pVm.X21) + 72*uintptr(_i))) goto _6 _5: _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_pVm.X0)), i32(25)) _pOut = _columnNullValue(tls) _6: r0 = _pOut return } func _columnNullValue(tls *crt.TLS) (r0 *XMem) { // sqlite3.c:76915:1 r0 = &_columnNullValueØ00nullMemØ001 return } var _columnNullValueØ00nullMemØ001 XMem // sqlite3.c:76925:20 func init() { _columnNullValueØ00nullMemØ001 = XMem{X0: T5448393{}, 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} } var _columnMemØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_columnMemØ00__func__Ø000[0], str(23352), 10) } func _columnMallocFailure(tls *crt.TLS, _pStmt unsafe.Pointer) { // sqlite3.c:76990:1 var _p *TVdbe // sqlite3.c:76997:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) if _p == nil { goto _0 } func() int32 { if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(23364))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _p.X10) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _0: return } var _columnMallocFailureØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_columnMallocFailureØ00__func__Ø000[0], str(23376), 20) } func Xsqlite3_column_bytes(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77020:12 var _val int32 // sqlite3.c:77021:7 _ = _val _val = Xsqlite3_value_bytes(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_column_bytes16(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77025:12 var _val int32 // sqlite3.c:77026:7 _ = _val _val = Xsqlite3_value_bytes16(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_value_bytes16(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76190:12 r0 = _sqlite3ValueBytes(tls, _pVal, uint8(i32(2))) return } func Xsqlite3_column_count(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76897:12 var _pVm *TVdbe // sqlite3.c:76898:8 _ = _pVm _pVm = (*TVdbe)(unsafe.Pointer(_pStmt)) r0 = func() int32 { if _pVm != nil { return int32(_pVm.X29) } return i32(0) }() return } func Xsqlite3_column_decltype(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 *int8) { // sqlite3.c:77155:12 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)))) return } 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 var _ret unsafe.Pointer // sqlite3.c:77094:14 _ = _ret var _p *TVdbe // sqlite3.c:77095:8 _ = _p var _n int32 // sqlite3.c:77096:7 _ = _n var _db *Xsqlite3 // sqlite3.c:77097:11 _ = _db if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } _sqlite3MisuseError(tls, i32(77100)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: _ret = (unsafe.Pointer)(uintptr(i32(0))) _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = Xsqlite3_column_count(tls, _pStmt) if _N >= _n || _N < i32(0) { goto _4 } { p := &_N *p = (*p) + (_useType * _n) sink961 = *p } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) func() int32 { if int32(_db.X17) == i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _ret = _xFunc(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X20)+72*uintptr(_N)))) if (_db.X17) == 0 { goto _7 } _sqlite3OomClear(tls, _db) _ret = (unsafe.Pointer)(uintptr(i32(0))) _7: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _4: r0 = _ret return } var _columnNameØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_columnNameØ00__func__Ø000[0], str(23396), 11) } func Xsqlite3_column_decltype16(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 unsafe.Pointer) { // sqlite3.c:77160:12 r0 = _columnName(tls, _pStmt, _N, Xsqlite3_value_text16, i32(1)) return } func Xsqlite3_value_text16(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76210:12 r0 = _sqlite3ValueText(tls, _pVal, uint8(i32(2))) return } func Xsqlite3_column_double(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 float64) { // sqlite3.c:77030:12 var _val float64 // sqlite3.c:77031:10 _ = _val _val = Xsqlite3_value_double(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_column_int(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77035:12 var _val int32 // sqlite3.c:77036:7 _ = _val _val = Xsqlite3_value_int(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_value_int(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76196:12 r0 = int32(_sqlite3VdbeIntValue(tls, _pVal)) return } func _sqlite3VdbeIntValue(tls *crt.TLS, _pMem *XMem) (r0 int64) { // sqlite3.c:70077:1 var _flags int32 // sqlite3.c:70078:7 _ = _flags var _3_value int64 // sqlite3.c:70087:9 _ = _3_value func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() _flags = int32(_pMem.X1) if (_flags & i32(4)) == 0 { goto _5 } r0 = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) return _5: if (_flags & i32(8)) == 0 { goto _7 } r0 = _doubleToInt64(tls, *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) return _7: if (_flags & i32(18)) == 0 { goto _9 } _3_value = i64(0) func() int32 { if ((_pMem.X5) != nil) || ((_pMem.X4) == i32(0)) { return i32(0) } return func() int32 { 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(23408))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3Atoi64(tls, _pMem.X5, &_3_value, _pMem.X4, _pMem.X2) r0 = _3_value return _9: r0 = int64(i32(0)) return } var _sqlite3VdbeIntValueØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeIntValueØ00__func__Ø000[0], str(23432), 20) } func _doubleToInt64(tls *crt.TLS, _r float64) (r0 int64) { // sqlite3.c:70041:1 if _r > float64(_doubleToInt64Ø00minIntØ002) { goto _0 } r0 = _doubleToInt64Ø00minIntØ002 return _0: if _r < float64(_doubleToInt64Ø00maxIntØ001) { goto _2 } r0 = _doubleToInt64Ø00maxIntØ001 return _2: r0 = int64(_r) return } var _doubleToInt64Ø00minIntØ002 int64 // sqlite3.c:70054:20 func init() { _doubleToInt64Ø00minIntØ002 = i64(-9223372036854775808) } var _doubleToInt64Ø00maxIntØ001 int64 // sqlite3.c:70053:20 func init() { _doubleToInt64Ø00maxIntØ001 = i64(9223372036854775807) } func _sqlite3Atoi64(tls *crt.TLS, _zNum *int8, _pNum *int64, _length int32, _enc uint8) (r0 int32) { // sqlite3.c:28185:1 var _incr int32 // sqlite3.c:28186:7 _ = _incr var _u uint64 // sqlite3.c:28187:7 _ = _u var _neg int32 // sqlite3.c:28188:7 _ = _neg var _i int32 // sqlite3.c:28189:7 _ = _i var _c int32 // sqlite3.c:28190:7 _ = _c var _nonNum int32 // sqlite3.c:28191:7 _ = _nonNum var _zStart *int8 // sqlite3.c:28192:14 _ = _zStart var _zEnd *int8 // sqlite3.c:28193:14 _ = _zEnd _u = u64(0) _neg = i32(0) _c = i32(0) _nonNum = i32(0) _zEnd = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zNum)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_length))))))) func() int32 { if ((int32(_enc) == i32(1)) || (int32(_enc) == i32(2))) || (int32(_enc) == i32(3)) { return i32(0) } return func() int32 { 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(5460))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_enc) != i32(1) { goto _4 } _incr = i32(1) goto _5 _4: _incr = i32(2) i32(0) _i = i32(3) - int32(_enc) _6: if _i >= _length || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i)))) != i32(0) { goto _10 } { p := &_i *p = (*p) + i32(2) sink961 = *p } goto _6 _10: _nonNum = bool2int(_i < _length) _zEnd = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i^i32(1)))) { p := &_zNum *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(int32(_enc)&i32(1)))) sink1025 = *p } _5: _11: if uintptr(unsafe.Pointer(_zNum)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zNum)))))&i32(1)) == 0 { goto _12 } { p := &_zNum *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _11 _12: if uintptr(unsafe.Pointer(_zNum)) >= uintptr(unsafe.Pointer(_zEnd)) { goto _14 } if int32(*_zNum) != i32(45) { goto _15 } _neg = i32(1) { p := &_zNum *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _16 _15: if int32(*_zNum) != i32(43) { goto _17 } { p := &_zNum *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } _17: _16: _14: _zStart = _zNum _18: if uintptr(unsafe.Pointer(_zNum)) >= uintptr(unsafe.Pointer(_zEnd)) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) { goto _19 } { p := &_zNum *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) sink1025 = *p } goto _18 _19: _i = i32(0) _21: 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) { goto _26 } _u = ((_u * uint64(i32(10))) + uint64(_c)) - uint64(i32(48)) { p := &_i *p = (*p) + _incr sink961 = *p } goto _21 _26: if _u <= uint64(i64(9223372036854775807)) { goto _27 } *_pNum = func() int64 { if _neg != 0 { return i64(-9223372036854775808) } return i64(9223372036854775807) }() goto _30 _27: if _neg == 0 { goto _31 } *_pNum = -int64(_u) goto _32 _31: *_pNum = int64(_u) _32: _30: 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 { goto _37 } r0 = i32(1) return _37: if _i >= (i32(19) * _incr) { goto _39 } func() int32 { if _u <= uint64(i64(9223372036854775807)) { return i32(0) } return func() int32 { 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(23452))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return _39: _c = _compare2pow63(tls, _zNum, _incr) if _c >= i32(0) { goto _43 } func() int32 { if _u <= uint64(i64(9223372036854775807)) { return i32(0) } return func() int32 { 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(23452))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return _43: if _c <= i32(0) { goto _47 } r0 = i32(1) return _47: func() int32 { if (_u - uint64(i32(1))) == uint64(i64(9223372036854775807)) { return i32(0) } return func() int32 { 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(23472))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = func() int32 { if _neg != 0 { return i32(0) } return i32(2) }() return } var _sqlite3Atoi64Ø00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3Atoi64Ø00__func__Ø000[0], str(23492), 14) } func _compare2pow63(tls *crt.TLS, _zNum *int8, _incr int32) (r0 int32) { // sqlite3.c:28149:1 var _c int32 // sqlite3.c:28150:7 _ = _c var _i int32 // sqlite3.c:28151:7 _ = _i var _pow63 *int8 // sqlite3.c:28153:14 _ = _pow63 _c = i32(0) _pow63 = str(23508) _i = i32(0) _0: if _c != i32(0) || _i >= i32(18) { goto _4 } _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) _i += 1 goto _0 _4: if _c != i32(0) { goto _5 } _c = int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(18)*_incr)))) - i32(56) _5: r0 = _c return } func Xsqlite3_column_int64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int64) { // sqlite3.c:77040:12 var _val int64 // sqlite3.c:77041:16 _ = _val _val = Xsqlite3_value_int64(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_value_int64(tls *crt.TLS, _pVal *XMem) (r0 int64) { // sqlite3.c:76199:12 r0 = _sqlite3VdbeIntValue(tls, _pVal) return } func Xsqlite3_column_name(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 *int8) { // sqlite3.c:77130:12 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)))) return } func Xsqlite3_column_name16(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 unsafe.Pointer) { // sqlite3.c:77135:12 r0 = _columnName(tls, _pStmt, _N, Xsqlite3_value_text16, i32(0)) return } func Xsqlite3_column_text(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *uint8) { // sqlite3.c:77045:12 var _val *uint8 // sqlite3.c:77046:23 _ = _val _val = Xsqlite3_value_text(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_column_text16(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 unsafe.Pointer) { // sqlite3.c:77060:12 var _val unsafe.Pointer // sqlite3.c:77061:14 _ = _val _val = Xsqlite3_value_text16(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _val return } func Xsqlite3_column_type(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77066:12 var _iType int32 // sqlite3.c:77067:7 _ = _iType _iType = Xsqlite3_value_type(tls, _columnMem(tls, _pStmt, _i)) _columnMallocFailure(tls, _pStmt) r0 = _iType return } func Xsqlite3_column_value(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *XMem) { // sqlite3.c:77050:12 var _pOut *XMem // sqlite3.c:77051:7 _ = _pOut _pOut = _columnMem(tls, _pStmt, _i) if (int32(_pOut.X1) & i32(2048)) == 0 { goto _0 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-2049)) sink4530 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(4096)) sink4530 = *p } _0: _columnMallocFailure(tls, _pStmt) r0 = _pOut return } 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 var _pOld unsafe.Pointer // sqlite3.c:141816:8 _ = _pOld if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141820)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pOld = _db.X45 *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(248 /* X46 */))) = _xCallback *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(240 /* X45 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _pOld return } func Xsqlite3_complete(tls *crt.TLS, _zSql *int8) (r0 int32) { // sqlite3.c:139623:12 var _state uint8 // sqlite3.c:139624:6 _ = _state var _token uint8 // sqlite3.c:139625:6 _ = _token var _14_c int32 // sqlite3.c:139709:13 _ = _14_c var _17_nId int32 // sqlite3.c:139722:15 _ = _17_nId _state = u8(0) if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3MisuseError(tls, i32(139658)) r0 = i32(0) return _0: _1: if (*_zSql) == 0 { goto _2 } switch int32(*_zSql) { case i32(9): goto _7 case i32(10): goto _8 case i32(12): goto _9 case i32(13): goto _6 case i32(32): goto _5 case i32(34): goto _14 case i32(39): goto _15 case i32(45): goto _11 case i32(47): goto _10 case i32(59): goto _4 case i32(91): goto _12 case i32(96): goto _13 default: goto _16 } _4: _token = uint8(i32(0)) goto _17 _5: _6: _7: _8: _9: _token = uint8(i32(1)) goto _17 _10: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(1))))) == i32(42) { goto _18 } _token = uint8(i32(2)) goto _17 _18: { p := &_zSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink1025 = *p } _19: 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) { goto _20 } *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) goto _19 _20: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) != i32(0) { goto _23 } r0 = i32(0) return _23: *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) _token = uint8(i32(1)) goto _17 _11: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(1))))) == i32(45) { goto _24 } _token = uint8(i32(2)) goto _17 _24: _25: if (*_zSql) == 0 || int32(*_zSql) == i32(10) { goto _26 } *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) goto _25 _26: if int32(*_zSql) != i32(0) { goto _28 } r0 = bool2int(int32(_state) == i32(1)) return _28: _token = uint8(i32(1)) goto _17 _12: *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) _29: if (*_zSql) == 0 || int32(*_zSql) == i32(93) { goto _30 } *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) goto _29 _30: if int32(*_zSql) != i32(0) { goto _32 } r0 = i32(0) return _32: _token = uint8(i32(2)) goto _17 _13: _14: _15: _14_c = int32(*_zSql) *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) _33: if (*_zSql) == 0 || int32(*_zSql) == _14_c { goto _34 } *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) goto _33 _34: if int32(*_zSql) != i32(0) { goto _36 } r0 = i32(0) return _36: _token = uint8(i32(2)) goto _17 _16: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zSql))))) & i32(70)) == i32(0) { goto _37 } _17_nId = i32(1) _38: 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) { goto _41 } _17_nId += 1 goto _38 _41: switch int32(*_zSql) { case i32(67): goto _44 case i32(69): goto _48 case i32(84): goto _46 case i32(99): goto _43 case i32(101): goto _47 case i32(116): goto _45 default: goto _49 } _43: _44: if _17_nId != i32(6) || Xsqlite3_strnicmp(tls, _zSql, str(23528), i32(6)) != i32(0) { goto _51 } _token = uint8(i32(4)) goto _52 _51: _token = uint8(i32(2)) _52: goto _53 _45: _46: if _17_nId != i32(7) || Xsqlite3_strnicmp(tls, _zSql, str(23536), i32(7)) != i32(0) { goto _55 } _token = uint8(i32(6)) goto _56 _55: if _17_nId != i32(4) || Xsqlite3_strnicmp(tls, _zSql, str(23544), i32(4)) != i32(0) { goto _58 } _token = uint8(i32(5)) goto _59 _58: if _17_nId != i32(9) || Xsqlite3_strnicmp(tls, _zSql, str(23552), i32(9)) != i32(0) { goto _61 } _token = uint8(i32(5)) goto _62 _61: _token = uint8(i32(2)) _62: _59: _56: goto _53 _47: _48: if _17_nId != i32(3) || Xsqlite3_strnicmp(tls, _zSql, str(23564), i32(3)) != i32(0) { goto _64 } _token = uint8(i32(7)) goto _65 _64: if _17_nId != i32(7) || Xsqlite3_strnicmp(tls, _zSql, str(23568), i32(7)) != i32(0) { goto _67 } _token = uint8(i32(3)) goto _68 _67: _token = uint8(i32(2)) _68: _65: goto _53 _49: _token = uint8(i32(2)) goto _53 _53: { p := &_zSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_17_nId-i32(1)))) sink1025 = *p } goto _69 _37: _token = uint8(i32(2)) _69: goto _17 _17: _state = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_completeØ00transØ001))+8*uintptr(_state))))) + 1*uintptr(_token))) *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) goto _1 _2: r0 = bool2int(int32(_state) == i32(1)) return } var _sqlite3_completeØ00transØ001 [8][8]uint8 // sqlite3.c:139631:19 func init() { _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)}} } func Xsqlite3_complete16(tls *crt.TLS, _zSql unsafe.Pointer) (r0 int32) { // sqlite3.c:139788:12 var _pVal *XMem // sqlite3.c:139789:17 _ = _pVal var _zSql8 *int8 // sqlite3.c:139790:14 _ = _zSql8 var _rc int32 // sqlite3.c:139791:7 _ = _rc _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _0 } r0 = _rc return _0: _pVal = _sqlite3ValueNew(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3ValueSetStr(tls, _pVal, i32(-1), _zSql, uint8(i32(2)), nil) _zSql8 = (*int8)(unsafe.Pointer(_sqlite3ValueText(tls, _pVal, uint8(i32(1))))) if _zSql8 == nil { goto _1 } _rc = Xsqlite3_complete(tls, _zSql8) goto _2 _1: _rc = _sqlite3NomemError(tls, i32(139803)) _2: _sqlite3ValueFree(tls, _pVal) r0 = _rc & i32(255) return } 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 r0 = Xsqlite3_create_collation_v2(tls, _db, _zName, _enc, _pCtx, _xCompare, nil) return } 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 var _rc int32 // sqlite3.c:143101:7 _ = _rc if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(143104)) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _createCollation(tls, _db, _zName, uint8(_enc), _pCtx, _xCompare, _xDel) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_create_collation_v2Ø00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_create_collation_v2Ø00__func__Ø000[0], str(23596), 28) } 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 var _pColl *XCollSeq // sqlite3.c:142253:11 _ = _pColl var _enc2 int32 // sqlite3.c:142254:7 _ = _enc2 var _5_aColl *XCollSeq // sqlite3.c:142292:15 _ = _5_aColl var _5_j int32 // sqlite3.c:142293:11 _ = _5_j var _6_p *XCollSeq // sqlite3.c:142295:17 _ = _6_p func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _enc2 = int32(_enc) if _enc2 != i32(4) && _enc2 != i32(8) { goto _3 } _enc2 = i32(2) _3: if _enc2 >= i32(1) && _enc2 <= i32(3) { goto _5 } r0 = _sqlite3MisuseError(tls, i32(142269)) return _5: _pColl = _sqlite3FindCollSeq(tls, _db, uint8(_enc2), _zName, i32(0)) if _pColl == nil || (_pColl.X3) == nil { goto _7 } if (_db.X34) == 0 { goto _8 } _sqlite3ErrorWithMsg(tls, _db, i32(5), str(23624)) r0 = i32(5) return _8: _sqlite3ExpirePreparedStatements(tls, _db) if (int32(_pColl.X1) & i32(-9)) != _enc2 { goto _9 } _5_aColl = (*XCollSeq)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(512 /* X70 */))), _zName))) _5_j = i32(0) _10: if _5_j >= i32(3) { goto _13 } _6_p = (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_aColl)) + 40*uintptr(_5_j))) if int32(_6_p.X1) != int32(_pColl.X1) { goto _14 } if (_6_p.X4) == nil { goto _15 } (_6_p.X4)(tls, _6_p.X2) _15: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_p)) + uintptr(24 /* X3 */))) = nil _14: _5_j += 1 goto _10 _13: _9: _7: _pColl = _sqlite3FindCollSeq(tls, _db, uint8(_enc2), _zName, i32(1)) if _pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } r0 = _sqlite3NomemError(tls, i32(142307)) return _16: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(24 /* X3 */))) = _xCompare *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(16 /* X2 */))) = _pCtx *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(32 /* X4 */))) = _xDel *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(8 /* X1 */))) = uint8(_enc2 | (int32(_enc) & i32(8))) _sqlite3Error(tls, _db, i32(0)) r0 = i32(0) return } var _createCollationØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_createCollationØ00__func__Ø000[0], str(23692), 16) } func _sqlite3FindCollSeq(tls *crt.TLS, _db *Xsqlite3, _enc uint8, _zName *int8, _create int32) (r0 *XCollSeq) { // sqlite3.c:104104:1 var _pColl *XCollSeq // sqlite3.c:104110:11 _ = _pColl if _zName == nil { goto _0 } _pColl = _findCollSeqEntry(tls, _db, _zName, _create) goto _1 _0: _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _1: i32(0) func() int32 { if (int32(_enc) >= i32(1)) && (int32(_enc) <= i32(3)) { return i32(0) } return func() int32 { 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(23708))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pColl == nil { goto _5 } { p := &_pColl *p = (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 40*uintptr(int32(_enc)-i32(1)))) sink5819818 = *p } _5: r0 = _pColl return } func _findCollSeqEntry(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _create int32) (r0 *XCollSeq) { // sqlite3.c:104051:1 var _pColl *XCollSeq // sqlite3.c:104056:11 _ = _pColl var _1_nName int32 // sqlite3.c:104060:9 _ = _1_nName var _2_pDel *XCollSeq // sqlite3.c:104063:15 _ = _2_pDel _pColl = (*XCollSeq)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(512 /* X70 */))), _zName))) if (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) != _pColl || _create == 0 { goto _1 } _1_nName = _sqlite3Strlen30(tls, _zName) _pColl = (*XCollSeq)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, (u64(120)+uint64(_1_nName))+uint64(i32(1))))) if _pColl == nil { goto _2 } _2_pDel = nil *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + 40*uintptr(i32(3)))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(0)))))) + uintptr(8 /* X1 */))) = uint8(i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(1)))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + 40*uintptr(i32(3)))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(1)))))) + uintptr(8 /* X1 */))) = uint8(i32(2)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(2)))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + 40*uintptr(i32(3)))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(2)))))) + uintptr(8 /* X1 */))) = uint8(i32(3)) crt.Xmemcpy(tls, (unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(0)))).X0), (unsafe.Pointer)(_zName), uint64(_1_nName)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(0)))).X0)) + 1*uintptr(_1_nName))) = int8(i32(0)) _2_pDel = (*XCollSeq)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(512 /* X70 */))), (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+40*uintptr(i32(0)))).X0, (unsafe.Pointer)(_pColl)))) func() int32 { if (_2_pDel == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0))))) || (_2_pDel == _pColl) { return i32(0) } return func() int32 { 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(23748))) crt.X__builtin_abort(tls) return i32(0) }() }() if _2_pDel == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _sqlite3OomFault(tls, _db) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_pDel)) _pColl = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) _6: _2: _1: r0 = _pColl return } func _sqlite3HashFind(tls *crt.TLS, _pH *XHash, _pKey *int8) (r0 unsafe.Pointer) { // sqlite3.c:29398:1 var _elem *XHashElem // sqlite3.c:29399:12 _ = _elem var _h uint32 // sqlite3.c:29400:16 _ = _h func() int32 { if _pH != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pKey != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21152))) crt.X__builtin_abort(tls) return i32(0) }() }() _elem = _findElementWithHash(tls, _pH, _pKey, &_h) r0 = func() unsafe.Pointer { if _elem != nil { return unsafe.Pointer(_elem.X2) } return (unsafe.Pointer)(uintptr(i32(0))) }() return } var _sqlite3HashFindØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3HashFindØ00__func__Ø000[0], str(23772), 16) } var _findCollSeqEntryØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_findCollSeqEntryØ00__func__Ø000[0], str(23788), 17) } var _sqlite3FindCollSeqØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FindCollSeqØ00__func__Ø000[0], str(23808), 19) } 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 var _rc int32 // sqlite3.c:143125:7 _ = _rc var _zName8 *int8 // sqlite3.c:143126:8 _ = _zName8 _rc = i32(0) if _sqlite3SafetyCheckOk(tls, _db) != 0 && unsafe.Pointer(_zName) != (unsafe.Pointer)(uintptr(i32(0))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(143129)) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() _zName8 = _sqlite3Utf16to8(tls, _db, _zName, i32(-1), uint8(i32(2))) if _zName8 == nil { goto _4 } _rc = _createCollation(tls, _db, _zName8, uint8(_enc), _pCtx, _xCompare, nil) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName8)) _4: _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_create_collation16Ø00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_create_collation16Ø00__func__Ø000[0], str(23828), 27) } func _sqlite3Utf16to8(tls *crt.TLS, _db *Xsqlite3, _z unsafe.Pointer, _nByte int32, _enc uint8) (r0 *int8) { // sqlite3.c:27518:1 var _m XMem // sqlite3.c:27519:7 _ = _m crt.Xmemset(tls, (unsafe.Pointer)(&_m), i32(0), u64(72)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_m)) + uintptr(40 /* X9 */))))) = _db _sqlite3VdbeMemSetStr(tls, &_m, (*int8)(unsafe.Pointer(_z)), _nByte, _enc, nil) _sqlite3VdbeChangeEncoding(tls, &_m, i32(1)) if (_db.X17) == 0 { goto _0 } _sqlite3VdbeMemRelease(tls, &_m) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_m)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _0: func() int32 { if ((int32(_m.X1) & i32(512)) != i32(0)) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(23856))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_m.X1) & i32(2)) != i32(0)) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(23900))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_m.X5) != nil) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(23944))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _m.X5 return } var _sqlite3Utf16to8Ø00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3Utf16to8Ø00__func__Ø000[0], str(23968), 16) } 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 r0 = Xsqlite3_create_function_v2(tls, _db, _zFunc, _nArg, _enc, _p, _xSFunc, _xStep, _xFinal, nil) return } 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 var _rc int32 // sqlite3.c:141628:7 _ = _rc var _pArg *XFuncDestructor // sqlite3.c:141629:18 _ = _pArg _rc = i32(1) _pArg = nil if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(141633)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if _xDestroy == nil { goto _1 } _pArg = (*XFuncDestructor)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(24)))) if _pArg != nil { goto _2 } _xDestroy(tls, _p) goto _out _2: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(8 /* X1 */))) = _xDestroy *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(16 /* X2 */))) = _p _1: _rc = _sqlite3CreateFunc(tls, _db, _zFunc, _nArg, _enc, _p, _xSFunc, _xStep, _xFinal, _pArg) if _pArg == nil || (_pArg.X0) != i32(0) { goto _4 } func() int32 { if _rc != i32(0) { return i32(0) } return func() int32 { 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(17888))) crt.X__builtin_abort(tls) return i32(0) }() }() _xDestroy(tls, _p) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pArg)) _4: _out: _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } 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 var _p *XFuncDef // sqlite3.c:141515:11 _ = _p var _nName int32 // sqlite3.c:141516:7 _ = _nName var _extraFlags int32 // sqlite3.c:141517:7 _ = _extraFlags var _3_rc int32 // sqlite3.c:141544:9 _ = _3_rc func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)) { goto _14 } r0 = _sqlite3MisuseError(tls, i32(141526)) return _14: i32(0) _extraFlags = _enc & i32(2048) { p := &_enc *p = (*p) & i32(7) sink961 = *p } if _enc != i32(4) { goto _15 } _enc = i32(2) goto _16 _15: if _enc != i32(5) { goto _17 } _3_rc = _sqlite3CreateFunc(tls, _db, _zFunctionName, _nArg, i32(1)|_extraFlags, _pUserData, _xSFunc, _xStep, _xFinal, _pDestructor) if _3_rc != i32(0) { goto _18 } _3_rc = _sqlite3CreateFunc(tls, _db, _zFunctionName, _nArg, i32(2)|_extraFlags, _pUserData, _xSFunc, _xStep, _xFinal, _pDestructor) _18: if _3_rc == i32(0) { goto _19 } r0 = _3_rc return _19: _enc = i32(3) _17: _16: _p = _sqlite3FindFunction(tls, _db, _zFunctionName, _nArg, uint8(_enc), uint8(i32(0))) if _p == nil || (int32(_p.X1)&i32(3)) != _enc || int32(_p.X0) != _nArg { goto _22 } if (_db.X34) == 0 { goto _23 } _sqlite3ErrorWithMsg(tls, _db, i32(5), str(23984)) func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(5) return _23: _sqlite3ExpirePreparedStatements(tls, _db) _22: _p = _sqlite3FindFunction(tls, _db, _zFunctionName, _nArg, uint8(_enc), uint8(i32(1))) func() int32 { if (_p != nil) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(24048))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != nil { goto _30 } r0 = _sqlite3NomemError(tls, i32(141580)) return _30: _functionDestroy(tls, _db, _p) if _pDestructor == nil { goto _31 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDestructor)) + uintptr(0 /* X0 */))) += 1 _31: *(**XFuncDestructor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X7 */))))))) = _pDestructor *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(2 /* X1 */))) = uint16((int32(_p.X1) & i32(3)) | _extraFlags) *(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))))) = func() func(*crt.TLS, *Xsqlite3_context, int32, **XMem) { if _xSFunc != nil { return _xSFunc } return _xStep }() *(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))))) = _xFinal *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _pUserData *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int8(uint16(_nArg)) r0 = i32(0) return } var _sqlite3CreateFuncØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CreateFuncØ00__func__Ø000[0], str(24072), 18) } func _sqlite3FindFunction(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _nArg int32, _enc uint8, _createFlag uint8) (r0 *XFuncDef) { // sqlite3.c:104246:1 var _p *XFuncDef // sqlite3.c:104253:11 _ = _p var _pBest *XFuncDef // sqlite3.c:104254:11 _ = _pBest var _bestScore int32 // sqlite3.c:104255:7 _ = _bestScore var _h int32 // sqlite3.c:104256:7 _ = _h var _nName int32 // sqlite3.c:104257:7 _ = _nName var _1_score int32 // sqlite3.c:104267:9 _ = _1_score var _4_score int32 // sqlite3.c:104292:11 _ = _4_score var _6_pOther *XFuncDef // sqlite3.c:104307:13 _ = _6_pOther _pBest = nil _bestScore = i32(0) func() int32 { if _nArg >= i32(-2) { return i32(0) } return func() int32 { 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(24092))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_nArg >= i32(-1)) || (int32(_createFlag) == i32(0)) { return i32(0) } return func() int32 { 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(24104))) crt.X__builtin_abort(tls) return i32(0) }() }() _nName = _sqlite3Strlen30(tls, _zName) _p = (*XFuncDef)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(488 /* X69 */))), _zName))) _5: if _p == nil { goto _6 } _1_score = _matchQuality(tls, _p, _nArg, _enc) if _1_score <= _bestScore { goto _7 } _pBest = _p _bestScore = _1_score _7: _p = (*XFuncDef)(unsafe.Pointer(_p.X3)) goto _5 _6: if _createFlag != 0 || _pBest != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) && ((_db.X6)&i32(2097152)) == i32(0) { goto _10 } _bestScore = i32(0) _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) _p = _functionSearch(tls, _h, _zName) _11: if _p == nil { goto _12 } _4_score = _matchQuality(tls, _p, _nArg, _enc) if _4_score <= _bestScore { goto _13 } _pBest = _p _bestScore = _4_score _13: _p = (*XFuncDef)(unsafe.Pointer(_p.X3)) goto _11 _12: _10: if _createFlag == 0 || _bestScore >= i32(6) || store5459163(&_pBest, (*XFuncDef)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, (u64(56)+uint64(_nName))+uint64(i32(1)))))) == (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(40 /* X6 */))) = (*int8)(unsafe.Pointer((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + 56*uintptr(i32(1)))))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(0 /* X0 */))) = int8(uint16(_nArg)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(2 /* X1 */))) = uint16(_enc) crt.Xmemcpy(tls, (unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest))+56*uintptr(i32(1))))), (unsafe.Pointer)(_zName), uint64(_nName+i32(1))) _6_pOther = (*XFuncDef)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(488 /* X69 */))), _pBest.X6, (unsafe.Pointer)(_pBest)))) if _6_pOther != _pBest { goto _17 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pBest)) _sqlite3OomFault(tls, _db) r0 = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) return _17: *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(16 /* X3 */))))) = _6_pOther _16: if _pBest == nil || (*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) }{(_pBest.X4)}))) == nil && _createFlag == 0 { goto _21 } r0 = _pBest return _21: r0 = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3FindFunctionØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FindFunctionØ00__func__Ø000[0], str(24132), 20) } func _matchQuality(tls *crt.TLS, _p *XFuncDef, _nArg int32, _enc uint8) (r0 int32) { // sqlite3.c:104151:1 var _match int32 // sqlite3.c:104156:7 _ = _match if _nArg != i32(-2) { goto _0 } r0 = func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{(*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) }{(_p.X4)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{nil})) { return i32(0) } return i32(6) }() return _0: if int32(_p.X0) == _nArg || int32(_p.X0) < i32(0) { goto _4 } r0 = i32(0) return _4: if int32(_p.X0) != _nArg { goto _5 } _match = i32(4) goto _6 _5: _match = i32(1) _6: if int32(_enc) != (int32(_p.X1) & i32(3)) { goto _7 } { p := &_match *p = (*p) + i32(2) sink961 = *p } goto _8 _7: if ((int32(_enc) & int32(_p.X1)) & i32(2)) == i32(0) { goto _9 } { p := &_match *p = (*p) + i32(1) sink961 = *p } _9: _8: r0 = _match return } var _sqlite3_create_function_v2Ø00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_create_function_v2Ø00__func__Ø000[0], str(24152), 27) } 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 var _rc int32 // sqlite3.c:141670:7 _ = _rc var _zFunc8 *int8 // sqlite3.c:141671:8 _ = _zFunc8 if _sqlite3SafetyCheckOk(tls, _db) != 0 && unsafe.Pointer(_zFunctionName) != (unsafe.Pointer)(uintptr(i32(0))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(141674)) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() _zFunc8 = _sqlite3Utf16to8(tls, _db, _zFunctionName, i32(-1), uint8(i32(2))) _rc = _sqlite3CreateFunc(tls, _db, _zFunc8, _nArg, _eTextRep, _p, _xSFunc, _xStep, _xFinal, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zFunc8)) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_create_function16Ø00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_create_function16Ø00__func__Ø000[0], str(24180), 26) } func Xsqlite3_create_module(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _pModule *Xsqlite3_module, _pAux unsafe.Pointer) (r0 int32) { // sqlite3.c:124621:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(124628)) return _1: r0 = _createModule(tls, _db, _zName, _pModule, _pAux, nil) return } 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 var _rc int32 // sqlite3.c:124603:7 _ = _rc _rc = i32(0) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if _sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */))), _zName) == nil { goto _0 } _rc = _sqlite3MisuseError(tls, i32(124607)) goto _1 _0: _sqlite3VtabCreateModule(tls, _db, _zName, _pModule, _pAux, _xDestroy) _1: _rc = _sqlite3ApiExit(tls, _db, _rc) if _rc == i32(0) || _xDestroy == nil { goto _3 } _xDestroy(tls, _pAux) _3: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } 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 var _pMod *XModule // sqlite3.c:124568:10 _ = _pMod var _nName int32 // sqlite3.c:124569:7 _ = _nName var _1_pDel *XModule // sqlite3.c:124572:12 _ = _1_pDel var _1_zCopy *int8 // sqlite3.c:124573:10 _ = _1_zCopy _nName = _sqlite3Strlen30(tls, _zName) _pMod = (*XModule)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, (u64(40)+uint64(_nName))+uint64(i32(1))))) if _pMod == nil { goto _0 } _1_zCopy = (*int8)(unsafe.Pointer((*XModule)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + 40*uintptr(i32(1)))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_1_zCopy), (unsafe.Pointer)(_zName), uint64(_nName+i32(1))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(8 /* X1 */))) = _1_zCopy *(**Xsqlite3_module)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(0 /* X0 */))))) = _pModule *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(16 /* X2 */))) = _pAux *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(24 /* X3 */))) = _xDestroy *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(32 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _1_pDel = (*XModule)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */))), _1_zCopy, (unsafe.Pointer)(_pMod)))) func() int32 { if (_1_pDel == (*XModule)(unsafe.Pointer(uintptr(i32(0))))) || (_1_pDel == _pMod) { return i32(0) } return func() int32 { 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(24208))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_pDel == nil { goto _4 } _sqlite3OomFault(tls, _db) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pDel)) _pMod = (*XModule)(unsafe.Pointer(uintptr(i32(0)))) _4: _0: r0 = _pMod return } var _sqlite3VtabCreateModuleØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabCreateModuleØ00__func__Ø000[0], str(24232), 24) } func Xsqlite3_data_count(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76906:12 var _pVm *TVdbe // sqlite3.c:76907:8 _ = _pVm _pVm = (*TVdbe)(unsafe.Pointer(_pStmt)) if _pVm != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) && (*XMem)(unsafe.Pointer(_pVm.X21)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = i32(0) return _1: r0 = int32(_pVm.X29) return } func Xsqlite3_db_handle(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 *Xsqlite3) { // sqlite3.c:77548:12 r0 = func() *Xsqlite3 { if _pStmt != nil { return (*Xsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(_pStmt)).X0)) } return (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) }() return } func Xsqlite3_declare_vtab(tls *crt.TLS, _db *Xsqlite3, _zCreateTable *int8) (r0 int32) { // sqlite3.c:125259:12 var _pCtx *XVtabCtx // sqlite3.c:125260:11 _ = _pCtx var _pParse *XParse // sqlite3.c:125261:9 _ = _pParse var _rc int32 // sqlite3.c:125262:7 _ = _rc var _pTab *XTable // sqlite3.c:125263:9 _ = _pTab var _zErr *int8 // sqlite3.c:125264:8 _ = _zErr var _6_pNew *XTable // sqlite3.c:125296:15 _ = _6_pNew var _6_pIdx *XIndex // sqlite3.c:125297:15 _ = _6_pIdx _rc = i32(0) _zErr = nil if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zCreateTable != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(125268)) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pCtx = (*XVtabCtx)(unsafe.Pointer(_db.X66)) if _pCtx != nil && (_pCtx.X3) == 0 { goto _3 } _sqlite3Error(tls, _db, i32(21)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _sqlite3MisuseError(tls, i32(125276)) return _3: _pTab = (*XTable)(unsafe.Pointer(_pCtx.X1)) func() int32 { if (_pTab.X16) != 0 { return i32(0) } return func() int32 { 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(24256))) crt.X__builtin_abort(tls) return i32(0) }() }() _pParse = (*XParse)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(600)))) if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _rc = _sqlite3NomemError(tls, i32(125283)) goto _7 _6: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X55 */))) = uint8(i32(1)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(0 /* X0 */))))) = _db *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(188 /* X42 */))) = uint32(i32(1)) 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 { goto _12 } if (*XColumn)(unsafe.Pointer(_pTab.X1)) != nil { goto _13 } _6_pNew = (*XTable)(unsafe.Pointer(_pParse.X63)) *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_6_pNew.X1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(70 /* X11 */))) = _6_pNew.X11 { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | ((_6_pNew.X9) & uint32(i32(96))) sink985 = *p } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(70 /* X11 */))) = int16(i32(0)) *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if (*XIndex)(unsafe.Pointer(_pTab.X2)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24272))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_6_pNew.X9)&uint32(i32(32))) == uint32(i32(0)) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 }{((*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer((*XVTable)(unsafe.Pointer(_pCtx.X0)).X1)).X0)).X13)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 }{nil})) { goto _17 } _rc = i32(1) _17: _6_pIdx = (*XIndex)(unsafe.Pointer(_6_pNew.X2)) if _6_pIdx == nil { goto _18 } func() int32 { if (*XIndex)(unsafe.Pointer(_6_pIdx.X5)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24288))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(16 /* X2 */))))) = _6_pIdx *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(16 /* X2 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx)) + uintptr(24 /* X3 */))))) = _pTab _18: _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(24 /* X3 */))) = i32(1) goto _21 _12: _sqlite3ErrorWithMsg(tls, _db, i32(1), func() *int8 { if _zErr != nil { return str(24304) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), unsafe.Pointer(_zErr)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _rc = i32(1) _21: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X55 */))) = uint8(i32(0)) if (*TVdbe)(unsafe.Pointer(_pParse.X2)) == nil { goto _24 } _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2))) _24: _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_pParse.X63))) _sqlite3ParserReset(tls, _pParse) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse)) _7: func() int32 { if (_rc & i32(255)) == _rc { return i32(0) } return func() int32 { 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(24308))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_declare_vtabØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_declare_vtabØ00__func__Ø000[0], str(24324), 21) } func _sqlite3RunParser(tls *crt.TLS, _pParse *XParse, _zSql *int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:139376:1 var _nErr int32 // sqlite3.c:139377:7 _ = _nErr var _pEngine unsafe.Pointer // sqlite3.c:139378:8 _ = _pEngine var _n int32 // sqlite3.c:139379:7 _ = _n var _tokenType int32 // sqlite3.c:139380:7 _ = _tokenType var _lastTokenParsed int32 // sqlite3.c:139381:7 _ = _lastTokenParsed var _db *Xsqlite3 // sqlite3.c:139382:11 _ = _db var _mxSqlLen int32 // sqlite3.c:139383:7 _ = _mxSqlLen var _zSpace [3216]uint8 // sqlite3.c:139385:17 _ = _zSpace var _19_p *TAggInfo_func // sqlite3.c:139505:17 _ = _19_p var _20_p *XTable // sqlite3.c:139510:11 _ = _20_p _nErr = i32(0) _n = i32(0) _lastTokenParsed = i32(-1) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24348))) crt.X__builtin_abort(tls) return i32(0) }() }() _mxSqlLen = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(1)))) if (_db.X34) != i32(0) { goto _2 } *(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */))))) = i32(0) _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(512 /* X62 */))) = _zSql func() int32 { if _pzErrMsg != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24356))) crt.X__builtin_abort(tls) return i32(0) }() }() _pEngine = (unsafe.Pointer)(&_zSpace) _sqlite3ParserInit(tls, _pEngine) func() int32 { if (*XTable)(unsafe.Pointer(_pParse.X63)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24392))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pParse.X52) == i32(0) { return i32(0) } return func() int32 { 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(24416))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pParse.X60) == (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24432))) crt.X__builtin_abort(tls) return i32(0) }() }() _13: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == i32(0) { goto _15 } _n = _sqlite3GetToken(tls, (*uint8)(unsafe.Pointer(_zSql)), &_tokenType) { p := &_mxSqlLen *p = (*p) - _n sink961 = *p } if _mxSqlLen >= i32(0) { goto _16 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(18) goto _14 _16: goto _17 _15: if _lastTokenParsed != i32(1) { goto _18 } _tokenType = i32(0) goto _19 _18: if _lastTokenParsed != i32(0) { goto _20 } goto _14 _20: _tokenType = i32(1) _19: { p := &_zSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(_n))) sink1025 = *p } _17: if _tokenType < i32(162) { goto _22 } func() int32 { if (_tokenType == i32(162)) || (_tokenType == i32(163)) { return i32(0) } return func() int32 { 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(24452))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */)))))) == 0 { goto _26 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(9) goto _14 _26: if _tokenType != i32(163) { goto _27 } _sqlite3ErrorMsg(tls, _pParse, str(24500), _n, unsafe.Pointer(_zSql)) goto _14 _27: { p := &_zSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink1025 = *p } goto _28 _22: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X51 */))))) + uintptr(0 /* X0 */))) = _zSql *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X51 */))))) + uintptr(8 /* X1 */))) = uint32(_n) _sqlite3Parser(tls, _pEngine, _tokenType, _pParse.X51, _pParse) _lastTokenParsed = _tokenType { p := &_zSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink1025 = *p } if (_pParse.X3) == i32(0) && (_db.X17) == 0 { goto _30 } goto _14 _30: _28: goto _13 _14: func() int32 { if _nErr == i32(0) { return i32(0) } return func() int32 { 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(24528))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(512 /* X62 */))) = _zSql _sqlite3ParserFinalize(tls, _pEngine) if (_db.X17) == 0 { goto _33 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = _sqlite3NomemError(tls, i32(139466)) _33: if (_pParse.X3) == i32(0) || (_pParse.X3) == i32(101) || (_pParse.X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _36 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(8 /* X1 */))) = _sqlite3MPrintf(tls, _db, str(24304), unsafe.Pointer(_sqlite3ErrStr(tls, _pParse.X3))) _36: func() int32 { if _pzErrMsg != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24356))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pParse.X1) == nil { goto _39 } *_pzErrMsg = _pParse.X1 Xsqlite3_log(tls, _pParse.X3, str(24304), unsafe.Pointer(*_pzErrMsg)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _nErr += 1 _39: if (*TVdbe)(unsafe.Pointer(_pParse.X2)) == nil || (_pParse.X16) <= i32(0) || int32(_pParse.X6) != i32(0) { goto _42 } _sqlite3VdbeDelete(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2))) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(16 /* X2 */))))) = (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) _42: if int32(_pParse.X6) != i32(0) { goto _43 } _sqlite3DbFree(tls, _db, _pParse.X37) *(**XTableLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(152 /* X37 */))))) = (*XTableLock)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(148 /* X36 */))) = i32(0) _43: Xsqlite3_free(tls, (unsafe.Pointer)(_pParse.X67)) if (_pParse.X55) != 0 { goto _44 } _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_pParse.X63))) _44: if (*XWith)(unsafe.Pointer(_pParse.X71)) == nil { goto _45 } _sqlite3WithDelete(tls, _db, (*XWith)(unsafe.Pointer(_pParse.X71))) _45: _sqlite3DeleteTrigger(tls, _db, (*XTrigger)(unsafe.Pointer(_pParse.X64))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse.X60)) _46: if (*TAggInfo_func)(unsafe.Pointer(_pParse.X38)) == nil { goto _47 } _19_p = (*TAggInfo_func)(unsafe.Pointer(_pParse.X38)) *(**TAggInfo_func)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X38 */))))) = (*TAggInfo_func)(unsafe.Pointer(_19_p.X0)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_19_p)) goto _46 _47: _48: if (*XTable)(unsafe.Pointer(_pParse.X68)) == nil { goto _49 } _20_p = (*XTable)(unsafe.Pointer(_pParse.X68)) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(568 /* X68 */))))) = (*XTable)(unsafe.Pointer(_20_p.X21)) _sqlite3DeleteTable(tls, _db, _20_p) goto _48 _49: func() int32 { if (_nErr == i32(0)) || ((_pParse.X3) != i32(0)) { return i32(0) } return func() int32 { 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(24536))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _nErr return } var _sqlite3RunParserØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RunParserØ00__func__Ø000[0], str(24572), 17) } func _sqlite3ParserInit(tls *crt.TLS, _yypParser unsafe.Pointer) { // sqlite3.c:136334:1 var _pParser *XyyParser // sqlite3.c:136335:12 _ = _pParser _pParser = (*XyyParser)(unsafe.Pointer(_yypParser)) *(**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(16 /* X2 */))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(16 /* X2 */)))))+32*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(16 /* X2 */)))))+32*uintptr(i32(0)))))) + uintptr(2 /* X1 */))) = uint8(i32(0)) return } func _sqlite3ErrorMsg(tls *crt.TLS, _pParse *XParse, _zFormat *int8, args ...interface{}) { // sqlite3.c:27825:1 var _zMsg *int8 // sqlite3.c:27826:8 _ = _zMsg var _ap []interface{} // sqlite3.c:27827:11 _ = _ap var _db *Xsqlite3 // sqlite3.c:27828:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _ap = args _zMsg = _sqlite3VMPrintf(tls, _db, _zFormat, _ap) _ap = nil if (_db.X21) == 0 { goto _0 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zMsg)) goto _1 _0: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(48 /* X16 */))) += 1 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse.X1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(8 /* X1 */))) = _zMsg *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(1) _1: return } func _sqlite3Parser(tls *crt.TLS, _yyp unsafe.Pointer, _yymajor int32, _yyminor XToken, _pParse *XParse) { // sqlite3.c:138453:1 var _yyminorunion XYYMINORTYPE // sqlite3.c:138459:15 _ = _yyminorunion var _yyact uint32 // sqlite3.c:138460:16 _ = _yyact var _yypParser *XyyParser // sqlite3.c:138467:12 _ = _yypParser var _7_i *XyyStackEntry // sqlite3.c:138597:18 _ = _7_i var _7_cDiv int8 // sqlite3.c:138598:10 _ = _7_cDiv _yypParser = (*XyyParser)(unsafe.Pointer(_yyp)) func() int32 { if (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) != (*XyyStackEntry)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24592))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(8 /* X1 */))))) = _pParse if _yyTraceFILE == nil { goto _2 } crt.Xfprintf(tls, _yyTraceFILE, str(24612), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(_yymajor))))) _2: _3: _yyact = _yy_find_shift_action(tls, _yypParser, uint8(_yymajor)) if _yyact > uint32(i32(999)) { goto _4 } _yy_shift(tls, _yypParser, int32(_yyact), _yymajor, _yyminor) _yymajor = i32(252) goto _5 _4: if _yyact > uint32(i32(1331)) { goto _6 } _yy_reduce(tls, _yypParser, _yyact-uint32(i32(1000))) goto _7 _6: func() int32 { if _yyact == uint32(i32(1332)) { return i32(0) } return func() int32 { 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(24628))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*XToken)(unsafe.Pointer(&_yyminorunion)) = _yyminor if _yyTraceFILE == nil { goto _10 } crt.Xfprintf(tls, _yyTraceFILE, str(24656), unsafe.Pointer(_yyTracePrompt)) _10: _yy_syntax_error(tls, _yypParser, _yymajor, _yyminor) _yy_destructor(tls, _yypParser, uint8(_yymajor), &_yyminorunion) _yymajor = i32(252) _7: _5: 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(16 /* X2 */)))))))) { goto _3 } if _yyTraceFILE == nil { goto _12 } _7_cDiv = i8(91) crt.Xfprintf(tls, _yyTraceFILE, str(24676), unsafe.Pointer(_yyTracePrompt)) _7_i = (*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(16 /* X2 */))))) + 32*uintptr(i32(1)))) _13: if uintptr(unsafe.Pointer(_7_i)) > uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) { goto _16 } crt.Xfprintf(tls, _yyTraceFILE, str(24696), int32(_7_cDiv), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(_7_i.X1))))) _7_cDiv = int8(i32(32)) *(*uintptr)(unsafe.Pointer(&_7_i)) += uintptr(32) goto _13 _16: crt.Xfprintf(tls, _yyTraceFILE, str(24704)) _12: return } var _sqlite3ParserØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ParserØ00__func__Ø000[0], str(24708), 14) } var _yyTraceFILE *crt.XFILE // sqlite3.c:135850:13 var _yyTracePrompt *int8 // sqlite3.c:135851:13 var _yyTokenName [251]*int8 // sqlite3.c:135883:19 func init() { _yyTokenName = [251]*int8{str(24724), str(24728), str(24736), str(24744), str(24752), str(24760), str(24768), str(24780), str(24792), str(24804), str(24816), str(24824), str(24828), str(24840), str(24852), str(24860), str(24864), str(24872), str(24880), str(24884), str(24888), str(24896), str(24904), str(24908), str(24912), str(24916), str(24924), str(24932), str(24936), str(24940), str(24944), str(24952), str(24960), str(24968), str(24972), str(24980), str(24988), str(24992), str(24996), str(25000), str(25004), str(25008), str(25012), str(25020), str(25028), str(25036), str(25044), str(25052), str(25060), str(25068), str(25076), str(25084), str(25088), str(25096), str(25104), str(25112), str(25116), str(25124), str(25132), str(25140), str(25148), str(25156), str(25160), str(25168), str(25176), str(25180), str(25188), str(25196), str(25208), str(25220), str(25232), str(25240), str(25248), str(25256), str(25264), str(25268), str(25276), str(25288), str(25296), str(25300), str(25304), str(25308), str(25316), str(25324), str(25332), str(25344), str(25352), str(25364), str(25368), str(25376), str(25384), str(25392), str(25400), str(25408), str(25416), str(25424), str(25436), str(25440), str(25448), str(25456), str(25468), str(200), str(25476), str(25484), str(25492), str(25500), str(25512), str(25524), str(25528), str(25536), str(25544), str(25552), str(25556), str(25568), str(25576), str(25584), str(25592), str(25596), str(25604), str(25616), str(25624), str(25632), str(25644), str(25648), str(25656), str(25664), str(25672), str(25680), str(25688), str(25696), str(25704), str(25712), str(25720), str(25728), str(25736), str(25744), str(25756), str(25764), str(25772), str(25780), str(25788), str(25796), str(25804), str(25808), str(25816), str(25824), str(25832), str(23568), str(25840), str(25848), str(25852), str(25864), str(25876), str(25880), str(25896), str(25912), str(25932), str(23544), str(25944), str(25956), str(25964), str(25976), str(25992), str(26008), str(26016), str(26028), str(26040), str(26052), str(26064), str(26072), str(26084), str(26096), str(26104), str(26112), str(26120), str(26128), str(26140), str(26148), str(26160), str(26168), str(26184), str(26192), str(26200), str(26224), str(26236), str(26248), str(26256), str(26268), str(26276), str(26296), str(26304), str(26316), str(26328), str(26340), str(26352), str(26368), str(26380), str(26388), str(26404), str(26416), str(26428), str(26436), str(26448), str(26460), str(26472), str(26484), str(26496), str(26504), str(26516), str(26528), str(26536), str(26540), str(26552), str(26564), str(26572), str(26584), str(26592), str(26604), str(26612), str(26620), str(26632), str(26644), str(26652), str(26664), str(26672), str(26688), str(26704), str(26720), str(26732), str(26744), str(26752), str(26760), str(26776), str(26796), str(26812), str(26828), str(26844), str(26856), str(26868), str(26876), str(26884), str(26900), str(26908), str(26928), str(26944), str(26956), str(26968), str(26976), str(26992), str(26996), str(27004)} } func _yy_find_shift_action(tls *crt.TLS, _pParser *XyyParser, _iLookAhead uint8) (r0 uint32) { // sqlite3.c:136548:1 var _i int32 // sqlite3.c:136552:7 _ = _i var _stateno int32 // sqlite3.c:136553:7 _ = _stateno var _2_iFallback uint8 // sqlite3.c:136563:18 _ = _2_iFallback var _5_j int32 // sqlite3.c:136579:13 _ = _5_j _stateno = int32((*XyyStackEntry)(unsafe.Pointer(_pParser.X0)).X0) if _stateno < i32(1000) { goto _0 } r0 = uint32(_stateno) return _0: func() int32 { if _stateno <= i32(455) { return i32(0) } return func() int32 { 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(27012))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: _i = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_shift_ofst)) + 2*uintptr(_stateno)))) func() int32 { if int32(_iLookAhead) != i32(252) { return i32(0) } return func() int32 { 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(27040))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_i *p = (*p) + int32(_iLookAhead) sink961 = *p } if _i >= i32(0) && _i < i32(1567) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_lookahead)) + 1*uintptr(_i)))) == int32(_iLookAhead) { goto _8 } if uint64(_iLookAhead) >= u64(96) || int32(store4537(&_2_iFallback, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyFallback)) + 1*uintptr(_iLookAhead))))) == i32(0) { goto _10 } if _yyTraceFILE == nil { goto _11 } crt.Xfprintf(tls, _yyTraceFILE, str(27064), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(_iLookAhead)))), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(_2_iFallback))))) _11: func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyFallback)) + 1*uintptr(_2_iFallback)))) == i32(0) { return i32(0) } return func() int32 { 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(27088))) crt.X__builtin_abort(tls) return i32(0) }() }() _iLookAhead = _2_iFallback goto _3 _10: _5_j = (_i - int32(_iLookAhead)) + i32(96) if _5_j >= i32(1567) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_lookahead)) + 1*uintptr(_5_j)))) != i32(96) || int32(_iLookAhead) <= i32(0) { goto _16 } if _yyTraceFILE == nil { goto _17 } crt.Xfprintf(tls, _yyTraceFILE, str(27116), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(_iLookAhead)))), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(i32(96)))))) _17: r0 = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_action)) + 2*uintptr(_5_j)))) return _16: r0 = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_default)) + 2*uintptr(_stateno)))) return _8: r0 = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_action)) + 2*uintptr(_i)))) return } var _yy_find_shift_actionØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_yy_find_shift_actionØ00__func__Ø000[0], str(27140), 21) } var _yy_shift_ofst [456]int16 // sqlite3.c:135550:20 func init() { _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)} } var _yy_lookahead [1567]uint8 // sqlite3.c:135387:25 func init() { _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} } var _yyFallback [96]uint8 // sqlite3.c:135702:25 func init() { _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} } var _yy_action [1567]uint16 // sqlite3.c:135228:27 func init() { _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)} } var _yy_default [456]uint16 // sqlite3.c:135637:27 func init() { _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)} } func _yy_shift(tls *crt.TLS, _yypParser *XyyParser, _yyNewState int32, _yyMajor int32, _yyMinor XToken) { // sqlite3.c:136681:1 var _yytos *XyyStackEntry // sqlite3.c:136687:16 _ = _yytos *(*uintptr)(unsafe.Pointer((**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))))) += uintptr(32) 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(16 /* X2 */)))))+32*uintptr(i32(100)))))) { goto _0 } *(*uintptr)(unsafe.Pointer((**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))))) += uintptr(18446744073709551584) _yyStackOverflow(tls, _yypParser) return _0: if _yyNewState <= i32(455) { goto _1 } { p := &_yyNewState *p = (*p) + i32(332) sink961 = *p } _1: _yytos = (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos)) + uintptr(0 /* X0 */))) = uint16(_yyNewState) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos)) + uintptr(2 /* X1 */))) = uint8(_yyMajor) *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos)) + uintptr(8 /* X2 */))))) = _yyMinor _yyTraceShift(tls, _yypParser, _yyNewState) return } func _yyStackOverflow(tls *crt.TLS, _yypParser *XyyParser) { // sqlite3.c:136641:1 var _pParse *XParse // sqlite3.c:136642:4 _ = _pParse _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) if _yyTraceFILE == nil { goto _0 } crt.Xfprintf(tls, _yyTraceFILE, str(27164), unsafe.Pointer(_yyTracePrompt)) _0: _1: if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) <= uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(16 /* X2 */))))))) { goto _2 } _yy_pop_parser_stack(tls, _yypParser) goto _1 _2: _sqlite3ErrorMsg(tls, _pParse, str(27184)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(8 /* X1 */))))) = _pParse return } func _yy_pop_parser_stack(tls *crt.TLS, _pParser *XyyParser) { // sqlite3.c:136487:1 var _yytos *XyyStackEntry // sqlite3.c:136488:16 _ = _yytos func() int32 { if (*XyyStackEntry)(unsafe.Pointer(_pParser.X0)) != (*XyyStackEntry)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(27208))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_pParser.X0)))) > uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(16 /* X2 */))))))) { return i32(0) } return func() int32 { 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(27228))) crt.X__builtin_abort(tls) return i32(0) }() }() _yytos = postInc6657817((**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(0 /* X0 */))))), -32) if _yyTraceFILE == nil { goto _4 } crt.Xfprintf(tls, _yyTraceFILE, str(27264), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr(_yytos.X1))))) _4: _yy_destructor(tls, _pParser, _yytos.X1, (*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos))+uintptr(8 /* X2 */)))) return } var _yy_pop_parser_stackØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_yy_pop_parser_stackØ00__func__Ø000[0], str(27280), 20) } func _yy_destructor(tls *crt.TLS, _yypParser *XyyParser, _yymajor uint8, _yypminor *XYYMINORTYPE) { // sqlite3.c:136385:1 var _pParse *XParse // sqlite3.c:136390:3 _ = _pParse _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) switch int32(_yymajor) { case i32(163): goto _1 case i32(172): goto _5 case i32(173): goto _6 case i32(177): goto _7 case i32(186): goto _8 case i32(187): goto _9 case i32(193): goto _19 case i32(194): goto _2 case i32(195): goto _3 case i32(196): goto _23 case i32(199): goto _10 case i32(200): goto _20 case i32(201): goto _25 case i32(202): goto _11 case i32(203): goto _26 case i32(204): goto _12 case i32(206): goto _4 case i32(207): goto _13 case i32(208): goto _14 case i32(209): goto _15 case i32(211): goto _21 case i32(212): goto _22 case i32(215): goto _27 case i32(216): goto _32 case i32(217): goto _33 case i32(218): goto _16 case i32(220): goto _34 case i32(224): goto _17 case i32(225): goto _28 case i32(226): goto _18 case i32(227): goto _29 case i32(232): goto _35 case i32(234): goto _37 case i32(236): goto _30 case i32(237): goto _36 case i32(241): goto _31 case i32(250): goto _24 default: goto _38 } _1: _2: _3: _4: _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _5: _6: _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(_yypminor)).X0))) goto _39 _7: _8: _9: _10: _11: _12: _13: _14: _15: _16: _17: _18: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _19: _20: _21: _22: _sqlite3SrcListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _23: _24: _sqlite3WithDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _25: _26: _27: _28: _29: _30: _31: _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _32: _33: _34: _sqlite3IdListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _35: _36: _sqlite3DeleteTriggerStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) goto _39 _37: _sqlite3IdListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XIdList)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_yypminor)).X1))) goto _39 _38: goto _39 _39: return } func _yyTraceShift(tls *crt.TLS, _yypParser *XyyParser, _yyNewState int32) { // sqlite3.c:136662:1 if _yyTraceFILE == nil { goto _0 } if _yyNewState >= i32(456) { goto _1 } crt.Xfprintf(tls, _yyTraceFILE, str(27300), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)).X1)))), _yyNewState) goto _2 _1: crt.Xfprintf(tls, _yyTraceFILE, str(27332), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 8*uintptr((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)).X1))))) _2: _0: return } func _yy_reduce(tls *crt.TLS, _yypParser *XyyParser, _yyruleno uint32) { // sqlite3.c:137067:1 var _yygoto int32 // sqlite3.c:137071:7 _ = _yygoto var _yyact int32 // sqlite3.c:137072:7 _ = _yyact var _yymsp *XyyStackEntry // sqlite3.c:137073:16 _ = _yymsp var _yysize int32 // sqlite3.c:137074:7 _ = _yysize var _pParse *XParse // sqlite3.c:137075:3 _ = _pParse var _4_yylhsminor XYYMINORTYPE // sqlite3.c:137121:21 _ = _4_yylhsminor var _34_v XExprSpan // sqlite3.c:137245:12 _ = _34_v var _35_v XExprSpan // sqlite3.c:137254:12 _ = _35_v var _70_dest XSelectDest // sqlite3.c:137382:14 _ = _70_dest var _71_p *XSelect // sqlite3.c:137389:10 _ = _71_p var _74_pRhs *XSelect // sqlite3.c:137401:10 _ = _74_pRhs var _74_pLhs *XSelect // sqlite3.c:137402:10 _ = _74_pLhs var _75_pFrom *XSrcList // sqlite3.c:137404:13 _ = _75_pFrom var _75_x XToken // sqlite3.c:137405:11 _ = _75_x var _80_s XToken // sqlite3.c:137433:9 _ = _80_s var _81_z *int8 // sqlite3.c:137447:16 _ = _81_z var _81_i int32 // sqlite3.c:137448:9 _ = _81_i var _85_pRight *XSelect // sqlite3.c:137469:10 _ = _85_pRight var _85_pLeft *XSelect // sqlite3.c:137469:19 _ = _85_pLeft var _92_p *XExpr // sqlite3.c:137504:8 _ = _92_p var _93_pRight *XExpr // sqlite3.c:137510:8 _ = _93_pRight var _93_pLeft *XExpr // sqlite3.c:137511:8 _ = _93_pLeft var _93_pDot *XExpr // sqlite3.c:137512:8 _ = _93_pDot var _105_pNew *TSrcList_item // sqlite3.c:137563:29 _ = _105_pNew var _105_pOld *TSrcList_item // sqlite3.c:137564:29 _ = _105_pOld var _106_pSubquery *XSelect // sqlite3.c:137573:14 _ = _106_pSubquery var _143_temp1 *XExpr // sqlite3.c:137735:8 _ = _143_temp1 var _143_temp2 *XExpr // sqlite3.c:137736:8 _ = _143_temp2 var _144_temp1 *XExpr // sqlite3.c:137743:8 _ = _144_temp1 var _144_temp2 *XExpr // sqlite3.c:137744:8 _ = _144_temp2 var _144_temp3 *XExpr // sqlite3.c:137745:8 _ = _144_temp3 var _144_temp4 *XExpr // sqlite3.c:137746:8 _ = _144_temp4 var _147_n uint32 // sqlite3.c:137763:9 _ = _147_n var _148_t XToken // sqlite3.c:137770:11 _ = _148_t var _158_pList *XExprList // sqlite3.c:137825:12 _ = _158_pList var _163_pList *XExprList // sqlite3.c:137851:12 _ = _163_pList var _163_bNot int32 // sqlite3.c:137852:7 _ = _163_bNot var _164_pList *XExprList // sqlite3.c:137864:12 _ = _164_pList var _164_bNot int32 // sqlite3.c:137865:7 _ = _164_bNot var _173_pList *XExprList // sqlite3.c:137910:12 _ = _173_pList var _178_pRHS *XExpr // sqlite3.c:137952:12 _ = _178_pRHS var _185_pSrc *XSrcList // sqlite3.c:137992:13 _ = _185_pSrc var _185_pSelect *XSelect // sqlite3.c:137993:12 _ = _185_pSelect var _186_p *XExpr // sqlite3.c:138003:10 _ = _186_p var _209_all XToken // sqlite3.c:138097:9 _ = _209_all _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) _yymsp = (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) if _yyTraceFILE == nil || _yyruleno >= uint32(i32(332)) { goto _1 } _yysize = int32((*T6661807)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo)) + 2*uintptr(_yyruleno))).X1) crt.Xfprintf(tls, _yyTraceFILE, str(27348), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleName)) + 8*uintptr(_yyruleno)))), int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(-_yysize))).X0)) _1: if int32((*T6661807)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo))+2*uintptr(_yyruleno))).X1) != i32(0) { goto _2 } 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(16 /* X2 */)))))+32*uintptr(i32(99)))))) { goto _3 } _yyStackOverflow(tls, _yypParser) return _3: _2: switch _yyruleno { case u32(0): goto _5 case u32(1): goto _6 case u32(2): goto _7 case u32(3): goto _8 case u32(4): goto _9 case u32(5): goto _10 case u32(6): goto _11 case u32(7): goto _12 case u32(8): goto _13 case u32(9): goto _14 case u32(10): goto _15 case u32(11): goto _16 case u32(12): goto _17 case u32(13): goto _18 case u32(14): goto _19 case u32(15): goto _20 case u32(16): goto _21 case u32(17): goto _30 case u32(18): goto _31 case u32(19): goto _22 case u32(20): goto _33 case u32(21): goto _34 case u32(22): goto _23 case u32(23): goto _35 case u32(24): goto _36 case u32(25): goto _37 case u32(26): goto _40 case u32(27): goto _41 case u32(28): goto _42 case u32(29): goto _43 case u32(30): goto _45 case u32(31): goto _47 case u32(32): goto _46 case u32(33): goto _48 case u32(34): goto _49 case u32(35): goto _50 case u32(36): goto _51 case u32(37): goto _52 case u32(38): goto _53 case u32(39): goto _54 case u32(40): goto _55 case u32(41): goto _56 case u32(42): goto _24 case u32(43): goto _32 case u32(44): goto _57 case u32(45): goto _58 case u32(46): goto _59 case u32(47): goto _60 case u32(48): goto _61 case u32(49): goto _62 case u32(50): goto _63 case u32(51): goto _64 case u32(52): goto _65 case u32(53): goto _66 case u32(54): goto _67 case u32(55): goto _68 case u32(56): goto _69 case u32(57): goto _25 case u32(58): goto _72 case u32(59): goto _77 case u32(60): goto _38 case u32(61): goto _78 case u32(62): goto _44 case u32(63): goto _79 case u32(64): goto _80 case u32(65): goto _81 case u32(66): goto _82 case u32(67): goto _26 case u32(68): goto _83 case u32(69): goto _85 case u32(70): goto _84 case u32(71): goto _70 case u32(72): goto _86 case u32(73): goto _87 case u32(74): goto _89 case u32(75): goto _73 case u32(76): goto _27 case u32(77): goto _90 case u32(78): goto _91 case u32(79): goto _92 case u32(80): goto _93 case u32(81): goto _94 case u32(82): goto _95 case u32(83): goto _97 case u32(84): goto _96 case u32(85): goto _98 case u32(86): goto _99 case u32(87): goto _100 case u32(88): goto _101 case u32(89): goto _102 case u32(90): goto _28 case u32(91): goto _103 case u32(92): goto _109 case u32(93): goto _110 case u32(94): goto _111 case u32(95): goto _112 case u32(96): goto _39 case u32(97): goto _116 case u32(98): goto _117 case u32(99): goto _118 case u32(100): goto _119 case u32(101): goto _120 case u32(102): goto _121 case u32(103): goto _122 case u32(104): goto _123 case u32(105): goto _124 case u32(106): goto _113 case u32(107): goto _126 case u32(108): goto _127 case u32(109): goto _128 case u32(110): goto _129 case u32(111): goto _130 case u32(112): goto _131 case u32(113): goto _135 case u32(114): goto _125 case u32(115): goto _140 case u32(116): goto _141 case u32(117): goto _142 case u32(118): goto _143 case u32(119): goto _104 case u32(120): goto _145 case u32(121): goto _147 case u32(122): goto _148 case u32(123): goto _149 case u32(124): goto _150 case u32(125): goto _151 case u32(126): goto _105 case u32(127): goto _146 case u32(128): goto _136 case u32(129): goto _132 case u32(130): goto _152 case u32(131): goto _153 case u32(132): goto _154 case u32(133): goto _155 case u32(134): goto _156 case u32(135): goto _137 case u32(136): goto _133 case u32(137): goto _157 case u32(138): goto _158 case u32(139): goto _159 case u32(140): goto _160 case u32(141): goto _161 case u32(142): goto _162 case u32(143): goto _163 case u32(144): goto _71 case u32(145): goto _88 case u32(146): goto _144 case u32(147): goto _164 case u32(148): goto _165 case u32(149): goto _166 case u32(150): goto _167 case u32(151): goto _168 case u32(152): goto _171 case u32(153): goto _172 case u32(154): goto _173 case u32(155): goto _174 case u32(156): goto _169 case u32(157): goto _170 case u32(158): goto _175 case u32(159): goto _176 case u32(160): goto _177 case u32(161): goto _178 case u32(162): goto _179 case u32(163): goto _180 case u32(164): goto _181 case u32(165): goto _182 case u32(166): goto _183 case u32(167): goto _184 case u32(168): goto _185 case u32(169): goto _186 case u32(170): goto _187 case u32(171): goto _188 case u32(172): goto _189 case u32(173): goto _190 case u32(174): goto _191 case u32(175): goto _192 case u32(176): goto _193 case u32(177): goto _194 case u32(178): goto _195 case u32(179): goto _196 case u32(180): goto _197 case u32(181): goto _198 case u32(182): goto _199 case u32(183): goto _200 case u32(184): goto _201 case u32(185): goto _202 case u32(186): goto _74 case u32(187): goto _204 case u32(188): goto _203 case u32(189): goto _75 case u32(190): goto _205 case u32(191): goto _206 case u32(192): goto _207 case u32(193): goto _208 case u32(194): goto _209 case u32(195): goto _210 case u32(196): goto _211 case u32(197): goto _212 case u32(198): goto _134 case u32(199): goto _138 case u32(200): goto _213 case u32(201): goto _139 case u32(202): goto _106 case u32(203): goto _214 case u32(204): goto _215 case u32(205): goto _107 case u32(206): goto _216 case u32(207): goto _218 case u32(208): goto _219 case u32(209): goto _221 case u32(210): goto _108 case u32(211): goto _217 case u32(212): goto _222 case u32(213): goto _223 case u32(214): goto _29 case u32(215): goto _76 case u32(216): goto _224 case u32(217): goto _225 case u32(218): goto _226 case u32(219): goto _227 case u32(220): goto _228 case u32(221): goto _229 case u32(222): goto _230 case u32(223): goto _231 case u32(224): goto _114 case u32(225): goto _115 case u32(226): goto _232 case u32(227): goto _233 case u32(228): goto _234 case u32(229): goto _235 case u32(230): goto _236 case u32(231): goto _237 case u32(232): goto _238 case u32(233): goto _239 case u32(234): goto _240 case u32(235): goto _241 case u32(236): goto _243 case u32(237): goto _245 case u32(238): goto _246 case u32(239): goto _247 case u32(240): goto _248 case u32(241): goto _249 case u32(242): goto _250 case u32(243): goto _251 case u32(244): goto _252 case u32(245): goto _253 case u32(246): goto _254 case u32(247): goto _255 case u32(248): goto _256 case u32(249): goto _220 case u32(250): goto _257 case u32(251): goto _258 case u32(252): goto _259 case u32(253): goto _260 case u32(254): goto _242 case u32(255): goto _244 case u32(256): goto _261 case u32(257): goto _262 case u32(258): goto _263 case u32(259): goto _264 case u32(260): goto _265 case u32(261): goto _266 case u32(262): goto _267 case u32(263): goto _268 case u32(264): goto _269 case u32(265): goto _270 case u32(266): goto _271 case u32(267): goto _272 case u32(268): goto _273 case u32(269): goto _274 case u32(270): goto _275 case u32(271): goto _276 case u32(272): goto _277 case u32(273): goto _278 case u32(274): goto _279 default: goto _280 } _5: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(475 /* X54 */))) = uint8(i32(1)) goto _281 _6: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(475 /* X54 */))) = uint8(i32(2)) goto _281 _7: _sqlite3FinishCoding(tls, _pParse) goto _281 _8: _sqlite3BeginTransaction(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) goto _281 _9: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(7) goto _281 _10: _11: _12: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + 32*uintptr(i32(0)))).X1) goto _281 _13: _14: _sqlite3CommitTransaction(tls, _pParse) goto _281 _15: _sqlite3RollbackTransaction(tls, _pParse) goto _281 _16: _sqlite3Savepoint(tls, _pParse, i32(0), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _17: _sqlite3Savepoint(tls, _pParse, i32(1), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _18: _sqlite3Savepoint(tls, _pParse, i32(2), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _19: _sqlite3StartTable(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))), i32(0), i32(0), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */)))))) goto _281 _20: _disableLookaside(tls, _pParse) goto _281 _21: _22: _23: _24: _25: _26: _27: _28: _29: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _30: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _31: _32: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _33: _sqlite3EndTable(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))), (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _34: _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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) _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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _35: if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1) != uint32(i32(5)) || Xsqlite3_strnicmp(tls, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0, str(27380), i32(5)) != i32(0) { goto _283 } *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(96) goto _284 _283: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(0) _sqlite3ErrorMsg(tls, _pParse, str(27388), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1, unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)) _284: goto _281 _36: _sqlite3AddColumn(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _37: _38: _39: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = uint32(i32(0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _40: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = uint32(int32(int64((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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))+1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))))) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0))) / 1))) goto _281 _41: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = uint32(int32(int64((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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))+1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))))) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))).X0))) / 1))) goto _281 _42: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X1) + uint32(int32(int64((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0)))/1))) goto _281 _43: _44: *(*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(104 /* X28 */))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) goto _281 _45: _46: _sqlite3AddDefaultValue(tls, _pParse, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _47: _sqlite3AddDefaultValue(tls, _pParse, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _48: *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_34_v)) + uintptr(8 /* X1 */))) = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))).X0 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_34_v)) + uintptr(16 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X2 _sqlite3AddDefaultValue(tls, _pParse, &_34_v) goto _281 _49: _spanExpr(tls, &_35_v, _pParse, i32(97), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) _sqlite3AddDefaultValue(tls, _pParse, &_35_v) goto _281 _50: _sqlite3AddNotNull(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _51: _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */)))))) goto _281 _52: _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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(0), uint8(i32(1))) goto _281 _53: _sqlite3AddCheckConstraint(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _54: _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _55: _sqlite3DeferForeignKey(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _56: _sqlite3AddCollateType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _57: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _58: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = ((*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) & (^((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X1))) | ((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0) goto _281 _59: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(0) goto _281 _60: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(0) goto _281 _61: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(255) goto _281 _62: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) << uint(i32(8)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(65280) goto _281 _63: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(7) goto _281 _64: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(8) goto _281 _65: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(9) goto _281 _66: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(6) goto _281 _67: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _68: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _69: _70: _71: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) goto _281 _72: _73: _74: _75: _76: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _77: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _78: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(104 /* X28 */))))) + uintptr(8 /* X1 */))) = uint32(i32(0)) goto _281 _79: _sqlite3AddPrimaryKey(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))), i32(0)) goto _281 _80: _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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(0), uint8(i32(1))) goto _281 _81: _sqlite3AddCheckConstraint(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _82: _sqlite3CreateForeignKey(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) _sqlite3DeferForeignKey(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _83: _84: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(10) goto _281 _85: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))) = *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) goto _281 _86: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(4) goto _281 _87: _88: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(5) goto _281 _89: _sqlite3DropTable(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), i32(0), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) goto _281 _90: _sqlite3CreateView(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */)))))) goto _281 _91: _sqlite3DropTable(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), i32(1), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) goto _281 _92: _70_dest = XSelectDest{X0: u8(9), X1: nil, X2: i32(0), X3: i32(0), X4: i32(0), X5: nil} _sqlite3Select(tls, _pParse, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), &_70_dest) _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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _93: _71_p = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) if _71_p == nil { goto _285 } *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_71_p)) + uintptr(120 /* X17 */))))) = (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) _parserDoubleLinkSelect(tls, _pParse, _71_p) goto _286 _285: _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) _286: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) = _71_p goto _281 _94: _74_pRhs = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) _74_pLhs = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) if _74_pRhs == nil || (*XSelect)(unsafe.Pointer(_74_pRhs.X13)) == nil { goto _288 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_75_x)) + uintptr(8 /* X1 */))) = uint32(i32(0)) _parserDoubleLinkSelect(tls, _pParse, _74_pRhs) _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))))) _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))))) _288: if _74_pRhs == nil { goto _289 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pRhs)) + uintptr(8 /* X1 */))) = uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pRhs)) + uintptr(88 /* X13 */))))) = _74_pLhs if func() int32 { if _74_pLhs != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _292 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pLhs)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-1025)) sink985 = *p } _292: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pRhs)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-1025)) sink985 = *p } if (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) == i32(116) { goto _293 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(34 /* X10 */))) = uint8(i32(1)) _293: goto _294 _289: _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _74_pLhs) _294: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = _74_pRhs goto _281 _95: _96: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + 32*uintptr(i32(0)))).X1) goto _281 _97: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(116) goto _281 _98: _80_s = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), uint32(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7)))))) + uintptr(8 /* X2 */)))))), (*XExpr)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))) if (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _295 } _81_z = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_80_s.X0)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(6)))))))) Xsqlite3_snprintf(tls, int32(u64(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))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))+uintptr(24 /* X6 */))))), str(27416), preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(140 /* X34 */))), 1)) _296: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(i32(0))))) != i32(32) { goto _297 } *(*uintptr)(unsafe.Pointer(&_81_z)) += uintptr(1) goto _296 _297: 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) { goto _299 } { p := &_81_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink1025 = *p } _300: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(i32(0))))) != i32(32) { goto _301 } *(*uintptr)(unsafe.Pointer(&_81_z)) += uintptr(1) goto _300 _301: _81_i = i32(0) _302: 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 { goto _305 } _81_i += 1 goto _302 _305: Xsqlite3_snprintf(tls, int32(u64(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))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))+uintptr(24 /* X6 */))))), str(27420), _81_i, unsafe.Pointer(_81_z)) _299: _295: goto _281 _99: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* 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))))) goto _281 _100: _85_pLeft = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* 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))))) if func() int32 { if _85_pLeft != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _308 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pLeft)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-1025)) sink985 = *p } _308: if _85_pRight == nil { goto _309 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pRight)) + uintptr(8 /* X1 */))) = uint8(i32(116)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pRight)) + uintptr(88 /* X13 */))))) = _85_pLeft *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _85_pRight goto _310 _309: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _85_pLeft _310: goto _281 _101: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _102: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(2) goto _281 _103: _104: _105: _106: _107: _108: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _109: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0))) if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X1) <= uint32(i32(0)) { goto _311 } _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(1)) _311: _sqlite3ExprListSetSpan(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _110: _92_p = _sqlite3Expr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(160), (*int8)(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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), _92_p) goto _281 _111: _93_pRight = _sqlite3PExpr(tls, _pParse, i32(160), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), i32(1)) _93_pDot = _sqlite3PExpr(tls, _pParse, i32(122), _93_pLeft, _93_pRight) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), _93_pDot) goto _281 _112: _113: _114: _115: *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) goto _281 _116: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), u64(120)))) goto _281 _117: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) _sqlite3SrcListShiftJoinType(tls, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) goto _281 _118: if func() int32 { if ((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) != nil) && (((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))).X0) > i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _315 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))+uintptr(8 /* X2 */)))))+112*uintptr(((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))).X0)-i32(1))))))+uintptr(60 /* X9 */))))) + uintptr(0 /* X0 */))) = uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) _315: goto _281 _119: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _120: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* 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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) _sqlite3SrcListIndexedBy(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */)))))) goto _281 _121: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* 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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) _sqlite3SrcListFuncArgs(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */)))))))) goto _281 _122: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _123: if (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) || ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* 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))+32*uintptr(i32(-1)))))) + uintptr(8 /* 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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _319 } *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) goto _320 _319: if ((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))).X0) != i32(1) { goto _321 } *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2))))))+uintptr(8 /* 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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) if (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) == nil { goto _322 } _105_pNew = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))+uintptr(8 /* X2 */))))) + 112*uintptr(((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))).X0)-i32(1)))) _105_pOld = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */)))))) + uintptr(8 /* X2 */))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pNew)) + uintptr(16 /* X2 */))) = _105_pOld.X2 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pNew)) + uintptr(8 /* X1 */))) = _105_pOld.X1 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pNew)) + uintptr(40 /* X5 */))))) = (*XSelect)(unsafe.Pointer(_105_pOld.X5)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pOld)) + uintptr(16 /* X2 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pOld))+uintptr(8 /* X1 */))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pOld)) + uintptr(40 /* X5 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _322: _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))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */)))))))) goto _323 _321: _sqlite3SrcListShiftJoinType(tls, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */)))))))) _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))+32*uintptr(i32(-4)))))) + uintptr(8 /* 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))))) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), _106_pSubquery, (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) _323: _320: goto _281 _124: _125: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = uint32(i32(0)) goto _281 _126: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* 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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _127: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _128: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = _sqlite3JoinType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _129: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))) = _sqlite3JoinType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _130: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))) = _sqlite3JoinType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _131: _132: _133: _134: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0)) goto _281 _135: _136: _137: _138: _139: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _140: *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) goto _281 _141: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = uint32(i32(1)) goto _281 _142: *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))) = (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) goto _281 _143: _144: *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _145: _146: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) goto _281 _147: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0))) _sqlite3ExprListSetSortOrder(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _148: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* 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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0))) _sqlite3ExprListSetSortOrder(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _149: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _150: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _151: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(-1) goto _281 _152: *(**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))+32*uintptr(i32(1))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(**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))+32*uintptr(i32(1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _153: *(**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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0)) *(**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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _154: *(**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))).X0)) *(**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0)) goto _281 _155: *(**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))).X0)) *(**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0)) goto _281 _156: _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */))))))), uint8(i32(1))) _sqlite3SrcListIndexedBy(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) _sqlite3DeleteFrom(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _157: _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7)))))) + uintptr(8 /* X2 */))))))), uint8(i32(1))) _sqlite3SrcListIndexedBy(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */)))))) _sqlite3ExprListCheckLength(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), str(27428)) _sqlite3Update(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */)))))) goto _281 _158: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), i32(1)) goto _281 _159: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppendVector(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _160: *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), i32(1)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(&_4_yylhsminor)))) goto _281 _161: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* 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))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _162: _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */))))))), uint8(i32(1))) _sqlite3Insert(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */)))))) goto _281 _163: _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))), uint8(i32(1))) _sqlite3Insert(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */)))))) goto _281 _164: *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) goto _281 _165: *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _166: *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* 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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _167: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))).X0)) goto _281 _168: _169: _170: _spanExpr(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))).X1), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _171: _172: _spanExpr(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), _pParse, i32(55), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _173: _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), i32(1)) _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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(1)) _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(122), _143_temp1, _143_temp2) goto _281 _174: _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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), i32(1)) _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), i32(1)) _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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(1)) _144_temp4 = _sqlite3PExpr(tls, _pParse, i32(122), _144_temp2, _144_temp3) _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(122), _144_temp1, _144_temp4) goto _281 _175: *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(8 /* X1 */))) = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* 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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0)) == nil { goto _324 } { p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(8388612)) sink985 = *p } _324: *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) goto _281 _176: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* 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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)) + 1*uintptr(i32(1)))))))))&i32(4)) != 0 { goto _326 } _147_n = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X1 _spanExpr(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), _pParse, i32(135), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) _sqlite3ExprAssignVarNumber(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)), _147_n) goto _327 _326: _148_t = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) func() int32 { if (_148_t.X1) >= uint32(i32(2)) { return i32(0) } return func() int32 { 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(27440))) crt.X__builtin_abort(tls) return i32(0) }() }() _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), &_148_t, &_148_t) if int32(_pParse.X6) != i32(0) { goto _330 } _sqlite3ErrorMsg(tls, _pParse, str(27448), unsafe.Pointer(&_148_t)) *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) goto _331 _330: *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(157), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _332 } _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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)+uintptr(44 /* X8 */)))) _332: _331: _327: goto _281 _177: *(**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))+32*uintptr(i32(-2))))))+uintptr(8 /* 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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))) goto _281 _178: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-5))))))+uintptr(8 /* 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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), i32(1)) _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))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _179: if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) == nil || ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))).X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(6))))) { goto _334 } _sqlite3ErrorMsg(tls, _pParse, str(27472), unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) _334: *(**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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */)))))) _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) if (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */)))))) != i32(1) || (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0)) == nil { goto _336 } { p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(16)) sink985 = *p } _336: *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) goto _281 _180: *(**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */)))))) _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) goto _281 _181: *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) goto _281 _182: _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))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0))) *(**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))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0)) == nil { goto _337 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0) + uintptr(32 /* X6 */))))))) = _158_pList _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _338 _337: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _158_pList) _338: *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) goto _281 _183: _184: _185: _186: _187: _188: _189: _190: _spanBinaryExpr(tls, _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))).X1), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _191: *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) *p = (*p) | u32(2147483648) sink985 = *p } goto _281 _192: _163_bNot = int32(((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))).X1) & u32(2147483648)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) *p = (*p) & uint32(i32(2147483647)) sink985 = *p } _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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0))) *(**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))+32*uintptr(i32(-2))))))+uintptr(8 /* 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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) _exprNot(tls, _pParse, _163_bNot, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */)))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X2 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _339 } { p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(128)) sink985 = *p } _339: goto _281 _193: _164_bNot = int32(((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))).X1) & u32(2147483648)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) *p = (*p) & uint32(i32(2147483647)) sink985 = *p } _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0))) _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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0))) _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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */)))))) _exprNot(tls, _pParse, _164_bNot, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */)))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X2 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _340 } { p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(128)) sink985 = *p } _340: goto _281 _194: _spanUnaryPostfix(tls, _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))).X1), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _195: _spanUnaryPostfix(tls, _pParse, i32(35), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _196: _spanBinaryExpr(tls, _pParse, i32(29), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) _binaryToUnaryIfNull(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0)), i32(34)) goto _281 _197: _spanBinaryExpr(tls, _pParse, i32(148), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) _binaryToUnaryIfNull(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0)), i32(35)) goto _281 _198: _199: _spanUnaryPrefix(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))).X1), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _200: _spanUnaryPrefix(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), _pParse, i32(155), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _201: _spanUnaryPrefix(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), _pParse, i32(156), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _202: _203: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _204: _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0))) _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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _341 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0) + uintptr(32 /* X6 */))))))) = _173_pList goto _342 _341: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _173_pList) _342: _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */)))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X2 goto _281 _205: if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _343 } _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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0))) *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(134), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3IntTokens))+16*uintptr(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */)))))))), i32(1)) goto _344 _343: if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))).X0) != i32(1) { goto _345 } _178_pRHS = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))).X1) + 32*uintptr(i32(0)))).X0)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))).X1)+32*uintptr(i32(0)))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) if func() int32 { if _178_pRHS != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _348 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_178_pRHS)) + uintptr(4 /* X2 */))) *p = (*p) & uint32(i32(-257)) sink985 = *p } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_178_pRHS)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(512)) sink985 = *p } _348: *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, func() int32 { if (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */)))))) != 0 { return i32(36) } return i32(37) }(), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), _178_pRHS) goto _351 _345: *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _352 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0) + uintptr(32 /* X6 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) _sqlite3ExprSetHeightAndFlags(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0))) goto _353 _352: _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) _353: _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */)))))) _351: _344: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))) goto _281 _206: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(119), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3PExprAddSelect(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) goto _281 _207: *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3PExprAddSelect(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */)))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X1))) goto _281 _208: _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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) _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))))) if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) == nil { goto _354 } _sqlite3SrcListFuncArgs(tls, _pParse, func() *XSrcList { if _185_pSelect != nil { return _185_pSrc } return (*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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) _354: *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3PExprAddSelect(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)), _185_pSelect) _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */)))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))))) + uintptr(16 /* X2 */))) = func() *int8 { if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))).X0) != nil { return (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X1))) } return (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X1))) }() goto _281 _209: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) _186_p = store5518888((**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */)))))))+uintptr(0 /* X0 */))))), _sqlite3PExpr(tls, _pParse, i32(20), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))))) _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) goto _281 _210: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _359 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0) + uintptr(32 /* X6 */))))))) = func() *XExprList { if (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) != nil { return _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) } return (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) }() _sqlite3ExprSetHeightAndFlags(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0))) goto _362 _359: _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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */)))))))) _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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) _362: goto _281 _211: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0))) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _212: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))).X0))) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _213: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0)) goto _281 _214: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _215: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* 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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _216: _217: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) goto _281 _218: _sqlite3CreateIndex(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6))))))+uintptr(8 /* 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))+32*uintptr(i32(-4))))))+uintptr(8 /* 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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-10)))))) + uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-11))))))+uintptr(8 /* X2 */))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), i32(0), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */))))), uint8(i32(0))) goto _281 _219: _220: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(2) goto _281 _221: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(0) goto _281 _222: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _parserAddExprIdListTerm(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _223: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* 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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))) goto _281 _224: _sqlite3DropIndex(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) goto _281 _225: _sqlite3Vacuum(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _226: _sqlite3Vacuum(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _227: _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) goto _281 _228: _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(0)) goto _281 _229: _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), i32(0)) goto _281 _230: _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), i32(1)) goto _281 _231: _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), i32(1)) goto _281 _232: *(**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))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))).X0 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_209_all)) + uintptr(8 /* X1 */))) = uint32(int32(int64((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0)))/1))) + ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X1) _sqlite3FinishTrigger(tls, _pParse, (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), &_209_all) goto _281 _233: _sqlite3BeginTrigger(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6))))))+uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X0, (*XIdList)(unsafe.Pointer((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))).X1)), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-10)))))) + uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-8)))))) + uintptr(8 /* X2 */)))))) *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-10)))))) + uintptr(8 /* X2 */))))) = func() XToken { if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))).X1) == uint32(i32(0)) { return (*(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7)))))) + uintptr(8 /* X2 */)))))) } return (*(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */)))))) }() goto _281 _234: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(63) goto _281 _235: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(59) goto _281 _236: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))) = i32(77) goto _281 _237: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))) = i32(63) goto _281 _238: _239: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + 32*uintptr(i32(0)))).X1) *(**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))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))))) = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _240: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))) = i32(110) *(**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))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))))) = (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) goto _281 _241: _242: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _243: _244: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))).X0)) goto _281 _245: func() int32 { if (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(27508))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))).X9) + uintptr(56 /* X8 */))))) = (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) *(**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))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */)))))) + uintptr(64 /* X9 */))))) = (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) goto _281 _246: func() int32 { if (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(27536))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**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))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) + uintptr(64 /* X9 */))))) = (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) goto _281 _247: *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) _sqlite3ErrorMsg(tls, _pParse, str(27564)) goto _281 _248: _sqlite3ErrorMsg(tls, _pParse, str(27660)) goto _281 _249: _sqlite3ErrorMsg(tls, _pParse, str(27744)) goto _281 _250: *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-6)))))) + uintptr(8 /* X2 */))))))) = _sqlite3TriggerUpdateStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4))))))+uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* X2 */))))))) goto _281 _251: *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _sqlite3TriggerInsertStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) goto _281 _252: *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))) = _sqlite3TriggerDeleteStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _253: *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* 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))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _254: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(83), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _369 } *(*int8)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0) + uintptr(1 /* X1 */))) = int8(i32(4)) _369: goto _281 _255: _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) *(**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))+32*uintptr(i32(-5))))))+uintptr(8 /* 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))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), i32(1)) if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))).X0)) == nil { goto _370 } *(*int8)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))).X0) + uintptr(1 /* X1 */))) = int8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */)))))) _370: goto _281 _256: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(1) goto _281 _257: *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))) = i32(3) goto _281 _258: _sqlite3DropTrigger(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))) goto _281 _259: _sqlite3Attach(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _260: _sqlite3Detach(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))).X0))) goto _281 _261: _sqlite3Reindex(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _262: _sqlite3Reindex(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _263: _sqlite3Analyze(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _264: _sqlite3Analyze(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _265: _sqlite3AlterRenameTable(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _266: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))))) + uintptr(8 /* X1 */))) = uint32(int32(int64((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X51 */))).X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */))))).X0)))/1))) + ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(456 /* X51 */))).X1) _sqlite3AlterFinishAddColumn(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1))))))+uintptr(8 /* X2 */)))))) goto _281 _267: _disableLookaside(tls, _pParse) _sqlite3AlterBeginAddColumn(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */)))))))) goto _281 _268: _sqlite3VtabFinishParse(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0))))) goto _281 _269: _sqlite3VtabFinishParse(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _270: _sqlite3VtabBeginParse(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-3))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2))))))+uintptr(8 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */)))))) goto _281 _271: _sqlite3VtabArgInit(tls, _pParse) goto _281 _272: _273: _274: _sqlite3VtabArgExtend(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0))))))+uintptr(8 /* X2 */)))))) goto _281 _275: *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(1)))))) + uintptr(8 /* X2 */))))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) goto _281 _276: *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */))))))) = (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) goto _281 _277: *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-2)))))) + uintptr(8 /* X2 */))))))) = (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(0)))))) + uintptr(8 /* X2 */))))))) goto _281 _278: *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5)))))) + uintptr(8 /* 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))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) goto _281 _279: *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7)))))) + uintptr(8 /* X2 */))))))) = _sqlite3WithAdd(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-7)))))) + uintptr(8 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-5))))))+uintptr(8 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-4)))))) + uintptr(8 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(i32(-1)))))) + uintptr(8 /* X2 */)))))))) goto _281 _280: func() int32 { if _yyruleno != uint32(i32(277)) { return i32(0) } return func() int32 { 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(27832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(294)) { return i32(0) } return func() int32 { 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(27848))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(295)) { return i32(0) } return func() int32 { 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(27864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(301)) { return i32(0) } return func() int32 { 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(27880))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(303)) { return i32(0) } return func() int32 { 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(27896))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(304)) { return i32(0) } return func() int32 { 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(27912))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(305)) { return i32(0) } return func() int32 { 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(27928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(309)) { return i32(0) } return func() int32 { 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(27944))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(312)) { return i32(0) } return func() int32 { 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(27960))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _yyruleno != uint32(i32(313)) { return i32(0) } return func() int32 { 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(27976))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _281 _281: func() int32 { if uint64(_yyruleno) < u64(332) { return i32(0) } return func() int32 { 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(27992))) crt.X__builtin_abort(tls) return i32(0) }() }() _yygoto = int32((*T6661807)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo)) + 2*uintptr(_yyruleno))).X0) _yysize = int32((*T6661807)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo)) + 2*uintptr(_yyruleno))).X1) _yyact = _yy_find_reduce_action(tls, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+32*uintptr(-_yysize))).X0), uint8(_yygoto)) if _yyact > i32(999) { goto _393 } if _yyact <= i32(455) { goto _394 } { p := &_yyact *p = (*p) + i32(332) sink961 = *p } _394: { p := &_yymsp *p = (*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 32*uintptr(_yysize-i32(1)))) sink6657817 = *p } *(**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))) = _yymsp *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + uintptr(0 /* X0 */))) = uint16(_yyact) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + uintptr(2 /* X1 */))) = uint8(_yygoto) _yyTraceShift(tls, _yypParser, _yyact) goto _395 _393: func() int32 { if _yyact == i32(1333) { return i32(0) } return func() int32 { 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(28044))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))) *p = (*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 32*uintptr(_yysize))) sink6657817 = *p } _yy_accept(tls, _yypParser) _395: return } var _yyRuleInfo [332]struct { X0 uint8 X1 uint8 } // sqlite3.c:136726:3 func init() { _yyRuleInfo = [332]struct { X0 uint8 X1 uint8 }{T6661807{X0: u8(147), X1: u8(1)}, T6661807{X0: u8(147), X1: u8(3)}, T6661807{X0: u8(148), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(3)}, T6661807{X0: u8(150), X1: u8(0)}, T6661807{X0: u8(150), X1: u8(1)}, T6661807{X0: u8(150), X1: u8(1)}, T6661807{X0: u8(150), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(3)}, T6661807{X0: u8(149), X1: u8(5)}, T6661807{X0: u8(154), X1: u8(6)}, T6661807{X0: u8(156), X1: u8(1)}, T6661807{X0: u8(158), X1: u8(0)}, T6661807{X0: u8(158), X1: u8(3)}, T6661807{X0: u8(157), X1: u8(1)}, T6661807{X0: u8(157), X1: u8(0)}, T6661807{X0: u8(155), X1: u8(5)}, T6661807{X0: u8(155), X1: u8(2)}, T6661807{X0: u8(162), X1: u8(0)}, T6661807{X0: u8(162), X1: u8(2)}, T6661807{X0: u8(164), X1: u8(2)}, T6661807{X0: u8(166), X1: u8(0)}, T6661807{X0: u8(166), X1: u8(4)}, T6661807{X0: u8(166), X1: u8(6)}, T6661807{X0: u8(167), X1: u8(2)}, T6661807{X0: u8(171), X1: u8(2)}, T6661807{X0: u8(171), X1: u8(2)}, T6661807{X0: u8(171), X1: u8(4)}, T6661807{X0: u8(171), X1: u8(3)}, T6661807{X0: u8(171), X1: u8(3)}, T6661807{X0: u8(171), X1: u8(2)}, T6661807{X0: u8(171), X1: u8(3)}, T6661807{X0: u8(171), X1: u8(5)}, T6661807{X0: u8(171), X1: u8(2)}, T6661807{X0: u8(171), X1: u8(4)}, T6661807{X0: u8(171), X1: u8(4)}, T6661807{X0: u8(171), X1: u8(1)}, T6661807{X0: u8(171), X1: u8(2)}, T6661807{X0: u8(176), X1: u8(0)}, T6661807{X0: u8(176), X1: u8(1)}, T6661807{X0: u8(178), X1: u8(0)}, T6661807{X0: u8(178), X1: u8(2)}, T6661807{X0: u8(180), X1: u8(2)}, T6661807{X0: u8(180), X1: u8(3)}, T6661807{X0: u8(180), X1: u8(3)}, T6661807{X0: u8(180), X1: u8(3)}, T6661807{X0: u8(181), X1: u8(2)}, T6661807{X0: u8(181), X1: u8(2)}, T6661807{X0: u8(181), X1: u8(1)}, T6661807{X0: u8(181), X1: u8(1)}, T6661807{X0: u8(181), X1: u8(2)}, T6661807{X0: u8(179), X1: u8(3)}, T6661807{X0: u8(179), X1: u8(2)}, T6661807{X0: u8(182), X1: u8(0)}, T6661807{X0: u8(182), X1: u8(2)}, T6661807{X0: u8(182), X1: u8(2)}, T6661807{X0: u8(161), X1: u8(0)}, T6661807{X0: u8(184), X1: u8(1)}, T6661807{X0: u8(185), X1: u8(2)}, T6661807{X0: u8(185), X1: u8(7)}, T6661807{X0: u8(185), X1: u8(5)}, T6661807{X0: u8(185), X1: u8(5)}, T6661807{X0: u8(185), X1: u8(10)}, T6661807{X0: u8(188), X1: u8(0)}, T6661807{X0: u8(174), X1: u8(0)}, T6661807{X0: u8(174), X1: u8(3)}, T6661807{X0: u8(189), X1: u8(0)}, T6661807{X0: u8(189), X1: u8(2)}, T6661807{X0: u8(190), X1: u8(1)}, T6661807{X0: u8(190), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(4)}, T6661807{X0: u8(192), X1: u8(2)}, T6661807{X0: u8(192), X1: u8(0)}, T6661807{X0: u8(149), X1: u8(9)}, T6661807{X0: u8(149), X1: u8(4)}, T6661807{X0: u8(149), X1: u8(1)}, T6661807{X0: u8(163), X1: u8(2)}, T6661807{X0: u8(194), X1: u8(3)}, T6661807{X0: u8(197), X1: u8(1)}, T6661807{X0: u8(197), X1: u8(2)}, T6661807{X0: u8(197), X1: u8(1)}, T6661807{X0: u8(195), X1: u8(9)}, T6661807{X0: u8(206), X1: u8(4)}, T6661807{X0: u8(206), X1: u8(5)}, T6661807{X0: u8(198), X1: u8(1)}, T6661807{X0: u8(198), X1: u8(1)}, T6661807{X0: u8(198), X1: u8(0)}, T6661807{X0: u8(209), X1: u8(0)}, T6661807{X0: u8(199), X1: u8(3)}, T6661807{X0: u8(199), X1: u8(2)}, T6661807{X0: u8(199), X1: u8(4)}, T6661807{X0: u8(210), X1: u8(2)}, T6661807{X0: u8(210), X1: u8(0)}, T6661807{X0: u8(200), X1: u8(0)}, T6661807{X0: u8(200), X1: u8(2)}, T6661807{X0: u8(212), X1: u8(2)}, T6661807{X0: u8(212), X1: u8(0)}, T6661807{X0: u8(211), X1: u8(7)}, T6661807{X0: u8(211), X1: u8(9)}, T6661807{X0: u8(211), X1: u8(7)}, T6661807{X0: u8(211), X1: u8(7)}, T6661807{X0: u8(159), X1: u8(0)}, T6661807{X0: u8(159), X1: u8(2)}, T6661807{X0: u8(193), X1: u8(2)}, T6661807{X0: u8(213), X1: u8(1)}, T6661807{X0: u8(213), X1: u8(2)}, T6661807{X0: u8(213), X1: u8(3)}, T6661807{X0: u8(213), X1: u8(4)}, T6661807{X0: u8(215), X1: u8(2)}, T6661807{X0: u8(215), X1: u8(0)}, T6661807{X0: u8(214), X1: u8(0)}, T6661807{X0: u8(214), X1: u8(3)}, T6661807{X0: u8(214), X1: u8(2)}, T6661807{X0: u8(216), X1: u8(4)}, T6661807{X0: u8(216), X1: u8(0)}, T6661807{X0: u8(204), X1: u8(0)}, T6661807{X0: u8(204), X1: u8(3)}, T6661807{X0: u8(186), X1: u8(4)}, T6661807{X0: u8(186), X1: u8(2)}, T6661807{X0: u8(175), X1: u8(1)}, T6661807{X0: u8(175), X1: u8(1)}, T6661807{X0: u8(175), X1: u8(0)}, T6661807{X0: u8(202), X1: u8(0)}, T6661807{X0: u8(202), X1: u8(3)}, T6661807{X0: u8(203), X1: u8(0)}, T6661807{X0: u8(203), X1: u8(2)}, T6661807{X0: u8(205), X1: u8(0)}, T6661807{X0: u8(205), X1: u8(2)}, T6661807{X0: u8(205), X1: u8(4)}, T6661807{X0: u8(205), X1: u8(4)}, T6661807{X0: u8(149), X1: u8(6)}, T6661807{X0: u8(201), X1: u8(0)}, T6661807{X0: u8(201), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(8)}, T6661807{X0: u8(218), X1: u8(5)}, T6661807{X0: u8(218), X1: u8(7)}, T6661807{X0: u8(218), X1: u8(3)}, T6661807{X0: u8(218), X1: u8(5)}, T6661807{X0: u8(149), X1: u8(6)}, T6661807{X0: u8(149), X1: u8(7)}, T6661807{X0: u8(219), X1: u8(2)}, T6661807{X0: u8(219), X1: u8(1)}, T6661807{X0: u8(220), X1: u8(0)}, T6661807{X0: u8(220), X1: u8(3)}, T6661807{X0: u8(217), X1: u8(3)}, T6661807{X0: u8(217), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(172), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(172), X1: u8(1)}, T6661807{X0: u8(172), X1: u8(1)}, T6661807{X0: u8(172), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(6)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(173), X1: u8(4)}, T6661807{X0: u8(172), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(221), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(173), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(4)}, T6661807{X0: u8(173), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(2)}, T6661807{X0: u8(222), X1: u8(1)}, T6661807{X0: u8(222), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(223), X1: u8(1)}, T6661807{X0: u8(223), X1: u8(2)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(173), X1: u8(3)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(173), X1: u8(4)}, T6661807{X0: u8(173), X1: u8(5)}, T6661807{X0: u8(226), X1: u8(5)}, T6661807{X0: u8(226), X1: u8(4)}, T6661807{X0: u8(227), X1: u8(2)}, T6661807{X0: u8(227), X1: u8(0)}, T6661807{X0: u8(225), X1: u8(1)}, T6661807{X0: u8(225), X1: u8(0)}, T6661807{X0: u8(208), X1: u8(0)}, T6661807{X0: u8(207), X1: u8(3)}, T6661807{X0: u8(207), X1: u8(1)}, T6661807{X0: u8(224), X1: u8(0)}, T6661807{X0: u8(224), X1: u8(3)}, T6661807{X0: u8(149), X1: u8(12)}, T6661807{X0: u8(228), X1: u8(1)}, T6661807{X0: u8(228), X1: u8(0)}, T6661807{X0: u8(177), X1: u8(0)}, T6661807{X0: u8(177), X1: u8(3)}, T6661807{X0: u8(187), X1: u8(5)}, T6661807{X0: u8(187), X1: u8(3)}, T6661807{X0: u8(229), X1: u8(0)}, T6661807{X0: u8(229), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(4)}, T6661807{X0: u8(149), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(3)}, T6661807{X0: u8(149), X1: u8(5)}, T6661807{X0: u8(149), X1: u8(6)}, T6661807{X0: u8(149), X1: u8(5)}, T6661807{X0: u8(149), X1: u8(6)}, T6661807{X0: u8(169), X1: u8(2)}, T6661807{X0: u8(170), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(5)}, T6661807{X0: u8(231), X1: u8(11)}, T6661807{X0: u8(233), X1: u8(1)}, T6661807{X0: u8(233), X1: u8(1)}, T6661807{X0: u8(233), X1: u8(2)}, T6661807{X0: u8(233), X1: u8(0)}, T6661807{X0: u8(234), X1: u8(1)}, T6661807{X0: u8(234), X1: u8(1)}, T6661807{X0: u8(234), X1: u8(3)}, T6661807{X0: u8(236), X1: u8(0)}, T6661807{X0: u8(236), X1: u8(2)}, T6661807{X0: u8(232), X1: u8(3)}, T6661807{X0: u8(232), X1: u8(2)}, T6661807{X0: u8(238), X1: u8(3)}, T6661807{X0: u8(239), X1: u8(3)}, T6661807{X0: u8(239), X1: u8(2)}, T6661807{X0: u8(237), X1: u8(7)}, T6661807{X0: u8(237), X1: u8(5)}, T6661807{X0: u8(237), X1: u8(5)}, T6661807{X0: u8(237), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(4)}, T6661807{X0: u8(173), X1: u8(6)}, T6661807{X0: u8(191), X1: u8(1)}, T6661807{X0: u8(191), X1: u8(1)}, T6661807{X0: u8(191), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(4)}, T6661807{X0: u8(149), X1: u8(6)}, T6661807{X0: u8(149), X1: u8(3)}, T6661807{X0: u8(241), X1: u8(0)}, T6661807{X0: u8(241), X1: u8(2)}, T6661807{X0: u8(149), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(3)}, T6661807{X0: u8(149), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(3)}, T6661807{X0: u8(149), X1: u8(6)}, T6661807{X0: u8(149), X1: u8(7)}, T6661807{X0: u8(242), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(1)}, T6661807{X0: u8(149), X1: u8(4)}, T6661807{X0: u8(244), X1: u8(8)}, T6661807{X0: u8(246), X1: u8(0)}, T6661807{X0: u8(247), X1: u8(1)}, T6661807{X0: u8(247), X1: u8(3)}, T6661807{X0: u8(248), X1: u8(1)}, T6661807{X0: u8(196), X1: u8(0)}, T6661807{X0: u8(196), X1: u8(2)}, T6661807{X0: u8(196), X1: u8(3)}, T6661807{X0: u8(250), X1: u8(6)}, T6661807{X0: u8(250), X1: u8(8)}, T6661807{X0: u8(144), X1: u8(1)}, T6661807{X0: u8(145), X1: u8(2)}, T6661807{X0: u8(145), X1: u8(1)}, T6661807{X0: u8(146), X1: u8(1)}, T6661807{X0: u8(146), X1: u8(3)}, T6661807{X0: u8(147), X1: u8(0)}, T6661807{X0: u8(151), X1: u8(0)}, T6661807{X0: u8(151), X1: u8(1)}, T6661807{X0: u8(151), X1: u8(2)}, T6661807{X0: u8(153), X1: u8(1)}, T6661807{X0: u8(153), X1: u8(0)}, T6661807{X0: u8(149), X1: u8(2)}, T6661807{X0: u8(160), X1: u8(4)}, T6661807{X0: u8(160), X1: u8(2)}, T6661807{X0: u8(152), X1: u8(1)}, T6661807{X0: u8(152), X1: u8(1)}, T6661807{X0: u8(152), X1: u8(1)}, T6661807{X0: u8(166), X1: u8(1)}, T6661807{X0: u8(167), X1: u8(1)}, T6661807{X0: u8(168), X1: u8(1)}, T6661807{X0: u8(168), X1: u8(1)}, T6661807{X0: u8(165), X1: u8(2)}, T6661807{X0: u8(165), X1: u8(0)}, T6661807{X0: u8(171), X1: u8(2)}, T6661807{X0: u8(161), X1: u8(2)}, T6661807{X0: u8(183), X1: u8(3)}, T6661807{X0: u8(183), X1: u8(1)}, T6661807{X0: u8(184), X1: u8(0)}, T6661807{X0: u8(188), X1: u8(1)}, T6661807{X0: u8(190), X1: u8(1)}, T6661807{X0: u8(194), X1: u8(1)}, T6661807{X0: u8(195), X1: u8(1)}, T6661807{X0: u8(209), X1: u8(2)}, T6661807{X0: u8(210), X1: u8(1)}, T6661807{X0: u8(173), X1: u8(1)}, T6661807{X0: u8(221), X1: u8(1)}, T6661807{X0: u8(208), X1: u8(1)}, T6661807{X0: u8(230), X1: u8(1)}, T6661807{X0: u8(230), X1: u8(1)}, T6661807{X0: u8(230), X1: u8(1)}, T6661807{X0: u8(230), X1: u8(1)}, T6661807{X0: u8(230), X1: u8(1)}, T6661807{X0: u8(169), X1: u8(1)}, T6661807{X0: u8(235), X1: u8(0)}, T6661807{X0: u8(235), X1: u8(3)}, T6661807{X0: u8(238), X1: u8(1)}, T6661807{X0: u8(239), X1: u8(0)}, T6661807{X0: u8(240), X1: u8(1)}, T6661807{X0: u8(240), X1: u8(0)}, T6661807{X0: u8(243), X1: u8(0)}, T6661807{X0: u8(243), X1: u8(1)}, T6661807{X0: u8(245), X1: u8(1)}, T6661807{X0: u8(245), X1: u8(3)}, T6661807{X0: u8(246), X1: u8(2)}, T6661807{X0: u8(249), X1: u8(0)}, T6661807{X0: u8(249), X1: u8(4)}, T6661807{X0: u8(249), X1: u8(2)}} } var _yyRuleName [332]*int8 // sqlite3.c:135953:19 func init() { _yyRuleName = [332]*int8{str(28072), str(28092), str(28124), str(28140), str(28176), str(28192), str(28216), str(28240), str(28264), str(28292), str(28316), str(28344), str(28368), str(28404), str(28452), str(28512), str(28532), str(28548), str(28580), str(28596), str(28608), str(28676), str(28708), str(28728), str(28760), str(28788), str(28804), str(28840), str(28892), str(28924), str(28948), str(28972), str(29004), str(29032), str(29064), str(29096), str(29124), str(29172), str(29196), str(29224), str(29268), str(29296), str(29324), str(29336), str(29360), str(29372), str(29400), str(29420), str(29448), str(29476), str(29504), str(29524), str(29548), str(29568), str(29588), str(29612), str(29672), str(29728), str(29756), str(29804), str(29852), str(29872), str(29896), str(29920), str(29972), str(30012), str(30048), str(30140), str(30164), str(30176), str(30212), str(30224), str(30252), str(30276), str(30300), str(30340), str(30364), str(30380), str(30452), str(30488), str(30504), str(30536), str(30592), str(30620), str(30652), str(30688), str(30792), str(30828), str(30868), str(30892), str(30912), str(30928), str(30940), str(30968), str(30996), str(31028), str(31044), str(31052), str(31064), str(31092), str(31128), str(31144), str(31212), str(31284), str(31344), str(31408), str(31420), str(31436), str(31460), str(31484), str(31508), str(31536), str(31568), str(31588), str(31600), str(31616), str(31648), str(31676), str(31712), str(31728), str(31744), str(31780), str(31824), str(31852), str(31872), str(31892), str(31908), str(31924), str(31960), str(31976), str(32004), str(32020), str(32048), str(32088), str(32124), str(32180), str(32196), str(32224), str(32296), str(32336), str(32384), str(32408), str(32444), str(32500), str(32564), str(32596), str(32620), str(32636), str(32664), str(32692), str(32708), str(32728), str(32744), str(32764), str(32784), str(32804), str(32832), str(32852), str(32868), str(32888), str(32908), str(32940), str(32980), str(33024), str(33056), str(33076), str(33112), str(33136), str(33160), str(33192), str(33220), str(33268), str(33300), str(33336), str(33364), str(33396), str(33424), str(33464), str(33496), str(33520), str(33544), str(33572), str(33592), str(33616), str(33636), str(33656), str(33680), str(33708), str(33748), str(33764), str(33784), str(33820), str(33844), str(33880), str(33924), str(33956), str(34012), str(34064), str(34104), str(34128), str(34144), str(34168), str(34188), str(34204), str(34240), str(34260), str(34280), str(34316), str(34404), str(34428), str(34444), str(34460), str(34492), str(34540), str(34576), str(34588), str(34620), str(34660), str(34676), str(34696), str(34720), str(34752), str(34788), str(34824), str(34864), str(34896), str(34932), str(34992), str(35108), str(35132), str(35156), str(35184), str(35204), str(35236), str(35264), str(35300), str(35316), str(35344), str(35400), str(35440), str(35460), str(35488), str(35512), str(35580), str(35636), str(35688), str(35712), str(35740), str(35780), str(35804), str(35824), str(35844), str(35884), str(35936), str(35972), str(35984), str(36008), str(36024), str(36048), str(36064), str(36088), str(36132), str(36212), str(36248), str(36268), str(36308), str(36376), str(36388), str(36412), str(36444), str(36456), str(36468), str(36492), str(36524), str(36568), str(36624), str(36644), str(36672), str(36692), str(36708), str(36736), str(36748), str(36764), str(36792), str(36824), str(36852), str(36872), str(36912), str(36964), str(37000), str(37020), str(37036), str(37052), str(37076), str(37100), str(37120), str(37144), str(37172), str(37188), str(37212), str(37244), str(37284), str(37304), str(37320), str(37360), str(37388), str(37416), str(37440), str(37468), str(37488), str(37504), str(37532), str(37556), str(37576), str(37592), str(37608), str(37628), str(37648), str(37676), str(37696), str(37728), str(37740), str(37752), str(37784), str(37804), str(37824), str(37852), str(37876), str(37920), str(37956), str(37968), str(38004)} } func _sqlite3FinishCoding(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:99583:1 var _db *Xsqlite3 // sqlite3.c:99584:11 _ = _db var _v *TVdbe // sqlite3.c:99585:8 _ = _v var _3_iDb int32 // sqlite3.c:99624:11 _ = _3_iDb var _3_i int32 // sqlite3.c:99624:16 _ = _3_i var _4_pSchema *XSchema // sqlite3.c:99628:16 _ = _4_pSchema var _5_vtab *int8 // sqlite3.c:99645:14 _ = _5_vtab var _6_pEL *XExprList // sqlite3.c:99663:18 _ = _6_pEL func() int32 { if (*XParse)(unsafe.Pointer(_pParse.X39)) == (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(38028))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X6) == 0 { goto _2 } return _2: if (_db.X17) == 0 && (_pParse.X16) == 0 { goto _4 } if (_pParse.X3) != i32(0) { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(1) _5: return _4: _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if ((_pParse.X8) == 0) || _sqlite3VdbeAssertMayAbort(tls, _v, int32(_pParse.X9)) != 0 { return i32(0) } return func() int32 { 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(38052))) crt.X__builtin_abort(tls) return i32(0) }() }() if _v == nil { goto _9 } _sqlite3VdbeAddOp0(tls, _v, i32(76)) if int32(_db.X17) != i32(0) || (_pParse.X30) == uint32(i32(0)) && (*XExprList)(unsafe.Pointer(_pParse.X27)) == nil { goto _12 } func() int32 { if int32(_sqlite3VdbeGetOp(tls, _v, i32(0)).X0) == i32(72) { return i32(0) } return func() int32 { 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(38124))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeJumpHere(tls, _v, i32(0)) _3_iDb = i32(0) _15: if _3_iDb >= (_db.X5) { goto _18 } if bool2int(((_pParse.X30)&(u32(1)<= (_pParse.X56) { goto _25 } _5_vtab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, *(**XTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse.X67)) + 8*uintptr(_3_i)))))) _sqlite3VdbeAddOp4(tls, _v, i32(153), i32(0), i32(0), i32(0), _5_vtab, i32(-8)) _3_i += 1 goto _22 _25: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(480 /* X56 */))) = i32(0) _codeTableLocks(tls, _pParse) _sqlite3AutoincrementBegin(tls, _pParse) if (*XExprList)(unsafe.Pointer(_pParse.X27)) == nil { goto _26 } _6_pEL = (*XExprList)(unsafe.Pointer(_pParse.X27)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(35 /* X11 */))) = uint8(i32(0)) _3_i = i32(0) _27: if _3_i >= (_6_pEL.X0) { goto _30 } _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_6_pEL.X1)+32*uintptr(_3_i))).X0)), *(*int32)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_6_pEL.X1)+32*uintptr(_3_i))))) + uintptr(28 /* X5 */)))))) _3_i += 1 goto _27 _30: _26: _sqlite3VdbeGoto(tls, _v, i32(1)) _12: _9: if _v == nil || (_pParse.X16) != i32(0) || (_db.X17) != 0 { goto _33 } func() int32 { if (_pParse.X23) == i32(0) { return i32(0) } return func() int32 { 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(38184))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*TAggInfo_func)(unsafe.Pointer(_pParse.X38)) == (*TAggInfo_func)(unsafe.Pointer(uintptr(i32(0)))) || (_pParse.X17) != i32(0) { goto _37 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = i32(1) _37: _sqlite3VdbeMakeReady(tls, _v, _pParse) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(101) goto _38 _33: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(1) _38: return } var _sqlite3FinishCodingØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FinishCodingØ00__func__Ø000[0], str(38208), 20) } func _sqlite3GetVdbe(tls *crt.TLS, _pParse *XParse) (r0 *TVdbe) { // sqlite3.c:118084:1 var _v *TVdbe // sqlite3.c:118085:8 _ = _v _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) r0 = func() *TVdbe { if _v != nil { return _v } return _allocVdbe(tls, _pParse) }() return } func _allocVdbe(tls *crt.TLS, _pParse *XParse) (r0 *TVdbe) { // sqlite3.c:118074:1 var _v *TVdbe // sqlite3.c:118075:8 _ = _v _v = store5435885((**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(16 /* X2 */))))), _sqlite3VdbeCreate(tls, _pParse)) if _v == nil { goto _0 } _sqlite3VdbeAddOp2(tls, _v, i32(72), i32(0), i32(1)) _0: if (*XParse)(unsafe.Pointer(_pParse.X39)) != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) || (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X13)&i32(8)) != i32(0) { goto _2 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(35 /* X11 */))) = uint8(i32(1)) _2: r0 = _v return } func _sqlite3VdbeCreate(tls *crt.TLS, _pParse *XParse) (r0 *TVdbe) { // sqlite3.c:71350:1 var _db *Xsqlite3 // sqlite3.c:71351:11 _ = _db var _p *TVdbe // sqlite3.c:71352:8 _ = _p _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _p = (*TVdbe)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(288)))) if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) return _0: crt.Xmemset(tls, (unsafe.Pointer)((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(104 /* X17 */)))), i32(0), u64(184)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _db if (*TVdbe)(unsafe.Pointer(_db.X1)) == nil { goto _1 } *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_db.X1) + uintptr(8 /* X1 */))))) = _p _1: *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = (*TVdbe)(unsafe.Pointer(_db.X1)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(8 /* X1 */))))) = _p *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X5 */))) = uint32(i32(381479589)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = _pParse func() int32 { if (_pParse.X26) == (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(38228))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pParse.X25) == i32(0) { return i32(0) } return func() int32 { 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(38248))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pParse.X19) == i32(0) { return i32(0) } return func() int32 { 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(38268))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pParse.X20) == i32(0) { return i32(0) } return func() int32 { 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(38288))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _p return } var _sqlite3VdbeCreateØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeCreateØ00__func__Ø000[0], str(38312), 18) } func _sqlite3VdbeAddOp2(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32, _p2 int32) (r0 int32) { // sqlite3.c:71550:1 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, i32(0)) return } func _sqlite3VdbeAddOp3(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32) (r0 int32) { // sqlite3.c:71499:1 var _i int32 // sqlite3.c:71500:7 _ = _i var _pOp *XVdbeOp // sqlite3.c:71501:10 _ = _pOp var _2_jj int32 // sqlite3.c:71523:9 _ = _2_jj var _2_kk int32 // sqlite3.c:71523:13 _ = _2_kk var _2_pParse *XParse // sqlite3.c:71524:11 _ = _2_pParse var _3_x *TyColCache // sqlite3.c:71526:24 _ = _3_x _i = _p.X27 func() int32 { if (_p.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(38332))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op >= i32(0)) && (_op < i32(255)) { return i32(0) } return func() int32 { 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(38360))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*XParse)(unsafe.Pointer(_p.X3)).X19) > _i { goto _5 } r0 = _growOp3(tls, _p, _op, _p1, _p2, _p3) return _5: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(184 /* X27 */))) += 1 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_i))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(_op) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(2 /* X2 */))) = uint16(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _p1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = _p2 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(12 /* X5 */))) = _p3 *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(uintptr(i32(0))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(24 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(4096)) == 0 { goto _6 } _2_pParse = (*XParse)(unsafe.Pointer(_p.X3)) _2_jj = store961(&_2_kk, i32(0)) _7: if _2_jj >= int32(_2_pParse.X13) { goto _10 } _3_x = (*TyColCache)(unsafe.Pointer(uintptr(unsafe.Pointer((*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pParse))+uintptr(204 /* X48 */))))))) + uintptr(unsafe.Pointer((*TyColCache)(unsafe.Pointer(uintptr(unsafe.Pointer((*TyColCache)(unsafe.Pointer(uintptr(_2_jj)))))*uintptr(unsafe.Pointer((*TyColCache)(unsafe.Pointer(uintptr(20))))))))))) crt.Xprintf(tls, str(38380), _3_x.X4, _3_x.X0, int32(_3_x.X1)) _2_kk += 1 _2_jj += 1 goto _7 _10: if _2_kk == 0 { goto _11 } crt.Xprintf(tls, str(38396)) _11: _sqlite3VdbePrintOp(tls, (*crt.XFILE)(unsafe.Pointer(uintptr(i32(0)))), _i, (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_i)))) _test_addop_breakpoint(tls) _6: r0 = _i return } var _sqlite3VdbeAddOp3Ø00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeAddOp3Ø00__func__Ø000[0], str(38400), 18) } func _growOp3(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32) (r0 int32) { // sqlite3.c:71493:1 func() int32 { if ((*XParse)(unsafe.Pointer(_p.X3)).X19) <= (_p.X27) { return i32(0) } return func() int32 { 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(38420))) crt.X__builtin_abort(tls) return i32(0) }() }() if _growOpArray(tls, _p, i32(1)) == 0 { goto _2 } r0 = i32(1) return _2: func() int32 { if ((*XParse)(unsafe.Pointer(_p.X3)).X19) > (_p.X27) { return i32(0) } return func() int32 { 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(38448))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, _p3) return } var _growOp3Ø00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_growOp3Ø00__func__Ø000[0], str(38476), 8) } func _growOpArray(tls *crt.TLS, _v *TVdbe, _nOp int32) (r0 int32) { // sqlite3.c:71431:1 var _pNew *XVdbeOp // sqlite3.c:71432:10 _ = _pNew var _p *XParse // sqlite3.c:71433:9 _ = _p var _nNew int32 // sqlite3.c:71445:7 _ = _nNew _p = (*XParse)(unsafe.Pointer(_v.X3)) _nNew = func() int32 { if (_p.X19) != 0 { return ((_p.X19) * i32(2)) } return i32(32) }() if _nNew <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_p.X0)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(5))))) { goto _2 } _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0))) r0 = i32(7) return _2: func() int32 { if uint64(_nOp) <= u64(32) { return i32(0) } return func() int32 { 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(38484))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nNew >= ((_p.X19) + _nOp) { return i32(0) } return func() int32 { 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(38508))) crt.X__builtin_abort(tls) return i32(0) }() }() _pNew = (*XVdbeOp)(unsafe.Pointer(_sqlite3DbRealloc(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _v.X17, uint64(_nNew)*u64(32)))) if _pNew == nil { goto _7 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X20 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_pNew)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X19 */))) = int32(uint64(_p.X20) / u64(32)) *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(104 /* X17 */))))) = _pNew _7: r0 = func() int32 { if _pNew != nil { return i32(0) } return _sqlite3NomemError(tls, i32(71463)) }() return } var _growOpArrayØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_growOpArrayØ00__func__Ø000[0], str(38532), 12) } func _sqlite3VdbePrintOp(tls *crt.TLS, _pOut *crt.XFILE, _pc int32, _pOp *XVdbeOp) { // sqlite3.c:72817:1 var _zP4 *int8 // sqlite3.c:72818:8 _ = _zP4 var _zPtr [50]int8 // sqlite3.c:72819:8 _ = _zPtr var _zCom [100]int8 // sqlite3.c:72820:8 _ = _zCom if _pOut != (*crt.XFILE)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _pOut = (*crt.XFILE)(unsafe.Pointer(Xstdout)) _0: _zP4 = _displayP4(tls, _pOp, (*int8)(unsafe.Pointer(&_zPtr)), int32(u64(50))) _displayComment(tls, _pOp, _zP4, (*int8)(unsafe.Pointer(&_zCom)), int32(u64(100))) 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)))) crt.Xfflush(tls, _pOut) return } func _displayP4(tls *crt.TLS, _pOp *XVdbeOp, _zTemp *int8, _nTemp int32) (r0 *int8) { // sqlite3.c:72617:1 var _zP4 *int8 // sqlite3.c:72618:8 _ = _zP4 var _x XStrAccum // sqlite3.c:72619:12 _ = _x var _2_j int32 // sqlite3.c:72624:11 _ = _2_j var _2_pKeyInfo *XKeyInfo // sqlite3.c:72625:15 _ = _2_pKeyInfo var _3_pColl *XCollSeq // sqlite3.c:72629:17 _ = _3_pColl var _3_zColl *int8 // sqlite3.c:72630:20 _ = _3_zColl var _4_pColl *XCollSeq // sqlite3.c:72644:15 _ = _4_pColl var _5_pDef *XFuncDef // sqlite3.c:72649:15 _ = _5_pDef var _6_pDef *XFuncDef // sqlite3.c:72655:15 _ = _6_pDef var _10_pMem *XMem // sqlite3.c:72673:11 _ = _10_pMem var _16_pVtab *Xsqlite3_vtab // sqlite3.c:72690:20 _ = _16_pVtab var _17_i int32 // sqlite3.c:72696:11 _ = _17_i var _17_ai *int32 // sqlite3.c:72697:11 _ = _17_ai var _17_n int32 // sqlite3.c:72698:11 _ = _17_n _zP4 = _zTemp func() int32 { if _nTemp >= i32(20) { return i32(0) } return func() int32 { 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(38544))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StrAccumInit(tls, &_x, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _zTemp, _nTemp, i32(0)) switch int32(_pOp.X1) { case i32(-16): goto _6 case i32(-15): goto _15 case i32(-14): goto _14 case i32(-13): goto _13 case i32(-12): goto _12 case i32(-11): goto _8 case i32(-10): goto _7 case i32(-9): goto _9 case i32(-8): goto _11 case i32(-7): goto _10 case i32(-5): goto _3 case i32(-4): goto _5 case i32(-3): goto _4 default: goto _16 } _3: _2_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) func() int32 { if (_2_pKeyInfo.X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(38556))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3XPrintf(tls, &_x, str(38580), int32(_2_pKeyInfo.X2)) _2_j = i32(0) _19: if _2_j >= int32(_2_pKeyInfo.X2) { goto _22 } _3_pColl = *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_2_j))) _3_zColl = func() *int8 { if _3_pColl != nil { return (_3_pColl.X0) } return str(196) }() if crt.Xstrcmp(tls, _3_zColl, str(38588)) != i32(0) { goto _25 } _3_zColl = str(38596) _25: _sqlite3XPrintf(tls, &_x, str(38600), unsafe.Pointer(func() *int8 { if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pKeyInfo.X5)) + 1*uintptr(_2_j)))) != 0 { return str(38608) } return str(196) }()), unsafe.Pointer(_3_zColl)) _2_j += 1 goto _19 _22: _sqlite3StrAccumAppend(tls, &_x, str(38612), i32(1)) goto _28 _4: _4_pColl = (*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _sqlite3XPrintf(tls, &_x, str(38616), unsafe.Pointer(_4_pColl.X0)) goto _28 _5: _5_pDef = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _sqlite3XPrintf(tls, &_x, str(38624), unsafe.Pointer(_5_pDef.X6), int32(_5_pDef.X0)) goto _28 _6: _6_pDef = (*XFuncDef)(unsafe.Pointer((*Xsqlite3_context)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X1)) _sqlite3XPrintf(tls, &_x, str(38624), unsafe.Pointer(_6_pDef.X6), int32(_6_pDef.X0)) goto _28 _7: _sqlite3XPrintf(tls, &_x, str(4648), *(*(**int64)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) goto _28 _8: _sqlite3XPrintf(tls, &_x, str(38632), *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) goto _28 _9: _sqlite3XPrintf(tls, &_x, str(6004), *(*(**float64)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) goto _28 _10: _10_pMem = (*XMem)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) if (int32(_10_pMem.X1) & i32(2)) == 0 { goto _29 } _zP4 = _10_pMem.X5 goto _30 _29: if (int32(_10_pMem.X1) & i32(4)) == 0 { goto _31 } _sqlite3XPrintf(tls, &_x, str(4648), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pMem)) + uintptr(0 /* X0 */)))))) goto _32 _31: if (int32(_10_pMem.X1) & i32(8)) == 0 { goto _33 } _sqlite3XPrintf(tls, &_x, str(6004), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pMem)) + uintptr(0 /* X0 */)))))) goto _34 _33: if (int32(_10_pMem.X1) & i32(1)) == 0 { goto _35 } _zP4 = str(200) goto _36 _35: func() int32 { if (int32(_10_pMem.X1) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(38636))) crt.X__builtin_abort(tls) return i32(0) }() }() _zP4 = str(38660) _36: _34: _32: _30: goto _28 _11: _16_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) _sqlite3XPrintf(tls, &_x, str(38668), unsafe.Pointer(_16_pVtab)) goto _28 _12: _17_ai = *(**int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) _17_n = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_ai)) + 4*uintptr(i32(0)))) _17_i = i32(1) _39: if _17_i >= _17_n { goto _42 } _sqlite3XPrintf(tls, &_x, str(38676), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_ai)) + 4*uintptr(_17_i)))) _17_i += 1 goto _39 _42: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(91)) _sqlite3StrAccumAppend(tls, &_x, str(38680), i32(1)) goto _28 _13: _sqlite3XPrintf(tls, &_x, str(38684)) goto _28 _14: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(0)) goto _28 _15: _sqlite3XPrintf(tls, &_x, str(24304), unsafe.Pointer((*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X0)) goto _28 _16: _zP4 = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) if _zP4 != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _43 } _zP4 = _zTemp *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(0)) _43: _28: _sqlite3StrAccumFinish(tls, &_x) func() int32 { if _zP4 != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(38692))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _zP4 return } var _displayP4Ø00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_displayP4Ø00__func__Ø000[0], str(38700), 10) } func _sqlite3XPrintf(tls *crt.TLS, _p *XStrAccum, _zFormat *int8, args ...interface{}) { // sqlite3.c:26135:1 var _ap []interface{} // sqlite3.c:26136:11 _ = _ap _ap = args _sqlite3VXPrintf(tls, _p, _zFormat, _ap) _ap = nil return } func _displayComment(tls *crt.TLS, _pOp *XVdbeOp, _zP4 *int8, _zTemp *int8, _nTemp int32) (r0 int32) { // sqlite3.c:72465:1 var _zOpName *int8 // sqlite3.c:72471:14 _ = _zOpName var _zSynopsis *int8 // sqlite3.c:72472:14 _ = _zSynopsis var _nOpName int32 // sqlite3.c:72473:7 _ = _nOpName var _ii int32 // sqlite3.c:72474:7 _ = _ii var _jj int32 // sqlite3.c:72474:11 _ = _jj var _zAlt [50]int8 // sqlite3.c:72475:8 _ = _zAlt var _1_seenCom int32 // sqlite3.c:72479:9 _ = _1_seenCom var _1_c int8 // sqlite3.c:72480:10 _ = _1_c var _9_v1 int32 // sqlite3.c:72499:15 _ = _9_v1 var _9_v2 int32 // sqlite3.c:72500:15 _ = _9_v2 _zOpName = _sqlite3OpcodeName(tls, int32(_pOp.X0)) _nOpName = _sqlite3Strlen30(tls, _zOpName) if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOpName)) + 1*uintptr(_nOpName+i32(1))))) == 0 { goto _0 } _1_seenCom = i32(0) _zSynopsis = store1025(func() (**int8, *int8) { p := &_zOpName return p, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_nOpName+i32(1)))) }()) if crt.Xstrncmp(tls, _zSynopsis, str(38712), uint64(i32(3))) != i32(0) { goto _1 } if (int32(_pOp.X2) & i32(32)) == 0 { goto _2 } Xsqlite3_snprintf(tls, int32(u64(50)), (*int8)(unsafe.Pointer(&_zAlt)), str(38716), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(3)))))))))) goto _3 _2: Xsqlite3_snprintf(tls, int32(u64(50)), (*int8)(unsafe.Pointer(&_zAlt)), str(38732), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(3)))))))))) _3: _zSynopsis = (*int8)(unsafe.Pointer(&_zAlt)) _1: _ii = store961(&_jj, i32(0)) _4: if _jj >= (_nTemp-i32(1)) || int32(store973(&_1_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSynopsis)) + 1*uintptr(_ii))))) == i32(0) { goto _8 } if int32(_1_c) != i32(80) { goto _9 } _1_c = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSynopsis)) + 1*uintptr(preInc961(&_ii, 1)))) if int32(_1_c) != i32(52) { goto _10 } Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(24304), unsafe.Pointer(_zP4)) goto _11 _10: if int32(_1_c) != i32(88) { goto _12 } Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(24304), unsafe.Pointer(_pOp.X7)) _1_seenCom = i32(1) goto _13 _12: _9_v1 = _translateP(tls, _1_c, _pOp) Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(38632), _9_v1) 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(38748), uint64(i32(2))) != i32(0) { goto _14 } { p := &_ii *p = (*p) + i32(3) sink961 = *p } { p := &_jj *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj)))))))) sink961 = *p } _9_v2 = _translateP(tls, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSynopsis)) + 1*uintptr(_ii))), _pOp) 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(38752), uint64(i32(2))) != i32(0) { goto _15 } { p := &_ii *p = (*p) + i32(2) sink961 = *p } _9_v2 += 1 _15: if _9_v2 <= i32(1) { goto _16 } Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(38756), (_9_v1+_9_v2)-i32(1)) _16: goto _17 _14: 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(38764), uint64(i32(4))) != i32(0) || (_pOp.X5) != i32(0) { goto _19 } { p := &_ii *p = (*p) + i32(4) sink961 = *p } _19: _17: _13: _11: { p := &_jj *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj)))))))) sink961 = *p } goto _20 _9: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(postInc961(&_jj, int32(1))))) = _1_c _20: _ii += 1 goto _4 _8: if _1_seenCom != 0 || _jj >= (_nTemp-i32(5)) || (_pOp.X7) == nil { goto _23 } Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(38772), unsafe.Pointer(_pOp.X7)) { p := &_jj *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj)))))))) sink961 = *p } _23: if _jj >= _nTemp { goto _24 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(_jj))) = int8(i32(0)) _24: goto _25 _0: if (_pOp.X7) == nil { goto _26 } Xsqlite3_snprintf(tls, _nTemp, _zTemp, str(24304), unsafe.Pointer(_pOp.X7)) _jj = _sqlite3Strlen30(tls, _zTemp) goto _27 _26: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(0)) _jj = i32(0) _27: _25: r0 = _jj return } func _sqlite3OpcodeName(tls *crt.TLS, _i int32) (r0 *int8) { // sqlite3.c:29468:1 r0 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeNameØ00azNameØ001)) + 8*uintptr(_i))) return } var _sqlite3OpcodeNameØ00azNameØ001 [164]*int8 // sqlite3.c:29469:20 func init() { _sqlite3OpcodeNameØ00azNameØ001 = [164]*int8{str(38780), str(38792), str(38804), str(38820), str(38832), str(38844), str(38856), str(38864), str(38872), str(38884), str(38900), str(38908), str(38940), str(38964), str(38972), str(38980), str(38996), str(39004), str(39016), str(39024), str(39044), str(39052), str(39056), str(39064), str(39084), str(39104), str(39124), str(39144), str(39172), str(39200), str(39224), str(39248), str(39268), str(39292), str(39316), str(39348), str(39380), str(39400), str(39420), str(39440), str(39460), str(39480), str(39500), str(39512), str(39540), str(39564), str(39596), str(39628), str(39652), str(39680), str(39708), str(39736), str(39764), str(39792), str(39800), str(39824), str(39836), str(39848), str(39856), str(39864), str(39884), str(39904), str(39924), str(39944), str(39972), str(40016), str(40028), str(40064), str(40108), str(40152), str(40192), str(40204), str(40212), str(40232), str(40240), str(40256), str(40288), str(40296), str(40316), str(40332), str(40360), str(40380), str(40400), str(40424), str(40456), str(40480), str(40508), str(40528), str(40548), str(40576), str(40588), str(40620), str(40652), str(40676), str(40692), str(40716), str(40732), str(40764), str(40784), str(40800), str(40828), str(40864), str(40884), str(40896), str(40908), str(40936), str(40960), str(40988), str(41016), str(41044), str(41056), str(41100), str(41132), str(41140), str(41156), str(41188), str(41212), str(41244), str(41276), str(41284), str(41296), str(41348), str(41372), str(41392), str(41412), str(41424), str(41448), str(41468), str(41492), str(41520), str(41544), str(41556), str(41564), str(41580), str(41596), str(41628), str(41660), str(41672), str(41688), str(41704), str(41716), str(41728), str(41744), str(41760), str(41788), str(41796), str(41820), str(41852), str(41924), str(41960), str(41996), str(42024), str(42032), str(42068), str(42076), str(42088), str(42100), str(42108), str(42136), str(42148), str(42160), str(42172), str(42184), str(42192)} } func _translateP(tls *crt.TLS, _c int8, _pOp *XVdbeOp) (r0 int32) { // sqlite3.c:72444:1 if int32(_c) != i32(49) { goto _0 } r0 = _pOp.X3 return _0: if int32(_c) != i32(50) { goto _1 } r0 = _pOp.X4 return _1: if int32(_c) != i32(51) { goto _2 } r0 = _pOp.X5 return _2: if int32(_c) != i32(52) { goto _3 } r0 = *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) return _3: r0 = int32(_pOp.X2) return } var _sqlite3VdbePrintOpØ00zFormat1Ø001 *int8 // sqlite3.c:72821:21 func init() { _sqlite3VdbePrintOpØ00zFormat1Ø001 = str(42204) } func _test_addop_breakpoint(tls *crt.TLS) { // sqlite3.c:71471:1 _test_addop_breakpointØ00nØ001 += 1 return } var _test_addop_breakpointØ00nØ001 int32 // sqlite3.c:71472:14 func _sqlite3VdbeAssertMayAbort(tls *crt.TLS, _v *TVdbe, _mayAbort int32) (r0 int32) { // sqlite3.c:71825:1 var _hasAbort int32 // sqlite3.c:71826:7 _ = _hasAbort var _hasFkCounter int32 // sqlite3.c:71827:7 _ = _hasFkCounter var _hasCreateTable int32 // sqlite3.c:71828:7 _ = _hasCreateTable var _hasInitCoroutine int32 // sqlite3.c:71829:7 _ = _hasInitCoroutine var _pOp *XVdbeOp // sqlite3.c:71830:6 _ = _pOp var _sIter XVdbeOpIter // sqlite3.c:71831:14 _ = _sIter var _1_opcode int32 // sqlite3.c:71836:9 _ = _1_opcode _hasAbort = i32(0) _hasFkCounter = i32(0) _hasCreateTable = i32(0) _hasInitCoroutine = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_sIter), i32(0), u64(32)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sIter)) + uintptr(0 /* X0 */))))) = _v _0: if store5776833(&_pOp, _opIterNext(tls, &_sIter)) == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _1_opcode = int32(_pOp.X0) 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))) { goto _8 } _hasAbort = i32(1) goto _1 _8: if _1_opcode != i32(135) { goto _9 } _hasCreateTable = i32(1) _9: if _1_opcode != i32(15) { goto _10 } _hasInitCoroutine = i32(1) _10: if _1_opcode != i32(145) || (_pOp.X3) != i32(0) || (_pOp.X4) != i32(1) { goto _13 } _hasFkCounter = i32(1) _13: goto _0 _1: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0)), (unsafe.Pointer)(_sIter.X1)) r0 = bool2int((((((*Xsqlite3)(unsafe.Pointer(_v.X0)).X17) != 0) || (_hasAbort == _mayAbort)) || _hasFkCounter != 0) || (_hasCreateTable != 0 && _hasInitCoroutine != 0)) return } func _opIterNext(tls *crt.TLS, _p *XVdbeOpIter) (r0 *XVdbeOp) { // sqlite3.c:71760:1 var _v *TVdbe // sqlite3.c:71761:8 _ = _v var _pRet *XVdbeOp // sqlite3.c:71762:6 _ = _pRet var _aOp *XVdbeOp // sqlite3.c:71763:6 _ = _aOp var _nOp int32 // sqlite3.c:71764:7 _ = _nOp var _5_nByte int32 // sqlite3.c:71785:11 _ = _5_nByte var _5_j int32 // sqlite3.c:71786:11 _ = _5_j _v = (*TVdbe)(unsafe.Pointer(_p.X0)) _pRet = nil if (_p.X4) > (_p.X2) { goto _0 } if (_p.X4) != i32(0) { goto _1 } _aOp = (*XVdbeOp)(unsafe.Pointer(_v.X17)) _nOp = _v.X27 goto _2 _1: _aOp = (*XVdbeOp)(unsafe.Pointer((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 8*uintptr((_p.X4)-i32(1))))).X0)) _nOp = (*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 8*uintptr((_p.X4)-i32(1))))).X1 _2: func() int32 { if (_p.X3) < _nOp { return i32(0) } return func() int32 { 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(42244))) crt.X__builtin_abort(tls) return i32(0) }() }() _pRet = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(_p.X3))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X3 */))) += 1 if (_p.X3) != _nOp { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X3 */))) = i32(0) _5: if int32(_pRet.X1) != i32(-13) { goto _6 } _5_nByte = int32(uint64((_p.X2)+i32(1)) * u64(8)) _5_j = i32(0) _7: if _5_j >= (_p.X2) { goto _10 } if (*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 8*uintptr(_5_j)))) != (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X6 */))))))) { goto _11 } goto _10 _11: _5_j += 1 goto _7 _10: if _5_j != (_p.X2) { goto _12 } *(***XSubProgram)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = (**XSubProgram)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0)), (unsafe.Pointer)(_p.X1), uint64(_5_nByte)))) if (**XSubProgram)(unsafe.Pointer(_p.X1)) != nil { goto _13 } _pRet = (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) goto _14 _13: *(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X2 */))), int32(1))))) = (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X6 */))))))) _14: _12: _6: _0: r0 = _pRet return } var _opIterNextØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_opIterNextØ00__func__Ø000[0], str(42260), 11) } func _sqlite3VdbeAddOp0(tls *crt.TLS, _p *TVdbe, _op int32) (r0 int32) { // sqlite3.c:71544:1 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, i32(0), i32(0), i32(0)) return } func _sqlite3VdbeGetOp(tls *crt.TLS, _p *TVdbe, _addr int32) (r0 *XVdbeOp) { // sqlite3.c:72423:1 func() int32 { if (_p.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(38332))) crt.X__builtin_abort(tls) return i32(0) }() }() if _addr >= i32(0) { goto _2 } _addr = (_p.X27) - i32(1) _2: func() int32 { if ((_addr >= i32(0)) && (_addr < (_p.X27))) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(42272))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { goto _7 } r0 = &_sqlite3VdbeGetOpØ00dummyØ001 return _7: r0 = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_addr))) return } var _sqlite3VdbeGetOpØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeGetOpØ00__func__Ø000[0], str(42320), 17) } var _sqlite3VdbeGetOpØ00dummyØ001 XVdbeOp // sqlite3.c:72426:17 func _sqlite3VdbeJumpHere(tls *crt.TLS, _p *TVdbe, _addr int32) { // sqlite3.c:72132:1 _sqlite3VdbeChangeP2(tls, _p, uint32(_addr), _p.X27) return } func _sqlite3VdbeChangeP2(tls *crt.TLS, _p *TVdbe, _addr uint32, _val int32) { // sqlite3.c:72117:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(8 /* X4 */))) = _val return } func _sqlite3VdbeUsesBtree(tls *crt.TLS, _p *TVdbe, _i int32) { // sqlite3.c:72741:1 func() int32 { if ((_i >= i32(0)) && (_i < ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X5))) && (_i < i32(32)) { return i32(0) } return func() int32 { 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(42340))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _i < i32(32) { return i32(0) } return func() int32 { 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(42392))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(200 /* X33 */))) *p = (*p) | (u32(1) << uint(_i)) sink985 = *p } if _i == i32(1) || _sqlite3BtreeSharable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_p.X0)).X4)+32*uintptr(_i))).X1))) == 0 { goto _7 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(204 /* X34 */))) *p = (*p) | (u32(1) << uint(_i)) sink985 = *p } _7: return } var _sqlite3VdbeUsesBtreeØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeUsesBtreeØ00__func__Ø000[0], str(42424), 21) } func _sqlite3BtreeSharable(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68799:1 r0 = int32(_p.X3) return } func _sqlite3VdbeAddOp4Int(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32, _p4 int32) (r0 int32) { // sqlite3.c:71644:1 var _addr int32 // sqlite3.c:71652:7 _ = _addr var _1_pOp *XVdbeOp // sqlite3.c:71654:12 _ = _1_pOp _addr = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, _p3) if int32((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != i32(0) { goto _0 } _1_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_addr))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-11)) *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */))))) = _p4 _0: r0 = _addr return } func _sqlite3VdbeChangeP5(tls *crt.TLS, _p *TVdbe, _p5 uint16) { // sqlite3.c:72123:1 func() int32 { if ((_p.X27) > i32(0)) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(42448))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X27) <= i32(0) { goto _3 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr((_p.X27)-i32(1)))))) + uintptr(2 /* X2 */))) = _p5 _3: return } var _sqlite3VdbeChangeP5Ø00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeChangeP5Ø00__func__Ø000[0], str(42480), 20) } func _sqlite3VdbeComment(tls *crt.TLS, _p *TVdbe, _zFormat *int8, args ...interface{}) { // sqlite3.c:72382:1 var _ap []interface{} // sqlite3.c:72383:11 _ = _ap if _p == nil { goto _0 } _ap = args _vdbeVComment(tls, _p, _zFormat, _ap) _ap = nil _0: return } func _vdbeVComment(tls *crt.TLS, _p *TVdbe, _zFormat *int8, _ap []interface{}) { // sqlite3.c:72373:1 func() int32 { if ((_p.X27) > i32(0)) || ((*XVdbeOp)(unsafe.Pointer(_p.X17)) == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(42500))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((*XVdbeOp)(unsafe.Pointer(_p.X17)) == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0))))) || (((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr((_p.X27)-i32(1)))).X7) == (*int8)(unsafe.Pointer(uintptr(i32(0)))))) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(42524))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X27) == 0 { goto _7 } func() int32 { if (*XVdbeOp)(unsafe.Pointer(_p.X17)) != nil { return i32(0) } return func() int32 { 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(42592))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr((_p.X27)-i32(1)))).X7)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr((_p.X27)-i32(1)))))) + uintptr(24 /* X7 */))) = _sqlite3VMPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _zFormat, _ap) _7: return } var _vdbeVCommentØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeVCommentØ00__func__Ø000[0], str(42600), 13) } func _sqlite3GetVTable(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable) (r0 *XVTable) { // sqlite3.c:124667:1 var _pVtab *XVTable // sqlite3.c:124668:10 _ = _pVtab func() int32 { if (_pTab.X16) != 0 { return i32(0) } return func() int32 { 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(24256))) crt.X__builtin_abort(tls) return i32(0) }() }() _pVtab = (*XVTable)(unsafe.Pointer(_pTab.X18)) _2: if _pVtab == nil || (*Xsqlite3)(unsafe.Pointer(_pVtab.X0)) == _db { goto _6 } _pVtab = (*XVTable)(unsafe.Pointer(_pVtab.X6)) goto _2 _6: r0 = _pVtab return } var _sqlite3GetVTableØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GetVTableØ00__func__Ø000[0], str(42616), 17) } func _sqlite3VdbeAddOp4(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32, _zP4 *int8, _p4type int32) (r0 int32) { // sqlite3.c:71595:1 var _addr int32 // sqlite3.c:71604:7 _ = _addr _addr = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, _p3) _sqlite3VdbeChangeP4(tls, _p, _addr, _zP4, _p4type) r0 = _addr return } func _sqlite3VdbeChangeP4(tls *crt.TLS, _p *TVdbe, _addr int32, _zP4 *int8, _n int32) { // sqlite3.c:72294:1 var _pOp *XVdbeOp // sqlite3.c:72295:6 _ = _pOp var _db *Xsqlite3 // sqlite3.c:72296:11 _ = _db func() int32 { if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) func() int32 { if (_p.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(38332))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XVdbeOp)(unsafe.Pointer(_p.X17)) != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(42636))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 { goto _7 } if _n == i32(-8) { goto _8 } _freeP4(tls, _db, _n, (unsafe.Pointer)(_zP4)) _8: return _7: func() int32 { if (_p.X27) > i32(0) { return i32(0) } return func() int32 { 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(42668))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _addr < (_p.X27) { return i32(0) } return func() int32 { 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(42680))) crt.X__builtin_abort(tls) return i32(0) }() }() if _addr >= i32(0) { goto _13 } _addr = (_p.X27) - i32(1) _13: _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_addr))) if _n < i32(0) && (_pOp.X1) == 0 { goto _15 } _vdbeChangeP4Full(tls, _p, _pOp, _zP4, _n) return _15: if _n != i32(-11) { goto _16 } *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = int32(int64(uintptr(unsafe.Pointer(_zP4)))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-11)) goto _17 _16: if _zP4 == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } func() int32 { if _n < i32(0) { return i32(0) } return func() int32 { 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(42692))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(_zP4) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(_n) if _n != i32(-8) { goto _21 } _sqlite3VtabLock(tls, (*XVTable)(unsafe.Pointer(_zP4))) _21: _18: _17: return } var _sqlite3VdbeChangeP4Ø00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeChangeP4Ø00__func__Ø000[0], str(42696), 20) } func _freeP4(tls *crt.TLS, _db *Xsqlite3, _p4type int32, _p4 unsafe.Pointer) { // sqlite3.c:72160:1 func() int32 { if _db != nil { return i32(0) } return func() int32 { 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(8212))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _p4type { case i32(-16): goto _3 case i32(-12): goto _7 case i32(-10): goto _5 case i32(-9): goto _4 case i32(-8): goto _11 case i32(-7): goto _10 case i32(-5): goto _8 case i32(-4): goto _9 case i32(-1): goto _6 default: goto _12 } _3: _freeP4FuncCtx(tls, _db, (*Xsqlite3_context)(unsafe.Pointer(_p4))) goto _12 _4: _5: _6: _7: _sqlite3DbFree(tls, _db, _p4) goto _12 _8: if (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } _sqlite3KeyInfoUnref(tls, (*XKeyInfo)(unsafe.Pointer(_p4))) _13: goto _12 _9: _freeEphemeralFunction(tls, _db, (*XFuncDef)(unsafe.Pointer(_p4))) goto _12 _10: if (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } _sqlite3ValueFree(tls, (*XMem)(unsafe.Pointer(_p4))) goto _15 _14: _freeP4Mem(tls, _db, (*XMem)(unsafe.Pointer(_p4))) _15: goto _12 _11: if (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } _sqlite3VtabUnlock(tls, (*XVTable)(unsafe.Pointer(_p4))) _16: goto _12 _12: return } var _freeP4Ø00__func__Ø000 [7]int8 // - func init() { crt.Xstrncpy(nil, &_freeP4Ø00__func__Ø000[0], str(42716), 7) } func _freeP4FuncCtx(tls *crt.TLS, _db *Xsqlite3, _p *Xsqlite3_context) { // sqlite3.c:72156:1 _freeEphemeralFunction(tls, _db, (*XFuncDef)(unsafe.Pointer(_p.X1))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } func _freeEphemeralFunction(tls *crt.TLS, _db *Xsqlite3, _pDef *XFuncDef) { // sqlite3.c:72141:1 if (int32(_pDef.X1) & i32(16)) == i32(0) { goto _0 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pDef)) _0: return } func _sqlite3KeyInfoUnref(tls *crt.TLS, _p *XKeyInfo) { // sqlite3.c:117301:1 if _p == nil { goto _0 } func() int32 { if (_p.X0) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(12832))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) -= 1 if (_p.X0) != uint32(i32(0)) { goto _3 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X4)), (unsafe.Pointer)(_p)) _3: _0: return } var _sqlite3KeyInfoUnrefØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3KeyInfoUnrefØ00__func__Ø000[0], str(42724), 20) } func _freeP4Mem(tls *crt.TLS, _db *Xsqlite3, _p *XMem) { // sqlite3.c:72152:1 if (_p.X7) == 0 { goto _0 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X6)) _0: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } func _vdbeChangeP4Full(tls *crt.TLS, _p *TVdbe, _pOp *XVdbeOp, _zP4 *int8, _n int32) { // sqlite3.c:72275:1 if (_pOp.X1) == 0 { goto _0 } _freeP4(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), int32(_pOp.X1), *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(0)) *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(uintptr(i32(0))) _0: if _n >= i32(0) { goto _1 } _sqlite3VdbeChangeP4(tls, _p, int32(int64((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(_p.X17)))))/32)), _zP4, _n) goto _2 _1: if _n != i32(0) { goto _3 } _n = _sqlite3Strlen30(tls, _zP4) _3: *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = _sqlite3DbStrNDup(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _zP4, uint64(_n)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-1)) _2: return } func _sqlite3VtabLock(tls *crt.TLS, _pVTab *XVTable) { // sqlite3.c:124657:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTab)) + uintptr(24 /* X3 */))) += 1 return } func _codeTableLocks(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:99542:1 var _i int32 // sqlite3.c:99543:7 _ = _i var _pVdbe *TVdbe // sqlite3.c:99544:8 _ = _pVdbe var _1_p *XTableLock // sqlite3.c:99550:15 _ = _1_p var _1_p1 int32 // sqlite3.c:99551:9 _ = _1_p1 _pVdbe = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _pVdbe != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42744))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= (_pParse.X36) { goto _5 } _1_p = (*XTableLock)(unsafe.Pointer(uintptr(_pParse.X37) + 24*uintptr(_i))) _1_p1 = _1_p.X0 _sqlite3VdbeAddOp4(tls, _pVdbe, i32(152), _1_p1, _1_p.X1, int32(_1_p.X2), _1_p.X3, i32(-2)) _i += 1 goto _2 _5: return } var _codeTableLocksØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_codeTableLocksØ00__func__Ø000[0], str(42756), 15) } func _sqlite3AutoincrementBegin(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:108824:1 var _p *TAggInfo_func // sqlite3.c:108825:15 _ = _p var _db *Xsqlite3 // sqlite3.c:108826:11 _ = _db var _pDb *XDb // sqlite3.c:108827:6 _ = _pDb var _memId int32 // sqlite3.c:108828:7 _ = _memId var _v *TVdbe // sqlite3.c:108829:8 _ = _v var _1_aOp *XVdbeOp // sqlite3.c:108851:12 _ = _1_aOp _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if (*XTable)(unsafe.Pointer(_pParse.X40)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42772))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XParse)(unsafe.Pointer(_pParse.X39)) == (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42796))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*TAggInfo_func)(unsafe.Pointer(_pParse.X38)) _6: if _p == nil { goto _9 } _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_p.X2))) _memId = _p.X3 func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pDb.X4))) != 0 { return i32(0) } return func() int32 { 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(42828))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OpenTable(tls, _pParse, i32(0), _p.X2, (*XTable)(unsafe.Pointer((*XSchema)(unsafe.Pointer(_pDb.X4)).X6)), i32(105)) _sqlite3VdbeLoadString(tls, _v, _memId-i32(1), (*XTable)(unsafe.Pointer(_p.X1)).X0) _1_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(10), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3AutoincrementBeginØ00autoIncØ002)), _sqlite3AutoincrementBeginØ00iLnØ001) if _1_aOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } goto _9 _12: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(0)))))) + uintptr(8 /* X4 */))) = _memId *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(0)))))) + uintptr(12 /* X5 */))) = _memId + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(2)))))) + uintptr(12 /* X5 */))) = _memId *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(3)))))) + uintptr(4 /* X3 */))) = _memId - i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(3)))))) + uintptr(12 /* X5 */))) = _memId *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(3)))))) + uintptr(2 /* X2 */))) = uint16(i32(16)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(4)))))) + uintptr(8 /* X4 */))) = _memId + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(5)))))) + uintptr(12 /* X5 */))) = _memId *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(8)))))) + uintptr(8 /* X4 */))) = _memId _p = (*TAggInfo_func)(unsafe.Pointer(_p.X0)) goto _6 _9: return } var _sqlite3AutoincrementBeginØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AutoincrementBeginØ00__func__Ø000[0], str(42872), 26) } func _sqlite3OpenTable(tls *crt.TLS, _pParse *XParse, _iCur int32, _iDb int32, _pTab *XTable, _opcode int32) { // sqlite3.c:108594:1 var _v *TVdbe // sqlite3.c:108601:8 _ = _v var _2_pPk *XIndex // sqlite3.c:108611:11 _ = _2_pPk func() int32 { if (_pTab.X16) == 0 { return i32(0) } return func() int32 { 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(42900))) crt.X__builtin_abort(tls) return i32(0) }() }() _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if (_opcode == i32(106)) || (_opcode == i32(105)) { return i32(0) } return func() int32 { 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(42920))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(func() int32 { if _opcode == i32(106) { return i32(1) } return i32(0) }()), _pTab.X0) if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _7 } _sqlite3VdbeAddOp4Int(tls, _v, _opcode, _iCur, _pTab.X7, _iDb, int32(_pTab.X11)) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pTab.X0)) goto _8 _7: _2_pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) func() int32 { if _2_pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42964))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_2_pPk.X11) == (_pTab.X7) { return i32(0) } return func() int32 { 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(42972))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, _opcode, _iCur, _2_pPk.X11, _iDb) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _2_pPk) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pTab.X0)) _8: return } var _sqlite3OpenTableØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3OpenTableØ00__func__Ø000[0], str(42996), 17) } func _sqlite3TableLock(tls *crt.TLS, _pParse *XParse, _iDb int32, _iTab int32, _isWriteLock uint8, _zName *int8) { // sqlite3.c:99500:1 var _pToplevel *XParse // sqlite3.c:99507:9 _ = _pToplevel var _i int32 // sqlite3.c:99508:7 _ = _i var _nBytes int32 // sqlite3.c:99509:7 _ = _nBytes var _p *XTableLock // sqlite3.c:99510:13 _ = _p _pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() func() int32 { if _iDb >= i32(0) { return i32(0) } return func() int32 { 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(43016))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iDb != i32(1) { goto _4 } return _4: if _sqlite3BtreeSharable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+32*uintptr(_iDb))).X1))) != 0 { goto _5 } return _5: _i = i32(0) _6: if _i >= (_pToplevel.X36) { goto _9 } _p = (*XTableLock)(unsafe.Pointer(uintptr(_pToplevel.X37) + 24*uintptr(_i))) if (_p.X0) != _iDb || (_p.X1) != _iTab { goto _11 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint8(bool2int(((_p.X2) != 0) || (_isWriteLock != 0))) return _11: _i += 1 goto _6 _9: _nBytes = int32(u64(24) * uint64((_pToplevel.X36)+i32(1))) *(**XTableLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(152 /* X37 */))))) = (*XTableLock)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_pToplevel.X0)), _pToplevel.X37, uint64(_nBytes)))) if (*XTableLock)(unsafe.Pointer(_pToplevel.X37)) == nil { goto _13 } _p = (*XTableLock)(unsafe.Pointer(uintptr(_pToplevel.X37) + 24*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel))+uintptr(148 /* X36 */))), int32(1))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _iTab *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _isWriteLock *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = _zName goto _14 _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(148 /* X36 */))) = i32(0) _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_pToplevel.X0))) _14: return } var _sqlite3TableLockØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TableLockØ00__func__Ø000[0], str(43024), 17) } func _sqlite3PrimaryKeyIndex(tls *crt.TLS, _pTab *XTable) (r0 *XIndex) { // sqlite3.c:100259:1 var _p *XIndex // sqlite3.c:100260:9 _ = _p _p = (*XIndex)(unsafe.Pointer(_pTab.X2)) _0: if _p == nil || int32((uint32(_p.X16)<>uint(i32(30))) == i32(2) { goto _4 } _p = (*XIndex)(unsafe.Pointer(_p.X5)) goto _0 _4: r0 = _p return } func _sqlite3VdbeSetP4KeyInfo(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex) { // sqlite3.c:72357:1 var _v *TVdbe // sqlite3.c:72358:8 _ = _v var _pKeyInfo *XKeyInfo // sqlite3.c:72359:11 _ = _pKeyInfo _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43052))) crt.X__builtin_abort(tls) return i32(0) }() }() _pKeyInfo = _sqlite3KeyInfoOfIndex(tls, _pParse, _pIdx) if _pKeyInfo == nil { goto _4 } _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_pKeyInfo), i32(-5)) _4: return } var _sqlite3VdbeSetP4KeyInfoØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSetP4KeyInfoØ00__func__Ø000[0], str(43060), 24) } func _sqlite3KeyInfoOfIndex(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex) (r0 *XKeyInfo) { // sqlite3.c:103803:1 var _i int32 // sqlite3.c:103804:7 _ = _i var _nCol int32 // sqlite3.c:103805:7 _ = _nCol var _nKey int32 // sqlite3.c:103806:7 _ = _nKey var _pKey *XKeyInfo // sqlite3.c:103807:11 _ = _pKey var _4_zColl *int8 // sqlite3.c:103817:18 _ = _4_zColl _nCol = int32(_pIdx.X14) _nKey = int32(_pIdx.X13) if (_pParse.X16) == 0 { goto _0 } r0 = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) return _0: if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _1 } _pKey = _sqlite3KeyInfoAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _nKey, _nCol-_nKey) goto _2 _1: _pKey = _sqlite3KeyInfoAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _nCol, i32(0)) _2: if _pKey == nil { goto _3 } func() int32 { if _sqlite3KeyInfoIsWriteable(tls, _pKey) != 0 { return i32(0) } return func() int32 { 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(43084))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _6: if _i >= _nCol { goto _9 } _4_zColl = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_i))) *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKey))+uintptr(32 /* X6 */))))) + 8*uintptr(_i))) = func() *XCollSeq { if _4_zColl == (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) { return (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) } return _sqlite3LocateCollSeq(tls, _pParse, _4_zColl) }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKey.X5)) + 1*uintptr(_i))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X7)) + 1*uintptr(_i))) _i += 1 goto _6 _9: if (_pParse.X16) == 0 { goto _12 } _sqlite3KeyInfoUnref(tls, _pKey) _pKey = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) _12: _3: r0 = _pKey return } func _sqlite3KeyInfoAlloc(tls *crt.TLS, _db *Xsqlite3, _N int32, _X int32) (r0 *XKeyInfo) { // sqlite3.c:117281:1 var _nExtra int32 // sqlite3.c:117282:7 _ = _nExtra var _p *XKeyInfo // sqlite3.c:117283:11 _ = _p _nExtra = int32(uint64(_N+_X) * u64(9)) _p = (*XKeyInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(40)+uint64(_nExtra)))) if _p == nil { goto _0 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))) = (*uint8)(unsafe.Pointer((**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))))) + 8*uintptr(_N+_X))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = uint16(_N) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) = uint16(_X) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _db.X14 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = _db *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint32(i32(1)) crt.Xmemset(tls, (unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+40*uintptr(i32(1))))), i32(0), uint64(_nExtra)) goto _1 _0: _sqlite3OomFault(tls, _db) _1: r0 = _p return } func _sqlite3KeyInfoIsWriteable(tls *crt.TLS, _p *XKeyInfo) (r0 int32) { // sqlite3.c:117327:1 r0 = bool2int((_p.X0) == uint32(i32(1))) return } var _sqlite3KeyInfoOfIndexØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3KeyInfoOfIndexØ00__func__Ø000[0], str(43116), 22) } var _sqlite3StrBINARY [7]int8 // sqlite3.c:17422:27 func init() { crt.Xstrncpy(nil, &_sqlite3StrBINARY[0], str(38588), 7) } func _sqlite3LocateCollSeq(tls *crt.TLS, _pParse *XParse, _zName *int8) (r0 *XCollSeq) { // sqlite3.c:100888:1 var _db *Xsqlite3 // sqlite3.c:100889:11 _ = _db var _enc uint8 // sqlite3.c:100890:6 _ = _enc var _initbusy uint8 // sqlite3.c:100891:6 _ = _initbusy var _pColl *XCollSeq // sqlite3.c:100892:11 _ = _pColl _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _enc = _db.X14 _initbusy = (*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2 _pColl = _sqlite3FindCollSeq(tls, _db, _enc, _zName, int32(_initbusy)) if _initbusy != 0 || _pColl != nil && (_pColl.X3) != nil { goto _2 } _pColl = _sqlite3GetCollSeq(tls, _pParse, _enc, _pColl, _zName) _2: r0 = _pColl return } func _sqlite3GetCollSeq(tls *crt.TLS, _pParse *XParse, _enc uint8, _pColl *XCollSeq, _zName *int8) (r0 *XCollSeq) { // sqlite3.c:103982:1 var _p *XCollSeq // sqlite3.c:103988:11 _ = _p var _db *Xsqlite3 // sqlite3.c:103989:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _p = _pColl if _p != nil { goto _0 } _p = _sqlite3FindCollSeq(tls, _db, _enc, _zName, i32(0)) _0: if _p != nil && (_p.X3) != nil { goto _2 } _callCollNeeded(tls, _db, int32(_enc), _zName) _p = _sqlite3FindCollSeq(tls, _db, _enc, _zName, i32(0)) _2: if _p == nil || (_p.X3) != nil || _synthCollSeq(tls, _db, _p) == 0 { goto _5 } _p = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) _5: func() int32 { if (_p == nil) || ((_p.X3) != nil) { return i32(0) } return func() int32 { 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(43140))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } _sqlite3ErrorMsg(tls, _pParse, str(43156), unsafe.Pointer(_zName)) _9: r0 = _p return } func _callCollNeeded(tls *crt.TLS, _db *Xsqlite3, _enc int32, _zName *int8) { // sqlite3.c:103923:1 var _1_zExternal *int8 // sqlite3.c:103926:10 _ = _1_zExternal var _2_zExternal *int8 // sqlite3.c:103933:16 _ = _2_zExternal var _2_pTmp *XMem // sqlite3.c:103934:19 _ = _2_pTmp func() int32 { if ((*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) }{(_db.X53)}))) == nil) || ((*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) }{(_db.X54)}))) == nil) { return i32(0) } return func() int32 { 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(43188))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) }{(_db.X53)}))) == nil { goto _3 } _1_zExternal = _sqlite3DbStrDup(tls, _db, _zName) if _1_zExternal != nil { goto _4 } return _4: (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) }{(_db.X53)})))(tls, _db.X55, _db, _enc, _1_zExternal) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_zExternal)) _3: if (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) }{(_db.X54)}))) == nil { goto _5 } _2_pTmp = _sqlite3ValueNew(tls, _db) _sqlite3ValueSetStr(tls, _2_pTmp, i32(-1), (unsafe.Pointer)(_zName), uint8(i32(1)), nil) _2_zExternal = (*int8)(unsafe.Pointer(_sqlite3ValueText(tls, _2_pTmp, uint8(i32(2))))) if _2_zExternal == nil { goto _6 } (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) }{(_db.X54)})))(tls, _db.X55, _db, int32(_db.X14), (unsafe.Pointer)(_2_zExternal)) _6: _sqlite3ValueFree(tls, _2_pTmp) _5: return } var _callCollNeededØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_callCollNeededØ00__func__Ø000[0], str(43228), 15) } func _sqlite3DbStrDup(tls *crt.TLS, _db *Xsqlite3, _z *int8) (r0 *int8) { // sqlite3.c:24924:1 var _zNew *int8 // sqlite3.c:24925:8 _ = _zNew var _n uint64 // sqlite3.c:24926:10 _ = _n if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: _n = crt.Xstrlen(tls, _z) + uint64(i32(1)) _zNew = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, _n))) if _zNew == nil { goto _1 } crt.Xmemcpy(tls, (unsafe.Pointer)(_zNew), (unsafe.Pointer)(_z), _n) _1: r0 = _zNew return } func _synthCollSeq(tls *crt.TLS, _db *Xsqlite3, _pColl *XCollSeq) (r0 int32) { // sqlite3.c:103952:1 var _pColl2 *XCollSeq // sqlite3.c:103953:11 _ = _pColl2 var _z *int8 // sqlite3.c:103954:8 _ = _z var _i int32 // sqlite3.c:103955:7 _ = _i _z = _pColl.X0 _i = i32(0) _0: if _i >= i32(3) { goto _3 } _pColl2 = _sqlite3FindCollSeq(tls, _db, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_synthCollSeqØ00aEncØ001)) + 1*uintptr(_i))), _z, i32(0)) if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32 }{(_pColl2.X3)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32 }{nil})) { goto _4 } crt.Xmemcpy(tls, (unsafe.Pointer)(_pColl), (unsafe.Pointer)(_pColl2), u64(40)) *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(32 /* X4 */))) = nil r0 = i32(0) return _4: _i += 1 goto _0 _3: r0 = i32(1) return } var _synthCollSeqØ00aEncØ001 [3]uint8 // sqlite3.c:103956:19 func init() { _synthCollSeqØ00aEncØ001 = [3]uint8{3, 2, 1} } var _sqlite3GetCollSeqØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GetCollSeqØ00__func__Ø000[0], str(43244), 18) } func _sqlite3VdbeAppendP4(tls *crt.TLS, _p *TVdbe, _pP4 unsafe.Pointer, _n int32) { // sqlite3.c:72337:1 var _pOp *XVdbeOp // sqlite3.c:72338:10 _ = _pOp func() int32 { if (_n != i32(-11)) && (_n != i32(-8)) { return i32(0) } return func() int32 { 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(43264))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _n <= i32(0) { return i32(0) } return func() int32 { 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(43292))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { goto _5 } _freeP4(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _n, _pP4) goto _6 _5: func() int32 { if _pP4 != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(43300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X27) > i32(0) { return i32(0) } return func() int32 { 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(42668))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr((_p.X27)-i32(1)))) func() int32 { if int32(_pOp.X1) == i32(0) { return i32(0) } return func() int32 { 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(43308))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(_n) *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = _pP4 _6: return } var _sqlite3VdbeAppendP4Ø00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeAppendP4Ø00__func__Ø000[0], str(43332), 20) } func _sqlite3VdbeLoadString(tls *crt.TLS, _p *TVdbe, _iDest int32, _zStr *int8) (r0 int32) { // sqlite3.c:71563:1 r0 = _sqlite3VdbeAddOp4(tls, _p, i32(97), i32(0), _iDest, i32(0), _zStr, i32(0)) return } func _sqlite3VdbeAddOpList(tls *crt.TLS, _p *TVdbe, _nOp int32, _aOp *XVdbeOpList, _iLineno int32) (r0 *XVdbeOp) { // sqlite3.c:72035:1 var _i int32 // sqlite3.c:72041:7 _ = _i var _pOut *XVdbeOp // sqlite3.c:72042:10 _ = _pOut var _pFirst *XVdbeOp // sqlite3.c:72042:17 _ = _pFirst func() int32 { if _nOp > i32(0) { return i32(0) } return func() int32 { 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(43352))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(38332))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_p.X27)+_nOp) <= ((*XParse)(unsafe.Pointer(_p.X3)).X19) || _growOpArray(tls, _p, _nOp) == 0 { goto _5 } r0 = (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) return _5: _pFirst = store5776833(&_pOut, (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_p.X27)))) _i = i32(0) _6: if _i >= _nOp { goto _9 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))) = _aOp.X0 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(4 /* X3 */))) = int32(_aOp.X1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X4 */))) = int32(_aOp.X2) func() int32 { if int32(_aOp.X2) >= i32(0) { return i32(0) } return func() int32 { 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(43360))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_aOp.X0))))&i32(1)) == i32(0) || int32(_aOp.X2) <= i32(0) { goto _13 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X4 */))) *p = (*p) + (_p.X27) sink961 = *p } _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X5 */))) = int32(_aOp.X3) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(1 /* X1 */))) = int8(i32(0)) *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(uintptr(i32(0))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(2 /* X2 */))) = uint16(i32(0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(24 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(4096)) == 0 { goto _14 } _sqlite3VdbePrintOp(tls, (*crt.XFILE)(unsafe.Pointer(uintptr(i32(0)))), _i+(_p.X27), (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_i+(_p.X27))))) _14: *(*uintptr)(unsafe.Pointer(func() **XVdbeOp { *(*uintptr)(unsafe.Pointer(func() **XVdbeOpList { _i += 1; return &_aOp }())) += uintptr(4) return &_pOut }())) += uintptr(32) goto _6 _9: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(184 /* X27 */))) *p = (*p) + _nOp sink961 = *p } r0 = _pFirst return } var _sqlite3VdbeAddOpListØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeAddOpListØ00__func__Ø000[0], str(43372), 21) } var _sqlite3OpcodeProperty [164]uint8 // sqlite3.c:17417:36 func init() { _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} } var _sqlite3AutoincrementBeginØ00autoIncØ002 [10]XVdbeOpList // sqlite3.c:108839:29 func init() { _sqlite3AutoincrementBeginØ00autoIncØ002 = [10]XVdbeOpList{XVdbeOpList{X0: u8(80), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(58), X1: i8(0), X2: i8(9), X3: i8(0)}, XVdbeOpList{X0: u8(98), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(36), X1: i8(0), X2: i8(7), X3: i8(0)}, XVdbeOpList{X0: u8(123), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(98), X1: i8(0), X2: i8(1), X3: i8(0)}, XVdbeOpList{X0: u8(13), X1: i8(0), X2: i8(9), X3: i8(0)}, XVdbeOpList{X0: u8(7), X1: i8(0), X2: i8(2), X3: i8(0)}, XVdbeOpList{X0: u8(77), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(112), X1: i8(0), X2: i8(0), X3: i8(0)}} } var _sqlite3AutoincrementBeginØ00iLnØ001 int32 // sqlite3.c:108838:22 func _sqlite3ExprCode(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94824:1 var _inReg int32 // sqlite3.c:94825:7 _ = _inReg func() int32 { if (_target > i32(0)) && (_target <= (_pParse.X18)) { return i32(0) } return func() int32 { 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(43396))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pExpr == nil || int32(_pExpr.X0) != i32(157) { goto _4 } _sqlite3VdbeAddOp2(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), i32(85), _pExpr.X8, _target) goto _5 _4: _inReg = _sqlite3ExprCodeTarget(tls, _pParse, _pExpr, _target) func() int32 { if ((*TVdbe)(unsafe.Pointer(_pParse.X2)) != (*TVdbe)(unsafe.Pointer(uintptr(i32(0))))) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(43432))) crt.X__builtin_abort(tls) return i32(0) }() }() if _inReg == _target || (*TVdbe)(unsafe.Pointer(_pParse.X2)) == nil { goto _10 } _sqlite3VdbeAddOp2(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), i32(86), _inReg, _target) _10: _5: return } var _sqlite3ExprCodeØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeØ00__func__Ø000[0], str(43480), 16) } func _sqlite3ExprCodeTarget(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) (r0 int32) { // sqlite3.c:94117:1 var _v *TVdbe // sqlite3.c:94118:8 _ = _v var _op int32 // sqlite3.c:94119:7 _ = _op var _inReg int32 // sqlite3.c:94120:7 _ = _inReg var _regFree1 int32 // sqlite3.c:94121:7 _ = _regFree1 var _regFree2 int32 // sqlite3.c:94122:7 _ = _regFree2 var _r1 int32 // sqlite3.c:94123:7 _ = _r1 var _r2 int32 // sqlite3.c:94123:11 _ = _r2 var _tempX XExpr // sqlite3.c:94124:8 _ = _tempX var _p5 int32 // sqlite3.c:94125:7 _ = _p5 var _5_pAggInfo *XAggInfo // sqlite3.c:94140:15 _ = _5_pAggInfo var _5_pCol *TAggInfo_col // sqlite3.c:94141:26 _ = _5_pCol var _8_iTab int32 // sqlite3.c:94153:11 _ = _8_iTab var _16_n int32 // sqlite3.c:94190:11 _ = _16_n var _16_z *int8 // sqlite3.c:94191:18 _ = _16_z var _16_zBlob *int8 // sqlite3.c:94192:12 _ = _16_zBlob var _18_z *int8 // sqlite3.c:94210:20 _ = _18_z var _22_pLeft *XExpr // sqlite3.c:94246:12 _ = _22_pLeft var _26_pLeft *XExpr // sqlite3.c:94296:12 _ = _26_pLeft var _31_addr int32 // sqlite3.c:94329:11 _ = _31_addr var _32_pInfo *XAggInfo // sqlite3.c:94343:15 _ = _32_pInfo var _35_pFarg *XExprList // sqlite3.c:94353:16 _ = _35_pFarg var _35_nFarg int32 // sqlite3.c:94354:11 _ = _35_nFarg var _35_pDef *XFuncDef // sqlite3.c:94355:15 _ = _35_pDef var _35_zId *int8 // sqlite3.c:94356:18 _ = _35_zId var _35_constMask uint32 // sqlite3.c:94357:11 _ = _35_constMask var _35_i int32 // sqlite3.c:94358:11 _ = _35_i var _35_db *Xsqlite3 // sqlite3.c:94359:15 _ = _35_db var _35_enc uint8 // sqlite3.c:94360:10 _ = _35_enc var _35_pColl *XCollSeq // sqlite3.c:94361:15 _ = _35_pColl var _40_endCoalesce int32 // sqlite3.c:94393:13 _ = _40_endCoalesce var _43_azAff [5]*int8 // sqlite3.c:94422:20 _ = _43_azAff var _43_aff int8 // sqlite3.c:94423:14 _ = _43_aff var _50_exprOp uint8 // sqlite3.c:94455:14 _ = _50_exprOp var _57_nCol int32 // sqlite3.c:94509:11 _ = _57_nCol var _60_n int32 // sqlite3.c:94520:11 _ = _60_n var _63_destIfFalse int32 // sqlite3.c:94534:11 _ = _63_destIfFalse var _63_destIfNull int32 // sqlite3.c:94535:11 _ = _63_destIfNull var _66_pTab *XTable // sqlite3.c:94594:13 _ = _66_pTab var _66_p1 int32 // sqlite3.c:94595:11 _ = _66_p1 var _69_endLabel int32 // sqlite3.c:94651:11 _ = _69_endLabel var _69_nextCase int32 // sqlite3.c:94652:11 _ = _69_nextCase var _69_nExpr int32 // sqlite3.c:94653:11 _ = _69_nExpr var _69_i int32 // sqlite3.c:94654:11 _ = _69_i var _69_pEList *XExprList // sqlite3.c:94655:16 _ = _69_pEList var _69_aListelem *TExprList_item // sqlite3.c:94656:28 _ = _69_aListelem var _69_opCompare XExpr // sqlite3.c:94657:12 _ = _69_opCompare var _69_pX *XExpr // sqlite3.c:94658:12 _ = _69_pX var _69_pTest *XExpr // sqlite3.c:94659:12 _ = _69_pTest var _69_iCacheLevel int32 // sqlite3.c:94660:21 _ = _69_iCacheLevel _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _inReg = _target _regFree1 = i32(0) _regFree2 = i32(0) _p5 = i32(0) func() int32 { if (_target > i32(0)) && (_target <= (_pParse.X18)) { return i32(0) } return func() int32 { 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(43396))) crt.X__builtin_abort(tls) return i32(0) }() }() if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { return i32(0) } return func() int32 { 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(43496))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return _3: if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _op = i32(101) goto _7 _6: _op = int32(_pExpr.X0) _7: switch _op { case i32(19): goto _41 case i32(20): goto _46 case i32(27): goto _28 case i32(28): goto _27 case i32(29): goto _19 case i32(32): goto _50 case i32(33): goto _49 case i32(34): goto _42 case i32(35): goto _43 case i32(36): goto _25 case i32(37): goto _26 case i32(38): goto _23 case i32(39): goto _22 case i32(40): goto _21 case i32(41): goto _24 case i32(43): goto _33 case i32(44): goto _34 case i32(45): goto _36 case i32(46): goto _37 case i32(47): goto _29 case i32(48): goto _31 case i32(49): goto _30 case i32(50): goto _35 case i32(51): goto _32 case i32(52): goto _38 case i32(53): goto _52 case i32(54): goto _40 case i32(66): goto _18 case i32(83): goto _57 case i32(88): goto _54 case i32(97): goto _13 case i32(101): goto _14 case i32(119): goto _47 case i32(132): goto _12 case i32(133): goto _15 case i32(134): goto _11 case i32(135): goto _16 case i32(148): goto _20 case i32(151): goto _45 case i32(152): goto _10 case i32(153): goto _44 case i32(154): goto _9 case i32(155): goto _39 case i32(156): goto _53 case i32(157): goto _17 case i32(158): goto _55 case i32(159): goto _48 case i32(161): goto _51 default: goto _56 } _9: _5_pAggInfo = (*XAggInfo)(unsafe.Pointer(_pExpr.X13)) _5_pCol = (*TAggInfo_col)(unsafe.Pointer(uintptr(_5_pAggInfo.X8) + 32*uintptr(_pExpr.X10))) if (_5_pAggInfo.X0) != 0 { goto _58 } func() int32 { if (_5_pCol.X4) > i32(0) { return i32(0) } return func() int32 { 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(43524))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _5_pCol.X4 return _58: if (_5_pAggInfo.X1) == 0 { goto _62 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _5_pAggInfo.X3, _5_pCol.X3, _target) r0 = _target return _62: _10: _8_iTab = _pExpr.X8 if _8_iTab >= i32(0) { goto _63 } if (_pParse.X21) <= i32(0) { goto _64 } r0 = int32(_pExpr.X9) + (_pParse.X21) return _64: _8_iTab = _pParse.X22 _63: r0 = _sqlite3ExprCodeGetColumn(tls, _pParse, (*XTable)(unsafe.Pointer(_pExpr.X14)), int32(_pExpr.X9), _8_iTab, _target, _pExpr.X12) return _11: _codeInteger(tls, _pParse, _pExpr, i32(0), _target) r0 = _target return _12: func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() _codeReal(tls, _v, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), i32(0), _target) r0 = _target return _13: func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeLoadString(tls, _v, _target, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) r0 = _target return _14: _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _target) r0 = _target return _15: func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(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((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(88)) { return i32(0) } return func() int32 { 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(43580))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == i32(39) { return i32(0) } return func() int32 { 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(43632))) crt.X__builtin_abort(tls) return i32(0) }() }() _16_z = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(2)))) _16_n = _sqlite3Strlen30(tls, _16_z) - i32(1) func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_16_z)) + 1*uintptr(_16_n)))) == i32(39) { return i32(0) } return func() int32 { 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(43660))) crt.X__builtin_abort(tls) return i32(0) }() }() _16_zBlob = (*int8)(unsafe.Pointer(_sqlite3HexToBlob(tls, _sqlite3VdbeDb(tls, _v), _16_z, _16_n))) _sqlite3VdbeAddOp4(tls, _v, i32(82), _16_n/i32(2), _target, i32(0), _16_zBlob, i32(-1)) r0 = _target return _16: func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43672))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) != i32(0) { return i32(0) } return func() int32 { 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(43692))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(83), int32(_pExpr.X9), _target) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == i32(0) { goto _85 } _18_z = _sqlite3VListNumToName(tls, _pParse.X60, int32(_pExpr.X9)) func() int32 { if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(63)) || (crt.Xstrcmp(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), _18_z) == i32(0)) { return i32(0) } return func() int32 { 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(43716))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse.X60)) + 4*uintptr(i32(0)))) = i32(0) _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_18_z), i32(-2)) _85: r0 = _target return _17: r0 = _pExpr.X8 return _18: _inReg = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _target) if _inReg == _target { goto _89 } _sqlite3VdbeAddOp2(tls, _v, i32(86), _inReg, _target) _inReg = _target _89: _sqlite3VdbeAddOp2(tls, _v, i32(94), _target, int32(_sqlite3AffinityType(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*uint8)(unsafe.Pointer(uintptr(i32(0))))))) _sqlite3ExprCacheAffinityChange(tls, _pParse, _inReg, i32(1)) r0 = _inReg return _19: _20: _op = func() int32 { if _op == i32(29) { return i32(37) } return i32(36) }() _p5 = i32(128) _21: _22: _23: _24: _25: _26: _22_pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) if _sqlite3ExprIsVector(tls, _22_pLeft) == 0 { goto _92 } _codeVectorCompare(tls, _pParse, _pExpr, _target, uint8(_op), uint8(_p5)) goto _93 _92: _r1 = _sqlite3ExprCodeTemp(tls, _pParse, _22_pLeft, &_regFree1) _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) _codeCompare(tls, _pParse, _22_pLeft, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _op, _r1, _r2, _inReg, i32(32)|_p5) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) _93: goto _94 _27: _28: _29: _30: _31: _32: _33: _34: _35: _36: _37: _38: i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) _sqlite3VdbeAddOp3(tls, _v, _op, _r2, _r1, _target) goto _94 _39: _26_pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) func() int32 { if _26_pLeft != nil { return i32(0) } return func() int32 { 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(43776))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_26_pLeft.X0) != i32(134) { goto _97 } _codeInteger(tls, _pParse, _26_pLeft, i32(1), _target) r0 = _target return _97: if int32(_26_pLeft.X0) != i32(132) { goto _99 } func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() _codeReal(tls, _v, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLeft)) + uintptr(8 /* X3 */))))), i32(1), _target) r0 = _target return _99: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempX)) + uintptr(0 /* X0 */))) = uint8(i32(134)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempX)) + uintptr(4 /* X2 */))) = uint32(i32(17408)) *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempX)) + uintptr(8 /* X3 */))))) = i32(0) _r1 = _sqlite3ExprCodeTemp(tls, _pParse, &_tempX, &_regFree1) _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree2) _sqlite3VdbeAddOp3(tls, _v, i32(48), _r2, _r1, _target) goto _94 _40: _41: i32(0) i32(0) _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _sqlite3VdbeAddOp2(tls, _v, _op, _r1, _inReg) goto _94 _42: _43: i32(0) i32(0) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _target) _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _31_addr = _sqlite3VdbeAddOp1(tls, _v, _op, _r1) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _target) _sqlite3VdbeJumpHere(tls, _v, _31_addr) goto _94 _44: _32_pInfo = (*XAggInfo)(unsafe.Pointer(_pExpr.X13)) if _32_pInfo != (*XAggInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _103 } func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ErrorMsg(tls, _pParse, str(43784), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _106 _103: r0 = (*TAggInfo_func)(unsafe.Pointer(uintptr(_32_pInfo.X11) + 24*uintptr(_pExpr.X10))).X2 return _106: goto _94 _45: _35_constMask = u32(0) _35_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _35_enc = _35_db.X14 _35_pColl = nil if (_pParse.X11) == 0 || _sqlite3ExprIsConstantNotJoin(tls, _pExpr) == 0 { goto _108 } r0 = _sqlite3ExprCodeAtInit(tls, _pParse, _pExpr, i32(-1)) return _108: func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pExpr.X2) & uint32(i32(16384))) == uint32(i32(0)) { goto _111 } _35_pFarg = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) goto _112 _111: _35_pFarg = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _112: _35_nFarg = func() int32 { if _35_pFarg != nil { return (_35_pFarg.X0) } return i32(0) }() func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() _35_zId = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) _35_pDef = _sqlite3FindFunction(tls, _35_db, _35_zId, _35_nFarg, _35_enc, uint8(i32(0))) if _35_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) && *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{(*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_35_pDef.X5)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{nil})) { goto _118 } _sqlite3ErrorMsg(tls, _pParse, str(43852), unsafe.Pointer(_35_zId)) goto _94 _118: if (int32(_35_pDef.X1) & i32(512)) == 0 { goto _119 } _40_endCoalesce = _sqlite3VdbeMakeLabel(tls, _v) func() int32 { if _35_nFarg >= i32(2) { return i32(0) } return func() int32 { 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(43876))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(0)))).X0)), _target) _35_i = i32(1) _122: if _35_i >= _35_nFarg { goto _125 } _sqlite3VdbeAddOp2(tls, _v, i32(35), _target, _40_endCoalesce) _sqlite3ExprCacheRemove(tls, _pParse, _target, i32(1)) _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(_35_i))).X0)), _target) _sqlite3ExprCachePop(tls, _pParse) _35_i += 1 goto _122 _125: _sqlite3VdbeResolveLabel(tls, _v, _40_endCoalesce) goto _94 _119: if (int32(_35_pDef.X1) & i32(1024)) == 0 { goto _126 } func() int32 { if _35_nFarg >= i32(1) { return i32(0) } return func() int32 { 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(43888))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(0)))).X0)), _target) return _126: if (int32(_35_pDef.X1) & i32(16384)) == 0 { goto _129 } _43_azAff = [5]*int8{} *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 8*uintptr(i32(0)))) = str(43900) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 8*uintptr(i32(1)))) = str(43908) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 8*uintptr(i32(2)))) = str(43916) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 8*uintptr(i32(3)))) = str(43924) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 8*uintptr(i32(4)))) = str(43932) func() int32 { if _35_nFarg == i32(1) { return i32(0) } return func() int32 { 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(43940))) crt.X__builtin_abort(tls) return i32(0) }() }() _43_aff = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(0)))).X0))) _sqlite3VdbeLoadString(tls, _v, _target, func() *int8 { if _43_aff != 0 { return (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 8*uintptr(int32(_43_aff)-i32(65))))) } return str(43952) }()) r0 = _target return _129: _35_i = i32(0) _134: if _35_i >= _35_nFarg { goto _137 } if _35_i >= i32(32) || _sqlite3ExprIsConstant(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(_35_i))).X0))) == 0 { goto _139 } { p := &_35_constMask *p = (*p) | (u32(1) << uint(_35_i)) sink985 = *p } _139: if (int32(_35_pDef.X1)&i32(32)) == i32(0) || _35_pColl != nil { goto _141 } _35_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(_35_i))).X0))) _141: _35_i += 1 goto _134 _137: if _35_pFarg == nil { goto _142 } if _35_constMask == 0 { goto _143 } _r1 = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _35_nFarg sink961 = *p } goto _144 _143: _r1 = _sqlite3GetTempRange(tls, _pParse, _35_nFarg) _144: if (int32(_35_pDef.X1) & i32(192)) == i32(0) { goto _145 } func() int32 { if _35_nFarg == i32(1) { return i32(0) } return func() int32 { 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(43940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(0)))).X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43960))) crt.X__builtin_abort(tls) return i32(0) }() }() _50_exprOp = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1) + 32*uintptr(i32(0)))).X0)).X0 if int32(_50_exprOp) != i32(152) && int32(_50_exprOp) != i32(154) { goto _151 } i32(0) i32(0) *(*uint8)(unsafe.Pointer(uintptr((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(0)))).X0) + uintptr(54 /* X12 */))) = uint8(int32(_35_pDef.X1) & i32(192)) _151: _145: _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprCodeExprList(tls, _pParse, _35_pFarg, _r1, i32(0), uint8(i32(3))) _sqlite3ExprCachePop(tls, _pParse) goto _152 _142: _r1 = i32(0) _152: if _35_nFarg < i32(2) || ((_pExpr.X2)&uint32(i32(128))) == 0 { goto _154 } _35_pDef = _sqlite3VtabOverloadFunction(tls, _35_db, _35_pDef, _35_nFarg, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(1)))).X0))) goto _155 _154: if _35_nFarg <= i32(0) { goto _156 } _35_pDef = _sqlite3VtabOverloadFunction(tls, _35_db, _35_pDef, _35_nFarg, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_35_pFarg.X1)+32*uintptr(i32(0)))).X0))) _156: _155: if (int32(_35_pDef.X1) & i32(32)) == 0 { goto _157 } if _35_pColl != nil { goto _158 } _35_pColl = (*XCollSeq)(unsafe.Pointer(_35_db.X2)) _158: _sqlite3VdbeAddOp4(tls, _v, i32(89), i32(0), i32(0), i32(0), (*int8)(unsafe.Pointer(_35_pColl)), i32(-3)) _157: _sqlite3VdbeAddOp4(tls, _v, i32(90), int32(_35_constMask), _r1, _target, (*int8)(unsafe.Pointer(_35_pDef)), i32(-4)) _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_35_nFarg))) if _35_nFarg == 0 || _35_constMask != uint32(i32(0)) { goto _160 } _sqlite3ReleaseTempRange(tls, _pParse, _r1, _35_nFarg) _160: r0 = _target return _46: _47: if _op != i32(119) || store961(&_57_nCol, (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0)).X0) == i32(1) { goto _162 } _sqlite3SubselectError(tls, _pParse, _57_nCol, i32(1)) goto _163 _162: r0 = _sqlite3CodeSubselect(tls, _pParse, _pExpr, i32(0), i32(0)) return _163: goto _94 _48: if ((*XExpr)(unsafe.Pointer(_pExpr.X4)).X8) != i32(0) { goto _164 } *(*int32)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(44 /* X8 */))) = _sqlite3CodeSubselect(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), i32(0), i32(0)) _164: func() int32 { if ((_pExpr.X8) == i32(0)) || (int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) == i32(119)) { return i32(0) } return func() int32 { 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(43984))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pExpr.X8) == 0 || (_pExpr.X8) == store961(&_60_n, _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4)))) { goto _169 } _sqlite3ErrorMsg(tls, _pParse, str(44032), _pExpr.X8, _60_n) _169: r0 = ((*XExpr)(unsafe.Pointer(_pExpr.X4)).X8) + int32(_pExpr.X9) return _49: _63_destIfFalse = _sqlite3VdbeMakeLabel(tls, _v) _63_destIfNull = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _target) _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _63_destIfFalse, _63_destIfNull) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _target) _sqlite3VdbeResolveLabel(tls, _v, _63_destIfFalse) _sqlite3VdbeAddOp2(tls, _v, i32(92), _target, i32(0)) _sqlite3VdbeResolveLabel(tls, _v, _63_destIfNull) r0 = _target return _50: _exprCodeBetween(tls, _pParse, _pExpr, _target, nil, i32(0)) r0 = _target return _51: _52: _53: r0 = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _target) return _54: _66_pTab = (*XTable)(unsafe.Pointer(_pExpr.X14)) _66_p1 = (((_pExpr.X8) * (int32(_66_pTab.X11) + i32(1))) + i32(1)) + int32(_pExpr.X9) func() int32 { if ((_pExpr.X8) == i32(0)) || ((_pExpr.X8) == i32(1)) { return i32(0) } return func() int32 { 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(44064))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X9) >= i32(-1)) && (int32(_pExpr.X9) < int32(_66_pTab.X11)) { return i32(0) } return func() int32 { 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(44104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_66_pTab.X10) < i32(0)) || (int32(_pExpr.X9) != int32(_66_pTab.X10)) { return i32(0) } return func() int32 { 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(44152))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_66_p1 >= i32(0)) && (_66_p1 < ((int32(_66_pTab.X11) * i32(2)) + i32(2))) { return i32(0) } return func() int32 { 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(44200))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(144), _66_p1, _target) _sqlite3VdbeComment(tls, _v, str(44232), unsafe.Pointer(func() *int8 { if (_pExpr.X8) != 0 { return str(44248) } return str(44252) }()), unsafe.Pointer(func() *int8 { if int32(_pExpr.X9) < i32(0) { return str(27380) } return ((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pExpr.X14)).X1) + 32*uintptr(_pExpr.X9))).X0) }()), _target) if int32(_pExpr.X9) < i32(0) || int32((*XColumn)(unsafe.Pointer(uintptr(_66_pTab.X1)+32*uintptr(_pExpr.X9))).X4) != i32(69) { goto _187 } _sqlite3VdbeAddOp1(tls, _v, i32(93), _target) _187: goto _94 _55: _sqlite3ErrorMsg(tls, _pParse, str(44256)) goto _94 _56: func() int32 { if _op == i32(136) { return i32(0) } return func() int32 { 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(44276))) crt.X__builtin_abort(tls) return i32(0) }() }() _69_pTest = nil _69_iCacheLevel = _pParse.X23 func() int32 { if (((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0))) && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) != nil) { return i32(0) } return func() int32 { 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(44288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0) > i32(0) { return i32(0) } return func() int32 { 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(44344))) crt.X__builtin_abort(tls) return i32(0) }() }() _69_pEList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _69_aListelem = (*TExprList_item)(unsafe.Pointer(_69_pEList.X1)) _69_nExpr = _69_pEList.X0 _69_endLabel = _sqlite3VdbeMakeLabel(tls, _v) if store5518888(&_69_pX, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _195 } _tempX = *_69_pX _exprToRegister(tls, &_tempX, _exprCodeVector(tls, _pParse, &_tempX, &_regFree1)) crt.Xmemset(tls, (unsafe.Pointer)(&_69_opCompare), i32(0), u64(72)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_69_opCompare)) + uintptr(0 /* X0 */))) = uint8(i32(37)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_69_opCompare)) + uintptr(16 /* X4 */))))) = &_tempX _69_pTest = &_69_opCompare _regFree1 = i32(0) _195: _69_i = i32(0) _196: if _69_i >= (_69_nExpr - i32(1)) { goto _199 } _sqlite3ExprCachePush(tls, _pParse) if _69_pX == nil { goto _200 } func() int32 { if _69_pTest != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44372))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_69_opCompare)) + uintptr(24 /* X5 */))))) = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_69_aListelem)) + 32*uintptr(_69_i))).X0)) goto _203 _200: _69_pTest = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_69_aListelem)) + 32*uintptr(_69_i))).X0)) _203: _69_nextCase = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprIfFalse(tls, _pParse, _69_pTest, _69_nextCase, i32(16)) _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_69_aListelem))+32*uintptr(_69_i+i32(1)))).X0)), _target) _sqlite3VdbeGoto(tls, _v, _69_endLabel) _sqlite3ExprCachePop(tls, _pParse) _sqlite3VdbeResolveLabel(tls, _v, _69_nextCase) _69_i = _69_i + i32(2) goto _196 _199: if (_69_nExpr & i32(1)) == i32(0) { goto _204 } _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_69_pEList.X1)+32*uintptr(_69_nExpr-i32(1)))).X0)), _target) _sqlite3ExprCachePop(tls, _pParse) goto _205 _204: _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _target) _205: func() int32 { if ((((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) || ((_pParse.X16) > i32(0))) || ((_pParse.X23) == _69_iCacheLevel) { return i32(0) } return func() int32 { 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(44384))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeResolveLabel(tls, _v, _69_endLabel) goto _94 _57: func() int32 { if (((int32(_pExpr.X1) == i32(1)) || (int32(_pExpr.X1) == i32(2))) || (int32(_pExpr.X1) == i32(3))) || (int32(_pExpr.X1) == i32(4)) { return i32(0) } return func() int32 { 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(44464))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { goto _215 } _sqlite3ErrorMsg(tls, _pParse, str(44580)) r0 = i32(0) return _215: if int32(_pExpr.X1) != i32(2) { goto _216 } _sqlite3MayAbort(tls, _pParse) _216: func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pExpr.X1) != i32(4) { goto _219 } _sqlite3VdbeAddOp4(tls, _v, i32(76), i32(0), i32(4), i32(0), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), i32(0)) goto _220 _219: _sqlite3HaltConstraint(tls, _pParse, i32(1811), int32(_pExpr.X1), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), int8(i32(0)), uint8(i32(0))) _220: goto _94 _94: _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) _sqlite3ReleaseTempReg(tls, _pParse, _regFree2) r0 = _inReg return } var _sqlite3ExprCodeTargetØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeTargetØ00__func__Ø000[0], str(44632), 22) } func _sqlite3ExprCodeGetColumn(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iColumn int32, _iTable int32, _iReg int32, _p5 uint8) (r0 int32) { // sqlite3.c:93963:1 var _v *TVdbe // sqlite3.c:93971:8 _ = _v var _i int32 // sqlite3.c:93972:7 _ = _i var _p *TyColCache // sqlite3.c:93973:20 _ = _p _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) *func() **TyColCache { _i = i32(0); return &_p }() = (*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(204 /* X48 */))))) _0: if _i >= int32(_pParse.X13) { goto _3 } if (_p.X0) != _iTable || int32(_p.X1) != _iColumn { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(80 /* X24 */))), int32(1)) _sqlite3ExprCachePinRegister(tls, _pParse, _p.X4) r0 = _p.X4 return _5: *(*uintptr)(unsafe.Pointer(func() **TyColCache { _i += 1; return &_p }())) += uintptr(20) goto _0 _3: func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iTable, _iColumn, _iReg) if _p5 == 0 { goto _8 } _sqlite3VdbeChangeP5(tls, _v, uint16(_p5)) goto _9 _8: _sqlite3ExprCacheStore(tls, _pParse, _iTable, _iColumn, _iReg) _9: r0 = _iReg return } func _sqlite3ExprCachePinRegister(tls *crt.TLS, _pParse *XParse, _iReg int32) { // sqlite3.c:93894:1 var _i int32 // sqlite3.c:93895:7 _ = _i var _p *TyColCache // sqlite3.c:93896:20 _ = _p *func() **TyColCache { _i = i32(0); return &_p }() = (*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(204 /* X48 */))))) _0: if _i >= int32(_pParse.X13) { goto _3 } if (_p.X4) != _iReg { goto _4 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = uint8(i32(0)) _4: *(*uintptr)(unsafe.Pointer(func() **TyColCache { _i += 1; return &_p }())) += uintptr(20) goto _0 _3: return } var _sqlite3ExprCodeGetColumnØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeGetColumnØ00__func__Ø000[0], str(44656), 25) } func _sqlite3ExprCodeGetColumnOfTable(tls *crt.TLS, _v *TVdbe, _pTab *XTable, _iTabCur int32, _iCol int32, _regOut int32) { // sqlite3.c:93929:1 var _2_op int32 // sqlite3.c:93939:9 _ = _2_op var _2_x int32 // sqlite3.c:93940:9 _ = _2_x if _iCol >= i32(0) && _iCol != int32(_pTab.X10) { goto _1 } _sqlite3VdbeAddOp2(tls, _v, i32(123), _iTabCur, _regOut) goto _2 _1: _2_op = func() int32 { if (_pTab.X16) != 0 { return i32(157) } return i32(98) }() _2_x = _iCol if ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) || (_pTab.X16) != 0 { goto _6 } _2_x = int32(_sqlite3ColumnOfIndex(tls, _sqlite3PrimaryKeyIndex(tls, _pTab), int16(_iCol))) _6: _sqlite3VdbeAddOp3(tls, _v, _2_op, _iTabCur, _2_x, _regOut) _2: if _iCol < i32(0) { goto _7 } _sqlite3ColumnDefault(tls, _v, _pTab, _iCol, _regOut) _7: return } func _sqlite3ColumnOfIndex(tls *crt.TLS, _pIdx *XIndex, _iCol int16) (r0 int16) { // sqlite3.c:100269:1 var _i int32 // sqlite3.c:100270:7 _ = _i _i = i32(0) _0: if _i >= int32(_pIdx.X14) { goto _3 } if int32(_iCol) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) { goto _4 } r0 = int16(_i) return _4: _i += 1 goto _0 _3: r0 = int16(i32(-1)) return } func _sqlite3ColumnDefault(tls *crt.TLS, _v *TVdbe, _pTab *XTable, _i int32, _iReg int32) { // sqlite3.c:123345:1 var _1_pValue *XMem // sqlite3.c:123348:19 _ = _1_pValue var _1_enc uint8 // sqlite3.c:123349:8 _ = _1_enc var _1_pCol *XColumn // sqlite3.c:123350:12 _ = _1_pCol func() int32 { if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XSelect)(unsafe.Pointer(_pTab.X3)) != nil { goto _2 } _1_pValue = nil _1_enc = _sqlite3VdbeDb(tls, _v).X14 _1_pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_i))) _sqlite3VdbeComment(tls, _v, str(6548), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_1_pCol.X0)) func() int32 { if _i < int32(_pTab.X11) { return i32(0) } return func() int32 { 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(44692))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ValueFromExpr(tls, _sqlite3VdbeDb(tls, _v), (*XExpr)(unsafe.Pointer(_1_pCol.X1)), _1_enc, uint8(_1_pCol.X4), &_1_pValue) if _1_pValue == nil { goto _5 } _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_1_pValue), i32(-7)) _5: _2: if int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X4) != i32(69) { goto _6 } _sqlite3VdbeAddOp1(tls, _v, i32(93), _iReg) _6: return } var _sqlite3ColumnDefaultØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ColumnDefaultØ00__func__Ø000[0], str(44708), 21) } func _sqlite3VdbeDb(tls *crt.TLS, _v *TVdbe) (r0 *Xsqlite3) { // sqlite3.c:75855:1 r0 = (*Xsqlite3)(unsafe.Pointer(_v.X0)) return } func _sqlite3ValueFromExpr(tls *crt.TLS, _db *Xsqlite3, _pExpr *XExpr, _enc uint8, _affinity uint8, _ppVal **XMem) (r0 int32) { // sqlite3.c:71003:1 r0 = func() int32 { if _pExpr != nil { return _valueFromExpr(tls, _db, _pExpr, _enc, _affinity, _ppVal, (*T5765407)(unsafe.Pointer(uintptr(i32(0))))) } return i32(0) }() return } func _valueFromExpr(tls *crt.TLS, _db *Xsqlite3, _pExpr *XExpr, _enc uint8, _affinity uint8, _ppVal **XMem, _pCtx *T5765407) (r0 int32) { // sqlite3.c:70870:1 var _op int32 // sqlite3.c:70878:7 _ = _op var _zVal *int8 // sqlite3.c:70879:8 _ = _zVal var _pVal *XMem // sqlite3.c:70880:17 _ = _pVal var _negInt int32 // sqlite3.c:70881:7 _ = _negInt var _zNeg *int8 // sqlite3.c:70882:14 _ = _zNeg var _rc int32 // sqlite3.c:70883:7 _ = _rc var _1_aff uint8 // sqlite3.c:70896:8 _ = _1_aff var _16_nVal int32 // sqlite3.c:70959:9 _ = _16_nVal _zVal = nil _pVal = nil _negInt = i32(1) _zNeg = str(196) _rc = i32(0) func() int32 { if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44732))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: if store961(&_op, int32(_pExpr.X0)) != i32(156) && _op != i32(161) { goto _3 } _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) goto _2 _3: if func() int32 { if _op == i32(157) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _7 } _op = int32(_pExpr.X12) _7: func() int32 { if (((_pExpr.X2) & uint32(i32(16384))) == uint32(i32(0))) || (_pCtx == (*T5765407)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(44744))) crt.X__builtin_abort(tls) return i32(0) }() }() if _op != i32(66) { goto _11 } _1_aff = uint8(_sqlite3AffinityType(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*uint8)(unsafe.Pointer(uintptr(i32(0)))))) _rc = _valueFromExpr(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _enc, _1_aff, _ppVal, _pCtx) if (*_ppVal) == nil { goto _12 } _sqlite3VdbeMemCast(tls, *_ppVal, _1_aff, uint8(i32(1))) _sqlite3ValueApplyAffinity(tls, *_ppVal, _affinity, uint8(i32(1))) _12: r0 = _rc return _11: if _op != i32(155) || int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) != i32(134) && int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) != i32(132) { goto _15 } _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) _op = int32(_pExpr.X0) _negInt = i32(-1) _zNeg = str(38608) _15: if _op != i32(97) && _op != i32(132) && _op != i32(134) { goto _18 } _pVal = _valueNew(tls, _db, _pCtx) if _pVal != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } goto _no_mem _19: if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { goto _20 } _sqlite3VdbeMemSetInt64(tls, _pVal, int64(*(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))*int64(_negInt)) goto _21 _20: _zVal = _sqlite3MPrintf(tls, _db, str(5224), unsafe.Pointer(_zNeg), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) if _zVal != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _22 } goto _no_mem _22: _sqlite3ValueSetStr(tls, _pVal, i32(-1), (unsafe.Pointer)(_zVal), uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _21: if _op != i32(134) && _op != i32(132) || int32(_affinity) != i32(65) { goto _25 } _sqlite3ValueApplyAffinity(tls, _pVal, uint8(i32(67)), uint8(i32(1))) goto _26 _25: _sqlite3ValueApplyAffinity(tls, _pVal, _affinity, uint8(i32(1))) _26: if (int32(_pVal.X1) & i32(12)) == 0 { goto _27 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-3)) sink4530 = *p } _27: if int32(_enc) == i32(1) { goto _28 } _rc = _sqlite3VdbeChangeEncoding(tls, _pVal, int32(_enc)) _28: goto _29 _18: if _op != i32(155) { goto _30 } if i32(0) != _sqlite3ValueFromExpr(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _enc, _affinity, &_pVal) || _pVal == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _32 } _sqlite3VdbeMemNumerify(tls, _pVal) if (int32(_pVal.X1) & i32(8)) == 0 { goto _33 } *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */))))) = -(*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */)))))) goto _34 _33: if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */)))))) != i64(-9223372036854775808) { goto _35 } *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */))))) = 9.223372036854776e+18 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(8 /* X1 */))) = uint16((int32(_pVal.X1) & i32(-49664)) | i32(8)) goto _36 _35: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */))))) = -(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */)))))) _36: _34: _sqlite3ValueApplyAffinity(tls, _pVal, _affinity, _enc) _32: goto _37 _30: if _op != i32(101) { goto _38 } _pVal = _valueNew(tls, _db, _pCtx) if _pVal != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _39 } goto _no_mem _39: _sqlite3VdbeMemNumerify(tls, _pVal) goto _40 _38: if _op != i32(133) { goto _41 } func() int32 { if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(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((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(88)) { return i32(0) } return func() int32 { 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(43580))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == i32(39) { return i32(0) } return func() int32 { 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(43632))) crt.X__builtin_abort(tls) return i32(0) }() }() _pVal = _valueNew(tls, _db, _pCtx) if _pVal != nil { goto _47 } goto _no_mem _47: _zVal = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(2)))) _16_nVal = _sqlite3Strlen30(tls, _zVal) - i32(1) func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zVal)) + 1*uintptr(_16_nVal)))) == i32(39) { return i32(0) } return func() int32 { 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(44788))) crt.X__builtin_abort(tls) return i32(0) }() }() _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 { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _41: _40: _37: _29: *_ppVal = _pVal r0 = _rc return _no_mem: _sqlite3OomFault(tls, _db) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zVal)) func() int32 { if (*_ppVal) == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44808))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pCtx == (*T5765407)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44820))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ValueFree(tls, _pVal) r0 = _sqlite3NomemError(tls, i32(70990)) return } var _valueFromExprØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_valueFromExprØ00__func__Ø000[0], str(44828), 14) } func _sqlite3AffinityType(tls *crt.TLS, _zIn *int8, _pszEst *uint8) (r0 int8) { // sqlite3.c:100597:1 var _h uint32 // sqlite3.c:100598:7 _ = _h var _aff int8 // sqlite3.c:100599:8 _ = _aff var _zChar *int8 // sqlite3.c:100600:14 _ = _zChar var _14_v int32 // sqlite3.c:100642:17 _ = _14_v _h = u32(0) _aff = i8(67) _zChar = nil func() int32 { if _zIn != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44844))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(i32(0))))) == 0 { goto _3 } _h = (_h << uint(i32(8))) + uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(int32(*_zIn)&i32(255))))) *(*uintptr)(unsafe.Pointer(&_zIn)) += uintptr(1) if _h != uint32(i32(1667785074)) { goto _4 } _aff = int8(i32(66)) _zChar = _zIn goto _5 _4: if _h != uint32(i32(1668050786)) { goto _6 } _aff = int8(i32(66)) goto _7 _6: if _h != uint32(i32(1952807028)) { goto _8 } _aff = int8(i32(66)) goto _9 _8: if _h != uint32(i32(1651273570)) || int32(_aff) != i32(67) && int32(_aff) != i32(69) { goto _12 } _aff = int8(i32(65)) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(i32(0))))) != i32(40) { goto _13 } _zChar = _zIn _13: goto _14 _12: if _h != uint32(i32(1919246700)) || int32(_aff) != i32(67) { goto _16 } _aff = int8(i32(69)) goto _17 _16: if _h != uint32(i32(1718382433)) || int32(_aff) != i32(67) { goto _19 } _aff = int8(i32(69)) goto _20 _19: if _h != uint32(i32(1685026146)) || int32(_aff) != i32(67) { goto _22 } _aff = int8(i32(69)) goto _23 _22: if (_h & uint32(i32(16777215))) != uint32(i32(6909556)) { goto _24 } _aff = int8(i32(68)) goto _3 _24: _23: _20: _17: _14: _9: _7: _5: goto _2 _3: if _pszEst == nil { goto _25 } *_pszEst = uint8(i32(1)) if int32(_aff) >= i32(67) { goto _26 } if _zChar == nil { goto _27 } _28: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zChar)) + 1*uintptr(i32(0))))) == 0 { goto _29 } 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 { goto _30 } _14_v = i32(0) _sqlite3GetInt32(tls, _zChar, &_14_v) _14_v = (_14_v / i32(4)) + i32(1) if _14_v <= i32(255) { goto _31 } _14_v = i32(255) _31: *_pszEst = uint8(_14_v) goto _29 _30: *(*uintptr)(unsafe.Pointer(&_zChar)) += uintptr(1) goto _28 _29: goto _32 _27: *_pszEst = uint8(i32(5)) _32: _26: _25: r0 = _aff return } var _sqlite3AffinityTypeØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AffinityTypeØ00__func__Ø000[0], str(44852), 20) } func _sqlite3GetInt32(tls *crt.TLS, _zNum *int8, _pValue *int32) (r0 int32) { // sqlite3.c:28301:1 var _v int64 // sqlite3.c:28302:16 _ = _v var _i int32 // sqlite3.c:28303:7 _ = _i var _c int32 // sqlite3.c:28303:10 _ = _c var _neg int32 // sqlite3.c:28304:7 _ = _neg var _3_u uint32 // sqlite3.c:28316:9 _ = _3_u _v = i64(0) _neg = i32(0) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(45) { goto _0 } _neg = i32(1) *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) goto _1 _0: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(43) { goto _2 } *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) goto _3 _2: 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 { goto _7 } _3_u = u32(0) { p := &_zNum *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink1025 = *p } _8: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) { goto _9 } *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) goto _8 _9: _i = i32(0) _10: 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) { goto _14 } _3_u = (_3_u * uint32(i32(16))) + uint32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i)))))) _i += 1 goto _10 _14: 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) { goto _16 } crt.Xmemcpy(tls, (unsafe.Pointer)(_pValue), (unsafe.Pointer)(&_3_u), uint64(i32(4))) r0 = i32(1) return _16: r0 = i32(0) return _7: _3: _1: _18: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) { goto _19 } *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) goto _18 _19: _i = i32(0) _20: if _i >= i32(11) || store961(&_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i))))-i32(48)) < i32(0) || _c > i32(9) { goto _25 } _v = (_v * int64(i32(10))) + int64(_c) _i += 1 goto _20 _25: if _i <= i32(10) { goto _26 } r0 = i32(0) return _26: if (_v - int64(_neg)) <= int64(i32(2147483647)) { goto _27 } r0 = i32(0) return _27: if _neg == 0 { goto _28 } _v = -_v _28: *_pValue = int32(_v) r0 = i32(1) return } func _sqlite3HexToInt(tls *crt.TLS, _h int32) (r0 uint8) { // sqlite3.c:28794:1 func() int32 { if (((_h >= i32(48)) && (_h <= i32(57))) || ((_h >= i32(97)) && (_h <= i32(102)))) || ((_h >= i32(65)) && (_h <= i32(70))) { return i32(0) } return func() int32 { 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(44872))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_h *p = (*p) + (i32(9) * (i32(1) & (_h >> uint(i32(6))))) sink961 = *p } r0 = uint8(_h & i32(15)) return } var _sqlite3HexToIntØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3HexToIntØ00__func__Ø000[0], str(44936), 16) } func _sqlite3VdbeMemCast(tls *crt.TLS, _pMem *XMem, _aff uint8, _encoding uint8) { // sqlite3.c:70207:1 if (int32(_pMem.X1) & i32(1)) == 0 { goto _0 } return _0: switch int32(_aff) { case i32(65): goto _2 case i32(67): goto _3 case i32(68): goto _4 case i32(69): goto _5 default: goto _6 } _2: if (int32(_pMem.X1) & i32(16)) != i32(0) { goto _7 } _sqlite3ValueApplyAffinity(tls, _pMem, uint8(i32(66)), _encoding) func() int32 { if (int32(_pMem.X1)&i32(2)) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X17) != 0) { return i32(0) } return func() int32 { 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(44952))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pMem.X1) & i32(2)) == 0 { goto _11 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(16)) _11: goto _12 _7: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-33264)) sink4530 = *p } _12: goto _13 _3: _sqlite3VdbeMemNumerify(tls, _pMem) goto _13 _4: _sqlite3VdbeMemIntegerify(tls, _pMem) goto _13 _5: _sqlite3VdbeMemRealify(tls, _pMem) goto _13 _6: func() int32 { if int32(_aff) == i32(66) { return i32(0) } return func() int32 { 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(45000))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | ((int32(_pMem.X1) & i32(16)) >> uint(i32(3)))) sink4530 = *p } _sqlite3ValueApplyAffinity(tls, _pMem, uint8(i32(66)), _encoding) func() int32 { if (int32(_pMem.X1)&i32(2)) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X17) != 0) { return i32(0) } return func() int32 { 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(44952))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-16413)) sink4530 = *p } goto _13 _13: return } func _sqlite3ValueApplyAffinity(tls *crt.TLS, _pVal *XMem, _affinity uint8, _enc uint8) { // sqlite3.c:78432:1 _applyAffinity(tls, _pVal, int8(_affinity), _enc) return } func _applyAffinity(tls *crt.TLS, _pRec *XMem, _affinity int8, _enc uint8) { // sqlite3.c:78382:1 if int32(_affinity) < i32(67) { goto _0 } func() int32 { if ((int32(_affinity) == i32(68)) || (int32(_affinity) == i32(69))) || (int32(_affinity) == i32(67)) { return i32(0) } return func() int32 { 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(45024))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pRec.X1) & i32(4)) != i32(0) { goto _5 } if (int32(_pRec.X1) & i32(8)) != i32(0) { goto _6 } if (int32(_pRec.X1) & i32(2)) == 0 { goto _7 } _applyNumericAffinity(tls, _pRec, i32(1)) _7: goto _8 _6: _sqlite3VdbeIntegerAffinity(tls, _pRec) _8: _5: goto _9 _0: if int32(_affinity) != i32(66) { goto _10 } if i32(0) != (int32(_pRec.X1) & i32(2)) { goto _11 } if (int32(_pRec.X1) & i32(12)) == 0 { goto _12 } _sqlite3VdbeMemStringify(tls, _pRec, _enc, uint8(i32(1))) _12: _11: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-13)) sink4530 = *p } _10: _9: return } var _applyAffinityØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_applyAffinityØ00__func__Ø000[0], str(45116), 14) } func _applyNumericAffinity(tls *crt.TLS, _pRec *XMem, _bTryForInt int32) { // sqlite3.c:78348:1 var _rValue float64 // sqlite3.c:78349:10 _ = _rValue var _iValue int64 // sqlite3.c:78350:7 _ = _iValue var _enc uint8 // sqlite3.c:78351:6 _ = _enc _enc = _pRec.X2 func() int32 { if (int32(_pRec.X1) & i32(14)) == i32(2) { return i32(0) } return func() int32 { 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(45132))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AtoF(tls, _pRec.X5, &_rValue, _pRec.X4, _enc) != i32(0) { goto _2 } return _2: if i32(0) != _sqlite3Atoi64(tls, _pRec.X5, &_iValue, _pRec.X4, _enc) { goto _3 } *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(0 /* X0 */))))) = _iValue { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } goto _4 _3: *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(0 /* X0 */))))) = _rValue { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } if _bTryForInt == 0 { goto _5 } _sqlite3VdbeIntegerAffinity(tls, _pRec) _5: _4: return } var _applyNumericAffinityØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_applyNumericAffinityØ00__func__Ø000[0], str(45184), 21) } func _sqlite3VdbeIntegerAffinity(tls *crt.TLS, _pMem *XMem) { // sqlite3.c:70124:1 var _ix int64 // sqlite3.c:70125:7 _ = _ix func() int32 { if (int32(_pMem.X1) & i32(8)) != 0 { return i32(0) } return func() int32 { 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(45208))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(5052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() _ix = _doubleToInt64(tls, *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) != float64(_ix) || _ix <= i64(-9223372036854775808) || _ix >= i64(9223372036854775807) { goto _11 } *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _ix *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(4)) _11: return } var _sqlite3VdbeIntegerAffinityØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeIntegerAffinityØ00__func__Ø000[0], str(45232), 27) } var _sqlite3VdbeMemCastØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemCastØ00__func__Ø000[0], str(45260), 19) } func _sqlite3VdbeMemNumerify(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:70183:1 if (int32(_pMem.X1) & i32(13)) != i32(0) { goto _0 } func() int32 { if (int32(_pMem.X1) & i32(18)) != i32(0) { return i32(0) } return func() int32 { 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(45280))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) != _sqlite3Atoi64(tls, _pMem.X5, (*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */))))), _pMem.X4, _pMem.X2) { goto _6 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(4)) goto _7 _6: *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeRealValue(tls, _pMem) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(8)) _sqlite3VdbeIntegerAffinity(tls, _pMem) _7: _0: func() int32 { if (int32(_pMem.X1) & i32(13)) != i32(0) { return i32(0) } return func() int32 { 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(45320))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-16403)) sink4530 = *p } r0 = i32(0) return } var _sqlite3VdbeMemNumerifyØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemNumerifyØ00__func__Ø000[0], str(45368), 23) } func _sqlite3VdbeMemIntegerify(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:70152:1 func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(5052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeIntValue(tls, _pMem) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(4)) r0 = i32(0) return } var _sqlite3VdbeMemIntegerifyØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemIntegerifyØ00__func__Ø000[0], str(45392), 25) } func _sqlite3VdbeMemRealify(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:70166:1 func() int32 { 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 { return i32(0) } return func() int32 { 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(2976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeRealValue(tls, _pMem) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(8)) r0 = i32(0) return } var _sqlite3VdbeMemRealifyØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemRealifyØ00__func__Ø000[0], str(45420), 22) } func _valueNew(tls *crt.TLS, _db *Xsqlite3, _p *T5765407) (r0 *XMem) { // sqlite3.c:70714:1 r0 = _sqlite3ValueNew(tls, _db) return } func _sqlite3HexToBlob(tls *crt.TLS, _db *Xsqlite3, _z *int8, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:28812:1 var _zBlob *int8 // sqlite3.c:28813:8 _ = _zBlob var _i int32 // sqlite3.c:28814:7 _ = _i _zBlob = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64((_n/i32(2))+i32(1))))) _n -= 1 if _zBlob == nil { goto _0 } _i = i32(0) _1: if _i >= _n { goto _4 } *(*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)))))))) { p := &_i *p = (*p) + i32(2) sink961 = *p } goto _1 _4: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBlob)) + 1*uintptr(_i/i32(2)))) = int8(i32(0)) _0: r0 = (unsafe.Pointer)(_zBlob) return } func _sqlite3VdbeAddOp1(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32) (r0 int32) { // sqlite3.c:71547:1 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, i32(0), i32(0)) return } func _sqlite3ExprCacheStore(tls *crt.TLS, _pParse *XParse, _iTab int32, _iCol int32, _iReg int32) { // sqlite3.c:93784:1 var _i int32 // sqlite3.c:93785:7 _ = _i var _minLru int32 // sqlite3.c:93786:7 _ = _minLru var _idxLru int32 // sqlite3.c:93787:7 _ = _idxLru var _p *TyColCache // sqlite3.c:93788:20 _ = _p func() int32 { if ((_iReg > i32(0)) || (_pParse.X16) != 0) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(45444))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iCol >= i32(-1)) && (_iCol < i32(32768)) { return i32(0) } return func() int32 { 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(45496))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X13) & i32(2)) == i32(0) { goto _7 } return _7: *func() **TyColCache { _i = i32(0); return &_p }() = (*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(204 /* X48 */))))) _8: if _i >= int32(_pParse.X13) { goto _11 } func() int32 { if ((_p.X0) != _iTab) || (int32(_p.X1) != _iCol) { return i32(0) } return func() int32 { 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(45520))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uintptr)(unsafe.Pointer(func() **TyColCache { _i += 1; return &_p }())) += uintptr(20) goto _8 _11: if int32(_pParse.X13) < i32(10) { goto _15 } _minLru = i32(2147483647) _idxLru = i32(-1) *func() **TyColCache { _i = i32(0); return &_p }() = (*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(204 /* X48 */))))) _16: if _i >= i32(10) { goto _19 } if (_p.X5) >= _minLru { goto _20 } _idxLru = _i _minLru = _p.X5 _20: *(*uintptr)(unsafe.Pointer(func() **TyColCache { _i += 1; return &_p }())) += uintptr(20) goto _16 _19: _p = (*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_idxLru))) goto _21 _15: _p = (*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(postInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(37 /* X13 */))), uint8(1))))) _21: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) = _pParse.X23 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _iTab *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = int16(_iCol) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = _iReg *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(80 /* X24 */))), int32(1)) return } var _sqlite3ExprCacheStoreØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCacheStoreØ00__func__Ø000[0], str(45556), 22) } func _codeInteger(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _negFlag int32, _iMem int32) { // sqlite3.c:93731:1 var _v *TVdbe // sqlite3.c:93732:8 _ = _v var _1_i int32 // sqlite3.c:93734:9 _ = _1_i var _2_c int32 // sqlite3.c:93739:9 _ = _2_c var _2_value int64 // sqlite3.c:93740:9 _ = _2_value var _2_z *int8 // sqlite3.c:93741:16 _ = _2_z _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) if ((_pExpr.X2) & uint32(i32(1024))) == 0 { goto _0 } _1_i = *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) func() int32 { if _1_i >= i32(0) { return i32(0) } return func() int32 { 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(45580))) crt.X__builtin_abort(tls) return i32(0) }() }() if _negFlag == 0 { goto _3 } _1_i = -_1_i _3: _sqlite3VdbeAddOp2(tls, _v, i32(77), _1_i, _iMem) goto _4 _0: _2_z = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) func() int32 { if _2_z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(45588))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_c = _sqlite3DecOrHexToI64(tls, _2_z, &_2_value) if _2_c != i32(1) && (_2_c != i32(2) || _negFlag != 0) && (_negFlag == 0 || _2_value != i64(-9223372036854775808)) { goto _11 } if Xsqlite3_strnicmp(tls, _2_z, str(45596), i32(2)) != i32(0) { goto _12 } _sqlite3ErrorMsg(tls, _pParse, str(45600), unsafe.Pointer(func() *int8 { if _negFlag != 0 { return str(38608) } return str(196) }()), unsafe.Pointer(_2_z)) goto _15 _12: _codeReal(tls, _v, _2_z, _negFlag, _iMem) _15: goto _16 _11: if _negFlag == 0 { goto _17 } _2_value = func() int64 { if _2_c == i32(2) { return i64(-9223372036854775808) } return (-_2_value) }() _17: _sqlite3VdbeAddOp4Dup8(tls, _v, i32(78), i32(0), _iMem, i32(0), (*uint8)(unsafe.Pointer(&_2_value)), i32(-10)) _16: _4: return } var _codeIntegerØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_codeIntegerØ00__func__Ø000[0], str(45628), 12) } func _sqlite3DecOrHexToI64(tls *crt.TLS, _z *int8, _pOut *int64) (r0 int32) { // sqlite3.c:28271:1 var _1_u uint64 // sqlite3.c:28276:9 _ = _1_u var _1_i int32 // sqlite3.c:28277:9 _ = _1_i var _1_k int32 // sqlite3.c:28277:12 _ = _1_k 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) { goto _2 } _1_u = u64(0) _1_i = i32(2) _3: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_i)))) != i32(48) { goto _6 } _1_i += 1 goto _3 _6: _1_k = _1_i _7: 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 { goto _10 } _1_u = (_1_u * uint64(i32(16))) + uint64(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_k)))))) _1_k += 1 goto _7 _10: crt.Xmemcpy(tls, (unsafe.Pointer)(_pOut), (unsafe.Pointer)(&_1_u), uint64(i32(8))) r0 = func() int32 { if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_k)))) == i32(0)) && ((_1_k - _1_i) <= i32(16)) { return i32(0) } return i32(1) }() return _2: r0 = _sqlite3Atoi64(tls, _z, _pOut, _sqlite3Strlen30(tls, _z), uint8(i32(1))) return } func _codeReal(tls *crt.TLS, _v *TVdbe, _z *int8, _negateFlag int32, _iMem int32) { // sqlite3.c:93713:1 var _1_value float64 // sqlite3.c:93715:12 _ = _1_value if func() int32 { if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2 } _sqlite3AtoF(tls, _z, &_1_value, _sqlite3Strlen30(tls, _z), uint8(i32(1))) func() int32 { if _sqlite3IsNaN(tls, _1_value) == 0 { return i32(0) } return func() int32 { 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(45640))) crt.X__builtin_abort(tls) return i32(0) }() }() if _negateFlag == 0 { goto _5 } _1_value = -_1_value _5: _sqlite3VdbeAddOp4Dup8(tls, _v, i32(132), i32(0), _iMem, i32(0), (*uint8)(unsafe.Pointer(&_1_value)), i32(-9)) _2: return } var _codeRealØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_codeRealØ00__func__Ø000[0], str(45664), 9) } func _sqlite3VdbeAddOp4Dup8(tls *crt.TLS, _p *TVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32, _zP4 *uint8, _p4type int32) (r0 int32) { // sqlite3.c:71613:1 var _p4copy *int8 // sqlite3.c:71622:8 _ = _p4copy _p4copy = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _sqlite3VdbeDb(tls, _p), uint64(i32(8))))) if _p4copy == nil { goto _0 } crt.Xmemcpy(tls, (unsafe.Pointer)(_p4copy), (unsafe.Pointer)(_zP4), uint64(i32(8))) _0: r0 = _sqlite3VdbeAddOp4(tls, _p, _op, _p1, _p2, _p3, _p4copy, _p4type) return } func _sqlite3ExprCacheAffinityChange(tls *crt.TLS, _pParse *XParse, _iStart int32, _iCount int32) { // sqlite3.c:94028:1 _sqlite3ExprCacheRemove(tls, _pParse, _iStart, _iCount) return } func _sqlite3ExprCacheRemove(tls *crt.TLS, _pParse *XParse, _iReg int32, _nReg int32) { // sqlite3.c:93839:1 var _i int32 // sqlite3.c:93840:7 _ = _i var _1_p *TyColCache // sqlite3.c:93842:22 _ = _1_p _i = i32(0) _0: if _i >= int32(_pParse.X13) { goto _1 } _1_p = (*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_i))) if (_1_p.X4) < _iReg || (_1_p.X4) >= (_iReg+_nReg) { goto _3 } _cacheEntryClear(tls, _pParse, _i) goto _4 _3: _i += 1 _4: goto _0 _1: return } func _cacheEntryClear(tls *crt.TLS, _pParse *XParse, _i int32) { // sqlite3.c:93767:1 if ((*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_i))).X2) == 0 { goto _0 } if int32(_pParse.X7) >= i32(8) { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(404 /* X49 */))))) + 4*uintptr(postInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(31 /* X7 */))), uint8(1))))) = (*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_i))).X4 _1: _0: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(37 /* X13 */))) -= 1 if _i >= int32(_pParse.X13) { goto _2 } *(*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_i))) = *(*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_pParse.X13))) _2: return } func _sqlite3ExprIsVector(tls *crt.TLS, _pExpr *XExpr) (r0 int32) { // sqlite3.c:91067:1 r0 = bool2int(_sqlite3ExprVectorSize(tls, _pExpr) > i32(1)) return } func _sqlite3ExprVectorSize(tls *crt.TLS, _pExpr *XExpr) (r0 int32) { // sqlite3.c:91077:1 var _op uint8 // sqlite3.c:91078:6 _ = _op _op = _pExpr.X0 if int32(_op) != i32(157) { goto _0 } _op = _pExpr.X12 _0: if int32(_op) != i32(158) { goto _1 } r0 = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0 return _1: if int32(_op) != i32(119) { goto _3 } r0 = (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0)).X0 return _3: r0 = i32(1) return } func _codeVectorCompare(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _op uint8, _p5 uint8) { // sqlite3.c:91248:1 var _v *TVdbe // sqlite3.c:91255:8 _ = _v var _pLeft *XExpr // sqlite3.c:91256:8 _ = _pLeft var _pRight *XExpr // sqlite3.c:91257:8 _ = _pRight var _nLeft int32 // sqlite3.c:91258:7 _ = _nLeft var _i int32 // sqlite3.c:91259:7 _ = _i var _regLeft int32 // sqlite3.c:91260:7 _ = _regLeft var _regRight int32 // sqlite3.c:91261:7 _ = _regRight var _opx uint8 // sqlite3.c:91262:6 _ = _opx var _addrDone int32 // sqlite3.c:91263:7 _ = _addrDone var _2_regFree1 int32 // sqlite3.c:91287:9 _ = _2_regFree1 var _2_regFree2 int32 // sqlite3.c:91287:23 _ = _2_regFree2 var _2_pL *XExpr // sqlite3.c:91288:10 _ = _2_pL var _2_pR *XExpr // sqlite3.c:91288:15 _ = _2_pR var _2_r1 int32 // sqlite3.c:91289:9 _ = _2_r1 var _2_r2 int32 // sqlite3.c:91289:13 _ = _2_r2 _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) _pRight = (*XExpr)(unsafe.Pointer(_pExpr.X5)) _nLeft = _sqlite3ExprVectorSize(tls, _pLeft) _regLeft = i32(0) _regRight = i32(0) _opx = _op _addrDone = _sqlite3VdbeMakeLabel(tls, _v) if _nLeft == _sqlite3ExprVectorSize(tls, _pRight) { goto _0 } _sqlite3ErrorMsg(tls, _pParse, str(44256)) return _0: func() int32 { 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)) { return i32(0) } return func() int32 { 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(45676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pExpr.X0) == int32(_op)) || ((int32(_pExpr.X0) == i32(29)) && (int32(_op) == i32(37)))) || ((int32(_pExpr.X0) == i32(148)) && (int32(_op) == i32(36))) { return i32(0) } return func() int32 { 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(45836))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p5) == i32(0)) || (int32(_pExpr.X0) != int32(_op)) { return i32(0) } return func() int32 { 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(45924))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p5) == i32(128)) || (int32(_pExpr.X0) == int32(_op)) { return i32(0) } return func() int32 { 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(45948))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_p5 *p = uint8(int32(*p) | i32(32)) sink4537 = *p } if int32(_opx) != i32(39) { goto _22 } _opx = uint8(i32(40)) _22: if int32(_opx) != i32(41) { goto _23 } _opx = uint8(i32(38)) _23: _regLeft = _exprCodeSubselect(tls, _pParse, _pLeft) _regRight = _exprCodeSubselect(tls, _pParse, _pRight) _i = i32(0) _24: _2_regFree1 = i32(0) _2_regFree2 = i32(0) func() int32 { if (_i >= i32(0)) && (_i < _nLeft) { return i32(0) } return func() int32 { 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(45984))) crt.X__builtin_abort(tls) return i32(0) }() }() if _i <= i32(0) { goto _31 } _sqlite3ExprCachePush(tls, _pParse) _31: _2_r1 = _exprVectorRegister(tls, _pParse, _pLeft, _i, _regLeft, &_2_pL, &_2_regFree1) _2_r2 = _exprVectorRegister(tls, _pParse, _pRight, _i, _regRight, &_2_pR, &_2_regFree2) _codeCompare(tls, _pParse, _2_pL, _2_pR, int32(_opx), _2_r1, _2_r2, _dest, int32(_p5)) _sqlite3ReleaseTempReg(tls, _pParse, _2_regFree1) _sqlite3ReleaseTempReg(tls, _pParse, _2_regFree2) if _i <= i32(0) { goto _32 } _sqlite3ExprCachePop(tls, _pParse) _32: if _i != (_nLeft - i32(1)) { goto _33 } goto _27 _33: if int32(_opx) != i32(37) { goto _34 } _sqlite3VdbeAddOp2(tls, _v, i32(22), _dest, _addrDone) { p := &_p5 *p = uint8(int32(*p) | i32(8)) sink4537 = *p } goto _35 _34: if int32(_opx) != i32(36) { goto _36 } _sqlite3VdbeAddOp2(tls, _v, i32(21), _dest, _addrDone) { p := &_p5 *p = uint8(int32(*p) | i32(8)) sink4537 = *p } goto _37 _36: func() int32 { if (((int32(_op) == i32(40)) || (int32(_op) == i32(38))) || (int32(_op) == i32(39))) || (int32(_op) == i32(41)) { return i32(0) } return func() int32 { 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(46000))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(42), i32(0), _addrDone) if _i != (_nLeft - i32(2)) { goto _43 } _opx = _op _43: _37: _35: _i += 1 goto _24 _27: _sqlite3VdbeResolveLabel(tls, _v, _addrDone) return } func _sqlite3VdbeMakeLabel(tls *crt.TLS, _v *TVdbe) (r0 int32) { // sqlite3.c:71690:1 var _p *XParse // sqlite3.c:71691:9 _ = _p var _i int32 // sqlite3.c:71692:7 _ = _i _p = (*XParse)(unsafe.Pointer(_v.X3)) _i = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(84 /* X25 */))), int32(1)) func() int32 { if (_v.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(46052))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_i & (_i - i32(1))) != i32(0) { goto _2 } *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X26 */))) = (*int32)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_p.X26), uint64((_i*i32(2))+i32(1))*u64(4)))) _2: if (_p.X26) == nil { goto _3 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X26)) + 4*uintptr(_i))) = i32(-1) _3: r0 = i32(-1) - _i return } var _sqlite3VdbeMakeLabelØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMakeLabelØ00__func__Ø000[0], str(46080), 21) } var _codeVectorCompareØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_codeVectorCompareØ00__func__Ø000[0], str(46104), 18) } func _exprCodeSubselect(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 int32) { // sqlite3.c:91187:1 var _reg int32 // sqlite3.c:91188:7 _ = _reg _reg = i32(0) if int32(_pExpr.X0) != i32(119) { goto _0 } _reg = _sqlite3CodeSubselect(tls, _pParse, _pExpr, i32(0), i32(0)) _0: r0 = _reg return } func _sqlite3CodeSubselect(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _rHasNullFlag int32, _isRowid int32) (r0 int32) { // sqlite3.c:93188:1 var _jmpIfDynamic int32 // sqlite3.c:93194:7 _ = _jmpIfDynamic var _rReg int32 // sqlite3.c:93195:7 _ = _rReg var _v *TVdbe // sqlite3.c:93196:8 _ = _v var _2_zMsg *int8 // sqlite3.c:93216:10 _ = _2_zMsg var _4_addr int32 // sqlite3.c:93227:11 _ = _4_addr var _4_pLeft *XExpr // sqlite3.c:93228:12 _ = _4_pLeft var _4_pKeyInfo *XKeyInfo // sqlite3.c:93229:15 _ = _4_pKeyInfo var _4_nVal int32 // sqlite3.c:93230:11 _ = _4_nVal var _5_pSelect *XSelect // sqlite3.c:93259:16 _ = _5_pSelect var _5_pEList *XExprList // sqlite3.c:93260:18 _ = _5_pEList var _6_dest XSelectDest // sqlite3.c:93266:22 _ = _6_dest var _6_i int32 // sqlite3.c:93267:15 _ = _6_i var _8_p *XExpr // sqlite3.c:93284:18 _ = _8_p var _9_affinity int8 // sqlite3.c:93298:14 _ = _9_affinity var _9_i int32 // sqlite3.c:93299:13 _ = _9_i var _9_pList *XExprList // sqlite3.c:93300:18 _ = _9_pList var _9_pItem *TExprList_item // sqlite3.c:93301:30 _ = _9_pItem var _9_r1 int32 // sqlite3.c:93302:13 _ = _9_r1 var _9_r2 int32 // sqlite3.c:93302:17 _ = _9_r2 var _9_r3 int32 // sqlite3.c:93302:21 _ = _9_r3 var _12_pE2 *XExpr // sqlite3.c:93318:16 _ = _12_pE2 var _12_iValToIns int32 // sqlite3.c:93319:15 _ = _12_iValToIns var _19_pSel *XSelect // sqlite3.c:93373:14 _ = _19_pSel var _19_dest XSelectDest // sqlite3.c:93374:18 _ = _19_dest var _19_nReg int32 // sqlite3.c:93375:11 _ = _19_nReg _jmpIfDynamic = i32(-1) _rReg = i32(0) _v = _sqlite3GetVdbe(tls, _pParse) if func() int32 { if _v == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } r0 = i32(0) return _2: _sqlite3ExprCachePush(tls, _pParse) if ((_pExpr.X2) & uint32(i32(32))) != uint32(i32(0)) { goto _3 } _jmpIfDynamic = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _3: if int32(_pParse.X54) != i32(2) { goto _4 } _2_zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(46124), unsafe.Pointer(func() *int8 { if _jmpIfDynamic >= i32(0) { return str(196) } return str(46152) }()), unsafe.Pointer(func() *int8 { if int32(_pExpr.X0) == i32(33) { return str(46164) } return str(46172) }()), _pParse.X59) _sqlite3VdbeAddOp4(tls, _v, i32(163), _pParse.X58, i32(0), i32(0), _2_zMsg, i32(-1)) _4: switch int32(_pExpr.X0) { case i32(20): goto _11 case i32(33): goto _10 case i32(119): goto _12 default: goto _13 } _10: _4_pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) _4_pKeyInfo = nil _4_nVal = _sqlite3ExprVectorSize(tls, _4_pLeft) func() int32 { if (_isRowid == 0) || (_4_nVal == i32(1)) { return i32(0) } return func() int32 { 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(46180))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _4_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _pExpr.X8, func() int32 { if _isRowid != 0 { return i32(0) } return _4_nVal }()) _4_pKeyInfo = func() *XKeyInfo { if _isRowid != 0 { return (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) } return _sqlite3KeyInfoAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _4_nVal, i32(1)) }() if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _21 } _5_pSelect = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _5_pEList = (*XExprList)(unsafe.Pointer(_5_pSelect.X0)) func() int32 { if _isRowid == 0 { return i32(0) } return func() int32 { 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(46200))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (_5_pEList.X0) == _4_nVal { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _26 } _sqlite3SelectDestInit(tls, &_6_dest, i32(11), _pExpr.X8) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_6_dest)) + uintptr(8 /* X1 */))) = _exprINAffinity(tls, _pParse, _pExpr) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pSelect)) + uintptr(16 /* X4 */))) = i32(0) if _sqlite3Select(tls, _pParse, _5_pSelect, &_6_dest) == 0 { goto _27 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_6_dest.X1)) _sqlite3KeyInfoUnref(tls, _4_pKeyInfo) r0 = i32(0) return _27: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_6_dest.X1)) func() int32 { if _4_pKeyInfo != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46212))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _5_pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46224))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_5_pEList.X0) > i32(0) { return i32(0) } return func() int32 { 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(46236))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3KeyInfoIsWriteable(tls, _4_pKeyInfo) != 0 { return i32(0) } return func() int32 { 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(46252))) crt.X__builtin_abort(tls) return i32(0) }() }() _6_i = i32(0) _36: if _6_i >= _4_nVal { goto _39 } _8_p = _sqlite3VectorFieldSubexpr(tls, _4_pLeft, _6_i) *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_6_i))) = _sqlite3BinaryCompareCollSeq(tls, _pParse, _8_p, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_5_pEList.X1)+32*uintptr(_6_i))).X0))) _6_i += 1 goto _36 _39: _26: goto _40 _21: if func() int32 { if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _43 } _9_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _9_affinity = _sqlite3ExprAffinity(tls, _4_pLeft) if _9_affinity != 0 { goto _44 } _9_affinity = int8(i32(65)) _44: if _4_pKeyInfo == nil { goto _45 } func() int32 { if _sqlite3KeyInfoIsWriteable(tls, _4_pKeyInfo) != 0 { return i32(0) } return func() int32 { 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(46252))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(i32(0)))) = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _45: _9_r1 = _sqlite3GetTempReg(tls, _pParse) _9_r2 = _sqlite3GetTempReg(tls, _pParse) if _isRowid == 0 { goto _48 } _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _9_r2) _48: *func() **TExprList_item { _9_i = _9_pList.X0; return &_9_pItem }() = (*TExprList_item)(unsafe.Pointer(_9_pList.X1)) _49: if _9_i <= i32(0) { goto _52 } _12_pE2 = (*XExpr)(unsafe.Pointer(_9_pItem.X0)) if _jmpIfDynamic < i32(0) || _sqlite3ExprIsConstant(tls, _12_pE2) != 0 { goto _54 } _sqlite3VdbeChangeToNoop(tls, _v, _jmpIfDynamic) _jmpIfDynamic = i32(-1) _54: if _isRowid == 0 || _sqlite3ExprIsInteger(tls, _12_pE2, &_12_iValToIns) == 0 { goto _56 } _sqlite3VdbeAddOp3(tls, _v, i32(117), _pExpr.X8, _9_r2, _12_iValToIns) goto _57 _56: _9_r3 = _sqlite3ExprCodeTarget(tls, _pParse, _12_pE2, _9_r1) if _isRowid == 0 { goto _58 } _sqlite3VdbeAddOp2(tls, _v, i32(17), _9_r3, _sqlite3VdbeCurrentAddr(tls, _v)+i32(2)) _sqlite3VdbeAddOp3(tls, _v, i32(116), _pExpr.X8, _9_r2, _9_r3) goto _59 _58: _sqlite3VdbeAddOp4(tls, _v, i32(100), _9_r3, i32(1), _9_r2, &_9_affinity, i32(1)) _sqlite3ExprCacheAffinityChange(tls, _pParse, _9_r3, i32(1)) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _pExpr.X8, _9_r2, _9_r3, i32(1)) _59: _57: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _9_i -= 1; return &_9_pItem }())) += uintptr(32) goto _49 _52: _sqlite3ReleaseTempReg(tls, _pParse, _9_r1) _sqlite3ReleaseTempReg(tls, _pParse, _9_r2) _43: _40: if _4_pKeyInfo == nil { goto _60 } _sqlite3VdbeChangeP4(tls, _v, _4_addr, (*int8)(unsafe.Pointer((unsafe.Pointer)(_4_pKeyInfo))), i32(-5)) _60: goto _61 _11: _12: _13: func() int32 { if (int32(_pExpr.X0) == i32(20)) || (int32(_pExpr.X0) == i32(119)) { return i32(0) } return func() int32 { 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(46288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(46336))) crt.X__builtin_abort(tls) return i32(0) }() }() _19_pSel = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _19_nReg = func() int32 { if int32(_pExpr.X0) == i32(119) { return ((*XExprList)(unsafe.Pointer(_19_pSel.X0)).X0) } return i32(1) }() _sqlite3SelectDestInit(tls, &_19_dest, i32(0), (_pParse.X18)+i32(1)) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _19_nReg sink961 = *p } if int32(_pExpr.X0) != i32(119) { goto _69 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(0 /* X0 */))) = uint8(i32(10)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(20 /* X3 */))) = _19_dest.X2 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(24 /* X4 */))) = _19_nReg _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _19_dest.X2, ((_19_dest.X2)+_19_nReg)-i32(1)) _sqlite3VdbeComment(tls, _v, str(46376)) goto _70 _69: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(0 /* X0 */))) = uint8(i32(3)) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _19_dest.X2) _sqlite3VdbeComment(tls, _v, str(46400)) _70: _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(_19_pSel.X15))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pSel)) + uintptr(104 /* X15 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(134), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3IntTokens))+16*uintptr(i32(1)))), i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pSel)) + uintptr(16 /* X4 */))) = i32(0) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pSel)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-1025)) sink985 = *p } if _sqlite3Select(tls, _pParse, _19_pSel, &_19_dest) == 0 { goto _71 } r0 = i32(0) return _71: _rReg = _19_dest.X2 { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } goto _61 _61: if _rHasNullFlag == 0 { goto _72 } _sqlite3SetHasNullFlag(tls, _v, _pExpr.X8, _rHasNullFlag) _72: if _jmpIfDynamic < i32(0) { goto _73 } _sqlite3VdbeJumpHere(tls, _v, _jmpIfDynamic) _73: _sqlite3ExprCachePop(tls, _pParse) r0 = _rReg return } var _sqlite3CodeSubselectØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CodeSubselectØ00__func__Ø000[0], str(46420), 21) } func _sqlite3ExprCachePush(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:93856:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(76 /* X23 */))) += 1 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(4096)) == 0 { goto _0 } crt.Xprintf(tls, str(46444), _pParse.X23) _0: return } func _sqlite3SelectDestInit(tls *crt.TLS, _pDest *XSelectDest, _eDest int32, _iParm int32) { // sqlite3.c:116335:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(0 /* X0 */))) = uint8(_eDest) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(16 /* X2 */))) = _iParm *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(20 /* X3 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(24 /* X4 */))) = i32(0) return } func _exprINAffinity(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 *int8) { // sqlite3.c:93098:1 var _pLeft *XExpr // sqlite3.c:93099:8 _ = _pLeft var _nVal int32 // sqlite3.c:93100:7 _ = _nVal var _pSelect *XSelect // sqlite3.c:93101:10 _ = _pSelect var _zRet *int8 // sqlite3.c:93102:8 _ = _zRet var _1_i int32 // sqlite3.c:93107:9 _ = _1_i var _2_pA *XExpr // sqlite3.c:93109:12 _ = _2_pA var _2_a int8 // sqlite3.c:93110:12 _ = _2_a _pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) _nVal = _sqlite3ExprVectorSize(tls, _pLeft) _pSelect = func() *XSelect { if ((_pExpr.X2) & uint32(i32(2048))) != 0 { return (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) } return (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) }() func() int32 { if int32(_pExpr.X0) == i32(33) { return i32(0) } return func() int32 { 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(46456))) crt.X__builtin_abort(tls) return i32(0) }() }() _zRet = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(_nVal+i32(1))))) if _zRet == nil { goto _4 } _1_i = i32(0) _5: if _1_i >= _nVal { goto _8 } _2_pA = _sqlite3VectorFieldSubexpr(tls, _pLeft, _1_i) _2_a = _sqlite3ExprAffinity(tls, _2_pA) if _pSelect == nil { goto _9 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRet)) + 1*uintptr(_1_i))) = _sqlite3CompareAffinity(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSelect.X0)).X1)+32*uintptr(_1_i))).X0)), _2_a) goto _10 _9: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRet)) + 1*uintptr(_1_i))) = _2_a _10: _1_i += 1 goto _5 _8: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRet)) + 1*uintptr(_nVal))) = int8(i32(0)) _4: r0 = _zRet return } var _exprINAffinityØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_exprINAffinityØ00__func__Ø000[0], str(46476), 15) } func _sqlite3VectorFieldSubexpr(tls *crt.TLS, _pVector *XExpr, _i int32) (r0 *XExpr) { // sqlite3.c:91105:1 func() int32 { if _i < _sqlite3ExprVectorSize(tls, _pVector) { return i32(0) } return func() int32 { 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(46492))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprIsVector(tls, _pVector) == 0 { goto _2 } func() int32 { if (int32(_pVector.X12) == i32(0)) || (int32(_pVector.X0) == i32(157)) { return i32(0) } return func() int32 { 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(46528))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pVector.X0) != i32(119) && int32(_pVector.X12) != i32(119) { goto _7 } r0 = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(32 /* X6 */))))))).X0)).X1) + 32*uintptr(_i))).X0)) return _7: r0 = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_i))).X0)) return _2: r0 = _pVector return } var _sqlite3VectorFieldSubexprØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VectorFieldSubexprØ00__func__Ø000[0], str(46572), 26) } func _sqlite3ExprAffinity(tls *crt.TLS, _pExpr *XExpr) (r0 int8) { // sqlite3.c:90779:1 var _op int32 // sqlite3.c:90780:7 _ = _op _pExpr = _sqlite3ExprSkipCollate(tls, _pExpr) if ((_pExpr.X2) & uint32(i32(512))) == 0 { goto _0 } r0 = int8(i32(0)) return _0: _op = int32(_pExpr.X0) if _op != i32(119) { goto _1 } func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) != 0 { return i32(0) } return func() int32 { 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(46600))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0)).X1)+32*uintptr(i32(0)))).X0))) return _1: if _op != i32(157) { goto _4 } _op = int32(_pExpr.X12) _4: if _op != i32(66) { goto _5 } func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3AffinityType(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*uint8)(unsafe.Pointer(uintptr(i32(0))))) return _5: if _op != i32(154) && _op != i32(152) { goto _9 } r0 = _sqlite3TableColumnAffinity(tls, (*XTable)(unsafe.Pointer(_pExpr.X14)), int32(_pExpr.X9)) return _9: if _op != i32(159) { goto _10 } func() int32 { if (((*XExpr)(unsafe.Pointer(_pExpr.X4)).X2) & uint32(i32(2048))) != 0 { return i32(0) } return func() int32 { 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(46628))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(32 /* X6 */))))))).X0)).X1)+32*uintptr(_pExpr.X9))).X0))) return _10: r0 = _pExpr.X1 return } func _sqlite3ExprSkipCollate(tls *crt.TLS, _pExpr *XExpr) (r0 *XExpr) { // sqlite3.c:90842:1 _0: if _pExpr == nil || ((_pExpr.X2)&uint32(i32(4096))) == uint32(i32(0)) { goto _1 } if ((_pExpr.X2) & uint32(i32(262144))) == uint32(i32(0)) { goto _3 } func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0) > i32(0) { return i32(0) } return func() int32 { 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(46664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pExpr.X0) == i32(151) { return i32(0) } return func() int32 { 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(46688))) crt.X__builtin_abort(tls) return i32(0) }() }() _pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(0)))).X0)) goto _10 _3: func() int32 { if int32(_pExpr.X0) == i32(53) { return i32(0) } return func() int32 { 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(46712))) crt.X__builtin_abort(tls) return i32(0) }() }() _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) _10: goto _0 _1: r0 = _pExpr return } var _sqlite3ExprSkipCollateØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprSkipCollateØ00__func__Ø000[0], str(46736), 23) } var _sqlite3ExprAffinityØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprAffinityØ00__func__Ø000[0], str(46760), 20) } func _sqlite3TableColumnAffinity(tls *crt.TLS, _pTab *XTable, _iCol int32) (r0 int8) { // sqlite3.c:90758:1 func() int32 { if _iCol < int32(_pTab.X11) { return i32(0) } return func() int32 { 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(46780))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int8(func() int32 { if _iCol >= i32(0) { return int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))).X4) } return i32(68) }()) return } var _sqlite3TableColumnAffinityØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TableColumnAffinityØ00__func__Ø000[0], str(46796), 27) } func _sqlite3CompareAffinity(tls *crt.TLS, _pExpr *XExpr, _aff2 int8) (r0 int8) { // sqlite3.c:90930:1 var _aff1 int8 // sqlite3.c:90931:8 _ = _aff1 _aff1 = _sqlite3ExprAffinity(tls, _pExpr) if _aff1 == 0 || _aff2 == 0 { goto _1 } if int32(_aff1) < i32(67) && int32(_aff2) < i32(67) { goto _3 } r0 = int8(i32(67)) return _3: r0 = int8(i32(65)) return _1: if _aff1 != 0 || _aff2 != 0 { goto _7 } r0 = int8(i32(65)) return _7: func() int32 { if (int32(_aff1) == i32(0)) || (int32(_aff2) == i32(0)) { return i32(0) } return func() int32 { 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(46824))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int8(int32(_aff1) + int32(_aff2)) return } var _sqlite3CompareAffinityØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CompareAffinityØ00__func__Ø000[0], str(46844), 23) } func _sqlite3Select(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:121109:1 var _i int32 // sqlite3.c:121114:7 _ = _i var _j int32 // sqlite3.c:121114:10 _ = _j var _pWInfo *XWhereInfo // sqlite3.c:121115:13 _ = _pWInfo var _v *TVdbe // sqlite3.c:121116:8 _ = _v var _isAgg int32 // sqlite3.c:121117:7 _ = _isAgg var _pEList *XExprList // sqlite3.c:121118:12 _ = _pEList var _pTabList *XSrcList // sqlite3.c:121119:11 _ = _pTabList var _pWhere *XExpr // sqlite3.c:121120:8 _ = _pWhere var _pGroupBy *XExprList // sqlite3.c:121121:12 _ = _pGroupBy var _pHaving *XExpr // sqlite3.c:121122:8 _ = _pHaving var _rc int32 // sqlite3.c:121123:7 _ = _rc var _sDistinct XDistinctCtx // sqlite3.c:121124:15 _ = _sDistinct var _sSort XSortCtx // sqlite3.c:121125:11 _ = _sSort var _sAggInfo XAggInfo // sqlite3.c:121126:11 _ = _sAggInfo var _iEnd int32 // sqlite3.c:121127:7 _ = _iEnd var _db *Xsqlite3 // sqlite3.c:121128:11 _ = _db var _iRestoreSelectId int32 // sqlite3.c:121131:7 _ = _iRestoreSelectId var _6_pItem *TSrcList_item // sqlite3.c:121184:25 _ = _6_pItem var _6_pSub *XSelect // sqlite3.c:121185:12 _ = _6_pSub var _6_isAggSub int32 // sqlite3.c:121186:9 _ = _6_isAggSub var _6_pTab *XTable // sqlite3.c:121187:11 _ = _6_pTab var _12_pItem *TSrcList_item // sqlite3.c:121239:25 _ = _12_pItem var _12_dest XSelectDest // sqlite3.c:121240:16 _ = _12_dest var _12_pSub *XSelect // sqlite3.c:121241:12 _ = _12_pSub var _17_addrTop int32 // sqlite3.c:121303:11 _ = _17_addrTop var _18_topAddr int32 // sqlite3.c:121323:11 _ = _18_topAddr var _18_onceAddr int32 // sqlite3.c:121324:11 _ = _18_onceAddr var _18_retAddr int32 // sqlite3.c:121325:11 _ = _18_retAddr var _24_pKeyInfo *XKeyInfo // sqlite3.c:121411:13 _ = _24_pKeyInfo var _31_wctrlFlags uint16 // sqlite3.c:121457:9 _ = _31_wctrlFlags var _37_sNC XNameContext // sqlite3.c:121498:17 _ = _37_sNC var _37_iAMem int32 // sqlite3.c:121499:9 _ = _37_iAMem var _37_iBMem int32 // sqlite3.c:121500:9 _ = _37_iBMem var _37_iUseFlag int32 // sqlite3.c:121501:9 _ = _37_iUseFlag var _37_iAbortFlag int32 // sqlite3.c:121504:9 _ = _37_iAbortFlag var _37_groupBySort int32 // sqlite3.c:121505:9 _ = _37_groupBySort var _37_addrEnd int32 // sqlite3.c:121506:9 _ = _37_addrEnd var _37_sortPTab int32 // sqlite3.c:121507:9 _ = _37_sortPTab var _37_sortOut int32 // sqlite3.c:121508:9 _ = _37_sortOut var _37_orderByGrp int32 // sqlite3.c:121509:9 _ = _37_orderByGrp var _38_k int32 // sqlite3.c:121515:11 _ = _38_k var _38_pItem *TExprList_item // sqlite3.c:121516:28 _ = _38_pItem var _45_pKeyInfo *XKeyInfo // sqlite3.c:121576:15 _ = _45_pKeyInfo var _45_addr1 int32 // sqlite3.c:121577:11 _ = _45_addr1 var _45_addrOutputRow int32 // sqlite3.c:121578:11 _ = _45_addrOutputRow var _45_regOutputRow int32 // sqlite3.c:121579:11 _ = _45_regOutputRow var _45_addrSetAbort int32 // sqlite3.c:121580:11 _ = _45_addrSetAbort var _45_addrTopOfLoop int32 // sqlite3.c:121581:11 _ = _45_addrTopOfLoop var _45_addrSortingIdx int32 // sqlite3.c:121582:11 _ = _45_addrSortingIdx var _45_addrReset int32 // sqlite3.c:121583:11 _ = _45_addrReset var _45_regReset int32 // sqlite3.c:121584:11 _ = _45_regReset var _47_regBase int32 // sqlite3.c:121637:13 _ = _47_regBase var _47_regRecord int32 // sqlite3.c:121638:13 _ = _47_regRecord var _47_nCol int32 // sqlite3.c:121639:13 _ = _47_nCol var _47_nGroupBy int32 // sqlite3.c:121640:13 _ = _47_nGroupBy var _50_pCol *TAggInfo_col // sqlite3.c:121661:30 _ = _50_pCol var _51_r1 int32 // sqlite3.c:121663:17 _ = _51_r1 var _59_pDel *XExprList // sqlite3.c:121800:16 _ = _59_pDel var _59_pTab *XTable // sqlite3.c:121802:13 _ = _59_pTab var _60_iDb int32 // sqlite3.c:121817:19 _ = _60_iDb var _60_iCsr int32 // sqlite3.c:121818:19 _ = _60_iCsr var _60_pIdx *XIndex // sqlite3.c:121819:15 _ = _60_pIdx var _60_pKeyInfo *XKeyInfo // sqlite3.c:121820:17 _ = _60_pKeyInfo var _60_pBest *XIndex // sqlite3.c:121821:15 _ = _60_pBest var _60_iRoot int32 // sqlite3.c:121822:13 _ = _60_iRoot var _65_pMinMax *XExprList // sqlite3.c:121887:18 _ = _65_pMinMax var _65_flag uint8 // sqlite3.c:121888:12 _ = _65_flag _pEList = nil _rc = i32(1) _iRestoreSelectId = _pParse.X58 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(488 /* X58 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(492 /* X59 */))), int32(1)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) && (_db.X17) == 0 && (_pParse.X16) == 0 { goto _2 } r0 = i32(1) return _2: 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 { goto _3 } r0 = i32(1) return _3: crt.Xmemset(tls, (unsafe.Pointer)(&_sAggInfo), i32(0), u64(64)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X35 */))) += 1 if (Xsqlite3SelectTrace & i32(1)) == 0 { goto _4 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(46880) }()) _4: if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _5 } _sqlite3TreeViewSelect(tls, (*T5516662)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) _5: func() int32 { if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(6)) { return i32(0) } return func() int32 { 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(46900))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(5)) { return i32(0) } return func() int32 { 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(46948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(8)) { return i32(0) } return func() int32 { 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(46992))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(7)) { return i32(0) } return func() int32 { 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(47040))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pDest.X0) > i32(8) { goto _18 } func() int32 { 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)) { return i32(0) } return func() int32 { 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(47084))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12))) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-2)) sink985 = *p } _18: _sqlite3SelectPrep(tls, _pParse, _p, (*XNameContext)(unsafe.Pointer(uintptr(i32(0))))) crt.Xmemset(tls, (unsafe.Pointer)(&_sSort), i32(0), u64(40)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(_p.X12)) _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _29 } goto _select_end _29: func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(47308))) crt.X__builtin_abort(tls) return i32(0) }() }() _isAgg = bool2int(((_p.X3) & uint32(i32(8))) != uint32(i32(0))) if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _32 } if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _33 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(47324) }()) _33: _sqlite3TreeViewSelect(tls, (*T5516662)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) _32: _i = i32(0) _34: if (*XSelect)(unsafe.Pointer(_p.X13)) != nil || _i >= (_pTabList.X0) { goto _38 } _6_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) _6_pSub = (*XSelect)(unsafe.Pointer(_6_pItem.X5)) _6_pTab = (*XTable)(unsafe.Pointer(_6_pItem.X4)) if _6_pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _39 } goto _35 _39: if int32(_6_pTab.X11) == ((*XExprList)(unsafe.Pointer(_6_pSub.X0)).X0) { goto _40 } _sqlite3ErrorMsg(tls, _pParse, str(47348), int32(_6_pTab.X11), unsafe.Pointer(_6_pTab.X0), (*XExprList)(unsafe.Pointer(_6_pSub.X0)).X0) goto _select_end _40: _6_isAggSub = bool2int(((_6_pSub.X3) & uint32(i32(8))) != uint32(i32(0))) if _flattenSubquery(tls, _pParse, _p, _i, _isAgg, _6_isAggSub) == 0 { goto _41 } if _6_isAggSub == 0 { goto _42 } _isAgg = i32(1) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(8)) sink985 = *p } _42: _i = i32(-1) _41: _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) if (_db.X17) == 0 { goto _43 } goto _select_end _43: if int32(_pDest.X0) <= i32(8) { goto _44 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(_p.X12)) _44: _35: _i += 1 goto _34 _38: _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _45 } goto _select_end _45: if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _46 } _rc = _multiSelect(tls, _pParse, _p, _pDest) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(488 /* X58 */))) = _iRestoreSelectId if (Xsqlite3SelectTrace & i32(1)) == 0 { goto _47 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(47388) }()) _47: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X35 */))) -= 1 r0 = _rc return _46: _i = i32(0) _48: if _i >= (_pTabList.X0) { goto _51 } _12_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) _12_pSub = (*XSelect)(unsafe.Pointer(_12_pItem.X5)) if _12_pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _52 } goto _49 _52: if (_12_pItem.X6) == 0 { goto _53 } if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(4)))<>uint(i32(31))) != i32(0) { goto _54 } _sqlite3VdbeAddOp2(tls, _v, i32(14), _12_pItem.X7, _12_pItem.X6) _54: goto _49 _53: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(484 /* X57 */))) *p = (*p) + _sqlite3SelectExprHeight(tls, _p) sink961 = *p } if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(60 /* X9 */))).X0)&i32(32)) != i32(0) || _pushDownWhereTerms(tls, _pParse, _12_pSub, (*XExpr)(unsafe.Pointer(_p.X9)), _12_pItem.X11) == 0 { goto _56 } if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _57 } if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _58 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(47420) }()) _58: _sqlite3TreeViewSelect(tls, (*T5516662)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) _57: _56: if _i != i32(0) || (_pTabList.X0) != i32(1) && (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(1))))))+uintptr(60 /* X9 */))).X0)&i32(10)) == i32(0) || ((_p.X3)&uint32(i32(2))) != uint32(i32(0)) || (int32(_db.X13)&i32(256)) != i32(0) { goto _63 } _17_addrTop = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(52 /* X7 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp3(tls, _v, i32(15), _12_pItem.X7, i32(0), _17_addrTop) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(48 /* X6 */))) = _17_addrTop _sqlite3SelectDestInit(tls, &_12_dest, i32(13), _12_pItem.X7) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(62 /* X10 */))) = uint8(_pParse.X59) _sqlite3Select(tls, _pParse, _12_pSub, &_12_dest) *(*int16)(unsafe.Pointer(uintptr(_12_pItem.X4) + uintptr(72 /* X12 */))) = _12_pSub.X2 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 16, 4) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(56 /* X8 */))) = _12_dest.X3 _sqlite3VdbeEndCoroutine(tls, _v, _12_pItem.X7) _sqlite3VdbeJumpHere(tls, _v, _17_addrTop-i32(1)) _sqlite3ClearTempRegCache(tls, _pParse) goto _64 _63: _18_onceAddr = i32(0) func() int32 { if (_12_pItem.X6) == i32(0) { return i32(0) } return func() int32 { 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(47452))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(52 /* X7 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _18_topAddr = _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _12_pItem.X7) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(48 /* X6 */))) = _18_topAddr + i32(1) if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(3)))<>uint(i32(31))) != i32(0) { goto _67 } _18_onceAddr = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _sqlite3VdbeComment(tls, _v, str(47476), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) goto _68 _67: _sqlite3VdbeNoopComment(tls, _v, str(47476), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) _68: _sqlite3SelectDestInit(tls, &_12_dest, i32(12), _12_pItem.X11) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(62 /* X10 */))) = uint8(_pParse.X59) _sqlite3Select(tls, _pParse, _12_pSub, &_12_dest) *(*int16)(unsafe.Pointer(uintptr(_12_pItem.X4) + uintptr(72 /* X12 */))) = _12_pSub.X2 if _18_onceAddr == 0 { goto _69 } _sqlite3VdbeJumpHere(tls, _v, _18_onceAddr) _69: _18_retAddr = _sqlite3VdbeAddOp1(tls, _v, i32(73), _12_pItem.X7) _sqlite3VdbeComment(tls, _v, str(47496), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) _sqlite3VdbeChangeP1(tls, _v, uint32(_18_topAddr), _18_retAddr) _sqlite3ClearTempRegCache(tls, _pParse) _64: if (_db.X17) == 0 { goto _70 } goto _select_end _70: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(484 /* X57 */))) *p = (*p) - _sqlite3SelectExprHeight(tls, _p) sink961 = *p } _49: _i += 1 goto _48 _51: _pEList = (*XExprList)(unsafe.Pointer(_p.X0)) _pWhere = (*XExpr)(unsafe.Pointer(_p.X9)) _pGroupBy = (*XExprList)(unsafe.Pointer(_p.X10)) _pHaving = (*XExpr)(unsafe.Pointer(_p.X11)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(0 /* X0 */))) = uint8(bool2int(((_p.X3) & uint32(i32(1))) != uint32(i32(0)))) if (Xsqlite3SelectTrace & i32(1024)) == 0 { goto _71 } if (Xsqlite3SelectTrace & i32(1024)) == 0 { goto _72 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(47504) }()) _72: _sqlite3TreeViewSelect(tls, (*T5516662)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) _71: if ((_p.X3)&uint32(i32(9))) != uint32(i32(1)) || _sqlite3ExprListCompare(tls, (*XExprList)(unsafe.Pointer(_sSort.X0)), _pEList, i32(-1)) != i32(0) { goto _74 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-2)) sink985 = *p } _pGroupBy = store5429888((**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(64 /* X10 */))))), _sqlite3ExprListDup(tls, _db, _pEList, i32(0))) func() int32 { if (_sDistinct.X0) != 0 { return i32(0) } return func() int32 { 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(47540))) crt.X__builtin_abort(tls) return i32(0) }() }() if (Xsqlite3SelectTrace & i32(1024)) == 0 { goto _77 } if (Xsqlite3SelectTrace & i32(1024)) == 0 { goto _78 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(47560) }()) _78: _sqlite3TreeViewSelect(tls, (*T5516662)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) _77: _74: if (*XExprList)(unsafe.Pointer(_sSort.X0)) == nil { goto _79 } _24_pKeyInfo = _keyInfoFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_sSort.X0)), i32(0), _pEList.X0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(12 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(24 /* 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)) goto _80 _79: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(24 /* X5 */))) = i32(-1) _80: if int32(_pDest.X0) != i32(12) { goto _81 } _sqlite3VdbeAddOp2(tls, _v, i32(108), _pDest.X2, _pEList.X0) _81: _iEnd = _sqlite3VdbeMakeLabel(tls, _v) if ((_p.X3) & uint32(i32(16384))) != uint32(i32(0)) { goto _82 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = int16(i32(320)) _82: _computeLimitRegisters(tls, _pParse, _p, _iEnd) if (_p.X4) != i32(0) || (_sSort.X5) < i32(0) { goto _84 } _sqlite3VdbeChangeOpcode(tls, _v, uint32(_sSort.X5), uint8(i32(109))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(32 /* X7 */))) *p = uint8(int32(*p) | i32(1)) sink4537 = *p } _84: if ((_p.X3) & uint32(i32(1))) == 0 { goto _85 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(4 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) *(*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)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(1 /* X1 */))) = uint8(i32(3)) goto _86 _85: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(1 /* X1 */))) = uint8(i32(0)) _86: if _isAgg != 0 || _pGroupBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _88 } _31_wctrlFlags = uint16(func() int32 { if (_sDistinct.X0) != 0 { return i32(256) } return i32(0) }()) i32(0) { p := &_31_wctrlFlags *p = uint16(uint32(*p) | ((_p.X3) & uint32(i32(16384)))) sink4530 = *p } _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, (*XExprList)(unsafe.Pointer(_sSort.X0)), (*XExprList)(unsafe.Pointer(_p.X0)), _31_wctrlFlags, int32(_p.X2)) if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _91 } goto _select_end _91: if int32(_sqlite3WhereOutputRowCount(tls, _pWInfo)) >= int32(_p.X2) { goto _92 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _sqlite3WhereOutputRowCount(tls, _pWInfo) _92: if (_sDistinct.X0) == 0 || _sqlite3WhereIsDistinct(tls, _pWInfo) == 0 { goto _94 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(1 /* X1 */))) = uint8(_sqlite3WhereIsDistinct(tls, _pWInfo)) _94: if (*XExprList)(unsafe.Pointer(_sSort.X0)) == nil { goto _95 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(8 /* X1 */))) = _sqlite3WhereIsOrdered(tls, _pWInfo) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(33 /* X8 */))) = uint8(_sqlite3WhereOrderedInnerLoop(tls, _pWInfo)) if (_sSort.X1) != ((*XExprList)(unsafe.Pointer(_sSort.X0)).X0) { goto _96 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _96: _95: if (_sSort.X5) < i32(0) || (*XExprList)(unsafe.Pointer(_sSort.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _98 } _sqlite3VdbeChangeToNoop(tls, _v, _sSort.X5) _98: _selectInnerLoop(tls, _pParse, _p, _pEList, i32(-1), &_sSort, &_sDistinct, _pDest, _sqlite3WhereContinueLabel(tls, _pWInfo), _sqlite3WhereBreakLabel(tls, _pWInfo)) _sqlite3WhereEnd(tls, _pWInfo) goto _99 _88: _37_sortPTab = i32(0) _37_sortOut = i32(0) _37_orderByGrp = i32(0) if _pGroupBy == nil { goto _100 } *func() **TExprList_item { _38_k = (*XExprList)(unsafe.Pointer(_p.X0)).X0; return &_38_pItem }() = (*TExprList_item)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_p.X0)).X1)) _101: if _38_k <= i32(0) { goto _104 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_38_pItem))+uintptr(28 /* X5 */))))))) + uintptr(2 /* X1 */))) = uint16(i32(0)) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _38_k -= 1; return &_38_pItem }())) += uintptr(32) goto _101 _104: *func() **TExprList_item { _38_k = _pGroupBy.X0; return &_38_pItem }() = (*TExprList_item)(unsafe.Pointer(_pGroupBy.X1)) _105: if _38_k <= i32(0) { goto _108 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_38_pItem))+uintptr(28 /* X5 */))))))) + uintptr(2 /* X1 */))) = uint16(i32(0)) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _38_k -= 1; return &_38_pItem }())) += uintptr(32) goto _105 _108: func() int32 { if i32(66) == int32(_sqlite3LogEst(tls, uint64(i32(100)))) { return i32(0) } return func() int32 { 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(47596))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X2) <= i32(66) { goto _111 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = int16(i32(66)) _111: goto _112 _100: func() int32 { if i32(0) == int32(_sqlite3LogEst(tls, uint64(i32(1)))) { return i32(0) } return func() int32 { 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(47620))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = int16(i32(0)) _112: if _sqlite3ExprListCompare(tls, _pGroupBy, (*XExprList)(unsafe.Pointer(_sSort.X0)), i32(-1)) != i32(0) { goto _115 } _37_orderByGrp = i32(1) _115: _37_addrEnd = _sqlite3VdbeMakeLabel(tls, _v) crt.Xmemset(tls, (unsafe.Pointer)(&_37_sNC), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(0 /* X0 */))))) = _pParse *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(8 /* X1 */))))) = _pTabList *(**XAggInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(24 /* X3 */))))) = &_sAggInfo *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(16 /* X5 */))) = (_pParse.X18) + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(12 /* X4 */))) = func() int32 { if _pGroupBy != nil { return (_pGroupBy.X0) } return i32(0) }() *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(24 /* X7 */))))) = _pGroupBy _sqlite3ExprAnalyzeAggList(tls, &_37_sNC, _pEList) _sqlite3ExprAnalyzeAggList(tls, &_37_sNC, (*XExprList)(unsafe.Pointer(_sSort.X0))) if _pHaving == nil { goto _118 } _sqlite3ExprAnalyzeAggregates(tls, &_37_sNC, _pHaving) _118: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(44 /* X10 */))) = _sAggInfo.X9 _i = i32(0) _119: if _i >= (_sAggInfo.X12) { goto _122 } func() int32 { if (((*XExpr)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(uintptr(_sAggInfo.X11) + 24*uintptr(_i))).X0)).X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(47640))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } _sqlite3ExprAnalyzeAggList(tls, &_37_sNC, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((*TAggInfo_func)(unsafe.Pointer(uintptr(_sAggInfo.X11)+24*uintptr(_i))).X0) + uintptr(32 /* X6 */)))))))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) & i32(-9)) sink4530 = *p } _i += 1 goto _119 _122: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(20 /* X6 */))) = _pParse.X18 if (_db.X17) == 0 { goto _125 } goto _select_end _125: if _pGroupBy == nil { goto _126 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(4 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _45_pKeyInfo = _keyInfoFromExprList(tls, _pParse, _pGroupBy, i32(0), _sAggInfo.X9) _45_addrSortingIdx = _sqlite3VdbeAddOp4(tls, _v, i32(109), _sAggInfo.X2, _sAggInfo.X4, i32(0), (*int8)(unsafe.Pointer(_45_pKeyInfo)), i32(-5)) _37_iUseFlag = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _37_iAbortFlag = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _45_regOutputRow = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _45_addrOutputRow = _sqlite3VdbeMakeLabel(tls, _v) _45_regReset = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _45_addrReset = _sqlite3VdbeMakeLabel(tls, _v) _37_iAMem = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + (_pGroupBy.X0) sink961 = *p } _37_iBMem = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + (_pGroupBy.X0) sink961 = *p } _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _37_iAbortFlag) _sqlite3VdbeComment(tls, _v, str(47696)) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _37_iUseFlag) _sqlite3VdbeComment(tls, _v, str(47716)) _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _37_iAMem, (_37_iAMem+(_pGroupBy.X0))-i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regReset, _45_addrReset) _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, _pGroupBy, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(i32(64)|func() int32 { if _37_orderByGrp != 0 { return i32(512) } return i32(0) }()), i32(0)) if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _129 } goto _select_end _129: if _sqlite3WhereIsOrdered(tls, _pWInfo) != (_pGroupBy.X0) { goto _130 } _37_groupBySort = i32(0) goto _131 _130: _explainTempTable(tls, _pParse, func() *int8 { if ((_sDistinct.X0) != 0) && (((_p.X3) & uint32(i32(1))) == uint32(i32(0))) { return str(25632) } return str(47744) }()) _37_groupBySort = i32(1) _47_nGroupBy = _pGroupBy.X0 _47_nCol = _47_nGroupBy _j = _47_nGroupBy _i = i32(0) _135: if _i >= (_sAggInfo.X9) { goto _138 } if ((*TAggInfo_col)(unsafe.Pointer(uintptr(_sAggInfo.X8) + 32*uintptr(_i))).X3) < _j { goto _139 } _47_nCol += 1 _j += 1 _139: _i += 1 goto _135 _138: _47_regBase = _sqlite3GetTempRange(tls, _pParse, _47_nCol) _sqlite3ExprCacheClear(tls, _pParse) _sqlite3ExprCodeExprList(tls, _pParse, _pGroupBy, _47_regBase, i32(0), uint8(i32(0))) _j = _47_nGroupBy _i = i32(0) _140: if _i >= (_sAggInfo.X9) { goto _143 } _50_pCol = (*TAggInfo_col)(unsafe.Pointer(uintptr(_sAggInfo.X8) + 32*uintptr(_i))) if (_50_pCol.X3) < _j { goto _144 } _51_r1 = _j + _47_regBase _sqlite3ExprCodeGetColumnToReg(tls, _pParse, (*XTable)(unsafe.Pointer(_50_pCol.X0)), _50_pCol.X2, _50_pCol.X1, _51_r1) _j += 1 _144: _i += 1 goto _140 _143: _47_regRecord = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(100), _47_regBase, _47_nCol, _47_regRecord) _sqlite3VdbeAddOp2(tls, _v, i32(125), _sAggInfo.X2, _47_regRecord) _sqlite3ReleaseTempReg(tls, _pParse, _47_regRecord) _sqlite3ReleaseTempRange(tls, _pParse, _47_regBase, _47_nCol) _sqlite3WhereEnd(tls, _pWInfo) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(8 /* X3 */))) = store961(&_37_sortPTab, postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1))) _37_sortOut = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(111), _37_sortPTab, _37_sortOut, _47_nCol) _sqlite3VdbeAddOp2(tls, _v, i32(56), _sAggInfo.X2, _37_addrEnd) _sqlite3VdbeComment(tls, _v, str(47756)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(1 /* X1 */))) = uint8(i32(1)) _sqlite3ExprCacheClear(tls, _pParse) _131: if _37_orderByGrp == 0 || (int32(_db.X13)&i32(4)) != i32(0) || _37_groupBySort == 0 && _sqlite3WhereIsSorted(tls, _pWInfo) == 0 { goto _148 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3VdbeChangeToNoop(tls, _v, _sSort.X5) _148: _45_addrTopOfLoop = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3ExprCacheClear(tls, _pParse) if _37_groupBySort == 0 { goto _149 } _sqlite3VdbeAddOp3(tls, _v, i32(121), _sAggInfo.X2, _37_sortOut, _37_sortPTab) _149: _j = i32(0) _150: if _j >= (_pGroupBy.X0) { goto _153 } if _37_groupBySort == 0 { goto _154 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _37_sortPTab, _j, _37_iBMem+_j) goto _155 _154: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(0 /* X0 */))) = uint8(i32(1)) _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pGroupBy.X1)+32*uintptr(_j))).X0)), _37_iBMem+_j) _155: _j += 1 goto _150 _153: _sqlite3VdbeAddOp4(tls, _v, i32(96), _37_iAMem, _37_iBMem, _pGroupBy.X0, (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _45_pKeyInfo))), i32(-5)) _45_addr1 = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp3(tls, _v, i32(18), _45_addr1+i32(1), i32(0), _45_addr1+i32(1)) _sqlite3ExprCodeMove(tls, _pParse, _37_iBMem, _37_iAMem, _pGroupBy.X0) _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regOutputRow, _45_addrOutputRow) _sqlite3VdbeComment(tls, _v, str(47772)) _sqlite3VdbeAddOp2(tls, _v, i32(67), _37_iAbortFlag, _37_addrEnd) _sqlite3VdbeComment(tls, _v, str(47788)) _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regReset, _45_addrReset) _sqlite3VdbeComment(tls, _v, str(47808)) _sqlite3VdbeJumpHere(tls, _v, _45_addr1) _updateAccumulator(tls, _pParse, &_sAggInfo) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _37_iUseFlag) _sqlite3VdbeComment(tls, _v, str(47828)) if _37_groupBySort == 0 { goto _156 } _sqlite3VdbeAddOp2(tls, _v, i32(3), _sAggInfo.X2, _45_addrTopOfLoop) goto _157 _156: _sqlite3WhereEnd(tls, _pWInfo) _sqlite3VdbeChangeToNoop(tls, _v, _45_addrSortingIdx) _157: _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regOutputRow, _45_addrOutputRow) _sqlite3VdbeComment(tls, _v, str(47860)) _sqlite3VdbeGoto(tls, _v, _37_addrEnd) _45_addrSetAbort = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _37_iAbortFlag) _sqlite3VdbeComment(tls, _v, str(47880)) _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regOutputRow) _sqlite3VdbeResolveLabel(tls, _v, _45_addrOutputRow) _45_addrOutputRow = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp2(tls, _v, i32(67), _37_iUseFlag, _45_addrOutputRow+i32(2)) _sqlite3VdbeComment(tls, _v, str(47896)) _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regOutputRow) _finalizeAggFunctions(tls, _pParse, &_sAggInfo) _sqlite3ExprIfFalse(tls, _pParse, _pHaving, _45_addrOutputRow+i32(1), i32(16)) _selectInnerLoop(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X0)), i32(-1), &_sSort, &_sDistinct, _pDest, _45_addrOutputRow+i32(1), _45_addrSetAbort) _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regOutputRow) _sqlite3VdbeComment(tls, _v, str(47936)) _sqlite3VdbeResolveLabel(tls, _v, _45_addrReset) _resetAccumulator(tls, _pParse, &_sAggInfo) _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regReset) goto _158 _126: _59_pDel = nil if store5434322(&_59_pTab, _isSimpleCount(tls, _p, &_sAggInfo)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _159 } _60_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_59_pTab.X20))) _60_iCsr = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _60_pKeyInfo = nil _60_pBest = nil _60_iRoot = _59_pTab.X7 _sqlite3CodeVerifySchema(tls, _pParse, _60_iDb) _sqlite3TableLock(tls, _pParse, _60_iDb, _59_pTab.X7, uint8(i32(0)), _59_pTab.X0) if ((_59_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { goto _160 } _60_pBest = _sqlite3PrimaryKeyIndex(tls, _59_pTab) _160: _60_pIdx = (*XIndex)(unsafe.Pointer(_59_pTab.X2)) _161: if _60_pIdx == nil { goto _164 } if int32((uint32((_60_pIdx.X16)>>uint(i32(2)))<>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) { goto _169 } _60_pBest = _60_pIdx _169: _60_pIdx = (*XIndex)(unsafe.Pointer(_60_pIdx.X5)) goto _161 _164: if _60_pBest == nil { goto _170 } _60_iRoot = _60_pBest.X11 _60_pKeyInfo = _sqlite3KeyInfoOfIndex(tls, _pParse, _60_pBest) _170: _sqlite3VdbeAddOp4Int(tls, _v, i32(105), _60_iCsr, _60_iRoot, _60_iDb, i32(1)) if _60_pKeyInfo == nil { goto _171 } _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_60_pKeyInfo)), i32(-5)) _171: _sqlite3VdbeAddOp2(tls, _v, i32(101), _60_iCsr, (*TAggInfo_func)(unsafe.Pointer(uintptr(_sAggInfo.X11)+24*uintptr(i32(0)))).X2) _sqlite3VdbeAddOp1(tls, _v, i32(112), _60_iCsr) _explainSimpleCount(tls, _pParse, _59_pTab, _60_pBest) goto _172 _159: _65_pMinMax = nil _65_flag = u8(0) func() int32 { if (*XExprList)(unsafe.Pointer(_p.X10)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(47968))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_65_flag) == i32(0) { return i32(0) } return func() int32 { 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(47984))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_p.X11)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _177 } _65_flag = _minMaxQuery(tls, &_sAggInfo, &_65_pMinMax) _177: func() int32 { if (int32(_65_flag) == i32(0)) || ((_65_pMinMax != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) && ((_65_pMinMax.X0) == i32(1))) { return i32(0) } return func() int32 { 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(47992))) crt.X__builtin_abort(tls) return i32(0) }() }() if _65_flag == 0 { goto _182 } _65_pMinMax = _sqlite3ExprListDup(tls, _db, _65_pMinMax, i32(0)) _59_pDel = _65_pMinMax func() int32 { if ((_db.X17) != 0) || (_65_pMinMax != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(48040))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) != 0 { goto _186 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_65_pMinMax.X1)+32*uintptr(i32(0)))))) + uintptr(24 /* X3 */))) = uint8(func() int32 { if int32(_65_flag) != i32(1) { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((*TExprList_item)(unsafe.Pointer(uintptr(_65_pMinMax.X1)+32*uintptr(i32(0)))).X0) + uintptr(0 /* X0 */))) = uint8(i32(152)) _186: _182: _resetAccumulator(tls, _pParse, &_sAggInfo) _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, _65_pMinMax, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(_65_flag), i32(0)) if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _189 } _sqlite3ExprListDelete(tls, _db, _59_pDel) goto _select_end _189: _updateAccumulator(tls, _pParse, &_sAggInfo) func() int32 { if (_65_pMinMax == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || ((_65_pMinMax.X0) == i32(1)) { return i32(0) } return func() int32 { 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(48072))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3WhereIsOrdered(tls, _pWInfo) <= i32(0) { goto _193 } _sqlite3VdbeGoto(tls, _v, _sqlite3WhereBreakLabel(tls, _pWInfo)) _sqlite3VdbeComment(tls, _v, str(48104), unsafe.Pointer(func() *int8 { if int32(_65_flag) == i32(1) { return str(6188) } return str(6192) }())) _193: _sqlite3WhereEnd(tls, _pWInfo) _finalizeAggFunctions(tls, _pParse, &_sAggInfo) _172: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ExprIfFalse(tls, _pParse, _pHaving, _37_addrEnd, i32(16)) _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) _sqlite3ExprListDelete(tls, _db, _59_pDel) _158: _sqlite3VdbeResolveLabel(tls, _v, _37_addrEnd) _99: if int32(_sDistinct.X1) != i32(3) { goto _196 } _explainTempTable(tls, _pParse, str(25632)) _196: if (*XExprList)(unsafe.Pointer(_sSort.X0)) == nil { goto _197 } _explainTempTable(tls, _pParse, func() *int8 { if (_sSort.X1) > i32(0) { return str(48120) } return str(48144) }()) _generateSortTail(tls, _pParse, _p, &_sSort, _pEList.X0, _pDest) _197: _sqlite3VdbeResolveLabel(tls, _v, _iEnd) _rc = bool2int((_pParse.X16) > i32(0)) _select_end: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(488 /* X58 */))) = _iRestoreSelectId if _rc != i32(0) || int32(_pDest.X0) != i32(9) { goto _201 } _generateColumnNames(tls, _pParse, _pTabList, _pEList) _201: _sqlite3DbFree(tls, _db, _sAggInfo.X8) _sqlite3DbFree(tls, _db, _sAggInfo.X11) if (Xsqlite3SelectTrace & i32(1)) == 0 { goto _202 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(48156) }()) _202: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X35 */))) -= 1 r0 = _rc return } func _sqlite3AuthCheck(tls *crt.TLS, _pParse *XParse, _code int32, _zArg1 *int8, _zArg2 *int8, _zArg3 *int8) (r0 int32) { // sqlite3.c:99386:1 var _db *Xsqlite3 // sqlite3.c:99393:11 _ = _db var _rc int32 // sqlite3.c:99394:7 _ = _rc _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == 0 && (_pParse.X55) == 0 { goto _1 } r0 = i32(0) return _1: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 }{(_db.X59)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 }{nil})) { goto _2 } r0 = i32(0) return _2: _rc = (_db.X59)(tls, _db.X60, _code, _zArg1, _zArg2, _zArg3, _pParse.X65) if _rc != i32(1) { goto _3 } _sqlite3ErrorMsg(tls, _pParse, str(6508)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(23) goto _4 _3: if _rc == i32(0) || _rc == i32(2) { goto _6 } _rc = i32(1) _sqliteAuthBadReturnCode(tls, _pParse) _6: _4: r0 = _rc return } func _sqliteAuthBadReturnCode(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:99277:1 _sqlite3ErrorMsg(tls, _pParse, str(48172)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(1) return } var Xsqlite3SelectTrace int32 // sqlite3.c:116268:11 func _sqlite3DebugPrintf(tls *crt.TLS, _zFormat *int8, args ...interface{}) { // sqlite3.c:26116:1 var _ap []interface{} // sqlite3.c:26117:11 _ = _ap var _acc XStrAccum // sqlite3.c:26118:12 _ = _acc var _zBuf [500]int8 // sqlite3.c:26119:8 _ = _zBuf _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBuf)), int32(u64(500)), i32(0)) _ap = args _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) _ap = nil _sqlite3StrAccumFinish(tls, &_acc) crt.Xfprintf(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout)), str(24304), unsafe.Pointer((*int8)(unsafe.Pointer(&_zBuf)))) crt.Xfflush(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout))) return } func _sqlite3TreeViewSelect(tls *crt.TLS, _pView *T5516662, _p *XSelect, _moreToFollow uint8) { // sqlite3.c:26269:1 var _n int32 // sqlite3.c:26270:7 _ = _n var _cnt int32 // sqlite3.c:26271:7 _ = _cnt var _6_i int32 // sqlite3.c:26303:11 _ = _6_i var _7_pItem *TSrcList_item // sqlite3.c:26307:29 _ = _7_pItem var _7_x XStrAccum // sqlite3.c:26308:18 _ = _7_x var _7_zLine [100]int8 // sqlite3.c:26309:14 _ = _7_zLine var _21_zOp *int8 // sqlite3.c:26365:18 _ = _21_zOp _n = i32(0) _cnt = i32(0) if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3TreeViewLine(tls, _pView, str(48196)) return _0: _pView = _sqlite3TreeViewPush(tls, _pView, _moreToFollow) if (*XWith)(unsafe.Pointer(_p.X17)) == nil { goto _1 } _sqlite3TreeViewWith(tls, _pView, (*XWith)(unsafe.Pointer(_p.X17)), uint8(i32(1))) _cnt = i32(1) _sqlite3TreeViewPush(tls, _pView, uint8(i32(1))) _1: _2: _sqlite3TreeViewLine(tls, _pView, str(48208), unsafe.Pointer(func() *int8 { if ((_p.X3) & uint32(i32(1))) != 0 { return str(48256) } return str(196) }()), unsafe.Pointer(func() *int8 { if ((_p.X3) & uint32(i32(8))) != 0 { return str(48268) } return str(196) }()), unsafe.Pointer(_p), _p.X3, int32(_p.X2)) if postInc961(&_cnt, int32(1)) == 0 { goto _7 } _sqlite3TreeViewPop(tls, _pView) _7: if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _8 } _n = i32(1000) goto _9 _8: _n = i32(0) if (*XSrcList)(unsafe.Pointer(_p.X8)) == nil || ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == 0 { goto _11 } _n += 1 _11: if (*XExpr)(unsafe.Pointer(_p.X9)) == nil { goto _12 } _n += 1 _12: if (*XExprList)(unsafe.Pointer(_p.X10)) == nil { goto _13 } _n += 1 _13: if (*XExpr)(unsafe.Pointer(_p.X11)) == nil { goto _14 } _n += 1 _14: if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { goto _15 } _n += 1 _15: if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { goto _16 } _n += 1 _16: if (*XExpr)(unsafe.Pointer(_p.X16)) == nil { goto _17 } _n += 1 _17: _9: _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(_p.X0)), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0))), str(48280)) if (*XSrcList)(unsafe.Pointer(_p.X8)) == nil || ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == 0 { goto _19 } _pView = _sqlite3TreeViewPush(tls, _pView, uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) _sqlite3TreeViewLine(tls, _pView, str(25648)) _6_i = i32(0) _20: if _6_i >= ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) { goto _23 } _7_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(_6_i))) _sqlite3StrAccumInit(tls, &_7_x, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_7_zLine)), int32(u64(100)), i32(0)) _sqlite3XPrintf(tls, &_7_x, str(48292), _7_pItem.X11) if (_7_pItem.X1) == nil { goto _24 } _sqlite3XPrintf(tls, &_7_x, str(48300), unsafe.Pointer(_7_pItem.X1), unsafe.Pointer(_7_pItem.X2)) goto _25 _24: if (_7_pItem.X2) == nil { goto _26 } _sqlite3XPrintf(tls, &_7_x, str(48308), unsafe.Pointer(_7_pItem.X2)) _26: _25: if (*XTable)(unsafe.Pointer(_7_pItem.X4)) == nil { goto _27 } _sqlite3XPrintf(tls, &_7_x, str(48312), unsafe.Pointer((*XTable)(unsafe.Pointer(_7_pItem.X4)).X0)) _27: if (_7_pItem.X3) == nil { goto _28 } _sqlite3XPrintf(tls, &_7_x, str(48324), unsafe.Pointer(_7_pItem.X3)) _28: if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pItem))+uintptr(60 /* X9 */))).X0) & i32(8)) == 0 { goto _29 } _sqlite3XPrintf(tls, &_7_x, str(48336)) _29: _sqlite3StrAccumFinish(tls, &_7_x) _sqlite3TreeViewItem(tls, _pView, (*int8)(unsafe.Pointer(&_7_zLine)), uint8(bool2int(_6_i < (((*XSrcList)(unsafe.Pointer(_p.X8)).X0)-i32(1))))) if (*XSelect)(unsafe.Pointer(_7_pItem.X5)) == nil { goto _30 } _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(_7_pItem.X5)), uint8(i32(0))) _30: if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _31 } _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pItem)) + uintptr(96 /* X15 */))))))), uint8(i32(0)), str(48348)) _31: _sqlite3TreeViewPop(tls, _pView) _6_i += 1 goto _20 _23: _sqlite3TreeViewPop(tls, _pView) _19: if (*XExpr)(unsafe.Pointer(_p.X9)) == nil { goto _32 } _sqlite3TreeViewItem(tls, _pView, str(25704), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X9)), uint8(i32(0))) _sqlite3TreeViewPop(tls, _pView) _32: if (*XExprList)(unsafe.Pointer(_p.X10)) == nil { goto _33 } _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(_p.X10)), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0))), str(48360)) _33: if (*XExpr)(unsafe.Pointer(_p.X11)) == nil { goto _34 } _sqlite3TreeViewItem(tls, _pView, str(25688), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X11)), uint8(i32(0))) _sqlite3TreeViewPop(tls, _pView) _34: if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { goto _35 } _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(_p.X12)), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0))), str(48368)) _35: if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { goto _36 } _sqlite3TreeViewItem(tls, _pView, str(25696), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X15)), uint8(i32(0))) _sqlite3TreeViewPop(tls, _pView) _36: if (*XExpr)(unsafe.Pointer(_p.X16)) == nil { goto _37 } _sqlite3TreeViewItem(tls, _pView, str(25308), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X16)), uint8(i32(0))) _sqlite3TreeViewPop(tls, _pView) _37: if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _38 } _21_zOp = str(25584) switch int32(_p.X1) { case i32(116): goto _40 case i32(117): goto _42 case i32(118): goto _41 default: goto _43 } _40: _21_zOp = str(48376) goto _43 _41: _21_zOp = str(25604) goto _43 _42: _21_zOp = str(25596) goto _43 _43: _sqlite3TreeViewItem(tls, _pView, _21_zOp, uint8(i32(1))) _38: _p = (*XSelect)(unsafe.Pointer(_p.X13)) if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _sqlite3TreeViewPop(tls, _pView) return } func _sqlite3TreeViewLine(tls *crt.TLS, _p *T5516662, _zFormat *int8, args ...interface{}) { // sqlite3.c:26196:1 var _ap []interface{} // sqlite3.c:26197:11 _ = _ap var _i int32 // sqlite3.c:26198:7 _ = _i var _acc XStrAccum // sqlite3.c:26199:12 _ = _acc var _zBuf [500]int8 // sqlite3.c:26200:8 _ = _zBuf _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBuf)), int32(u64(500)), i32(0)) if _p == nil { goto _0 } _i = i32(0) _1: if _i >= (_p.X0) || uint64(_i) >= u64(99) { goto _5 } _sqlite3StrAccumAppend(tls, &_acc, func() *int8 { if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))))) + 1*uintptr(_i)))) != 0 { return str(48388) } return str(48396) }(), i32(4)) _i += 1 goto _1 _5: _sqlite3StrAccumAppend(tls, &_acc, func() *int8 { if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))))) + 1*uintptr(_i)))) != 0 { return str(48404) } return str(48412) }(), i32(4)) _0: _ap = args _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) _ap = nil func() int32 { if (_acc.X3) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(48420))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zBuf)) + 1*uintptr((_acc.X3)-uint32(i32(1)))))) == i32(10) { goto _12 } _sqlite3StrAccumAppend(tls, &_acc, str(38396), i32(1)) _12: _sqlite3StrAccumFinish(tls, &_acc) crt.Xfprintf(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout)), str(24304), unsafe.Pointer((*int8)(unsafe.Pointer(&_zBuf)))) crt.Xfflush(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout))) return } var _sqlite3TreeViewLineØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TreeViewLineØ00__func__Ø000[0], str(48432), 20) } func _sqlite3TreeViewPush(tls *crt.TLS, _p *T5516662, _moreToFollow uint8) (r0 *T5516662) { // sqlite3.c:26170:1 if _p != (*T5516662)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _p = (*T5516662)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(104)))) if _p != (*T5516662)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = (*T5516662)(unsafe.Pointer(uintptr(i32(0)))) return _1: crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(104)) goto _2 _0: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 _2: func() int32 { if (int32(_moreToFollow) == i32(0)) || (int32(_moreToFollow) == i32(1)) { return i32(0) } return func() int32 { 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(48452))) crt.X__builtin_abort(tls) return i32(0) }() }() if uint64(_p.X0) >= u64(100) { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))))) + 1*uintptr(_p.X0))) = _moreToFollow _6: r0 = _p return } var _sqlite3TreeViewPushØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TreeViewPushØ00__func__Ø000[0], str(48488), 20) } func _sqlite3TreeViewWith(tls *crt.TLS, _pView *T5516662, _pWith *XWith, _moreToFollow uint8) { // sqlite3.c:26229:1 var _i int32 // sqlite3.c:26230:7 _ = _i var _4_x XStrAccum // sqlite3.c:26241:16 _ = _4_x var _4_zLine [1000]int8 // sqlite3.c:26242:12 _ = _4_zLine var _4_pCte *TCte // sqlite3.c:26243:24 _ = _4_pCte var _5_cSep int8 // sqlite3.c:26247:14 _ = _5_cSep var _5_j int32 // sqlite3.c:26248:13 _ = _5_j if _pWith != (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: if (_pWith.X0) != i32(0) { goto _1 } return _1: if (*XWith)(unsafe.Pointer(_pWith.X1)) == nil { goto _2 } _sqlite3TreeViewLine(tls, _pView, str(48508), unsafe.Pointer(_pWith), unsafe.Pointer((*XWith)(unsafe.Pointer(_pWith.X1)))) goto _3 _2: _sqlite3TreeViewLine(tls, _pView, str(48536), unsafe.Pointer(_pWith)) _3: if (_pWith.X0) <= i32(0) { goto _4 } _pView = _sqlite3TreeViewPush(tls, _pView, uint8(i32(1))) _i = i32(0) _5: if _i >= (_pWith.X0) { goto _8 } _4_pCte = (*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith))+uintptr(16 /* X2 */))))) + 32*uintptr(_i))) _sqlite3StrAccumInit(tls, &_4_x, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_4_zLine)), int32(u64(1000)), i32(0)) _sqlite3XPrintf(tls, &_4_x, str(24304), unsafe.Pointer(_4_pCte.X0)) if (*XExprList)(unsafe.Pointer(_4_pCte.X1)) == nil || ((*XExprList)(unsafe.Pointer(_4_pCte.X1)).X0) <= i32(0) { goto _10 } _5_cSep = int8(i32(40)) _5_j = i32(0) _11: if _5_j >= ((*XExprList)(unsafe.Pointer(_4_pCte.X1)).X0) { goto _14 } _sqlite3XPrintf(tls, &_4_x, str(24696), int32(_5_cSep), unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_4_pCte.X1)).X1)+32*uintptr(_5_j))).X1)) _5_cSep = int8(i32(44)) _5_j += 1 goto _11 _14: _sqlite3XPrintf(tls, &_4_x, str(38612)) _10: _sqlite3XPrintf(tls, &_4_x, str(48548)) _sqlite3StrAccumFinish(tls, &_4_x) _sqlite3TreeViewItem(tls, _pView, (*int8)(unsafe.Pointer(&_4_zLine)), uint8(bool2int(_i < ((_pWith.X0)-i32(1))))) _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(_4_pCte.X2)), uint8(i32(0))) _sqlite3TreeViewPop(tls, _pView) _i += 1 goto _5 _8: _sqlite3TreeViewPop(tls, _pView) _4: return } func _sqlite3TreeViewItem(tls *crt.TLS, _p *T5516662, _zLabel *int8, _moreFollows uint8) { // sqlite3.c:26221:1 _p = _sqlite3TreeViewPush(tls, _p, _moreFollows) _sqlite3TreeViewLine(tls, _p, str(24304), unsafe.Pointer(_zLabel)) return } func _sqlite3TreeViewPop(tls *crt.TLS, _p *T5516662) { // sqlite3.c:26186:1 if _p != (*T5516662)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) -= 1 if (_p.X0) >= i32(0) { goto _1 } Xsqlite3_free(tls, (unsafe.Pointer)(_p)) _1: return } func _sqlite3TreeViewExprList(tls *crt.TLS, _pView *T5516662, _pList *XExprList, _moreToFollow uint8, _zLabel *int8) { // sqlite3.c:26653:1 _pView = _sqlite3TreeViewPush(tls, _pView, _moreToFollow) _sqlite3TreeViewBareExprList(tls, _pView, _pList, _zLabel) _sqlite3TreeViewPop(tls, _pView) return } func _sqlite3TreeViewBareExprList(tls *crt.TLS, _pView *T5516662, _pList *XExprList, _zLabel *int8) { // sqlite3.c:26631:1 var _2_i int32 // sqlite3.c:26640:9 _ = _2_i var _3_j int32 // sqlite3.c:26643:11 _ = _3_j if _zLabel != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zLabel)) + 1*uintptr(i32(0))))) != i32(0) { goto _1 } _zLabel = str(46164) _1: if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _sqlite3TreeViewLine(tls, _pView, str(48552), unsafe.Pointer(_zLabel)) goto _3 _2: _sqlite3TreeViewLine(tls, _pView, str(24304), unsafe.Pointer(_zLabel)) _2_i = i32(0) _4: if _2_i >= (_pList.X0) { goto _7 } _3_j = int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_2_i))))) + uintptr(28 /* X5 */))))).X0) if _3_j == 0 { goto _8 } _sqlite3TreeViewPush(tls, _pView, uint8(i32(0))) _sqlite3TreeViewLine(tls, _pView, str(48564), _3_j) _8: _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_2_i))).X0)), uint8(bool2int(_2_i < ((_pList.X0)-i32(1))))) if _3_j == 0 { goto _9 } _sqlite3TreeViewPop(tls, _pView) _9: _2_i += 1 goto _4 _7: _3: return } func _sqlite3TreeViewExpr(tls *crt.TLS, _pView *T5516662, _pExpr *XExpr, _moreToFollow uint8) { // sqlite3.c:26381:1 var _zBinOp *int8 // sqlite3.c:26382:14 _ = _zBinOp var _zUniOp *int8 // sqlite3.c:26383:14 _ = _zUniOp var _zFlgs [30]int8 // sqlite3.c:26384:8 _ = _zFlgs var _22_pFarg *XExprList // sqlite3.c:26504:16 _ = _22_pFarg var _33_pX *XExpr // sqlite3.c:26556:12 _ = _33_pX var _33_pY *XExpr // sqlite3.c:26557:12 _ = _33_pY var _33_pZ *XExpr // sqlite3.c:26558:12 _ = _33_pZ var _36_zType *int8 // sqlite3.c:26585:18 _ = _36_zType _zBinOp = nil _zUniOp = nil _pView = _sqlite3TreeViewPush(tls, _pView, _moreToFollow) if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3TreeViewLine(tls, _pView, str(48580)) _sqlite3TreeViewPop(tls, _pView) return _0: if (_pExpr.X2) == 0 { goto _1 } Xsqlite3_snprintf(tls, int32(u64(30)), (*int8)(unsafe.Pointer(&_zFlgs)), str(48584), _pExpr.X2) goto _2 _1: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zFlgs)) + 1*uintptr(i32(0)))) = int8(i32(0)) _2: switch int32(_pExpr.X0) { case i32(19): goto _39 case i32(20): goto _46 case i32(27): goto _24 case i32(28): goto _23 case i32(29): goto _21 case i32(30): goto _53 case i32(32): goto _49 case i32(33): goto _48 case i32(34): goto _40 case i32(35): goto _41 case i32(36): goto _19 case i32(37): goto _20 case i32(38): goto _17 case i32(39): goto _16 case i32(40): goto _15 case i32(41): goto _18 case i32(43): goto _29 case i32(44): goto _30 case i32(45): goto _32 case i32(46): goto _33 case i32(47): goto _25 case i32(48): goto _27 case i32(49): goto _26 case i32(50): goto _31 case i32(51): goto _28 case i32(52): goto _34 case i32(53): goto _43 case i32(54): goto _38 case i32(55): goto _13 case i32(66): goto _14 case i32(83): goto _52 case i32(88): goto _50 case i32(97): goto _8 case i32(101): goto _9 case i32(119): goto _47 case i32(122): goto _35 case i32(132): goto _7 case i32(133): goto _10 case i32(134): goto _6 case i32(135): goto _11 case i32(136): goto _51 case i32(148): goto _22 case i32(151): goto _45 case i32(152): goto _5 case i32(153): goto _44 case i32(154): goto _4 case i32(155): goto _36 case i32(156): goto _37 case i32(157): goto _12 case i32(158): goto _54 case i32(159): goto _55 case i32(161): goto _42 default: goto _56 } _4: _sqlite3TreeViewLine(tls, _pView, str(48600), _pExpr.X8, int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) goto _57 _5: if (_pExpr.X8) >= i32(0) { goto _58 } _sqlite3TreeViewLine(tls, _pView, str(48616), int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) goto _59 _58: _sqlite3TreeViewLine(tls, _pView, str(48632), _pExpr.X8, int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) _59: goto _57 _6: if ((_pExpr.X2) & uint32(i32(1024))) == 0 { goto _60 } _sqlite3TreeViewLine(tls, _pView, str(38632), *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) goto _61 _60: _sqlite3TreeViewLine(tls, _pView, str(24304), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) _61: goto _57 _7: _sqlite3TreeViewLine(tls, _pView, str(24304), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _57 _8: _sqlite3TreeViewLine(tls, _pView, str(48644), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _57 _9: _sqlite3TreeViewLine(tls, _pView, str(200)) goto _57 _10: _sqlite3TreeViewLine(tls, _pView, str(24304), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _57 _11: _sqlite3TreeViewLine(tls, _pView, str(48648), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))), int32(_pExpr.X9)) goto _57 _12: _sqlite3TreeViewLine(tls, _pView, str(48664), _pExpr.X8) goto _57 _13: _sqlite3TreeViewLine(tls, _pView, str(48680), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _57 _14: _sqlite3TreeViewLine(tls, _pView, str(48688), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) goto _57 _15: _zBinOp = str(25004) goto _57 _16: _zBinOp = str(25000) goto _57 _17: _zBinOp = str(24996) goto _57 _18: _zBinOp = str(25008) goto _57 _19: _zBinOp = str(24988) goto _57 _20: _zBinOp = str(24992) goto _57 _21: _zBinOp = str(24940) goto _57 _22: _zBinOp = str(48696) goto _57 _23: _zBinOp = str(24936) goto _57 _24: _zBinOp = str(24932) goto _57 _25: _zBinOp = str(25804) goto _57 _26: _zBinOp = str(48704) goto _57 _27: _zBinOp = str(48708) goto _57 _28: _zBinOp = str(25084) goto _57 _29: _zBinOp = str(25020) goto _57 _30: _zBinOp = str(25028) goto _57 _31: _zBinOp = str(48712) goto _57 _32: _zBinOp = str(25036) goto _57 _33: _zBinOp = str(25044) goto _57 _34: _zBinOp = str(25088) goto _57 _35: _zBinOp = str(25644) goto _57 _36: _zUniOp = str(48716) goto _57 _37: _zUniOp = str(48724) goto _57 _38: _zUniOp = str(25104) goto _57 _39: _zUniOp = str(24884) goto _57 _40: _zUniOp = str(24972) goto _57 _41: _zUniOp = str(24980) goto _57 _42: _sqlite3TreeViewLine(tls, _pView, str(48732), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) goto _57 _43: _sqlite3TreeViewLine(tls, _pView, str(48740), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) goto _57 _44: _45: if ((_pExpr.X2) & uint32(i32(16384))) == uint32(i32(0)) { goto _62 } _22_pFarg = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) goto _63 _62: _22_pFarg = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _63: if int32(_pExpr.X0) != i32(153) { goto _64 } _sqlite3TreeViewLine(tls, _pView, str(48752), int32(_pExpr.X12), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _65 _64: _sqlite3TreeViewLine(tls, _pView, str(48772), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) _65: if _22_pFarg == nil { goto _66 } _sqlite3TreeViewExprList(tls, _pView, _22_pFarg, uint8(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) _66: goto _57 _46: _sqlite3TreeViewLine(tls, _pView, str(48784)) _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), uint8(i32(0))) goto _57 _47: _sqlite3TreeViewLine(tls, _pView, str(48796)) _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), uint8(i32(0))) goto _57 _48: _sqlite3TreeViewLine(tls, _pView, str(24968)) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(1))) if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _67 } _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), uint8(i32(0))) goto _68 _67: _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), uint8(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) _68: goto _57 _49: _33_pX = (*XExpr)(unsafe.Pointer(_pExpr.X4)) _33_pY = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(0)))).X0)) _33_pZ = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(1)))).X0)) _sqlite3TreeViewLine(tls, _pView, str(24960)) _sqlite3TreeViewExpr(tls, _pView, _33_pX, uint8(i32(1))) _sqlite3TreeViewExpr(tls, _pView, _33_pY, uint8(i32(1))) _sqlite3TreeViewExpr(tls, _pView, _33_pZ, uint8(i32(0))) goto _57 _50: _sqlite3TreeViewLine(tls, _pView, str(38624), unsafe.Pointer(func() *int8 { if (_pExpr.X8) != 0 { return str(48808) } return str(48812) }()), int32(_pExpr.X9)) goto _57 _51: _sqlite3TreeViewLine(tls, _pView, str(25756)) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(1))) _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), uint8(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) goto _57 _52: _36_zType = str(48816) switch int32(_pExpr.X1) { case i32(1): goto _72 case i32(2): goto _73 case i32(3): goto _74 case i32(4): goto _75 default: goto _76 } _72: _36_zType = str(48820) goto _76 _73: _36_zType = str(48832) goto _76 _74: _36_zType = str(48840) goto _76 _75: _36_zType = str(48848) goto _76 _76: _sqlite3TreeViewLine(tls, _pView, str(48856), unsafe.Pointer(_36_zType), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) goto _57 _53: _sqlite3TreeViewLine(tls, _pView, str(48872), _pExpr.X8, int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X5)), uint8(i32(0))) goto _57 _54: _sqlite3TreeViewBareExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), str(48888)) goto _57 _55: _sqlite3TreeViewLine(tls, _pView, str(48896), int32(_pExpr.X9)) _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(32 /* X6 */))))))), uint8(i32(0))) goto _57 _56: _sqlite3TreeViewLine(tls, _pView, str(48916), int32(_pExpr.X0)) goto _57 _57: if _zBinOp == nil { goto _77 } _sqlite3TreeViewLine(tls, _pView, str(5224), unsafe.Pointer(_zBinOp), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(1))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X5)), uint8(i32(0))) goto _78 _77: if _zUniOp == nil { goto _79 } _sqlite3TreeViewLine(tls, _pView, str(5224), unsafe.Pointer(_zUniOp), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) _79: _78: _sqlite3TreeViewPop(tls, _pView) return } var _sqlite3SelectØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SelectØ00__func__Ø000[0], str(48924), 14) } func _sqlite3SelectPrep(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pOuterNC *XNameContext) { // sqlite3.c:120910:1 var _db *Xsqlite3 // sqlite3.c:120915:11 _ = _db if func() int32 { if _p == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } return _2: _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_db.X17) == 0 { goto _3 } return _3: if ((_p.X3) & uint32(i32(128))) == 0 { goto _4 } return _4: _sqlite3SelectExpand(tls, _pParse, _p) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _6 } return _6: _sqlite3ResolveSelectNames(tls, _pParse, _p, _pOuterNC) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _8 } return _8: _sqlite3SelectAddTypeInfo(tls, _pParse, _p) return } var _sqlite3SelectPrepØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SelectPrepØ00__func__Ø000[0], str(48940), 18) } func _sqlite3SelectExpand(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) { // sqlite3.c:120823:1 var _w XWalker // sqlite3.c:120824:10 _ = _w crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _sqlite3ExprWalkNoop *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pParse if (_pParse.X10) == 0 { goto _0 } *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))))) = _convertCompoundSelectToSubquery _sqlite3WalkSelect(tls, &_w, _pSelect) _0: *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))))) = _selectExpander *(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X3 */))))) = _selectPopWith _sqlite3WalkSelect(tls, &_w, _pSelect) return } func _sqlite3ExprWalkNoop(tls *crt.TLS, _NotUsed *XWalker, _NotUsed2 *XExpr) (r0 int32) { // sqlite3.c:120805:1 func() *XExpr { ; return _NotUsed2 }() r0 = i32(0) return } func _convertCompoundSelectToSubquery(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:120234:1 var _i int32 // sqlite3.c:120235:7 _ = _i var _pNew *XSelect // sqlite3.c:120236:10 _ = _pNew var _pX *XSelect // sqlite3.c:120237:10 _ = _pX var _db *Xsqlite3 // sqlite3.c:120238:11 _ = _db var _a *TExprList_item // sqlite3.c:120239:24 _ = _a var _pNewSrc *XSrcList // sqlite3.c:120240:11 _ = _pNewSrc var _pParse *XParse // sqlite3.c:120241:9 _ = _pParse var _dummy XToken // sqlite3.c:120242:9 _ = _dummy if (*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: if (*XExprList)(unsafe.Pointer(_p.X12)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = i32(0) return _1: _pX = _p _2: if _pX == nil || int32(_pX.X1) != i32(116) && int32(_pX.X1) != i32(119) { goto _7 } _pX = (*XSelect)(unsafe.Pointer(_pX.X13)) goto _2 _7: if _pX != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } r0 = i32(0) return _8: _a = (*TExprList_item)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_p.X12)).X1)) _i = ((*XExprList)(unsafe.Pointer(_p.X12)).X0) - i32(1) _9: if _i < i32(0) { goto _12 } if (((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 32*uintptr(_i))).X0)).X2) & uint32(i32(256))) == 0 { goto _13 } goto _12 _13: _i -= 1 goto _9 _12: if _i >= i32(0) { goto _14 } r0 = i32(0) return _14: _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pNew = (*XSelect)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128)))) if _pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } r0 = i32(2) return _15: crt.Xmemset(tls, (unsafe.Pointer)(&_dummy), i32(0), u64(16)) _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))))) if _pNewSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } r0 = i32(2) return _16: *_pNew = *_p *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))))) = _pNewSrc *(**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)))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint8(i32(119)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X9 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(64 /* X10 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(72 /* X11 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(120 /* X17 */))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) & uint32(i32(-257)) sink985 = *p } func() int32 { if ((_p.X3) & uint32(i32(65536))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(48960))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(65536)) sink985 = *p } func() int32 { if (*XSelect)(unsafe.Pointer(_pNew.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(48992))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pNew.X13) + uintptr(96 /* X14 */))))) = _pNew *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) r0 = i32(0) return } 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 var _pItem *TSrcList_item // sqlite3.c:103296:23 _ = _pItem var _db *Xsqlite3 // sqlite3.c:103297:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _p != nil || _pOn == nil && _pUsing == nil { goto _2 } _sqlite3ErrorMsg(tls, _pParse, str(49008), unsafe.Pointer(func() *int8 { if _pOn != nil { return str(25524) } return str(25664) }())) goto _append_from_error _2: _p = _sqlite3SrcListAppend(tls, _db, _p, _pTable, _pDatabase) if _p != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { if (_p.X0) == i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _8 } goto _append_from_error _8: _pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 112*uintptr((_p.X0)-i32(1)))) func() int32 { if _pAlias != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49044))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pAlias.X1) == 0 { goto _11 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(24 /* X3 */))) = _sqlite3NameFromToken(tls, _db, _pAlias) _11: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(40 /* X5 */))))) = _pSubquery *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(72 /* X12 */))))) = _pOn *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(80 /* X13 */))))) = _pUsing r0 = _p return _append_from_error: func() int32 { if _p == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49056))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprDelete(tls, _db, _pOn) _sqlite3IdListDelete(tls, _db, _pUsing) _sqlite3SelectDelete(tls, _db, _pSubquery) r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) return } func _sqlite3SrcListAppend(tls *crt.TLS, _db *Xsqlite3, _pList *XSrcList, _pTable *XToken, _pDatabase *XToken) (r0 *XSrcList) { // sqlite3.c:103194:1 var _pItem *TSrcList_item // sqlite3.c:103200:23 _ = _pItem var _5_pTemp *XToken // sqlite3.c:103222:11 _ = _5_pTemp func() int32 { if (_pDatabase == (*XToken)(unsafe.Pointer(uintptr(i32(0))))) || (_pTable != (*XToken)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(49064))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _pList = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(120)))) if _pList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) return _6: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(4 /* X1 */))) = uint32(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))) = i32(1) crt.Xmemset(tls, (unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))), i32(0), u64(112)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(64 /* X11 */))) = i32(-1) goto _7 _5: _pList = _sqlite3SrcListEnlarge(tls, _db, _pList, i32(1), _pList.X0) _7: if (_db.X17) == 0 { goto _8 } _sqlite3SrcListDelete(tls, _db, _pList) r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) return _8: _pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X2 */))))) + 112*uintptr((_pList.X0)-i32(1)))) if _pDatabase == nil || (_pDatabase.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } _pDatabase = (*XToken)(unsafe.Pointer(uintptr(i32(0)))) _10: if _pDatabase == nil { goto _11 } _5_pTemp = _pDatabase _pDatabase = _pTable _pTable = _5_pTemp _11: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(16 /* X2 */))) = _sqlite3NameFromToken(tls, _db, _pTable) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(8 /* X1 */))) = _sqlite3NameFromToken(tls, _db, _pDatabase) r0 = _pList return } var _sqlite3SrcListAppendØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListAppendØ00__func__Ø000[0], str(49092), 21) } func _sqlite3SrcListEnlarge(tls *crt.TLS, _db *Xsqlite3, _pSrc *XSrcList, _nExtra int32, _iStart int32) (r0 *XSrcList) { // sqlite3.c:103112:1 var _i int32 // sqlite3.c:103118:7 _ = _i var _1_pNew *XSrcList // sqlite3.c:103128:13 _ = _1_pNew var _1_nAlloc int32 // sqlite3.c:103129:9 _ = _1_nAlloc var _1_nGot int32 // sqlite3.c:103130:9 _ = _1_nGot func() int32 { if _iStart >= i32(0) { return i32(0) } return func() int32 { 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(49116))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nExtra >= i32(1) { return i32(0) } return func() int32 { 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(49128))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49140))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iStart <= (_pSrc.X0) { return i32(0) } return func() int32 { 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(49148))) crt.X__builtin_abort(tls) return i32(0) }() }() if (uint32(_pSrc.X0) + uint32(_nExtra)) <= (_pSrc.X1) { goto _8 } _1_nAlloc = ((_pSrc.X0) * i32(2)) + _nExtra _1_pNew = (*XSrcList)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pSrc), u64(120)+(uint64(_1_nAlloc-i32(1))*u64(112))))) if _1_pNew != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pSrc return _9: _pSrc = _1_pNew _1_nGot = int32(((uint64(_sqlite3DbMallocSize(tls, _db, (unsafe.Pointer)(_1_pNew))) - u64(120)) / u64(112)) + uint64(i32(1))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(4 /* X1 */))) = uint32(_1_nGot) _8: _i = (_pSrc.X0) - i32(1) _12: if _i < _iStart { goto _15 } *(*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_i+_nExtra))) = *(*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) _i -= 1 goto _12 _15: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(0 /* X0 */))) *p = (*p) + _nExtra sink961 = *p } crt.Xmemset(tls, (unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_iStart)))), i32(0), u64(112)*uint64(_nExtra)) _i = _iStart _16: if _i >= (_iStart + _nExtra) { goto _19 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_i))))) + uintptr(64 /* X11 */))) = i32(-1) _i += 1 goto _16 _19: r0 = _pSrc return } var _sqlite3SrcListEnlargeØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListEnlargeØ00__func__Ø000[0], str(49188), 22) } func _sqlite3NameFromToken(tls *crt.TLS, _db *Xsqlite3, _pName *XToken) (r0 *int8) { // sqlite3.c:100135:1 var _zName *int8 // sqlite3.c:100136:8 _ = _zName if _pName == nil { goto _0 } _zName = _sqlite3DbStrNDup(tls, _db, _pName.X0, uint64(_pName.X1)) _sqlite3Dequote(tls, _zName) goto _1 _0: _zName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _1: r0 = _zName return } var _sqlite3SrcListAppendFromTermØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListAppendFromTermØ00__func__Ø000[0], str(49212), 29) } func _sqlite3ExprListAppend(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pExpr *XExpr) (r0 *XExprList) { // sqlite3.c:92207:1 var _db *Xsqlite3 // sqlite3.c:92212:11 _ = _db var _3_a *TExprList_item // sqlite3.c:92223:26 _ = _3_a var _5_pItem *TExprList_item // sqlite3.c:92233:26 _ = _5_pItem _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _pList = (*XExprList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(16)))) if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } goto _no_mem _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))) = i32(0) *(**TExprList_item)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X1 */))))) = (*TExprList_item)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(32)))) if (*TExprList_item)(unsafe.Pointer(_pList.X1)) != (*TExprList_item)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } goto _no_mem _4: goto _5 _2: if ((_pList.X0) & ((_pList.X0) - i32(1))) != i32(0) { goto _6 } func() int32 { if (_pList.X0) > i32(0) { return i32(0) } return func() int32 { 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(49244))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_a = (*TExprList_item)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, _pList.X1, uint64((_pList.X0)*i32(2))*u64(32)))) if _3_a != (*TExprList_item)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } goto _no_mem _9: *(**TExprList_item)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X1 */))))) = _3_a _6: _5: func() int32 { if (*TExprList_item)(unsafe.Pointer(_pList.X1)) != (*TExprList_item)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49260))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_pItem = (*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(0 /* X0 */))), int32(1))))) crt.Xmemset(tls, (unsafe.Pointer)(_5_pItem), i32(0), u64(32)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem)) + uintptr(0 /* X0 */))))) = _pExpr r0 = _pList return _no_mem: _sqlite3ExprDelete(tls, _db, _pExpr) _sqlite3ExprListDelete(tls, _db, _pList) r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3ExprListAppendØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListAppendØ00__func__Ø000[0], str(49272), 22) } func _sqlite3Expr(tls *crt.TLS, _db *Xsqlite3, _op int32, _zToken *int8) (r0 *XExpr) { // sqlite3.c:91509:1 var _x XToken // sqlite3.c:91514:9 _ = _x *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = _zToken *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X1 */))) = uint32(func() int32 { if _zToken != nil { return _sqlite3Strlen30(tls, _zToken) } return i32(0) }()) r0 = _sqlite3ExprAlloc(tls, _db, _op, &_x, i32(0)) return } func _sqlite3ExprAlloc(tls *crt.TLS, _db *Xsqlite3, _op int32, _pToken *XToken, _dequote int32) (r0 *XExpr) { // sqlite3.c:91460:1 var _pNew *XExpr // sqlite3.c:91466:8 _ = _pNew var _nExtra int32 // sqlite3.c:91467:7 _ = _nExtra var _iValue int32 // sqlite3.c:91468:7 _ = _iValue _nExtra = i32(0) _iValue = i32(0) func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pToken == nil { goto _2 } if _op == i32(134) && (_pToken.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3GetInt32(tls, _pToken.X0, &_iValue) != i32(0) { goto _5 } _nExtra = int32((_pToken.X1) + uint32(i32(1))) func() int32 { if _iValue >= i32(0) { return i32(0) } return func() int32 { 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(49296))) crt.X__builtin_abort(tls) return i32(0) }() }() _5: _2: _pNew = (*XExpr)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(72)+uint64(_nExtra)))) if _pNew == nil { goto _8 } crt.Xmemset(tls, (unsafe.Pointer)(_pNew), i32(0), u64(72)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = uint8(_op) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(50 /* X10 */))) = int16(i32(-1)) if _pToken == nil { goto _9 } if _nExtra != i32(0) { goto _10 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1024)) sink985 = *p } *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))) = _iValue goto _11 _10: *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))) = (*int8)(unsafe.Pointer((*XExpr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 72*uintptr(i32(1)))))) func() int32 { if ((_pToken.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_pToken.X1) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(49308))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pToken.X1) == 0 { goto _15 } crt.Xmemcpy(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */)))))), (unsafe.Pointer)(_pToken.X0), uint64(_pToken.X1)) _15: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_pToken.X1))) = int8(i32(0)) if _dequote == 0 || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0)))))))))&i32(128)) == 0 { goto _17 } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) != i32(34) { goto _18 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(64)) sink985 = *p } _18: _sqlite3Dequote(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */)))))) _17: _11: _9: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X7 */))) = i32(1) _8: r0 = _pNew return } var _sqlite3ExprAllocØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprAllocØ00__func__Ø000[0], str(49340), 17) } var _convertCompoundSelectToSubqueryØ00__func__Ø000 [32]int8 // - func init() { crt.Xstrncpy(nil, &_convertCompoundSelectToSubqueryØ00__func__Ø000[0], str(49360), 32) } func _sqlite3WalkSelect(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:89158:1 var _rc int32 // sqlite3.c:89159:7 _ = _rc if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) && (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XWalker, *XSelect) int32 }{(*(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 }{(_pWalker.X2)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XWalker, *XSelect) int32 }{nil})) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XWalker, *XSelect) }{(*(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) }{(_pWalker.X3)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XWalker, *XSelect) }{nil}))) { goto _2 } r0 = i32(0) return _2: _rc = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(32 /* X4 */))) += 1 _3: if _p == nil { goto _4 } if (*(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 }{(_pWalker.X2)}))) == nil { goto _5 } _rc = (*(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 }{(_pWalker.X2)})))(tls, _pWalker, _p) if _rc == 0 { goto _6 } goto _4 _6: _5: if _sqlite3WalkSelectExpr(tls, _pWalker, _p) == 0 && _sqlite3WalkSelectFrom(tls, _pWalker, _p) == 0 { goto _8 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(32 /* X4 */))) -= 1 r0 = i32(2) return _8: if (*(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) }{(_pWalker.X3)}))) == nil { goto _9 } (*(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) }{(_pWalker.X3)})))(tls, _pWalker, _p) _9: _p = (*XSelect)(unsafe.Pointer(_p.X13)) goto _3 _4: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(32 /* X4 */))) -= 1 r0 = _rc & i32(2) return } func _sqlite3WalkSelectExpr(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:89103:1 if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(_p.X0))) == 0 { goto _0 } r0 = i32(2) return _0: if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X9))) == 0 { goto _1 } r0 = i32(2) return _1: if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(_p.X10))) == 0 { goto _2 } r0 = i32(2) return _2: if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X11))) == 0 { goto _3 } r0 = i32(2) return _3: if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(_p.X12))) == 0 { goto _4 } r0 = i32(2) return _4: if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X15))) == 0 { goto _5 } r0 = i32(2) return _5: if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X16))) == 0 { goto _6 } r0 = i32(2) return _6: r0 = i32(0) return } func _sqlite3WalkExprList(tls *crt.TLS, _pWalker *XWalker, _p *XExprList) (r0 int32) { // sqlite3.c:89086:1 var _i int32 // sqlite3.c:89087:7 _ = _i var _pItem *TExprList_item // sqlite3.c:89088:24 _ = _pItem if _p == nil { goto _0 } *func() **TExprList_item { _i = _p.X0; return &_pItem }() = (*TExprList_item)(unsafe.Pointer(_p.X1)) _1: if _i <= i32(0) { goto _4 } if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_pItem.X0))) == 0 { goto _5 } r0 = i32(2) return _5: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i -= 1; return &_pItem }())) += uintptr(32) goto _1 _4: _0: r0 = i32(0) return } func _sqlite3WalkExpr(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89078:1 r0 = func() int32 { if _pExpr != nil { return _walkExpr(tls, _pWalker, _pExpr) } return i32(0) }() return } func _walkExpr(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89061:1 var _rc int32 // sqlite3.c:89062:7 _ = _rc _rc = (*(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 }{(_pWalker.X1)})))(tls, _pWalker, _pExpr) if _rc == 0 && ((_pExpr.X2)&uint32(i32(8404992))) == uint32(i32(0)) { goto _1 } r0 = _rc & i32(2) return _1: if (*XExpr)(unsafe.Pointer(_pExpr.X4)) == nil || _walkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == 0 { goto _3 } r0 = i32(2) return _3: if (*XExpr)(unsafe.Pointer(_pExpr.X5)) == nil || _walkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_pExpr.X5))) == 0 { goto _5 } r0 = i32(2) return _5: if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _6 } if _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) == 0 { goto _7 } r0 = i32(2) return _7: goto _8 _6: if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) == nil { goto _9 } if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) == 0 { goto _10 } r0 = i32(2) return _10: _9: _8: r0 = i32(0) return } func _sqlite3WalkSelectFrom(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:89121:1 var _pSrc *XSrcList // sqlite3.c:89122:11 _ = _pSrc var _i int32 // sqlite3.c:89123:7 _ = _i var _pItem *TSrcList_item // sqlite3.c:89124:23 _ = _pItem _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) if func() int32 { if _pSrc != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2 } *func() **TSrcList_item { _i = _pSrc.X0; return &_pItem }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(8 /* X2 */))))) _3: if _i <= i32(0) { goto _6 } if _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(_pItem.X5))) == 0 { goto _7 } r0 = i32(2) return _7: if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2)))<>uint(i32(31))) == 0 || _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(96 /* X15 */)))))))) == 0 { goto _9 } r0 = i32(2) return _9: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i -= 1; return &_pItem }())) += uintptr(112) goto _3 _6: _2: r0 = i32(0) return } var _sqlite3WalkSelectFromØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalkSelectFromØ00__func__Ø000[0], str(49392), 22) } func _selectExpander(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:120526:1 var _pParse *XParse // sqlite3.c:120527:9 _ = _pParse var _i int32 // sqlite3.c:120528:7 _ = _i var _j int32 // sqlite3.c:120528:10 _ = _j var _k int32 // sqlite3.c:120528:13 _ = _k var _pTabList *XSrcList // sqlite3.c:120529:11 _ = _pTabList var _pEList *XExprList // sqlite3.c:120530:12 _ = _pEList var _pFrom *TSrcList_item // sqlite3.c:120531:23 _ = _pFrom var _db *Xsqlite3 // sqlite3.c:120532:11 _ = _db var _pE *XExpr // sqlite3.c:120533:8 _ = _pE var _pRight *XExpr // sqlite3.c:120533:13 _ = _pRight var _pExpr *XExpr // sqlite3.c:120533:22 _ = _pExpr var _selFlags uint16 // sqlite3.c:120534:7 _ = _selFlags var _4_pTab *XTable // sqlite3.c:120559:11 _ = _4_pTab var _6_pSel *XSelect // sqlite3.c:120569:14 _ = _6_pSel var _11_nCol int16 // sqlite3.c:120601:13 _ = _11_nCol var _15_a *TExprList_item // sqlite3.c:120650:26 _ = _15_a var _15_pNew *XExprList // sqlite3.c:120651:14 _ = _15_pNew var _15_flags int32 // sqlite3.c:120652:9 _ = _15_flags var _15_longNames int32 // sqlite3.c:120653:9 _ = _15_longNames var _19_tableSeen int32 // sqlite3.c:120676:13 _ = _19_tableSeen var _19_zTName *int8 // sqlite3.c:120677:14 _ = _19_zTName var _21_pTab *XTable // sqlite3.c:120684:17 _ = _21_pTab var _21_pSub *XSelect // sqlite3.c:120685:18 _ = _21_pSub var _21_zTabName *int8 // sqlite3.c:120686:16 _ = _21_zTabName var _21_zSchemaName *int8 // sqlite3.c:120687:22 _ = _21_zSchemaName var _21_iDb int32 // sqlite3.c:120688:15 _ = _21_iDb var _25_zName *int8 // sqlite3.c:120702:18 _ = _25_zName var _25_zColname *int8 // sqlite3.c:120703:18 _ = _25_zColname var _25_zToFree *int8 // sqlite3.c:120704:18 _ = _25_zToFree var _25_sColname XToken // sqlite3.c:120705:19 _ = _25_sColname var _31_pLeft *XExpr // sqlite3.c:120743:20 _ = _31_pLeft var _35_pX *TExprList_item // sqlite3.c:120761:36 _ = _35_pX _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _selFlags = uint16(_p.X3) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(64)) sink985 = *p } if (_db.X17) == 0 { goto _0 } r0 = i32(2) return _0: if func() int32 { if (*XSrcList)(unsafe.Pointer(_p.X8)) == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 && (int32(_selFlags)&i32(64)) == i32(0) { goto _4 } r0 = i32(1) return _4: _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) _pEList = (*XExprList)(unsafe.Pointer(_p.X0)) if (*XWith)(unsafe.Pointer(_p.X17)) == nil { goto _5 } _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(_p.X17)), uint8(i32(0))) _5: _sqlite3SrcListAssignCursors(tls, _pParse, _pTabList) *func() **TSrcList_item { _i = i32(0); return &_pFrom }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) _6: if _i >= (_pTabList.X0) { goto _9 } func() int32 { if (int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(60 /* X9 */))).X1)>>uint(i32(5)))<>uint(i32(31))) == i32(0)) || ((*XTable)(unsafe.Pointer(_pFrom.X4)) != (*XTable)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(49416))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(60 /* X9 */))).X1)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _13 } goto _7 _13: func() int32 { if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49460))) crt.X__builtin_abort(tls) return i32(0) }() }() if _withExpand(tls, _pWalker, _pFrom) == 0 { goto _16 } r0 = i32(2) return _16: if (*XTable)(unsafe.Pointer(_pFrom.X4)) == nil { goto _17 } goto _18 _17: if (_pFrom.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } _6_pSel = (*XSelect)(unsafe.Pointer(_pFrom.X5)) func() int32 { if _6_pSel != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49476))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49460))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3WalkSelect(tls, _pWalker, _6_pSel) == 0 { goto _24 } r0 = i32(2) return _24: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(32 /* X4 */))))) = store5434322(&_4_pTab, (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128))))) if _4_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _25 } r0 = i32(2) return _25: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(60 /* X8 */))) = uint32(i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(0 /* X0 */))) = _sqlite3MPrintf(tls, _db, str(49484), unsafe.Pointer((unsafe.Pointer)(_4_pTab))) _26: if (*XSelect)(unsafe.Pointer(_6_pSel.X13)) == nil { goto _27 } _6_pSel = (*XSelect)(unsafe.Pointer(_6_pSel.X13)) goto _26 _27: _sqlite3ColumnsFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_6_pSel.X0)), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab))+uintptr(70 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab))+uintptr(8 /* X1 */)))))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(68 /* X10 */))) = int16(i32(-1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(72 /* X12 */))) = int16(i32(200)) func() int32 { if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { return i32(0) } return func() int32 { 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(49500))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(2)) sink985 = *p } goto _30 _19: func() int32 { if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49460))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(32 /* X4 */))))) = store5434322(&_4_pTab, _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), _pFrom)) if _4_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _33 } r0 = i32(2) return _33: if (_4_pTab.X8) < uint32(i32(65535)) { goto _34 } _sqlite3ErrorMsg(tls, _pParse, str(49528), unsafe.Pointer(_4_pTab.X0)) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(32 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) r0 = i32(2) return _34: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(60 /* X8 */))) += 1 if (_4_pTab.X16) != 0 || _cannotBeFunction(tls, _pParse, _pFrom) == 0 { goto _36 } r0 = i32(2) return _36: if (_4_pTab.X16) == 0 && (*XSelect)(unsafe.Pointer(_4_pTab.X3)) == nil { goto _38 } if _sqlite3ViewGetColumnNames(tls, _pParse, _4_pTab) == 0 { goto _39 } r0 = i32(2) return _39: func() int32 { if (*XSelect)(unsafe.Pointer(_pFrom.X5)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49568))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(40 /* X5 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_4_pTab.X3)), i32(0)) _sqlite3SelectSetName(tls, (*XSelect)(unsafe.Pointer(_pFrom.X5)), _4_pTab.X0) _11_nCol = _4_pTab.X11 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(70 /* X11 */))) = int16(i32(-1)) _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(_pFrom.X5))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(70 /* X11 */))) = _11_nCol _38: _30: _18: if _sqlite3IndexedByLookup(tls, _pParse, _pFrom) == 0 { goto _42 } r0 = i32(2) return _42: _7: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pFrom }())) += uintptr(112) goto _6 _9: if (_db.X17) == 0 && _sqliteProcessJoin(tls, _pParse, _p) == 0 { goto _44 } r0 = i32(2) return _44: _k = i32(0) _45: if _k >= (_pEList.X0) { goto _48 } _pE = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_k))).X0)) if int32(_pE.X0) != i32(160) { goto _49 } goto _48 _49: func() int32 { if (int32(_pE.X0) != i32(122)) || ((*XExpr)(unsafe.Pointer(_pE.X5)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(49588))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(49620))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pE.X0) != i32(122) || int32((*XExpr)(unsafe.Pointer(_pE.X5)).X0) != i32(160) { goto _58 } goto _48 _58: _k += 1 goto _45 _48: if _k >= (_pEList.X0) { goto _59 } _15_a = (*TExprList_item)(unsafe.Pointer(_pEList.X1)) _15_pNew = nil _15_flags = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6 _15_longNames = bool2int(((_15_flags & i32(4)) != i32(0)) && ((_15_flags & i32(64)) == i32(0))) _k = i32(0) _61: if _k >= (_pEList.X0) { goto _64 } _pE = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a)) + 32*uintptr(_k))).X0)) _pRight = (*XExpr)(unsafe.Pointer(_pE.X5)) func() int32 { if (int32(_pE.X0) != i32(122)) || (_pRight != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(49680))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pE.X0) == i32(160) || int32(_pE.X0) == i32(122) && int32(_pRight.X0) == i32(160) { goto _70 } _15_pNew = _sqlite3ExprListAppend(tls, _pParse, _15_pNew, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+32*uintptr(_k))).X0))) if _15_pNew == nil { goto _71 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_15_pNew.X1)+32*uintptr((_15_pNew.X0)-i32(1)))))) + uintptr(8 /* X1 */))) = (*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a)) + 32*uintptr(_k))).X1 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_15_pNew.X1)+32*uintptr((_15_pNew.X0)-i32(1)))))) + uintptr(16 /* X2 */))) = (*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a)) + 32*uintptr(_k))).X2 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+32*uintptr(_k))))) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+32*uintptr(_k))))) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _71: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+32*uintptr(_k))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) goto _72 _70: _19_tableSeen = i32(0) _19_zTName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if int32(_pE.X0) != i32(122) { goto _73 } func() int32 { if (*XExpr)(unsafe.Pointer(_pE.X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49708))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((*XExpr)(unsafe.Pointer(_pE.X4)).X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(49724))) crt.X__builtin_abort(tls) return i32(0) }() }() _19_zTName = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_pE.X4) + uintptr(8 /* X3 */))))) _73: *func() **TSrcList_item { _i = i32(0); return &_pFrom }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) _78: if _i >= (_pTabList.X0) { goto _81 } _21_pTab = (*XTable)(unsafe.Pointer(_pFrom.X4)) _21_pSub = (*XSelect)(unsafe.Pointer(_pFrom.X5)) _21_zTabName = _pFrom.X3 _21_zSchemaName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if _21_zTabName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _82 } _21_zTabName = _21_pTab.X0 _82: if (_db.X17) == 0 { goto _83 } goto _81 _83: if _21_pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) && ((_21_pSub.X3)&uint32(i32(2048))) != uint32(i32(0)) { goto _85 } _21_pSub = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) if _19_zTName == nil || _sqlite3StrICmp(tls, _19_zTName, _21_zTabName) == i32(0) { goto _87 } goto _79 _87: _21_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_21_pTab.X20))) _21_zSchemaName = func() *int8 { if _21_iDb >= i32(0) { return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_21_iDb))).X0) } return str(49768) }() _85: _j = i32(0) _90: if _j >= int32(_21_pTab.X11) { goto _93 } _25_zName = (*XColumn)(unsafe.Pointer(uintptr(_21_pTab.X1) + 32*uintptr(_j))).X0 func() int32 { if _25_zName != nil { return i32(0) } return func() int32 { 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(49772))) crt.X__builtin_abort(tls) return i32(0) }() }() if _19_zTName == nil || _21_pSub == nil || _sqlite3MatchSpanName(tls, (*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_21_pSub.X0)).X1)+32*uintptr(_j))).X2, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _19_zTName, (*int8)(unsafe.Pointer(uintptr(i32(0))))) != i32(0) { goto _98 } goto _91 _98: if ((_p.X3)&uint32(i32(131072))) != uint32(i32(0)) || (int32((*XColumn)(unsafe.Pointer(uintptr(_21_pTab.X1)+32*uintptr(_j))).X6)&i32(2)) == i32(0) { goto _100 } goto _91 _100: _19_tableSeen = i32(1) if _i <= i32(0) || _19_zTName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _102 } if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(60 /* 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 { goto _104 } goto _91 _104: if _sqlite3IdListIndex(tls, (*XIdList)(unsafe.Pointer(_pFrom.X13)), _25_zName) < i32(0) { goto _105 } goto _91 _105: _102: _pRight = _sqlite3Expr(tls, _db, i32(55), _25_zName) _25_zColname = _25_zName _25_zToFree = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if _15_longNames == 0 && (_pTabList.X0) <= i32(1) { goto _107 } _31_pLeft = _sqlite3Expr(tls, _db, i32(55), _21_zTabName) _pExpr = _sqlite3PExpr(tls, _pParse, i32(122), _31_pLeft, _pRight) if _21_zSchemaName == nil { goto _108 } _31_pLeft = _sqlite3Expr(tls, _db, i32(55), _21_zSchemaName) _pExpr = _sqlite3PExpr(tls, _pParse, i32(122), _31_pLeft, _pExpr) _108: if _15_longNames == 0 { goto _109 } _25_zColname = _sqlite3MPrintf(tls, _db, str(6548), unsafe.Pointer(_21_zTabName), unsafe.Pointer(_25_zName)) _25_zToFree = _25_zColname _109: goto _110 _107: _pExpr = _pRight _110: _15_pNew = _sqlite3ExprListAppend(tls, _pParse, _15_pNew, _pExpr) _sqlite3TokenInit(tls, &_25_sColname, _25_zColname) _sqlite3ExprListSetName(tls, _pParse, _15_pNew, &_25_sColname, i32(0)) if _15_pNew == nil || ((_p.X3)&uint32(i32(2048))) == uint32(i32(0)) { goto _112 } _35_pX = (*TExprList_item)(unsafe.Pointer(uintptr(_15_pNew.X1) + 32*uintptr((_15_pNew.X0)-i32(1)))) if _21_pSub == nil { goto _113 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_35_pX)) + uintptr(16 /* X2 */))) = _sqlite3DbStrDup(tls, _db, (*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_21_pSub.X0)).X1)+32*uintptr(_j))).X2) goto _114 _113: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_35_pX)) + uintptr(16 /* X2 */))) = _sqlite3MPrintf(tls, _db, str(49780), unsafe.Pointer(_21_zSchemaName), unsafe.Pointer(_21_zTabName), unsafe.Pointer(_25_zColname)) _114: storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_35_pX))+uintptr(25 /* X4 */))), int8(i32(1)), 2, 1) _112: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_25_zToFree)) _91: _j += 1 goto _90 _93: _79: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pFrom }())) += uintptr(112) goto _78 _81: if _19_tableSeen != 0 { goto _115 } if _19_zTName == nil { goto _116 } _sqlite3ErrorMsg(tls, _pParse, str(49792), unsafe.Pointer(_19_zTName)) goto _117 _116: _sqlite3ErrorMsg(tls, _pParse, str(49812)) _117: _115: _72: _k += 1 goto _61 _64: _sqlite3ExprListDelete(tls, _db, _pEList) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _15_pNew _59: 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(112 /* X31 */))))) + 4*uintptr(i32(2))))) { goto _119 } _sqlite3ErrorMsg(tls, _pParse, str(49832)) r0 = i32(2) return _119: r0 = i32(0) return } var _selectExpanderØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_selectExpanderØ00__func__Ø000[0], str(49864), 15) } func _sqlite3WithPush(tls *crt.TLS, _pParse *XParse, _pWith *XWith, _bFree uint8) { // sqlite3.c:120339:1 func() int32 { 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)))))) { return i32(0) } return func() int32 { 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(49880))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pWith == nil { goto _4 } func() int32 { if (*XWith)(unsafe.Pointer(_pParse.X70)) != _pWith { return i32(0) } return func() int32 { 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(49940))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith)) + uintptr(8 /* X1 */))))) = (*XWith)(unsafe.Pointer(_pParse.X70)) *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(584 /* X70 */))))) = _pWith if _bFree == 0 { goto _7 } *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(592 /* X71 */))))) = _pWith _7: _4: return } var _sqlite3WithPushØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WithPushØ00__func__Ø000[0], str(49964), 16) } func _sqlite3SrcListAssignCursors(tls *crt.TLS, _pParse *XParse, _pList *XSrcList) { // sqlite3.c:103234:1 var _i int32 // sqlite3.c:103235:7 _ = _i var _pItem *TSrcList_item // sqlite3.c:103236:23 _ = _pItem func() int32 { if (_pList != nil) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(49980))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pList == nil { goto _3 } *func() **TSrcList_item { _i = i32(0); return &_pItem }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X2 */))))) _4: if _i >= (_pList.X0) { goto _7 } if (_pItem.X11) < i32(0) { goto _8 } goto _7 _8: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(64 /* X11 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) if (*XSelect)(unsafe.Pointer(_pItem.X5)) == nil { goto _9 } _sqlite3SrcListAssignCursors(tls, _pParse, (*XSrcList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_pItem.X5)).X8))) _9: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pItem }())) += uintptr(112) goto _4 _7: _3: return } var _sqlite3SrcListAssignCursorsØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListAssignCursorsØ00__func__Ø000[0], str(50016), 28) } func _withExpand(tls *crt.TLS, _pWalker *XWalker, _pFrom *TSrcList_item) (r0 int32) { // sqlite3.c:120364:1 var _pParse *XParse // sqlite3.c:120368:9 _ = _pParse var _db *Xsqlite3 // sqlite3.c:120369:11 _ = _db var _pCte *TCte // sqlite3.c:120370:14 _ = _pCte var _pWith *XWith // sqlite3.c:120371:8 _ = _pWith var _1_pTab *XTable // sqlite3.c:120377:11 _ = _1_pTab var _1_pEList *XExprList // sqlite3.c:120378:14 _ = _1_pEList var _1_pSel *XSelect // sqlite3.c:120379:12 _ = _1_pSel var _1_pLeft *XSelect // sqlite3.c:120380:12 _ = _1_pLeft var _1_bMayRecursive int32 // sqlite3.c:120381:9 _ = _1_bMayRecursive var _1_pSavedWith *XWith // sqlite3.c:120382:10 _ = _1_pSavedWith var _3_i int32 // sqlite3.c:120410:11 _ = _3_i var _3_pSrc *XSrcList // sqlite3.c:120411:15 _ = _3_pSrc var _4_pItem *TSrcList_item // sqlite3.c:120413:29 _ = _4_pItem var _7_pPrior *XSelect // sqlite3.c:120439:14 _ = _7_pPrior _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49460))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCte = _searchWith(tls, (*XWith)(unsafe.Pointer(_pParse.X70)), _pFrom, &_pWith) if _pCte == nil { goto _2 } if (_pCte.X3) == nil { goto _3 } _sqlite3ErrorMsg(tls, _pParse, _pCte.X3, unsafe.Pointer(_pCte.X0)) r0 = i32(1) return _3: if _cannotBeFunction(tls, _pParse, _pFrom) == 0 { goto _4 } r0 = i32(1) return _4: func() int32 { if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49460))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(32 /* X4 */))))) = store5434322(&_1_pTab, (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128))))) if _1_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } r0 = i32(2) return _7: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(60 /* X8 */))) = uint32(i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _pCte.X0) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(68 /* X10 */))) = int16(i32(-1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(72 /* X12 */))) = int16(i32(200)) func() int32 { if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { return i32(0) } return func() int32 { 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(49500))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(66)) sink985 = *p } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(40 /* X5 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pCte.X2)), i32(0)) if (_db.X17) == 0 { goto _10 } r0 = _sqlite3NomemError(tls, i32(120403)) return _10: func() int32 { if (*XSelect)(unsafe.Pointer(_pFrom.X5)) != nil { return i32(0) } return func() int32 { 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(50044))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_pSel = (*XSelect)(unsafe.Pointer(_pFrom.X5)) _1_bMayRecursive = bool2int((int32(_1_pSel.X1) == i32(116)) || (int32(_1_pSel.X1) == i32(115))) if _1_bMayRecursive == 0 { goto _14 } _3_pSrc = (*XSrcList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_pFrom.X5)).X8)) _3_i = i32(0) _15: if _3_i >= (_3_pSrc.X0) { goto _18 } _4_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_3_i))) 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) { goto _21 } *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem)) + uintptr(32 /* X4 */))))) = _1_pTab storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 32, 5) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(60 /* X8 */))) += 1 { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSel)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(8192)) sink985 = *p } _21: _3_i += 1 goto _15 _18: _14: if (_1_pTab.X8) <= uint32(i32(2)) { goto _22 } _sqlite3ErrorMsg(tls, _pParse, str(50060), unsafe.Pointer(_pCte.X0)) r0 = i32(1) return _22: func() int32 { if ((_1_pTab.X8) == uint32(i32(1))) || ((((_1_pSel.X3) & uint32(i32(8192))) != 0) && ((_1_pTab.X8) == uint32(i32(2)))) { return i32(0) } return func() int32 { 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(50104))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(24 /* X3 */))) = str(50180) _1_pSavedWith = (*XWith)(unsafe.Pointer(_pParse.X70)) *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(584 /* X70 */))))) = _pWith if _1_bMayRecursive == 0 { goto _27 } _7_pPrior = (*XSelect)(unsafe.Pointer(_1_pSel.X13)) func() int32 { if (*XWith)(unsafe.Pointer(_7_pPrior.X17)) == (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(50204))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pPrior)) + uintptr(120 /* X17 */))))) = (*XWith)(unsafe.Pointer(_1_pSel.X17)) _sqlite3WalkSelect(tls, _pWalker, _7_pPrior) *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pPrior)) + uintptr(120 /* X17 */))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) goto _30 _27: _sqlite3WalkSelect(tls, _pWalker, _1_pSel) _30: *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(584 /* X70 */))))) = _pWith _1_pLeft = _1_pSel _31: if (*XSelect)(unsafe.Pointer(_1_pLeft.X13)) == nil { goto _34 } _1_pLeft = (*XSelect)(unsafe.Pointer(_1_pLeft.X13)) goto _31 _34: _1_pEList = (*XExprList)(unsafe.Pointer(_1_pLeft.X0)) if (*XExprList)(unsafe.Pointer(_pCte.X1)) == nil { goto _35 } if _1_pEList == nil || (_1_pEList.X0) == ((*XExprList)(unsafe.Pointer(_pCte.X1)).X0) { goto _37 } _sqlite3ErrorMsg(tls, _pParse, str(50224), unsafe.Pointer(_pCte.X0), _1_pEList.X0, (*XExprList)(unsafe.Pointer(_pCte.X1)).X0) *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(584 /* X70 */))))) = _1_pSavedWith r0 = i32(1) return _37: _1_pEList = (*XExprList)(unsafe.Pointer(_pCte.X1)) _35: _sqlite3ColumnsFromExprList(tls, _pParse, _1_pEList, (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab))+uintptr(70 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab))+uintptr(8 /* X1 */)))))) if _1_bMayRecursive == 0 { goto _38 } if ((_1_pSel.X3) & uint32(i32(8192))) == 0 { goto _39 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(24 /* X3 */))) = str(50264) goto _40 _39: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(24 /* X3 */))) = str(50300) _40: _sqlite3WalkSelect(tls, _pWalker, _1_pSel) _38: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(24 /* X3 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(584 /* X70 */))))) = _1_pSavedWith _2: r0 = i32(0) return } var _withExpandØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_withExpandØ00__func__Ø000[0], str(50340), 11) } func _searchWith(tls *crt.TLS, _pWith *XWith, _pItem *TSrcList_item, _ppContext **XWith) (r0 *TCte) { // sqlite3.c:120308:1 var _zName *int8 // sqlite3.c:120313:14 _ = _zName var _1_p *XWith // sqlite3.c:120315:10 _ = _1_p var _2_i int32 // sqlite3.c:120317:11 _ = _2_i if (_pItem.X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || store1025(&_zName, _pItem.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _1_p = _pWith _2: if _1_p == nil { goto _5 } _2_i = i32(0) _6: if _2_i >= (_1_p.X0) { goto _9 } if _sqlite3StrICmp(tls, _zName, (*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))).X0) != i32(0) { goto _10 } *_ppContext = _1_p r0 = (*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(16 /* X2 */))))) + 32*uintptr(_2_i))) return _10: _2_i += 1 goto _6 _9: _1_p = (*XWith)(unsafe.Pointer(_1_p.X1)) goto _2 _5: _1: r0 = (*TCte)(unsafe.Pointer(uintptr(i32(0)))) return } func _cannotBeFunction(tls *crt.TLS, _pParse *XParse, _pFrom *TSrcList_item) (r0 int32) { // sqlite3.c:120289:1 if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(60 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _0 } _sqlite3ErrorMsg(tls, _pParse, str(50352), unsafe.Pointer(_pFrom.X2)) r0 = i32(1) return _0: r0 = i32(0) return } func _sqlite3LogEst(tls *crt.TLS, _x uint64) (r0 int16) { // sqlite3.c:29022:1 var _y int16 // sqlite3.c:29024:10 _ = _y _y = i16(40) if _x >= uint64(i32(8)) { goto _0 } if _x >= uint64(i32(2)) { goto _1 } r0 = int16(i32(0)) return _1: _2: if _x >= uint64(i32(8)) { goto _3 } { p := &_y *p = int16(int32(*p) - i32(10)) sink955 = *p } { p := &_x *p = (*p) << uint(i32(1)) sink992 = *p } goto _2 _3: goto _4 _0: _5: if _x <= uint64(i32(255)) { goto _6 } { p := &_y *p = int16(int32(*p) + i32(40)) sink955 = *p } { p := &_x *p = (*p) >> uint(i32(4)) sink992 = *p } goto _5 _6: _7: if _x <= uint64(i32(15)) { goto _8 } { p := &_y *p = int16(int32(*p) + i32(10)) sink955 = *p } { p := &_x *p = (*p) >> uint(i32(1)) sink992 = *p } goto _7 _8: _4: r0 = int16((int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LogEstØ00aØ001)) + 2*uintptr(_x&uint64(i32(7)))))) + int32(_y)) - i32(10)) return } var _sqlite3LogEstØ00aØ001 [8]int16 // sqlite3.c:29023:17 func init() { _sqlite3LogEstØ00aØ001 = [8]int16{i16(0), i16(2), i16(3), i16(5), i16(6), i16(7), i16(8), i16(9)} } func _sqlite3SelectDup(tls *crt.TLS, _db *Xsqlite3, _pDup *XSelect, _flags int32) (r0 *XSelect) { // sqlite3.c:92155:1 var _pRet *XSelect // sqlite3.c:92156:10 _ = _pRet var _pNext *XSelect // sqlite3.c:92157:10 _ = _pNext var _pp **XSelect // sqlite3.c:92158:10 _ = _pp var _p *XSelect // sqlite3.c:92159:10 _ = _p var _1_pNew *XSelect // sqlite3.c:92163:12 _ = _1_pNew _pRet = nil _pNext = nil _pp = &_pRet func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _pDup _2: if _p == nil { goto _5 } _1_pNew = (*XSelect)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(128)))) if _1_pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } goto _5 _6: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(0 /* X0 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_p.X0)), _flags) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(48 /* X8 */))))) = _sqlite3SrcListDup(tls, _db, (*XSrcList)(unsafe.Pointer(_p.X8)), _flags) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(56 /* X9 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X9)), _flags) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(64 /* X10 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_p.X10)), _flags) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(72 /* X11 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X11)), _flags) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(80 /* X12 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12)), _flags) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(8 /* X1 */))) = _p.X1 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(96 /* X14 */))))) = _pNext *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(104 /* X15 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15)), _flags) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(112 /* X16 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X16)), _flags) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(16 /* X4 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(20 /* X5 */))) = i32(0) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(12 /* X3 */))) = (_p.X3) & uint32(i32(-33)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0)))) = i32(-1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(1)))) = i32(-1) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(10 /* X2 */))) = _p.X2 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(120 /* X17 */))))) = _withDup(tls, _db, (*XWith)(unsafe.Pointer(_p.X17))) _sqlite3SelectSetName(tls, _1_pNew, (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))) *_pp = _1_pNew _pp = (**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(88 /* X13 */))))) _pNext = _1_pNew _p = (*XSelect)(unsafe.Pointer(_p.X13)) goto _2 _5: r0 = _pRet return } var _sqlite3SelectDupØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SelectDupØ00__func__Ø000[0], str(50376), 17) } func _sqlite3ExprListDup(tls *crt.TLS, _db *Xsqlite3, _p *XExprList, _flags int32) (r0 *XExprList) { // sqlite3.c:92035:1 var _pNew *XExprList // sqlite3.c:92036:12 _ = _pNew var _pItem *TExprList_item // sqlite3.c:92037:24 _ = _pItem var _pOldItem *TExprList_item // sqlite3.c:92037:32 _ = _pOldItem var _i int32 // sqlite3.c:92038:7 _ = _i var _pPriorSelectCol *XExpr // sqlite3.c:92039:8 _ = _pPriorSelectCol var _3_pOldExpr *XExpr // sqlite3.c:92053:10 _ = _3_pOldExpr var _3_pNewExpr *XExpr // sqlite3.c:92054:10 _ = _3_pNewExpr _pPriorSelectCol = nil func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) return _2: _pNew = (*XExprList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(16)))) if _pNew != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) return _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = store961(&_i, _p.X0) if (_flags & i32(1)) != i32(0) { goto _4 } _i = i32(1) _5: if _i >= (_p.X0) { goto _8 } { p := &_i *p = (*p) + _i sink961 = *p } goto _5 _8: _4: *(**TExprList_item)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = store5517699(&_pItem, (*TExprList_item)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_i)*u64(32))))) if _pItem != (*TExprList_item)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pNew)) r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) return _9: _pOldItem = (*TExprList_item)(unsafe.Pointer(_p.X1)) _i = i32(0) _10: if _i >= (_p.X0) { goto _13 } _3_pOldExpr = (*XExpr)(unsafe.Pointer(_pOldItem.X0)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(0 /* X0 */))))) = _sqlite3ExprDup(tls, _db, _3_pOldExpr, _flags) if _3_pOldExpr == nil || int32(_3_pOldExpr.X0) != i32(159) || store5518888(&_3_pNewExpr, (*XExpr)(unsafe.Pointer(_pItem.X0))) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } func() int32 { if (int32(_3_pNewExpr.X9) == i32(0)) || (_i > i32(0)) { return i32(0) } return func() int32 { 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(50396))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_3_pNewExpr.X9) != i32(0) { goto _20 } func() int32 { if (*XExpr)(unsafe.Pointer(_3_pOldExpr.X4)) == (*XExpr)(unsafe.Pointer(_3_pOldExpr.X5)) { return i32(0) } return func() int32 { 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(50424))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPriorSelectCol = store5518888((**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNewExpr))+uintptr(16 /* X4 */))))), (*XExpr)(unsafe.Pointer(_3_pNewExpr.X5))) goto _23 _20: func() int32 { if _i > i32(0) { return i32(0) } return func() int32 { 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(11900))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+32*uintptr(i32(-1)))).X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(50460))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_3_pNewExpr.X9) == (int32((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+32*uintptr(i32(-1)))).X0)).X9) + i32(1)) { return i32(0) } return func() int32 { 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(50480))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pPriorSelectCol == (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+32*uintptr(i32(-1)))).X0)).X4)) { return i32(0) } return func() int32 { 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(50528))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNewExpr)) + uintptr(16 /* X4 */))))) = _pPriorSelectCol _23: _16: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(8 /* X1 */))) = _sqlite3DbStrDup(tls, _db, _pOldItem.X1) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(16 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pOldItem.X2) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(24 /* X3 */))) = _pOldItem.X3 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(25 /* X4 */))), int8(i32(0)), 1, 0) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(25 /* X4 */))), int8((uint32((_pOldItem.X4)>>uint(i32(1)))<>uint(i32(31))), 2, 1) *(*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(28 /* X5 */))) = _pOldItem.X5 *(*uintptr)(unsafe.Pointer(func() **TExprList_item { *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) return &_pOldItem }())) += uintptr(32) goto _10 _13: r0 = _pNew return } var _sqlite3ExprListDupØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListDupØ00__func__Ø000[0], str(50568), 19) } func _sqlite3ExprDup(tls *crt.TLS, _db *Xsqlite3, _p *XExpr, _flags int32) (r0 *XExpr) { // sqlite3.c:92031:1 func() int32 { if (_flags == i32(0)) || (_flags == i32(1)) { return i32(0) } return func() int32 { 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(50588))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = func() *XExpr { if _p != nil { return _exprDup(tls, _db, _p, _flags, (**uint8)(unsafe.Pointer(uintptr(i32(0))))) } return (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) }() return } var _sqlite3ExprDupØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprDupØ00__func__Ø000[0], str(50624), 15) } func _exprDup(tls *crt.TLS, _db *Xsqlite3, _p *XExpr, _dupFlags int32, _pzBuffer **uint8) (r0 *XExpr) { // sqlite3.c:91894:1 var _pNew *XExpr // sqlite3.c:91895:8 _ = _pNew var _zAlloc *uint8 // sqlite3.c:91896:6 _ = _zAlloc var _staticFlag uint32 // sqlite3.c:91897:7 _ = _staticFlag var _3_nStructSize uint32 // sqlite3.c:91920:20 _ = _3_nStructSize var _3_nNewSize int32 // sqlite3.c:91921:15 _ = _3_nNewSize var _3_nToken int32 // sqlite3.c:91922:9 _ = _3_nToken var _7_nSize uint32 // sqlite3.c:91932:11 _ = _7_nSize var _9_zToken *int8 // sqlite3.c:91946:12 _ = _9_zToken func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _p != nil { return i32(0) } return func() int32 { 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(8412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_dupFlags == i32(0)) || (_dupFlags == i32(1)) { return i32(0) } return func() int32 { 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(50640))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pzBuffer == (**uint8)(unsafe.Pointer(uintptr(i32(0))))) || (_dupFlags == i32(1)) { return i32(0) } return func() int32 { 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(50680))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pzBuffer == nil { goto _10 } _zAlloc = *_pzBuffer _staticFlag = uint32(i32(32768)) goto _11 _10: _zAlloc = (*uint8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_dupedExprSize(tls, _p, _dupFlags))))) _staticFlag = uint32(i32(0)) _11: _pNew = (*XExpr)(unsafe.Pointer(_zAlloc)) if _pNew == nil { goto _12 } _3_nStructSize = uint32(_dupedExprStructSize(tls, _p, _dupFlags)) _3_nNewSize = int32(_3_nStructSize & uint32(i32(4095))) if ((_p.X2)&uint32(i32(1024))) != uint32(i32(0)) || (*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) == nil { goto _14 } _3_nToken = _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) + i32(1) goto _15 _14: _3_nToken = i32(0) _15: if _dupFlags == 0 { goto _16 } func() int32 { if bool2int(((_p.X2)&uint32(i32(8192))) != uint32(i32(0))) == i32(0) { return i32(0) } return func() int32 { 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(50720))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)(_zAlloc), (unsafe.Pointer)(_p), uint64(_3_nNewSize)) goto _19 _16: _7_nSize = uint32(_exprStructSize(tls, _p)) crt.Xmemcpy(tls, (unsafe.Pointer)(_zAlloc), (unsafe.Pointer)(_p), uint64(_7_nSize)) if uint64(_7_nSize) >= u64(72) { goto _20 } crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAlloc))+1*uintptr(_7_nSize)))), i32(0), u64(72)-uint64(_7_nSize)) _20: _19: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) *p = (*p) & uint32(i32(-122881)) sink985 = *p } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | (_3_nStructSize & uint32(i32(24576))) sink985 = *p } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | _staticFlag sink985 = *p } if _3_nToken == 0 { goto _21 } _9_zToken = store1025((**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X3 */))))), (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAlloc))+1*uintptr(_3_nNewSize)))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_9_zToken), (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))), uint64(_3_nToken)) _21: if uint32(i32(0)) != (((_p.X2) | (_pNew.X2)) & uint32(i32(8404992))) { goto _22 } if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _23 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X6 */))))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))), _dupFlags) goto _24 _23: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X6 */))))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))), _dupFlags) _24: _22: if ((_pNew.X2) & uint32(i32(24576))) == uint32(i32(0)) { goto _25 } { p := &_zAlloc *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_dupedExprNodeSize(tls, _p, _dupFlags)))) sink4543 = *p } if ((_pNew.X2) & uint32(i32(8404992))) != uint32(i32(0)) { goto _26 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X4 */))))) = func() *XExpr { if (*XExpr)(unsafe.Pointer(_p.X4)) != nil { return _exprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X4)), i32(1), &_zAlloc) } return (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) }() *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X5 */))))) = func() *XExpr { if (*XExpr)(unsafe.Pointer(_p.X5)) != nil { return _exprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X5)), i32(1), &_zAlloc) } return (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) }() _26: if _pzBuffer == nil { goto _31 } *_pzBuffer = _zAlloc _31: goto _32 _25: if ((_p.X2) & uint32(i32(8404992))) != uint32(i32(0)) { goto _33 } if int32(_pNew.X0) != i32(159) { goto _34 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer(_p.X4)) func() int32 { if (int32(_p.X9) == i32(0)) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(50756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(_p.X4))) { return i32(0) } return func() int32 { 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(50788))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _41 _34: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X4 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X4)), i32(0)) _41: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X5 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X5)), i32(0)) _33: _32: _12: r0 = _pNew return } var _exprDupØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_exprDupØ00__func__Ø000[0], str(50824), 8) } func _dupedExprSize(tls *crt.TLS, _p *XExpr, _flags int32) (r0 int32) { // sqlite3.c:91875:1 var _nByte int32 // sqlite3.c:91876:7 _ = _nByte _nByte = i32(0) if _p == nil { goto _0 } _nByte = _dupedExprNodeSize(tls, _p, _flags) if (_flags & i32(1)) == 0 { goto _1 } { p := &_nByte *p = (*p) + (_dupedExprSize(tls, (*XExpr)(unsafe.Pointer(_p.X4)), _flags) + _dupedExprSize(tls, (*XExpr)(unsafe.Pointer(_p.X5)), _flags)) sink961 = *p } _1: _0: r0 = _nByte return } func _dupedExprNodeSize(tls *crt.TLS, _p *XExpr, _flags int32) (r0 int32) { // sqlite3.c:91854:1 var _nByte int32 // sqlite3.c:91855:7 _ = _nByte _nByte = _dupedExprStructSize(tls, _p, _flags) & i32(4095) if ((_p.X2)&uint32(i32(1024))) != uint32(i32(0)) || (*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) == nil { goto _1 } { p := &_nByte *p = (*p) + (_sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) + i32(1)) sink961 = *p } _1: r0 = (_nByte + i32(7)) & i32(-8) return } func _dupedExprStructSize(tls *crt.TLS, _p *XExpr, _flags int32) (r0 int32) { // sqlite3.c:91827:1 var _nSize int32 // sqlite3.c:91828:7 _ = _nSize func() int32 { if (_flags == i32(1)) || (_flags == i32(0)) { return i32(0) } return func() int32 { 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(50832))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) if i32(0) != _flags && int32(_p.X0) != i32(159) { goto _4 } _nSize = int32(u64(72)) goto _5 _4: func() int32 { if ((_p.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(50868))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X2) & uint32(i32(1))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(50916))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X2) & uint32(i32(65536))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(50952))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X2) & uint32(i32(131072))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(50988))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_p.X4)) == nil && (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == nil { goto _15 } _nSize = int32(u64(8236)) goto _16 _15: func() int32 { if (*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(20776))) crt.X__builtin_abort(tls) return i32(0) }() }() _nSize = int32(u64(16400)) _16: _5: r0 = _nSize return } var _dupedExprStructSizeØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_dupedExprStructSizeØ00__func__Ø000[0], str(51024), 20) } func _exprStructSize(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:91787:1 if ((_p.X2) & uint32(i32(16384))) == uint32(i32(0)) { goto _0 } r0 = int32(u64(16)) return _0: if ((_p.X2) & uint32(i32(8192))) == uint32(i32(0)) { goto _1 } r0 = int32(u64(44)) return _1: r0 = int32(u64(72)) return } func _sqlite3SrcListDup(tls *crt.TLS, _db *Xsqlite3, _p *XSrcList, _flags int32) (r0 *XSrcList) { // sqlite3.c:92090:1 var _pNew *XSrcList // sqlite3.c:92091:11 _ = _pNew var _i int32 // sqlite3.c:92092:7 _ = _i var _nByte int32 // sqlite3.c:92093:7 _ = _nByte var _1_pNewItem *TSrcList_item // sqlite3.c:92101:25 _ = _1_pNewItem var _1_pOldItem *TSrcList_item // sqlite3.c:92102:25 _ = _1_pOldItem var _1_pTab *XTable // sqlite3.c:92103:11 _ = _1_pTab func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) return _2: _nByte = int32(u64(120) + func() uint64 { if (_p.X0) > i32(0) { return (u64(112) * uint64((_p.X0)-i32(1))) } return uint64(i32(0)) }()) _pNew = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nByte)))) if _pNew != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) return _5: *(*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))) _i = i32(0) _6: if _i >= (_p.X0) { goto _9 } _1_pNewItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) _1_pOldItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(0 /* X0 */))))) = (*XSchema)(unsafe.Pointer(_1_pOldItem.X0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(8 /* X1 */))) = _sqlite3DbStrDup(tls, _db, _1_pOldItem.X1) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(16 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _1_pOldItem.X2) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(24 /* X3 */))) = _sqlite3DbStrDup(tls, _db, _1_pOldItem.X3) *(*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(60 /* X9 */))) = _1_pOldItem.X9 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(64 /* X11 */))) = _1_pOldItem.X11 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(48 /* X6 */))) = _1_pOldItem.X6 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(52 /* X7 */))) = _1_pOldItem.X7 if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _10 } *(**int8)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(96 /* X15 */))))) = _sqlite3DbStrDup(tls, _db, *(**int8)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOldItem)) + uintptr(96 /* X15 */)))))) _10: *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(104 /* X16 */))))) = (*XIndex)(unsafe.Pointer(_1_pOldItem.X16)) if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _11 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(96 /* X15 */))))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOldItem)) + uintptr(96 /* X15 */))))))), _flags) _11: _1_pTab = store5434322((**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem))+uintptr(32 /* X4 */))))), (*XTable)(unsafe.Pointer(_1_pOldItem.X4))) if _1_pTab == nil { goto _12 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(60 /* X8 */))) += 1 _12: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(40 /* X5 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_1_pOldItem.X5)), _flags) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(72 /* X12 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_1_pOldItem.X12)), _flags) *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(80 /* X13 */))))) = _sqlite3IdListDup(tls, _db, (*XIdList)(unsafe.Pointer(_1_pOldItem.X13))) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(88 /* X14 */))) = _1_pOldItem.X14 _i += 1 goto _6 _9: r0 = _pNew return } var _sqlite3SrcListDupØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListDupØ00__func__Ø000[0], str(51044), 18) } func _sqlite3IdListDup(tls *crt.TLS, _db *Xsqlite3, _p *XIdList) (r0 *XIdList) { // sqlite3.c:92131:1 var _pNew *XIdList // sqlite3.c:92132:10 _ = _pNew var _i int32 // sqlite3.c:92133:7 _ = _i var _2_pNewItem *TIdList_item // sqlite3.c:92148:24 _ = _2_pNewItem var _2_pOldItem *TIdList_item // sqlite3.c:92149:24 _ = _2_pOldItem func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) return _2: _pNew = (*XIdList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(16)))) if _pNew != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) return _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) = _p.X1 *(**TIdList_item)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = (*TIdList_item)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_p.X1)*u64(16)))) if (*TIdList_item)(unsafe.Pointer(_pNew.X0)) != (*TIdList_item)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pNew)) r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) return _4: _i = i32(0) _5: if _i >= (_p.X1) { goto _8 } _2_pNewItem = (*TIdList_item)(unsafe.Pointer(uintptr(_pNew.X0) + 16*uintptr(_i))) _2_pOldItem = (*TIdList_item)(unsafe.Pointer(uintptr(_p.X0) + 16*uintptr(_i))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pNewItem)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _2_pOldItem.X0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pNewItem)) + uintptr(8 /* X1 */))) = _2_pOldItem.X1 _i += 1 goto _5 _8: r0 = _pNew return } var _sqlite3IdListDupØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3IdListDupØ00__func__Ø000[0], str(51064), 17) } func _withDup(tls *crt.TLS, _db *Xsqlite3, _p *XWith) (r0 *XWith) { // sqlite3.c:91993:1 var _pRet *XWith // sqlite3.c:91994:8 _ = _pRet var _1_nByte int32 // sqlite3.c:91996:9 _ = _1_nByte var _2_i int32 // sqlite3.c:91999:11 _ = _2_i _pRet = nil if _p == nil { goto _0 } _1_nByte = int32(u64(48) + (u64(32) * uint64((_p.X0)-i32(1)))) _pRet = (*XWith)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_1_nByte)))) if _pRet == nil { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(0 /* X0 */))) = _p.X0 _2_i = i32(0) _2: if _2_i >= (_p.X0) { goto _5 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))))) + uintptr(16 /* X2 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))).X2)), i32(0)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))))) + uintptr(8 /* X1 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))).X1)), i32(0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))))) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, (*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X2 */)))))+32*uintptr(_2_i))).X0) _2_i += 1 goto _2 _5: _1: _0: r0 = _pRet return } func _sqlite3SelectSetName(tls *crt.TLS, _p *XSelect, _zName *int8) { // sqlite3.c:116408:1 if _p == nil || _zName == nil { goto _1 } Xsqlite3_snprintf(tls, int32(u64(12)), (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */))))), str(24304), unsafe.Pointer(_zName)) _1: return } func _sqlite3ColumnsFromExprList(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _pnCol *int16, _paCol **XColumn) (r0 int32) { // sqlite3.c:117888:1 var _db *Xsqlite3 // sqlite3.c:117894:11 _ = _db var _i int32 // sqlite3.c:117895:7 _ = _i var _j int32 // sqlite3.c:117895:10 _ = _j var _cnt uint32 // sqlite3.c:117896:7 _ = _cnt var _aCol *XColumn // sqlite3.c:117897:10 _ = _aCol var _pCol *XColumn // sqlite3.c:117897:17 _ = _pCol var _nCol int32 // sqlite3.c:117898:7 _ = _nCol var _p *XExpr // sqlite3.c:117899:8 _ = _p var _zName *int8 // sqlite3.c:117900:8 _ = _zName var _nName int32 // sqlite3.c:117901:7 _ = _nName var _ht XHash // sqlite3.c:117902:8 _ = _ht var _5_pColExpr *XExpr // sqlite3.c:117924:12 _ = _5_pColExpr var _5_pTab *XTable // sqlite3.c:117925:13 _ = _5_pTab var _7_iCol int32 // sqlite3.c:117932:13 _ = _7_iCol _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _sqlite3HashInit(tls, &_ht) if _pEList == nil { goto _0 } _nCol = _pEList.X0 _aCol = (*XColumn)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(32)*uint64(_nCol)))) goto _1 _0: _nCol = i32(0) _aCol = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) _1: func() int32 { if _nCol == int32(int16(_nCol)) { return i32(0) } return func() int32 { 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(51084))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pnCol = int16(_nCol) *_paCol = _aCol *func() **XColumn { _i = i32(0); return &_pCol }() = _aCol _4: if _i >= _nCol || (_db.X17) != 0 { goto _8 } _p = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_i))).X0))) if store1025(&_zName, (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_i))).X1) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } goto _10 _9: _5_pColExpr = _p _11: if int32(_5_pColExpr.X0) != i32(122) { goto _12 } _5_pColExpr = (*XExpr)(unsafe.Pointer(_5_pColExpr.X5)) func() int32 { if _5_pColExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(51100))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _11 _12: if int32(_5_pColExpr.X0) != i32(152) || func() int32 { if (*XTable)(unsafe.Pointer(_5_pColExpr.X14)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _18 } _7_iCol = int32(_5_pColExpr.X9) _5_pTab = (*XTable)(unsafe.Pointer(_5_pColExpr.X14)) if _7_iCol >= i32(0) { goto _19 } _7_iCol = int32(_5_pTab.X10) _19: _zName = func() *int8 { if _7_iCol >= i32(0) { return ((*XColumn)(unsafe.Pointer(uintptr(_5_pTab.X1) + 32*uintptr(_7_iCol))).X0) } return str(27380) }() goto _22 _18: if int32(_5_pColExpr.X0) != i32(55) { goto _23 } func() int32 { if ((_5_pColExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(51112))) crt.X__builtin_abort(tls) return i32(0) }() }() _zName = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pColExpr)) + uintptr(8 /* X3 */))))) goto _26 _23: _zName = (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X2 _26: _22: _10: _zName = _sqlite3MPrintf(tls, _db, str(24304), unsafe.Pointer(_zName)) _cnt = uint32(i32(0)) _27: if _zName == nil || _sqlite3HashFind(tls, &_ht, _zName) == (unsafe.Pointer)(uintptr(i32(0))) { goto _28 } _nName = _sqlite3Strlen30(tls, _zName) if _nName <= i32(0) { goto _30 } _j = _nName - i32(1) _31: 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 { goto _35 } _j -= 1 goto _31 _35: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(_j)))) != i32(58) { goto _36 } _nName = _j _36: _30: _zName = _sqlite3MPrintf(tls, _db, str(51152), _nName, unsafe.Pointer(_zName), preInc985(&_cnt, uint32(1))) if _cnt <= uint32(i32(3)) { goto _37 } Xsqlite3_randomness(tls, int32(u64(4)), (unsafe.Pointer)(&_cnt)) _37: goto _27 _28: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(0 /* X0 */))) = _zName if _zName == nil || unsafe.Pointer(_sqlite3HashInsert(tls, &_ht, _zName, (unsafe.Pointer)(_pCol))) != (unsafe.Pointer)(_pCol) { goto _39 } _sqlite3OomFault(tls, _db) _39: *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(32) goto _4 _8: _sqlite3HashClear(tls, &_ht) if (_db.X17) == 0 { goto _40 } _j = i32(0) _41: if _j >= _i { goto _44 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCol))+32*uintptr(_j))).X0)) _j += 1 goto _41 _44: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aCol)) *_paCol = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) *_pnCol = int16(i32(0)) r0 = _sqlite3NomemError(tls, i32(117973)) return _40: r0 = i32(0) return } var _sqlite3ColumnsFromExprListØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ColumnsFromExprListØ00__func__Ø000[0], str(51160), 27) } func _sqlite3LocateTableItem(tls *crt.TLS, _pParse *XParse, _flags uint32, _p *TSrcList_item) (r0 *XTable) { // sqlite3.c:99843:1 var _zDb *int8 // sqlite3.c:99848:14 _ = _zDb var _1_iDb int32 // sqlite3.c:99851:9 _ = _1_iDb func() int32 { if ((*XSchema)(unsafe.Pointer(_p.X0)) == (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(51188))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XSchema)(unsafe.Pointer(_p.X0)) == nil { goto _3 } _1_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_p.X0))) _zDb = (*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 32*uintptr(_1_iDb))).X0 goto _4 _3: _zDb = _p.X1 _4: r0 = _sqlite3LocateTable(tls, _pParse, _flags, _p.X2, _zDb) return } var _sqlite3LocateTableItemØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3LocateTableItemØ00__func__Ø000[0], str(51224), 23) } func _sqlite3LocateTable(tls *crt.TLS, _pParse *XParse, _flags uint32, _zName *int8, _zDbase *int8) (r0 *XTable) { // sqlite3.c:99790:1 var _p *XTable // sqlite3.c:99796:9 _ = _p var _2_zMsg *int8 // sqlite3.c:99806:16 _ = _2_zMsg var _3_pMod *XModule // sqlite3.c:99812:14 _ = _3_pMod if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _0 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _0: _p = _sqlite3FindTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zName, _zDbase) if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _2_zMsg = func() *int8 { if (_flags & uint32(i32(1))) != 0 { return str(51248) } return str(51264) }() if _sqlite3FindDbName(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zDbase) >= i32(1) { goto _4 } _3_pMod = (*XModule)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(440 /* X65 */))), _zName))) if _3_pMod != (*XModule)(unsafe.Pointer(uintptr(i32(0)))) || Xsqlite3_strnicmp(tls, _zName, str(51280), i32(7)) != i32(0) { goto _6 } _3_pMod = _sqlite3PragmaVtabRegister(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zName) _6: if _3_pMod == nil || _sqlite3VtabEponymousTableInit(tls, _pParse, _3_pMod) == 0 { goto _8 } r0 = (*XTable)(unsafe.Pointer(_3_pMod.X4)) return _8: _4: if (_flags & uint32(i32(2))) != uint32(i32(0)) { goto _9 } if _zDbase == nil { goto _10 } _sqlite3ErrorMsg(tls, _pParse, str(51288), unsafe.Pointer(_2_zMsg), unsafe.Pointer(_zDbase), unsafe.Pointer(_zName)) goto _11 _10: _sqlite3ErrorMsg(tls, _pParse, str(51300), unsafe.Pointer(_2_zMsg), unsafe.Pointer(_zName)) _11: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) _9: _1: r0 = _p return } func _sqlite3ReadSchema(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:115791:1 var _rc int32 // sqlite3.c:115792:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:115793:11 _ = _db _rc = i32(0) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { goto _2 } _rc = _sqlite3Init(tls, _db, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(8 /* X1 */)))) _2: if _rc == i32(0) { goto _3 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = _rc *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(48 /* X16 */))) += 1 _3: r0 = _rc return } var _sqlite3ReadSchemaØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ReadSchemaØ00__func__Ø000[0], str(51308), 18) } func _sqlite3Init(tls *crt.TLS, _db *Xsqlite3, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:115747:1 var _i int32 // sqlite3.c:115748:7 _ = _i var _rc int32 // sqlite3.c:115748:10 _ = _rc var _commit_internal int32 // sqlite3.c:115749:7 _ = _commit_internal _commit_internal = bool2int(((_db.X6) & i32(2)) == 0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1))) != 0 { return i32(0) } return func() int32 { 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(51328))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == i32(0) { return i32(0) } return func() int32 { 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(51368))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(82 /* X14 */))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(i32(0)))).X4)).X8 _i = i32(0) _6: if _rc != i32(0) || _i >= (_db.X5) { goto _10 } if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X4)).X9)&i32(1)) != i32(1) && _i != i32(1) { goto _12 } goto _7 _12: _rc = _sqlite3InitOne(tls, _db, _i, _pzErrMsg) if _rc == 0 { goto _13 } _sqlite3ResetOneSchema(tls, _db, _i) _13: _7: _i += 1 goto _6 _10: func() int32 { if (_db.X5) > i32(1) { return i32(0) } return func() int32 { 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(51388))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X4)).X9)&i32(1)) == i32(1) { goto _17 } _rc = _sqlite3InitOne(tls, _db, i32(1), _pzErrMsg) if _rc == 0 { goto _18 } _sqlite3ResetOneSchema(tls, _db, i32(1)) _18: _17: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(0)) if _rc != i32(0) || _commit_internal == 0 { goto _20 } _sqlite3CommitInternalChanges(tls, _db) _20: r0 = _rc return } var _sqlite3InitØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3InitØ00__func__Ø000[0], str(51400), 12) } func _sqlite3InitOne(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:115527:1 var _rc int32 // sqlite3.c:115528:7 _ = _rc var _i int32 // sqlite3.c:115529:7 _ = _i var _size int32 // sqlite3.c:115531:7 _ = _size var _pDb *XDb // sqlite3.c:115533:6 _ = _pDb var _azArg [4]*int8 // sqlite3.c:115534:14 _ = _azArg var _meta [5]int32 // sqlite3.c:115535:7 _ = _meta var _initData XInitData // sqlite3.c:115536:12 _ = _initData var _zMasterName *int8 // sqlite3.c:115537:14 _ = _zMasterName var _openedTransaction int32 // sqlite3.c:115538:7 _ = _openedTransaction var _8_encoding uint8 // sqlite3.c:115618:10 _ = _8_encoding var _17_zSql *int8 // sqlite3.c:115680:10 _ = _17_zSql var _18_xAuth func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 // sqlite3.c:115686:21 _ = _18_xAuth _openedTransaction = i32(0) func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4)) != nil { return i32(0) } return func() int32 { 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(51412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iDb == i32(1)) || _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X1))) != 0 { return i32(0) } return func() int32 { 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(51436))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 8*uintptr(i32(0)))) = store1025(&_zMasterName, func() *int8 { if i32(1) != 0 && (_iDb == i32(1)) { return str(51488) } return str(51508) }()) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 8*uintptr(i32(1)))) = str(51524) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 8*uintptr(i32(2)))) = str(51528) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 8*uintptr(i32(3)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(0 /* X0 */))))) = _db *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(16 /* X2 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(20 /* X3 */))) = i32(0) *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(8 /* X1 */))) = _pzErrMsg _sqlite3InitCallback(tls, (unsafe.Pointer)(&_initData), i32(3), (**int8)(unsafe.Pointer(&_azArg)), (**int8)(unsafe.Pointer(uintptr(i32(0))))) if (_initData.X3) == 0 { goto _13 } _rc = _initData.X3 goto _error_out _13: _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) if (*XBtree)(unsafe.Pointer(_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } if i32(1) == 0 || func() int32 { if _iDb == i32(1) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _18 } { p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X4) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _18: r0 = i32(0) return _14: _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) if _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) != 0 { goto _19 } _rc = _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), i32(0)) if _rc == i32(0) { goto _20 } _sqlite3SetString(tls, _pzErrMsg, _db, _sqlite3ErrStr(tls, _rc)) goto _initone_error_out _20: _openedTransaction = i32(1) _19: _i = i32(0) _21: if _i >= i32(5) { goto _24 } _sqlite3BtreeGetMeta(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), _i+i32(1), (*uint32)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta))+4*uintptr(_i)))))) _i += 1 goto _21 _24: *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(0 /* X0 */))) = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(0)))) if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(4))))) == 0 { goto _25 } if _iDb != i32(0) { goto _26 } _8_encoding = uint8(int32(uint8(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(4)))))) & i32(3)) if int32(_8_encoding) != i32(0) { goto _27 } _8_encoding = uint8(i32(1)) _27: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(82 /* X14 */))) = _8_encoding goto _28 _26: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(4))))) == int32(_db.X14) { goto _29 } _sqlite3SetString(tls, _pzErrMsg, _db, str(51604)) _rc = i32(1) goto _initone_error_out _29: _28: goto _30 _25: { p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } _30: *(*uint8)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(113 /* X8 */))) = _db.X14 if ((*XSchema)(unsafe.Pointer(_pDb.X4)).X10) != i32(0) { goto _31 } _size = _sqlite3AbsInt32(tls, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(2))))) if _size != i32(0) { goto _32 } _size = i32(-2000) _32: *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(116 /* X10 */))) = _size _sqlite3BtreeSetCacheSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), (*XSchema)(unsafe.Pointer(_pDb.X4)).X10) _31: *(*uint8)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(112 /* X7 */))) = uint8(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(1))))) if int32((*XSchema)(unsafe.Pointer(_pDb.X4)).X7) != i32(0) { goto _33 } *(*uint8)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(112 /* X7 */))) = uint8(i32(1)) _33: if int32((*XSchema)(unsafe.Pointer(_pDb.X4)).X7) <= i32(4) { goto _34 } _sqlite3SetString(tls, _pzErrMsg, _db, str(51672)) _rc = i32(1) goto _initone_error_out _34: if _iDb != i32(0) || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(1))))) < i32(4) { goto _36 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-32769) sink961 = *p } _36: func() int32 { if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { return i32(0) } return func() int32 { 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(51696))) crt.X__builtin_abort(tls) return i32(0) }() }() _17_zSql = _sqlite3MPrintf(tls, _db, str(51712), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(_zMasterName)) _18_xAuth = _db.X59 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(400 /* X59 */))) = nil _rc = Xsqlite3_exec(tls, _db, _17_zSql, _sqlite3InitCallback, (unsafe.Pointer)(&_initData), (**int8)(unsafe.Pointer(uintptr(i32(0))))) *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(400 /* X59 */))) = _18_xAuth if _rc != i32(0) { goto _39 } _rc = _initData.X3 _39: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_17_zSql)) if _rc != i32(0) { goto _40 } _sqlite3AnalysisLoad(tls, _db, _iDb) _40: if (_db.X17) == 0 { goto _41 } _rc = _sqlite3NomemError(tls, i32(115704)) _sqlite3ResetAllSchemasOfConnection(tls, _db) _41: if _rc != i32(0) && ((_db.X6)&i32(65536)) == 0 { goto _43 } { p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _rc = i32(0) _43: _initone_error_out: if _openedTransaction == 0 { goto _44 } _sqlite3BtreeCommit(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) _44: _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) _error_out: if _rc != i32(7) && _rc != i32(3082) { goto _46 } _sqlite3OomFault(tls, _db) _46: r0 = _rc return } var _sqlite3InitOneØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3InitOneØ00__func__Ø000[0], str(51768), 15) } func _sqlite3InitCallback(tls *crt.TLS, _pInit unsafe.Pointer, _argc int32, _argv **int8, _NotUsed **int8) (r0 int32) { // sqlite3.c:115443:1 var _pData *XInitData // sqlite3.c:115444:12 _ = _pData var _db *Xsqlite3 // sqlite3.c:115445:11 _ = _db var _iDb int32 // sqlite3.c:115446:7 _ = _iDb var _3_rc int32 // sqlite3.c:115467:9 _ = _3_rc var _3_saved_iDb uint8 // sqlite3.c:115468:8 _ = _3_saved_iDb var _3_pStmt unsafe.Pointer // sqlite3.c:115469:18 _ = _3_pStmt var _3_rcp int32 // sqlite3.c:115470:18 _ = _3_rcp var _10_pIndex *XIndex // sqlite3.c:115503:11 _ = _10_pIndex _pData = (*XInitData)(unsafe.Pointer(_pInit)) _db = (*Xsqlite3)(unsafe.Pointer(_pData.X0)) _iDb = _pData.X2 func() int32 { if _argc == i32(3) { return i32(0) } return func() int32 { 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(51784))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { ; return _argc }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) & i32(-5)) sink4530 = *p } if (_db.X17) == 0 { goto _4 } _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) r0 = i32(1) return _4: func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() if _argv != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } r0 = i32(0) return _8: if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) goto _10 _9: if Xsqlite3_strnicmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2)))), str(51792), i32(7)) != i32(0) { goto _11 } _3_saved_iDb = (*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X1 func() int32 { if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { return i32(0) } return func() int32 { 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(51696))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(_iDb) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(0 /* X0 */))) = _sqlite3Atoi(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(6 /* X3 */))) = uint8(i32(0)) _3_rcp = Xsqlite3_prepare(tls, _db, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2)))), i32(-1), &_3_pStmt, (**int8)(unsafe.Pointer(uintptr(i32(0))))) _3_rc = _db.X10 func() int32 { if (_3_rc & i32(255)) == (_3_rcp & i32(255)) { return i32(0) } return func() int32 { 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(51800))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(4 /* X1 */))) = _3_saved_iDb func() int32 { if (int32(_3_saved_iDb) == i32(0)) || (((_db.X6) & i32(268435456)) != i32(0)) { return i32(0) } return func() int32 { 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(51824))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == _3_rc { goto _19 } if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X3) == 0 { goto _20 } func() int32 { if _iDb == i32(1) { return i32(0) } return func() int32 { 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(51872))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _23 _20: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pData)) + uintptr(20 /* X3 */))) = _3_rc if _3_rc != i32(7) { goto _24 } _sqlite3OomFault(tls, _db) goto _25 _24: if _3_rc == i32(9) || (_3_rc&i32(255)) == i32(6) { goto _27 } _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), Xsqlite3_errmsg(tls, _db)) _27: _25: _23: _19: Xsqlite3_finalize(tls, _3_pStmt) goto _28 _11: if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && ((*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2)))))) + 1*uintptr(i32(0))))) == i32(0)) { goto _31 } _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) goto _32 _31: _10_pIndex = _sqlite3FindIndex(tls, _db, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) if _10_pIndex != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _33 } goto _34 _33: if _sqlite3GetInt32(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1)))), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pIndex))+uintptr(88 /* X11 */)))) != i32(0) { goto _35 } _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), str(51880)) _35: _34: _32: _28: _10: r0 = i32(0) return } var _sqlite3InitCallbackØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3InitCallbackØ00__func__Ø000[0], str(51900), 20) } func _corruptSchema(tls *crt.TLS, _pData *XInitData, _zObj *int8, _zExtra *int8) { // sqlite3.c:115414:1 var _db *Xsqlite3 // sqlite3.c:115419:11 _ = _db var _1_z *int8 // sqlite3.c:115421:10 _ = _1_z _db = (*Xsqlite3)(unsafe.Pointer(_pData.X0)) if (_db.X17) != 0 || ((_db.X6)&i32(65536)) != i32(0) { goto _1 } if _zObj != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _zObj = str(51920) _2: _1_z = _sqlite3MPrintf(tls, _db, str(51924), unsafe.Pointer(_zObj)) if _zExtra == nil { goto _3 } _1_z = _sqlite3MPrintf(tls, _db, str(51956), unsafe.Pointer(_1_z), unsafe.Pointer(_zExtra)) _3: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(_pData.X1))) *(_pData.X1) = _1_z _1: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pData)) + uintptr(20 /* X3 */))) = func() int32 { if (_db.X17) != 0 { return _sqlite3NomemError(tls, i32(115428)) } return _sqlite3CorruptError(tls, i32(115428)) }() return } func _sqlite3Atoi(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:28359:1 var _x int32 // sqlite3.c:28360:7 _ = _x _x = i32(0) if _z == nil { goto _0 } _sqlite3GetInt32(tls, _z, &_x) _0: r0 = _x return } func Xsqlite3_prepare(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:116131:12 var _rc int32 // sqlite3.c:116138:7 _ = _rc _rc = _sqlite3LockAndPrepare(tls, _db, _zSql, _nBytes, i32(0), (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))), _ppStmt, _pzTail) func() int32 { if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(51964))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } func _sqlite3LockAndPrepare(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _saveSqlFlag int32, _pOld *TVdbe, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:116055:1 var _rc int32 // sqlite3.c:116064:7 _ = _rc if _ppStmt != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(116067)) return _0: *_ppStmt = (unsafe.Pointer)(uintptr(i32(0))) if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = _sqlite3MisuseError(tls, i32(116071)) return _2: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _sqlite3BtreeEnterAll(tls, _db) _rc = _sqlite3Prepare(tls, _db, _zSql, _nBytes, _saveSqlFlag, _pOld, _ppStmt, _pzTail) if _rc != i32(17) { goto _3 } Xsqlite3_finalize(tls, *_ppStmt) _rc = _sqlite3Prepare(tls, _db, _zSql, _nBytes, _saveSqlFlag, _pOld, _ppStmt, _pzTail) _3: _sqlite3BtreeLeaveAll(tls, _db) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) func() int32 { if (_rc == i32(0)) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(52008))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } func _sqlite3Prepare(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _saveSqlFlag int32, _pReprepare *TVdbe, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:115904:1 var _zErrMsg *int8 // sqlite3.c:115913:8 _ = _zErrMsg var _rc int32 // sqlite3.c:115914:7 _ = _rc var _i int32 // sqlite3.c:115915:7 _ = _i var _sParse XParse // sqlite3.c:115916:9 _ = _sParse var _1_pBt *XBtree // sqlite3.c:115949:11 _ = _1_pBt var _3_zDb *int8 // sqlite3.c:115954:20 _ = _3_zDb var _4_zSqlCopy *int8 // sqlite3.c:115966:10 _ = _4_zSqlCopy var _4_mxLen int32 // sqlite3.c:115967:9 _ = _4_mxLen var _12_iFirst int32 // sqlite3.c:116006:9 _ = _12_iFirst var _12_mx int32 // sqlite3.c:116006:17 _ = _12_mx var _16_pVdbe *TVdbe // sqlite3.c:116024:10 _ = _16_pVdbe var _21_pT *XTriggerPrg // sqlite3.c:116043:16 _ = _21_pT _zErrMsg = nil _rc = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_sParse), i32(0), u64(204)) crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_sParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u64(456))))))))), i32(0), u64(144)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(504 /* X61 */))))) = _pReprepare func() int32 { if (_ppStmt != nil) && (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(52036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _5: if _i >= (_db.X5) { goto _8 } _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _1_pBt == nil { goto _9 } func() int32 { if _sqlite3BtreeHoldsMutex(tls, _1_pBt) != 0 { return i32(0) } return func() int32 { 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(52060))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeSchemaLocked(tls, _1_pBt) if _rc == 0 { goto _12 } _3_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X0 _sqlite3ErrorWithMsg(tls, _db, _rc, str(52088), unsafe.Pointer(_3_zDb)) goto _end_prepare _12: _9: _i += 1 goto _5 _8: _sqlite3VtabUnlockList(tls, _db) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(0 /* X0 */))))) = _db if _nBytes < i32(0) || _nBytes != i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(_nBytes-i32(1))))) == i32(0) { goto _15 } _4_mxLen = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(1)))) if _nBytes <= _4_mxLen { goto _16 } _sqlite3ErrorWithMsg(tls, _db, i32(18), str(52120)) _rc = _sqlite3ApiExit(tls, _db, i32(18)) goto _end_prepare _16: _4_zSqlCopy = _sqlite3DbStrNDup(tls, _db, _zSql, uint64(_nBytes)) if _4_zSqlCopy == nil { goto _17 } _sqlite3RunParser(tls, &_sParse, _4_zSqlCopy, &_zErrMsg) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(512 /* X62 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(int64((uintptr(unsafe.Pointer(_sParse.X62))-uintptr(unsafe.Pointer(_4_zSqlCopy)))/1)))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_4_zSqlCopy)) goto _18 _17: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(512 /* X62 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(_nBytes))) _18: goto _19 _15: _sqlite3RunParser(tls, &_sParse, _zSql, &_zErrMsg) _19: func() int32 { if uint32(i32(0)) == (_sParse.X42) { return i32(0) } return func() int32 { 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(52140))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_sParse.X3) != i32(101) { goto _22 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(24 /* X3 */))) = i32(0) _22: if (_sParse.X5) == 0 { goto _23 } _schemaIsValid(tls, &_sParse) _23: if (_db.X17) == 0 { goto _24 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(24 /* X3 */))) = _sqlite3NomemError(tls, i32(115993)) _24: if _pzTail == nil { goto _25 } *_pzTail = _sParse.X62 _25: _rc = _sParse.X3 if _rc != i32(0) || (*TVdbe)(unsafe.Pointer(_sParse.X2)) == nil || (_sParse.X54) == 0 { goto _28 } if int32(_sParse.X54) != i32(2) { goto _29 } _sqlite3VdbeSetNumCols(tls, (*TVdbe)(unsafe.Pointer(_sParse.X2)), i32(4)) _12_iFirst = i32(8) _12_mx = i32(12) goto _30 _29: _sqlite3VdbeSetNumCols(tls, (*TVdbe)(unsafe.Pointer(_sParse.X2)), i32(8)) _12_iFirst = i32(0) _12_mx = i32(8) _30: _i = _12_iFirst _31: if _i >= _12_mx { goto _34 } _sqlite3VdbeSetColName(tls, (*TVdbe)(unsafe.Pointer(_sParse.X2)), _i-_12_iFirst, i32(0), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PrepareØ00azColNameØ001)) + 8*uintptr(_i))), nil) _i += 1 goto _31 _34: _28: if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != i32(0) { goto _35 } _16_pVdbe = (*TVdbe)(unsafe.Pointer(_sParse.X2)) _sqlite3VdbeSetSql(tls, _16_pVdbe, _zSql, int32(int64((uintptr(unsafe.Pointer(_sParse.X62))-uintptr(unsafe.Pointer(_zSql)))/1)), _saveSqlFlag) _35: if (*TVdbe)(unsafe.Pointer(_sParse.X2)) == nil || _rc == i32(0) && (_db.X17) == 0 { goto _38 } _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_sParse.X2))) func() int32 { if (*_ppStmt) == nil { return i32(0) } return func() int32 { 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(52164))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _41 _38: *_ppStmt = _sParse.X2 _41: if _zErrMsg == nil { goto _42 } _sqlite3ErrorWithMsg(tls, _db, _rc, str(24304), unsafe.Pointer(_zErrMsg)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) goto _43 _42: _sqlite3Error(tls, _db, _rc) _43: _44: if (*XTriggerPrg)(unsafe.Pointer(_sParse.X69)) == nil { goto _45 } _21_pT = (*XTriggerPrg)(unsafe.Pointer(_sParse.X69)) *(**XTriggerPrg)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(576 /* X69 */))))) = (*XTriggerPrg)(unsafe.Pointer(_21_pT.X1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_21_pT)) goto _44 _45: _end_prepare: _sqlite3ParserReset(tls, &_sParse) _rc = _sqlite3ApiExit(tls, _db, _rc) func() int32 { if (_rc & (_db.X11)) == _rc { return i32(0) } return func() int32 { 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(52176))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3PrepareØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PrepareØ00__func__Ø000[0], str(52200), 15) } func _sqlite3BtreeSchemaLocked(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68638:1 var _rc int32 // sqlite3.c:68639:7 _ = _rc func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _rc = _querySharedCacheTableLock(tls, _p, uint32(i32(1)), uint8(i32(1))) func() int32 { if (_rc == i32(0)) || (_rc == i32(262)) { return i32(0) } return func() int32 { 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(52216))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeSchemaLockedØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSchemaLockedØ00__func__Ø000[0], str(52264), 25) } func _querySharedCacheTableLock(tls *crt.TLS, _p *XBtree, _iTab uint32, _eLock uint8) (r0 int32) { // sqlite3.c:59205:1 var _pBt *XBtShared // sqlite3.c:59206:12 _ = _pBt var _pIter *XBtLock // sqlite3.c:59207:10 _ = _pIter _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_eLock) == i32(1)) || (int32(_eLock) == i32(2)) { return i32(0) } return func() int32 { 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(52292))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(23364))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(16384)) == 0) || (int32(_eLock) == i32(2))) || (_iTab == uint32(i32(1))) { return i32(0) } return func() int32 { 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(52332))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_eLock) == i32(1)) || ((_p == (*XBtree)(unsafe.Pointer(_pBt.X26))) && (int32(_p.X2) == i32(2))) { return i32(0) } return func() int32 { 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(52400))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_eLock) == i32(1)) || (int32(_pBt.X8) == i32(2)) { return i32(0) } return func() int32 { 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(52468))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X3) != 0 { goto _18 } r0 = i32(0) return _18: if (*XBtree)(unsafe.Pointer(_pBt.X26)) == _p || (int32(_pBt.X10)&i32(32)) == i32(0) { goto _20 } r0 = i32(262) return _20: _pIter = (*XBtLock)(unsafe.Pointer(_pBt.X25)) _21: if _pIter == nil { goto _24 } func() int32 { if (int32(_pIter.X2) == i32(1)) || (int32(_pIter.X2) == i32(2)) { return i32(0) } return func() int32 { 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(52520))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_eLock) == i32(1)) || ((*XBtree)(unsafe.Pointer(_pIter.X0)) == _p)) || (int32(_pIter.X2) == i32(1)) { return i32(0) } return func() int32 { 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(52572))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBtree)(unsafe.Pointer(_pIter.X0)) == _p || (_pIter.X1) != _iTab || int32(_pIter.X2) == int32(_eLock) { goto _34 } if int32(_eLock) != i32(2) { goto _35 } func() int32 { if _p == (*XBtree)(unsafe.Pointer(_pBt.X26)) { return i32(0) } return func() int32 { 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(52636))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(64)) sink4530 = *p } _35: r0 = i32(262) return _34: _pIter = (*XBtLock)(unsafe.Pointer(_pIter.X3)) goto _21 _24: r0 = i32(0) return } var _querySharedCacheTableLockØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_querySharedCacheTableLockØ00__func__Ø000[0], str(52652), 26) } func _schemaIsValid(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:115811:1 var _db *Xsqlite3 // sqlite3.c:115812:11 _ = _db var _iDb int32 // sqlite3.c:115813:7 _ = _iDb var _rc int32 // sqlite3.c:115814:7 _ = _rc var _cookie int32 // sqlite3.c:115815:7 _ = _cookie var _1_openedTransaction int32 // sqlite3.c:115820:9 _ = _1_openedTransaction var _1_pBt *XBtree // sqlite3.c:115821:11 _ = _1_pBt _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if (_pParse.X5) != 0 { return i32(0) } return func() int32 { 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(52680))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = i32(0) _4: if _iDb >= (_db.X5) { goto _7 } _1_openedTransaction = i32(0) _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X1)) if _1_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } goto _5 _8: if _sqlite3BtreeIsInReadTrans(tls, _1_pBt) != 0 { goto _9 } _rc = _sqlite3BtreeBeginTrans(tls, _1_pBt, i32(0)) if _rc != i32(7) && _rc != i32(3082) { goto _11 } _sqlite3OomFault(tls, _db) _11: if _rc == i32(0) { goto _12 } return _12: _1_openedTransaction = i32(1) _9: _sqlite3BtreeGetMeta(tls, _1_pBt, i32(1), (*uint32)(unsafe.Pointer(&_cookie))) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _cookie == ((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)).X0) { goto _15 } _sqlite3ResetOneSchema(tls, _db, _iDb) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(17) _15: if _1_openedTransaction == 0 { goto _16 } _sqlite3BtreeCommit(tls, _1_pBt) _16: _5: _iDb += 1 goto _4 _7: return } var _schemaIsValidØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_schemaIsValidØ00__func__Ø000[0], str(52736), 14) } func _sqlite3BtreeIsInReadTrans(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68590:1 func() int32 { if _p != nil { return i32(0) } return func() int32 { 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(8412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int(int32(_p.X2) != i32(0)) return } var _sqlite3BtreeIsInReadTransØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeIsInReadTransØ00__func__Ø000[0], str(52752), 26) } func _sqlite3BtreeBeginTrans(tls *crt.TLS, _p *XBtree, _wrflag int32) (r0 int32) { // sqlite3.c:62165:1 var _pBt *XBtShared // sqlite3.c:62166:12 _ = _pBt var _rc int32 // sqlite3.c:62167:7 _ = _rc var _3_pBlock *Xsqlite3 // sqlite3.c:62189:13 _ = _3_pBlock var _5_pIter *XBtLock // sqlite3.c:62199:14 _ = _5_pIter var _19_pPage1 *XMemPage // sqlite3.c:62267:15 _ = _19_pPage1 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _rc = i32(0) _sqlite3BtreeEnter(tls, _p) func() int32 { if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { return i32(0) } return func() int32 { 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(8748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { return i32(0) } return func() int32 { 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(8812))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X2) != i32(2) && (int32(_p.X2) != i32(1) || _wrflag != 0) { goto _7 } goto _trans_begun _7: func() int32 { if (int32(_pBt.X8) == i32(2)) || (int32(_pBt.X7) == i32(0)) { return i32(0) } return func() int32 { 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(52780))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pBt.X10)&i32(1)) == i32(0) || _wrflag == 0 { goto _12 } _rc = i32(8) goto _trans_begun _12: _3_pBlock = nil if (_wrflag == 0 || int32(_pBt.X8) != i32(2)) && (int32(_pBt.X10)&i32(64)) == i32(0) { goto _15 } _3_pBlock = (*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pBt.X26)).X0)) goto _16 _15: if _wrflag <= i32(1) { goto _17 } _5_pIter = (*XBtLock)(unsafe.Pointer(_pBt.X25)) _18: if _5_pIter == nil { goto _21 } if (*XBtree)(unsafe.Pointer(_5_pIter.X0)) == _p { goto _22 } _3_pBlock = (*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_5_pIter.X0)).X0)) goto _21 _22: _5_pIter = (*XBtLock)(unsafe.Pointer(_5_pIter.X3)) goto _18 _21: _17: _16: if _3_pBlock == nil { goto _23 } _rc = i32(262) goto _trans_begun _23: _rc = _querySharedCacheTableLock(tls, _p, uint32(i32(1)), uint8(i32(1))) if i32(0) == _rc { goto _24 } goto _trans_begun _24: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-9)) sink4530 = *p } if (_pBt.X18) != uint32(i32(0)) { goto _25 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } _25: _26: _27: if (*XMemPage)(unsafe.Pointer(_pBt.X3)) != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) != store961(&_rc, _lockBtree(tls, _pBt)) { goto _28 } goto _27 _28: if _rc != i32(0) || _wrflag == 0 { goto _31 } if (int32(_pBt.X10) & i32(1)) == i32(0) { goto _32 } _rc = i32(8) goto _33 _32: _rc = _sqlite3PagerBegin(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), bool2int(_wrflag > i32(1)), _sqlite3TempInMemory(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)))) if _rc != i32(0) { goto _34 } _rc = _newDatabase(tls, _pBt) _34: _33: _31: if _rc == i32(0) { goto _35 } _unlockBtreeIfUnused(tls, _pBt) _35: if (((_rc & i32(255)) == i32(5)) && (int32(_pBt.X8) == i32(0))) && _btreeInvokeBusyHandler(tls, (unsafe.Pointer)(_pBt)) != 0 { goto _26 } if _rc != i32(0) { goto _38 } if int32(_p.X2) != i32(0) { goto _39 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(56 /* X17 */))) += 1 if (_p.X3) == 0 { goto _40 } func() int32 { if ((*XBtree)(unsafe.Pointer((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X11 */))).X0)) == _p) && (((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X11 */))).X1) == uint32(i32(1))) { return i32(0) } return func() int32 { 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(52848))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X11 */))))) + uintptr(12 /* X2 */))) = uint8(i32(1)) *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X11 */))))) + uintptr(16 /* X3 */))))) = (*XBtLock)(unsafe.Pointer(_pBt.X25)) *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(112 /* X25 */))))) = (*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X11 */))) _40: _39: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = uint8(func() int32 { if _wrflag != 0 { return i32(2) } return i32(1) }()) if int32(_p.X2) <= int32(_pBt.X8) { goto _46 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X8 */))) = _p.X2 _46: if _wrflag == 0 { goto _47 } _19_pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) func() int32 { if (*XBtree)(unsafe.Pointer(_pBt.X26)) == nil { return i32(0) } return func() int32 { 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(52888))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(120 /* X26 */))))) = _p { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-33)) sink4530 = *p } if _wrflag <= i32(1) { goto _50 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(32)) sink4530 = *p } _50: if (_pBt.X18) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pPage1.X19))+1*uintptr(i32(28))))) { goto _51 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_19_pPage1.X23))) if _rc != i32(0) { goto _52 } _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pPage1.X19))+1*uintptr(i32(28)))), _pBt.X18) _52: _51: _47: _38: _trans_begun: if _rc != i32(0) || _wrflag == 0 { goto _54 } _rc = _sqlite3PagerOpenSavepoint(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(_p.X0)).X75) _54: func() int32 { if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { return i32(0) } return func() int32 { 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(8748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { return i32(0) } return func() int32 { 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(8812))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeBeginTransØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeBeginTransØ00__func__Ø000[0], str(52904), 23) } func _lockBtree(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:61857:1 var _rc int32 // sqlite3.c:61858:7 _ = _rc var _pPage1 *XMemPage // sqlite3.c:61859:11 _ = _pPage1 var _nPage int32 // sqlite3.c:61860:7 _ = _nPage var _nPageFile int32 // sqlite3.c:61861:7 _ = _nPageFile var _nPageHeader int32 // sqlite3.c:61862:7 _ = _nPageHeader var _2_pageSize uint32 // sqlite3.c:61880:9 _ = _2_pageSize var _2_usableSize uint32 // sqlite3.c:61881:9 _ = _2_usableSize var _2_page1 *uint8 // sqlite3.c:61882:8 _ = _2_page1 var _6_isOpen int32 // sqlite3.c:61915:11 _ = _6_isOpen _nPageFile = i32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XMemPage)(unsafe.Pointer(_pBt.X3)) == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(52928))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerSharedLock(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) if _rc == i32(0) { goto _4 } r0 = _rc return _4: _rc = _btreeGetPage(tls, _pBt, uint32(i32(1)), &_pPage1, i32(0)) if _rc == i32(0) { goto _5 } r0 = _rc return _5: _nPage = store961(&_nPageHeader, int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(28))))))+uintptr(unsafe.Pointer(_pPage1.X19))))))) _sqlite3PagerPagecount(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), &_nPageFile) 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))))), uint64(i32(4))) == i32(0) { goto _7 } _nPage = _nPageFile _7: if _nPage <= i32(0) { goto _8 } _2_page1 = _pPage1.X19 _rc = i32(26) if crt.Xmemcmp(tls, (unsafe.Pointer)(_2_page1), (unsafe.Pointer)(&_zMagicHeader), uint64(i32(16))) == i32(0) { goto _9 } goto _page1_init_failed _9: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(18))))) <= i32(2) { goto _10 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _10: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(19))))) <= i32(2) { goto _11 } goto _page1_init_failed _11: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(19))))) != i32(2) || (int32(_pBt.X10)&i32(16)) != i32(0) { goto _13 } _6_isOpen = i32(0) _rc = _sqlite3PagerOpenWal(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), &_6_isOpen) if _rc == i32(0) { goto _14 } goto _page1_init_failed _14: if _6_isOpen != i32(0) { goto _16 } _releasePage(tls, _pPage1) r0 = i32(0) return _16: _rc = i32(26) goto _17 _13: _17: if crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1))+1*uintptr(i32(21))))), (unsafe.Pointer)(str(52944)), uint64(i32(3))) == i32(0) { goto _18 } goto _page1_init_failed _18: _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)))) if ((_2_pageSize-uint32(i32(1)))&_2_pageSize) == uint32(i32(0)) && _2_pageSize <= uint32(i32(65536)) && _2_pageSize > uint32(i32(256)) { goto _21 } goto _page1_init_failed _21: func() int32 { if (_2_pageSize & uint32(i32(7))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(52948))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_usableSize = _2_pageSize - uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(20))))) if _2_pageSize == (_pBt.X15) { goto _24 } _releasePage(tls, _pPage1) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(52 /* X16 */))) = _2_usableSize *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(48 /* X15 */))) = _2_pageSize _freeTempSpace(tls, _pBt) _rc = _sqlite3PagerSetPagesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(48 /* X15 */))), int32(_2_pageSize-_2_usableSize)) r0 = _rc return _24: if (((*Xsqlite3)(unsafe.Pointer(_pBt.X1)).X6)&i32(65536)) != i32(0) || _nPage <= _nPageFile { goto _26 } _rc = _sqlite3CorruptError(tls, i32(61978)) goto _page1_init_failed _26: if _2_usableSize >= uint32(i32(480)) { goto _27 } goto _page1_init_failed _27: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(48 /* X15 */))) = _2_pageSize *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(52 /* X16 */))) = _2_usableSize *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(33 /* X5 */))) = uint8(func() int32 { if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1))+1*uintptr(i32(52))))) != 0 { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(34 /* X6 */))) = uint8(func() int32 { if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1))+1*uintptr(i32(64))))) != 0 { return i32(1) } return i32(0) }()) _8: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(40 /* X11 */))) = uint16(((((_pBt.X16) - uint32(i32(12))) * uint32(i32(64))) / uint32(i32(255))) - uint32(i32(23))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(42 /* X12 */))) = uint16(((((_pBt.X16) - uint32(i32(12))) * uint32(i32(32))) / uint32(i32(255))) - uint32(i32(23))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X13 */))) = uint16((_pBt.X16) - uint32(i32(35))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(46 /* X14 */))) = uint16(((((_pBt.X16) - uint32(i32(12))) * uint32(i32(32))) / uint32(i32(255))) - uint32(i32(23))) if int32(_pBt.X11) <= i32(127) { goto _32 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(37 /* X9 */))) = uint8(i32(127)) goto _33 _32: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(37 /* X9 */))) = uint8(_pBt.X11) _33: func() int32 { if (int32(_pBt.X13) + i32(23)) <= int32((_pBt.X15)-uint32(i32(8))) { return i32(0) } return func() int32 { 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(52968))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(24 /* X3 */))))) = _pPage1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) = uint32(_nPage) r0 = i32(0) return _page1_init_failed: _releasePage(tls, _pPage1) *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(24 /* X3 */))))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) r0 = _rc return } var _lockBtreeØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_lockBtreeØ00__func__Ø000[0], str(53008), 10) } func _sqlite3PagerSharedLock(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51954:1 var _rc int32 // sqlite3.c:51955:7 _ = _rc var _1_bHotJournal int32 // sqlite3.c:51967:9 _ = _1_bHotJournal var _8_pVfs *Xsqlite3_vfs // sqlite3.c:52027:21 _ = _8_pVfs var _8_bExists int32 // sqlite3.c:52028:13 _ = _8_bExists var _9_fout int32 // sqlite3.c:52032:15 _ = _9_fout var _9_f int32 // sqlite3.c:52033:15 _ = _9_f var _15_nPage uint32 // sqlite3.c:52107:12 _ = _15_nPage var _15_dbFileVers [16]int8 // sqlite3.c:52108:12 _ = _15_dbFileVers _rc = i32(0) func() int32 { if _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) == i32(0) { return i32(0) } return func() int32 { 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(53020))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) == i32(0)) || (int32(_pPager.X14) == i32(1)) { return i32(0) } return func() int32 { 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(53064))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X26) == i32(0) { return i32(0) } return func() int32 { 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(10624))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X14) != i32(0) { goto _10 } _1_bHotJournal = i32(1) func() int32 { if (_pPager.X13) == 0 { return i32(0) } return func() int32 { 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(10616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X10) == i32(0)) || (int32(_pPager.X15) == i32(4)) { return i32(0) } return func() int32 { 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(53124))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pager_wait_on_lock(tls, _pPager, i32(1)) if _rc == i32(0) { goto _16 } func() int32 { if (int32(_pPager.X15) == i32(0)) || (int32(_pPager.X15) == i32(5)) { return i32(0) } return func() int32 { 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(53180))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _failed _16: if int32(_pPager.X15) > i32(1) { goto _20 } _rc = _hasHotJournal(tls, _pPager, &_1_bHotJournal) _20: if _rc == i32(0) { goto _21 } goto _failed _21: if _1_bHotJournal == 0 { goto _22 } if (_pPager.X12) == 0 { goto _23 } _rc = i32(776) goto _failed _23: _rc = _pagerLockDb(tls, _pPager, i32(4)) if _rc == i32(0) { goto _24 } goto _failed _24: if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _25 } _8_pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) _rc = _sqlite3OsAccess(tls, _8_pVfs, _pPager.X52, i32(0), &_8_bExists) if _rc != i32(0) || _8_bExists == 0 { goto _27 } _9_fout = i32(0) _9_f = i32(2050) func() int32 { if (_pPager.X10) == 0 { return i32(0) } return func() int32 { 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(53236))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsOpen(tls, _8_pVfs, _pPager.X52, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _9_f, &_9_fout) func() int32 { if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(12460))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || (_9_fout&i32(1)) == 0 { goto _34 } _rc = _sqlite3CantopenError(tls, i32(52038)) _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) _34: _27: _25: if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _35 } func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pagerSyncHotJournal(tls, _pPager) if _rc != i32(0) { goto _38 } _rc = _pager_playback(tls, _pPager, bool2int((_pPager.X10) == 0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(0)) _38: goto _39 _35: if (_pPager.X1) != 0 { goto _40 } _pagerUnlockDb(tls, _pPager, i32(1)) _40: _39: if _rc == i32(0) { goto _41 } _pager_error(tls, _pPager, _rc) goto _failed _41: func() int32 { if int32(_pPager.X14) == i32(0) { return i32(0) } return func() int32 { 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(53256))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X15) == i32(1)) || (((_pPager.X1) != 0) && (int32(_pPager.X15) > i32(1))) { return i32(0) } return func() int32 { 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(53284))) crt.X__builtin_abort(tls) return i32(0) }() }() _22: if (_pPager.X10) != 0 || (_pPager.X21) == 0 { goto _49 } _15_nPage = u32(0) _rc = _pagerPagecount(tls, _pPager, &_15_nPage) if _rc == 0 { goto _50 } goto _failed _50: if _15_nPage <= uint32(i32(0)) { goto _51 } _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(&_15_dbFileVers), int32(u64(16)), int64(i32(24))) if _rc == i32(0) || _rc == i32(522) { goto _53 } goto _failed _53: goto _54 _51: crt.Xmemset(tls, (unsafe.Pointer)(&_15_dbFileVers), i32(0), u64(16)) _54: if crt.Xmemcmp(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(136 /* X40 */)))), (unsafe.Pointer)(&_15_dbFileVers), u64(16)) == i32(0) { goto _55 } _pager_reset(tls, _pPager) if (_pPager.X20) == 0 { goto _56 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) _56: _55: _49: _rc = _pagerOpenWalIfPresent(tls, _pPager) func() int32 { if ((*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0))))) || (_rc == i32(0)) { return i32(0) } return func() int32 { 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(53372))) crt.X__builtin_abort(tls) return i32(0) }() }() _10: if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _60 } func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pagerBeginReadTransaction(tls, _pPager) _60: if int32(_pPager.X10) != i32(0) || int32(_pPager.X14) != i32(0) || _rc != i32(0) { goto _65 } _rc = _pagerPagecount(tls, _pPager, (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(32 /* X22 */)))) _65: _failed: if _rc == i32(0) { goto _66 } func() int32 { if (_pPager.X13) == 0 { return i32(0) } return func() int32 { 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(10616))) crt.X__builtin_abort(tls) return i32(0) }() }() _pager_unlock(tls, _pPager) func() int32 { if int32(_pPager.X14) == i32(0) { return i32(0) } return func() int32 { 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(53256))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _71 _66: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X21 */))) = uint8(i32(1)) _71: r0 = _rc return } var _sqlite3PagerSharedLockØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerSharedLockØ00__func__Ø000[0], str(53408), 23) } func _pager_wait_on_lock(tls *crt.TLS, _pPager *XPager, _locktype int32) (r0 int32) { // sqlite3.c:50740:1 var _rc int32 // sqlite3.c:50741:7 _ = _rc func() int32 { if ((int32(_pPager.X15) >= _locktype) || ((int32(_pPager.X15) == i32(0)) && (_locktype == i32(1)))) || ((int32(_pPager.X15) == i32(2)) && (_locktype == i32(4))) { return i32(0) } return func() int32 { 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(53432))) crt.X__builtin_abort(tls) return i32(0) }() }() _6: _rc = _pagerLockDb(tls, _pPager, _locktype) if (_rc == i32(5)) && (_pPager.X53)(tls, _pPager.X54) != 0 { goto _6 } r0 = _rc return } var _pager_wait_on_lockØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_pager_wait_on_lockØ00__func__Ø000[0], str(53576), 19) } func _pagerLockDb(tls *crt.TLS, _pPager *XPager, _eLock int32) (r0 int32) { // sqlite3.c:48029:1 var _rc int32 // sqlite3.c:48030:7 _ = _rc _rc = i32(0) func() int32 { if ((_eLock == i32(1)) || (_eLock == i32(2))) || (_eLock == i32(4)) { return i32(0) } return func() int32 { 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(53596))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X15) >= _eLock && int32(_pPager.X15) != i32(5) { goto _5 } _rc = func() int32 { if (_pPager.X11) != 0 { return i32(0) } return _sqlite3OsLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _eLock) }() if _rc != i32(0) || int32(_pPager.X15) == i32(5) && _eLock != i32(4) { goto _10 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(22 /* X15 */))) = uint8(_eLock) _10: _5: r0 = _rc return } var _pagerLockDbØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_pagerLockDbØ00__func__Ø000[0], str(53664), 12) } func _hasHotJournal(tls *crt.TLS, _pPager *XPager, _pExists *int32) (r0 int32) { // sqlite3.c:51834:1 var _pVfs *Xsqlite3_vfs // sqlite3.c:51835:15 _ = _pVfs var _rc int32 // sqlite3.c:51836:7 _ = _rc var _exists int32 // sqlite3.c:51837:7 _ = _exists var _jrnlOpen int32 // sqlite3.c:51838:7 _ = _jrnlOpen var _2_locked int32 // sqlite3.c:51853:9 _ = _2_locked var _3_nPage uint32 // sqlite3.c:51865:12 _ = _3_nPage var _8_f int32 // sqlite3.c:51893:17 _ = _8_f var _9_first uint8 // sqlite3.c:51897:16 _ = _9_first _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) _rc = i32(0) _exists = i32(1) _jrnlOpen = bool2int((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) func() int32 { if (_pPager.X3) != 0 { return i32(0) } return func() int32 { 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(11288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15636))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) == i32(0) { return i32(0) } return func() int32 { 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(53256))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_jrnlOpen == i32(0)) || (_sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)))&i32(2048)) != 0 { return i32(0) } return func() int32 { 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(53676))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pExists = i32(0) if _jrnlOpen != 0 { goto _9 } _rc = _sqlite3OsAccess(tls, _pVfs, _pPager.X52, i32(0), &_exists) _9: if _rc != i32(0) || _exists == 0 { goto _11 } _2_locked = i32(0) _rc = _sqlite3OsCheckReservedLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_2_locked) if _rc != i32(0) || _2_locked != 0 { goto _13 } func() int32 { if int32(_pPager.X10) == i32(0) { return i32(0) } return func() int32 { 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(9892))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pagerPagecount(tls, _pPager, &_3_nPage) if _rc != i32(0) { goto _16 } if _3_nPage != uint32(i32(0)) || _jrnlOpen != 0 { goto _18 } _sqlite3BeginBenignMalloc(tls) if _pagerLockDb(tls, _pPager, i32(2)) != i32(0) { goto _19 } _sqlite3OsDelete(tls, _pVfs, _pPager.X52, i32(0)) if (_pPager.X1) != 0 { goto _20 } _pagerUnlockDb(tls, _pPager, i32(1)) _20: _19: _sqlite3EndBenignMalloc(tls) goto _21 _18: if _jrnlOpen != 0 { goto _22 } _8_f = i32(2049) _rc = _sqlite3OsOpen(tls, _pVfs, _pPager.X52, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _8_f, &_8_f) _22: if _rc != i32(0) { goto _23 } _9_first = u8(0) _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_9_first), i32(1), int64(i32(0))) if _rc != i32(522) { goto _24 } _rc = i32(0) _24: if _jrnlOpen != 0 { goto _25 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) _25: *_pExists = bool2int(int32(_9_first) != i32(0)) goto _26 _23: if _rc != i32(14) { goto _27 } *_pExists = i32(1) _rc = i32(0) _27: _26: _21: _16: _13: _11: r0 = _rc return } var _hasHotJournalØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_hasHotJournalØ00__func__Ø000[0], str(53776), 14) } func _sqlite3OsCheckReservedLock(tls *crt.TLS, _id *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:20165:1 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32) int32 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X9)})))(tls, _id, _pResOut) return } func _pagerPagecount(tls *crt.TLS, _pPager *XPager, _pnPage *uint32) (r0 int32) { // sqlite3.c:50086:1 var _nPage uint32 // sqlite3.c:50087:8 _ = _nPage var _1_n int64 // sqlite3.c:50107:9 _ = _1_n var _1_rc int32 // sqlite3.c:50108:9 _ = _1_rc func() int32 { if int32(_pPager.X14) == i32(0) { return i32(0) } return func() int32 { 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(53256))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X15) >= i32(1) { return i32(0) } return func() int32 { 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(53792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15636))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X10) == i32(0) { return i32(0) } return func() int32 { 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(9892))) crt.X__builtin_abort(tls) return i32(0) }() }() _nPage = _sqlite3WalDbsize(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) if _nPage != uint32(i32(0)) || func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _11 } _1_n = i64(0) _1_rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_1_n) if _1_rc == i32(0) { goto _12 } r0 = _1_rc return _12: _nPage = uint32(((_1_n + int64(_pPager.X48)) - int64(i32(1))) / int64(_pPager.X48)) _11: if _nPage <= (_pPager.X49) { goto _13 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(192 /* X49 */))) = _nPage _13: *_pnPage = _nPage r0 = i32(0) return } var _pagerPagecountØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pagerPagecountØ00__func__Ø000[0], str(53820), 15) } func _sqlite3WalDbsize(tls *crt.TLS, _pWal *XWal) (r0 uint32) { // sqlite3.c:57102:1 if _pWal == nil || func() int32 { if int32(_pWal.X9) >= i32(0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _3 } r0 = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X7 return _3: r0 = uint32(i32(0)) return } var _sqlite3WalDbsizeØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalDbsizeØ00__func__Ø000[0], str(53836), 17) } func _pagerOpenWalIfPresent(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:50146:1 var _rc int32 // sqlite3.c:50147:7 _ = _rc var _1_isWal int32 // sqlite3.c:50152:9 _ = _1_isWal var _1_nPage uint32 // sqlite3.c:50153:10 _ = _1_nPage _rc = i32(0) func() int32 { if int32(_pPager.X14) == i32(0) { return i32(0) } return func() int32 { 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(53256))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X15) >= i32(1) { return i32(0) } return func() int32 { 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(53792))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X10) != 0 { goto _4 } _rc = _pagerPagecount(tls, _pPager, &_1_nPage) if _rc == 0 { goto _5 } r0 = _rc return _5: if _1_nPage != uint32(i32(0)) { goto _6 } _rc = _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X61, i32(0)) if _rc != i32(5898) { goto _7 } _rc = i32(0) _7: _1_isWal = i32(0) goto _8 _6: _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X61, i32(0), &_1_isWal) _8: if _rc != i32(0) { goto _9 } if _1_isWal == 0 { goto _10 } _rc = _sqlite3PagerOpenWal(tls, _pPager, (*int32)(unsafe.Pointer(uintptr(i32(0))))) goto _11 _10: if int32(_pPager.X2) != i32(5) { goto _12 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X2 */))) = uint8(i32(0)) _12: _11: _9: _4: r0 = _rc return } var _pagerOpenWalIfPresentØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pagerOpenWalIfPresentØ00__func__Ø000[0], str(53856), 22) } func _sqlite3PagerOpenWal(tls *crt.TLS, _pPager *XPager, _pbOpen *int32) (r0 int32) { // sqlite3.c:54262:1 var _rc int32 // sqlite3.c:54266:7 _ = _rc _rc = i32(0) func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) == i32(0)) || (_pbOpen != nil) { return i32(0) } return func() int32 { 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(53880))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) == i32(1)) || (_pbOpen == nil) { return i32(0) } return func() int32 { 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(53920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pbOpen == (*int32)(unsafe.Pointer(uintptr(i32(0))))) || ((*_pbOpen) == i32(0)) { return i32(0) } return func() int32 { 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(53960))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pbOpen != (*int32)(unsafe.Pointer(uintptr(i32(0))))) || (((_pPager.X10) == 0) && ((*XWal)(unsafe.Pointer(_pPager.X60)) == nil)) { return i32(0) } return func() int32 { 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(53984))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X10) != 0 || (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { goto _16 } if _sqlite3PagerWalSupported(tls, _pPager) != 0 { goto _17 } r0 = i32(14) return _17: _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) _rc = _pagerOpenWal(tls, _pPager) if _rc != i32(0) { goto _18 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X2 */))) = uint8(i32(5)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(0)) _18: goto _19 _16: *_pbOpen = i32(1) _19: r0 = _rc return } var _sqlite3PagerOpenWalØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerOpenWalØ00__func__Ø000[0], str(54036), 20) } func _sqlite3PagerWalSupported(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54187:1 var _pMethods *Xsqlite3_io_methods // sqlite3.c:54188:28 _ = _pMethods _pMethods = (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) if (_pPager.X11) == 0 { goto _0 } r0 = i32(0) return _0: r0 = bool2int(((_pPager.X1) != 0) || (((_pMethods.X0) >= i32(2)) && ((*(*func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32 }{(_pMethods.X13)}))) != nil))) return } func _pagerOpenWal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54217:1 var _rc int32 // sqlite3.c:54218:7 _ = _rc _rc = i32(0) func() int32 { if ((*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0))))) && (int32(_pPager.X10) == i32(0)) { return i32(0) } return func() int32 { 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(54056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X15) == i32(1)) || (int32(_pPager.X15) == i32(4)) { return i32(0) } return func() int32 { 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(54096))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X1) == 0 { goto _6 } _rc = _pagerExclusiveLock(tls, _pPager) _6: if _rc != i32(0) { goto _7 } _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(288 /* X60 */)))))) _7: _pagerFixMaplimit(tls, _pPager) r0 = _rc return } var _pagerOpenWalØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pagerOpenWalØ00__func__Ø000[0], str(54156), 13) } func _pagerExclusiveLock(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54197:1 var _rc int32 // sqlite3.c:54198:7 _ = _rc func() int32 { if (int32(_pPager.X15) == i32(1)) || (int32(_pPager.X15) == i32(4)) { return i32(0) } return func() int32 { 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(54096))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pagerLockDb(tls, _pPager, i32(4)) if _rc == i32(0) { goto _3 } _pagerUnlockDb(tls, _pPager, i32(1)) _3: r0 = _rc return } var _pagerExclusiveLockØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_pagerExclusiveLockØ00__func__Ø000[0], str(54172), 19) } 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 var _rc int32 // sqlite3.c:55687:7 _ = _rc var _pRet *XWal // sqlite3.c:55688:7 _ = _pRet var _flags int32 // sqlite3.c:55689:7 _ = _flags var _4_iDC int32 // sqlite3.c:55739:9 _ = _4_iDC func() int32 { if (_zWalName != nil) && ((*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zWalName)) + 1*uintptr(i32(0))))) != 0) { return i32(0) } return func() int32 { 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(54192))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pDbFd != nil { return i32(0) } return func() int32 { 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(54216))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) i32(0) *_ppWal = (*XWal)(unsafe.Pointer(uintptr(i32(0)))) _pRet = (*XWal)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(144)+uint64(_pVfs.X1)))) if _pRet != nil { goto _5 } r0 = _sqlite3NomemError(tls, i32(55714)) return _5: *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(0 /* X0 */))))) = _pVfs *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X2 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*XWal)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + 144*uintptr(i32(1)))))) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(8 /* X1 */))))) = _pDbFd *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(60 /* X9 */))) = int16(i32(-1)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(32 /* X4 */))) = _mxWalSize *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(128 /* X21 */))) = _zWalName *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(68 /* X16 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(69 /* X17 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(63 /* X11 */))) = uint8(func() int32 { if _bNoShm != 0 { return i32(2) } return i32(0) }()) _flags = i32(524294) _rc = _sqlite3OsOpen(tls, _pVfs, _zWalName, (*Xsqlite3_file)(unsafe.Pointer(_pRet.X2)), _flags, &_flags) if _rc != i32(0) || (_flags&i32(1)) == 0 { goto _9 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(66 /* X14 */))) = uint8(i32(1)) _9: if _rc == i32(0) { goto _10 } _walIndexClose(tls, _pRet, i32(0)) _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pRet.X2))) Xsqlite3_free(tls, (unsafe.Pointer)(_pRet)) goto _11 _10: _4_iDC = _sqlite3OsDeviceCharacteristics(tls, _pDbFd) if (_4_iDC & i32(1024)) == 0 { goto _12 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(68 /* X16 */))) = uint8(i32(0)) _12: if (_4_iDC & i32(4096)) == 0 { goto _13 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(69 /* X17 */))) = uint8(i32(0)) _13: *_ppWal = _pRet _11: r0 = _rc return } var _sqlite3WalOpenØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalOpenØ00__func__Ø000[0], str(54224), 15) } func _pagerBeginReadTransaction(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:50053:1 var _rc int32 // sqlite3.c:50054:7 _ = _rc var _changed int32 // sqlite3.c:50055:7 _ = _changed _changed = i32(0) func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(14908))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) == i32(0)) || (int32(_pPager.X14) == i32(1)) { return i32(0) } return func() int32 { 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(53064))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3WalEndReadTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) _rc = _sqlite3WalBeginReadTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), &_changed) if _rc == i32(0) && _changed == 0 { goto _6 } _pager_reset(tls, _pPager) if (_pPager.X20) == 0 { goto _7 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) _7: _6: r0 = _rc return } var _pagerBeginReadTransactionØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_pagerBeginReadTransactionØ00__func__Ø000[0], str(54240), 26) } func _sqlite3WalBeginReadTransaction(tls *crt.TLS, _pWal *XWal, _pChanged *int32) (r0 int32) { // sqlite3.c:56874:1 var _rc int32 // sqlite3.c:56875:7 _ = _rc var _cnt int32 // sqlite3.c:56876:7 _ = _cnt _cnt = i32(0) _0: _rc = _walTryBeginRead(tls, _pWal, _pChanged, i32(0), preInc961(&_cnt, 1)) if _rc == i32(-1) { goto _0 } r0 = _rc return } func _walTryBeginRead(tls *crt.TLS, _pWal *XWal, _pChanged *int32, _useWal int32, _cnt int32) (r0 int32) { // sqlite3.c:56583:1 var _pInfo *XWalCkptInfo // sqlite3.c:56584:24 _ = _pInfo var _mxReadMark uint32 // sqlite3.c:56585:7 _ = _mxReadMark var _mxI int32 // sqlite3.c:56586:7 _ = _mxI var _i int32 // sqlite3.c:56587:7 _ = _i var _rc int32 // sqlite3.c:56588:7 _ = _rc var _mxFrame uint32 // sqlite3.c:56589:7 _ = _mxFrame var _1_nDelay int32 // sqlite3.c:56611:9 _ = _1_nDelay var _13_thisMark uint32 // sqlite3.c:56703:9 _ = _13_thisMark _rc = i32(0) func() int32 { if int32(_pWal.X9) < i32(0) { return i32(0) } return func() int32 { 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(54268))) crt.X__builtin_abort(tls) return i32(0) }() }() if _cnt <= i32(5) { goto _2 } _1_nDelay = i32(1) if _cnt <= i32(100) { goto _3 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(140 /* X23 */))) = uint8(i32(1)) r0 = i32(15) return _3: if _cnt < i32(10) { goto _4 } _1_nDelay = ((_cnt - i32(9)) * (_cnt - i32(9))) * i32(39) _4: _sqlite3OsSleep(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pWal.X0)), _1_nDelay) _2: if _useWal != 0 { goto _5 } _rc = _walIndexReadHdr(tls, _pWal, _pChanged) if _rc != i32(5) { goto _6 } if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 8*uintptr(i32(0))))) != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _rc = i32(-1) goto _8 _7: if i32(0) != store961(&_rc, _walLockShared(tls, _pWal, i32(2))) { goto _9 } _walUnlockShared(tls, _pWal, i32(2)) _rc = i32(-1) goto _10 _9: if _rc != i32(5) { goto _11 } _rc = i32(261) _11: _10: _8: _6: if _rc == i32(0) { goto _12 } r0 = _rc return _12: _5: _pInfo = _walCkptInfo(tls, _pWal) if _useWal != 0 || (_pInfo.X0) != ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X6) { goto _14 } _rc = _walLockShared(tls, _pWal, i32(3)) _walShmBarrier(tls, _pWal) if _rc != i32(0) { goto _15 } if crt.Xmemcmp(tls, (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), u64(48)) == 0 { goto _16 } _walUnlockShared(tls, _pWal, i32(3)) r0 = i32(-1) return _16: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(60 /* X9 */))) = int16(i32(0)) r0 = i32(0) return _15: if _rc == i32(5) { goto _18 } r0 = _rc return _18: _14: _mxReadMark = uint32(i32(0)) _mxI = i32(0) _mxFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 _i = i32(1) _19: if _i >= i32(5) { goto _22 } _13_thisMark = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) if _mxReadMark > _13_thisMark || _13_thisMark > _mxFrame { goto _24 } func() int32 { if _13_thisMark != u32(4294967295) { return i32(0) } return func() int32 { 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(54288))) crt.X__builtin_abort(tls) return i32(0) }() }() _mxReadMark = _13_thisMark _mxI = _i _24: _i += 1 goto _19 _22: if (int32(_pWal.X14)&i32(2)) != i32(0) || _mxReadMark >= _mxFrame && _mxI != i32(0) { goto _29 } _i = i32(1) _30: if _i >= i32(5) { goto _33 } _rc = _walLockExclusive(tls, _pWal, i32(3)+_i, i32(1)) if _rc != i32(0) { goto _34 } _mxReadMark = store985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */)))))+4*uintptr(_i))), _mxFrame) _mxI = _i _walUnlockExclusive(tls, _pWal, i32(3)+_i, i32(1)) goto _33 _34: if _rc == i32(5) { goto _36 } r0 = _rc return _36: _i += 1 goto _30 _33: _29: if _mxI != i32(0) { goto _37 } func() int32 { if (_rc == i32(5)) || ((int32(_pWal.X14) & i32(2)) != i32(0)) { return i32(0) } return func() int32 { 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(54316))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = func() int32 { if _rc == i32(5) { return i32(-1) } return i32(520) }() return _37: _rc = _walLockShared(tls, _pWal, i32(3)+_mxI) if _rc == 0 { goto _43 } r0 = func() int32 { if _rc == i32(5) { return i32(-1) } return _rc }() return _43: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(120 /* X19 */))) = (_pInfo.X0) + uint32(i32(1)) _walShmBarrier(tls, _pWal) 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(72 /* X18 */)))), u64(48)) == 0 { goto _47 } _walUnlockShared(tls, _pWal, i32(3)+_mxI) r0 = i32(-1) return _47: func() int32 { if _mxReadMark <= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { return i32(0) } return func() int32 { 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(54372))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(60 /* X9 */))) = int16(_mxI) r0 = _rc return } var _walTryBeginReadØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_walTryBeginReadØ00__func__Ø000[0], str(54404), 16) } var _zMagicHeader [16]int8 // sqlite3.c:58980:19 func init() { crt.Xstrncpy(nil, &_zMagicHeader[0], str(54420), 16) } func _sqlite3PagerBegin(tls *crt.TLS, _pPager *XPager, _exFlag int32, _subjInMemory int32) (r0 int32) { // sqlite3.c:52599:1 var _rc int32 // sqlite3.c:52600:7 _ = _rc _rc = i32(0) if (_pPager.X26) == 0 { goto _0 } r0 = _pPager.X26 return _0: func() int32 { if (int32(_pPager.X14) >= i32(1)) && (int32(_pPager.X14) < i32(6)) { return i32(0) } return func() int32 { 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(54436))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(26 /* X19 */))) = uint8(_subjInMemory) if func() int32 { if int32(_pPager.X14) == i32(1) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _6 } func() int32 { if (*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12436))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } if (_pPager.X1) == 0 || _sqlite3WalExclusiveMode(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), i32(-1)) == 0 { goto _11 } _rc = _pagerLockDb(tls, _pPager, i32(4)) if _rc == i32(0) { goto _12 } r0 = _rc return _12: _sqlite3WalExclusiveMode(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), i32(1)) _11: _rc = _sqlite3WalBeginWriteTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) goto _13 _9: _rc = _pagerLockDb(tls, _pPager, i32(2)) if _rc != i32(0) || _exFlag == 0 { goto _15 } _rc = _pager_wait_on_lock(tls, _pPager, i32(4)) _15: _13: if _rc != i32(0) { goto _16 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(2)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(44 /* X25 */))) = _pPager.X22 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(40 /* X24 */))) = _pPager.X22 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(36 /* X23 */))) = _pPager.X22 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = int64(i32(0)) _16: func() int32 { if (_rc == i32(0)) || (int32(_pPager.X14) == i32(1)) { return i32(0) } return func() int32 { 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(54496))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_rc != i32(0)) || (int32(_pPager.X14) == i32(2)) { return i32(0) } return func() int32 { 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(54544))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() _6: r0 = _rc return } var _sqlite3PagerBeginØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerBeginØ00__func__Ø000[0], str(54600), 18) } func _sqlite3WalBeginWriteTransaction(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57123:1 var _rc int32 // sqlite3.c:57124:7 _ = _rc func() int32 { if int32(_pWal.X9) >= i32(0) { return i32(0) } return func() int32 { 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(18636))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pWal.X12) == i32(0)) && ((_pWal.X20) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(54620))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pWal.X14) == 0 { goto _5 } r0 = i32(8) return _5: _rc = _walLockExclusive(tls, _pWal, i32(0), i32(1)) if _rc == 0 { goto _6 } r0 = _rc return _6: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(64 /* X12 */))) = uint8(i32(1)) if crt.Xmemcmp(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), u64(48)) == i32(0) { goto _7 } _walUnlockExclusive(tls, _pWal, i32(0), i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(64 /* X12 */))) = uint8(i32(0)) _rc = i32(517) _7: r0 = _rc return } var _sqlite3WalBeginWriteTransactionØ00__func__Ø000 [32]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalBeginWriteTransactionØ00__func__Ø000[0], str(54660), 32) } func _sqlite3TempInMemory(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142116:1 r0 = bool2int(int32(_db.X16) == i32(2)) return } func _newDatabase(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:62077:1 var _pP1 *XMemPage // sqlite3.c:62078:11 _ = _pP1 var _data *uint8 // sqlite3.c:62079:17 _ = _data var _rc int32 // sqlite3.c:62080:7 _ = _rc func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pBt.X18) <= uint32(i32(0)) { goto _2 } r0 = i32(0) return _2: _pP1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) func() int32 { if _pP1 != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(54692))) crt.X__builtin_abort(tls) return i32(0) }() }() _data = _pP1.X19 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pP1.X23))) if _rc == 0 { goto _5 } r0 = _rc return _5: crt.Xmemcpy(tls, (unsafe.Pointer)(_data), (unsafe.Pointer)(&_zMagicHeader), u64(16)) i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(16)))) = uint8(((_pBt.X15) >> uint(i32(8))) & uint32(i32(255))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(17)))) = uint8(((_pBt.X15) >> uint(i32(16))) & uint32(i32(255))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(18)))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(19)))) = uint8(i32(1)) func() int32 { if ((_pBt.X16) <= (_pBt.X15)) && (((_pBt.X16) + uint32(i32(255))) >= (_pBt.X15)) { return i32(0) } return func() int32 { 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(54700))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(20)))) = uint8((_pBt.X15) - (_pBt.X16)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(21)))) = uint8(i32(64)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(22)))) = uint8(i32(32)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(23)))) = uint8(i32(32)) crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(i32(24))))), i32(0), uint64(i32(76))) _zeroPage(tls, _pP1, i32(13)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(2)) sink4530 = *p } func() int32 { if (int32(_pBt.X5) == i32(1)) || (int32(_pBt.X5) == i32(0)) { return i32(0) } return func() int32 { 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(54772))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pBt.X6) == i32(1)) || (int32(_pBt.X6) == i32(0)) { return i32(0) } return func() int32 { 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(54816))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(i32(52)))), uint32(_pBt.X5)) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(i32(64)))), uint32(_pBt.X6)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) = uint32(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(31)))) = uint8(i32(1)) r0 = i32(0) return } var _newDatabaseØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_newDatabaseØ00__func__Ø000[0], str(54860), 12) } func _zeroPage(tls *crt.TLS, _pPage *XMemPage, _flags int32) { // sqlite3.c:60876:1 var _data *uint8 // sqlite3.c:60877:17 _ = _data var _pBt *XBtShared // sqlite3.c:60878:12 _ = _pBt var _hdr uint8 // sqlite3.c:60879:6 _ = _hdr var _first uint16 // sqlite3.c:60880:7 _ = _first _data = _pPage.X19 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) _hdr = _pPage.X6 func() int32 { if _sqlite3PagerPagenumber(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) == (_pPage.X4) { return i32(0) } return func() int32 { 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(54872))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer(_sqlite3PagerGetExtra(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_pPage) { return i32(0) } return func() int32 { 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(19812))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer(_sqlite3PagerGetData(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_data) { return i32(0) } return func() int32 { 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(54924))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pBt.X10) & i32(4)) == 0 { goto _10 } crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr)))), i32(0), uint64((_pBt.X16)-uint32(_hdr))) _10: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr))) = uint8(int8(_flags)) _first = uint16(int32(_hdr) + func() int32 { if (_flags & i32(8)) == i32(0) { return i32(12) } return i32(8) }()) crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(1))))), i32(0), uint64(i32(4))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_hdr)+i32(7)))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_pBt.X16) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) = uint16((_pBt.X16) - uint32(_first)) _decodeFlags(tls, _pPage, _flags) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(18 /* X12 */))) = _first *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(88 /* X20 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_pBt.X16))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(96 /* X21 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_first))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(104 /* X22 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_pPage.X7))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X9 */))) = uint8(i32(0)) func() int32 { if ((_pBt.X15) >= uint32(i32(512))) && ((_pBt.X15) <= uint32(i32(65536))) { return i32(0) } return func() int32 { 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(55008))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X15 */))) = uint16((_pBt.X15) - uint32(i32(1))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(22 /* X14 */))) = uint16(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(1)) return } func _sqlite3PagerPagenumber(tls *crt.TLS, _pPg *XPgHdr) (r0 uint32) { // sqlite3.c:50999:1 r0 = _pPg.X5 return } var _zeroPageØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_zeroPageØ00__func__Ø000[0], str(55052), 9) } func _sqlite3PagerIswriteable(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52935:1 r0 = int32(_pPg.X6) & i32(4) return } func _decodeFlags(tls *crt.TLS, _pPage *XMemPage, _flagByte int32) (r0 int32) { // sqlite3.c:60682:1 var _pBt *XBtShared // sqlite3.c:60683:12 _ = _pBt func() int32 { if int32(_pPage.X6) == func() int32 { if (_pPage.X4) == uint32(i32(1)) { return i32(100) } return i32(0) }() { return i32(0) } return func() int32 { 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(55064))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(8 /* X5 */))) = uint8(_flagByte >> uint(i32(3))) i32(0) { p := &_flagByte *p = (*p) & i32(-9) sink961 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(10 /* X7 */))) = uint8(i32(4) - (i32(4) * int32(_pPage.X5))) *(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8) uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(120 /* X24 */))))) = _cellSizePtr _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) if _flagByte != i32(5) { goto _6 } i32(0) i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(2 /* X2 */))) = uint8(i32(1)) if (_pPage.X5) == 0 { goto _7 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(3 /* X3 */))) = uint8(i32(1)) *(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(128 /* X25 */))))) = _btreeParseCellPtr goto _8 _7: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8) uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(120 /* X24 */))))) = _cellSizePtrNoPayload *(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(128 /* X25 */))))) = _btreeParseCellPtrNoPayload _8: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(14 /* X10 */))) = _pBt.X13 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X11 */))) = _pBt.X14 goto _9 _6: if _flagByte != i32(2) { goto _10 } i32(0) i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(2 /* X2 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(128 /* X25 */))))) = _btreeParseCellPtrIndex *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(14 /* X10 */))) = _pBt.X11 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X11 */))) = _pBt.X12 goto _11 _10: r0 = _sqlite3CorruptError(tls, i32(60725)) return _11: _9: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(11 /* X8 */))) = _pBt.X9 r0 = i32(0) return } var _decodeFlagsØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_decodeFlagsØ00__func__Ø000[0], str(55112), 12) } func _cellSizePtr(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8) (r0 uint16) { // sqlite3.c:60179:1 var _pIter *uint8 // sqlite3.c:60180:6 _ = _pIter var _pEnd *uint8 // sqlite3.c:60181:6 _ = _pEnd var _nSize uint32 // sqlite3.c:60182:7 _ = _nSize var _debuginfo XCellInfo // sqlite3.c:60189:12 _ = _debuginfo var _5_minLocal int32 // sqlite3.c:60215:9 _ = _5_minLocal _pIter = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPage.X7))))))) (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_pPage.X25)})))(tls, _pPage, _pCell, &_debuginfo) _nSize = uint32(*_pIter) if _nSize < uint32(i32(128)) { goto _0 } _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(8)))) { p := &_nSize *p = (*p) & uint32(i32(127)) sink985 = *p } _1: _nSize = (_nSize << uint(i32(7))) | uint32(int32(*preInc4543(&_pIter, 1))&i32(127)) if (int32(*_pIter) >= i32(128)) && (uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_pEnd))) { goto _1 } _0: *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) if (_pPage.X2) == 0 { goto _3 } _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(9)))) _4: if (int32(*postInc4543(&_pIter, 1))&i32(128)) == 0 || uintptr(unsafe.Pointer(_pIter)) >= uintptr(unsafe.Pointer(_pEnd)) { goto _5 } goto _4 _5: _3: if _nSize > uint32(_pPage.X10) { goto _7 } { p := &_nSize *p = (*p) + uint32(int64((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)) sink985 = *p } if _nSize >= uint32(i32(4)) { goto _8 } _nSize = uint32(i32(4)) _8: goto _9 _7: _5_minLocal = int32(_pPage.X11) _nSize = uint32(_5_minLocal) + ((_nSize - uint32(_5_minLocal)) % (((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4)))) if _nSize <= uint32(_pPage.X10) { goto _10 } _nSize = uint32(_5_minLocal) _10: { p := &_nSize *p = (*p) + uint32(i32(4)+int32(uint16(int64((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) sink985 = *p } _9: func() int32 { if (_nSize == uint32(_debuginfo.X4)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(55124))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = uint16(_nSize) return } var _cellSizePtrØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_cellSizePtrØ00__func__Ø000[0], str(55164), 12) } func _btreeParseCellPtr(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:60054:1 var _pIter *uint8 // sqlite3.c:60059:6 _ = _pIter var _nPayload uint32 // sqlite3.c:60060:7 _ = _nPayload var _iKey uint64 // sqlite3.c:60061:7 _ = _iKey var _1_pEnd *uint8 // sqlite3.c:60077:8 _ = _1_pEnd var _3_pEnd *uint8 // sqlite3.c:60093:8 _ = _3_pEnd func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPage.X5) == i32(0)) || (int32(_pPage.X5) == i32(1)) { return i32(0) } return func() int32 { 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(55176))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPage.X3) != 0 { return i32(0) } return func() int32 { 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(55212))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X7) == i32(0) { return i32(0) } return func() int32 { 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(55232))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIter = _pCell _nPayload = uint32(*_pIter) if _nPayload < uint32(i32(128)) { goto _9 } _1_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(8)))) { p := &_nPayload *p = (*p) & uint32(i32(127)) sink985 = *p } _10: _nPayload = (_nPayload << uint(i32(7))) | uint32(int32(*preInc4543(&_pIter, 1))&i32(127)) if (int32(*_pIter) >= i32(128)) && (uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_1_pEnd))) { goto _10 } _9: *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) _iKey = uint64(*_pIter) if _iKey < uint64(i32(128)) { goto _12 } _3_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(7)))) { p := &_iKey *p = (*p) & uint64(i32(127)) sink992 = *p } _13: _iKey = (_iKey << uint(i32(7))) | uint64(int32(*preInc4543(&_pIter, 1))&i32(127)) if int32(*_pIter) >= i32(128) { goto _15 } goto _14 _15: if uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_3_pEnd)) { goto _16 } _iKey = (_iKey << uint(i32(8))) | uint64(*preInc4543(&_pIter, 1)) goto _14 _16: goto _13 _14: _12: *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = *(*int64)(unsafe.Pointer(&_iKey)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X2 */))) = _nPayload *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(8 /* X1 */))) = _pIter if _nPayload > uint32(_pPage.X10) { goto _17 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(22 /* X4 */))) = uint16(_nPayload + uint32(uint16(int64((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) if int32(_pInfo.X4) >= i32(4) { goto _18 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(22 /* X4 */))) = uint16(i32(4)) _18: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(20 /* X3 */))) = uint16(_nPayload) goto _19 _17: _btreeParseCellAdjustSizeForOverflow(tls, _pPage, _pCell, _pInfo) _19: return } var _btreeParseCellPtrØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_btreeParseCellPtrØ00__func__Ø000[0], str(55256), 18) } func _btreeParseCellAdjustSizeForOverflow(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:59992:1 var _minLocal int32 // sqlite3.c:60006:7 _ = _minLocal var _maxLocal int32 // sqlite3.c:60007:7 _ = _maxLocal var _surplus int32 // sqlite3.c:60008:7 _ = _surplus _minLocal = int32(_pPage.X11) _maxLocal = int32(_pPage.X10) _surplus = int32(uint32(_minLocal) + (((_pInfo.X2) - uint32(_minLocal)) % (((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4))))) if _surplus > _maxLocal { goto _0 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(20 /* X3 */))) = uint16(_surplus) goto _1 _0: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(20 /* X3 */))) = uint16(_minLocal) _1: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(22 /* X4 */))) = uint16(int32(uint16(int64((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo.X1))+1*uintptr(_pInfo.X3)))))-uintptr(unsafe.Pointer(_pCell)))/1))) + i32(4)) return } func _cellSizePtrNoPayload(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8) (r0 uint16) { // sqlite3.c:60227:1 var _pIter *uint8 // sqlite3.c:60228:6 _ = _pIter var _pEnd *uint8 // sqlite3.c:60229:6 _ = _pEnd var _debuginfo XCellInfo // sqlite3.c:60236:12 _ = _debuginfo _pIter = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))) (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_pPage.X25)})))(tls, _pPage, _pCell, &_debuginfo) func() int32 { if int32(_pPage.X7) == i32(4) { return i32(0) } return func() int32 { 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(55276))) crt.X__builtin_abort(tls) return i32(0) }() }() _pEnd = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pIter)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(9)))))))) _2: if (int32(*postInc4543(&_pIter, 1))&i32(128)) == 0 || uintptr(unsafe.Pointer(_pIter)) >= uintptr(unsafe.Pointer(_pEnd)) { goto _3 } goto _2 _3: func() int32 { if (int32(_debuginfo.X4) == int32(uint16(int64((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(55300))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = uint16(int64((uintptr(unsafe.Pointer(_pIter)) - uintptr(unsafe.Pointer(_pCell))) / 1)) return } var _cellSizePtrNoPayloadØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_cellSizePtrNoPayloadØ00__func__Ø000[0], str(55352), 21) } func _btreeParseCellPtrNoPayload(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:60037:1 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X5) == i32(0) { return i32(0) } return func() int32 { 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(55376))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X7) == i32(4) { return i32(0) } return func() int32 { 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(55276))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(22 /* 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 */)))))))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X2 */))) = uint32(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(20 /* X3 */))) = uint16(i32(0)) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(8 /* X1 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) return } var _btreeParseCellPtrNoPayloadØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_btreeParseCellPtrNoPayloadØ00__func__Ø000[0], str(55392), 27) } func _sqlite3GetVarint(tls *crt.TLS, _p *uint8, _v *uint64) (r0 uint8) { // sqlite3.c:28448:1 var _a uint32 // sqlite3.c:28449:7 _ = _a var _b uint32 // sqlite3.c:28449:9 _ = _b var _s uint32 // sqlite3.c:28449:11 _ = _s _a = uint32(*_p) if (_a & uint32(i32(128))) != 0 { goto _0 } *_v = uint64(_a) r0 = uint8(i32(1)) return _0: *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _b = uint32(*_p) if (_b & uint32(i32(128))) != 0 { goto _1 } { p := &_a *p = (*p) & uint32(i32(127)) sink985 = *p } _a = _a << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } *_v = uint64(_a) r0 = uint8(i32(2)) return _1: i32(0) i32(0) *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _a = _a << uint(i32(14)) { p := &_a *p = (*p) | uint32(*_p) sink985 = *p } if (_a & uint32(i32(128))) != 0 { goto _2 } { p := &_a *p = (*p) & uint32(i32(2080895)) sink985 = *p } { p := &_b *p = (*p) & uint32(i32(127)) sink985 = *p } _b = _b << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } *_v = uint64(_a) r0 = uint8(i32(3)) return _2: { p := &_a *p = (*p) & uint32(i32(2080895)) sink985 = *p } *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _b = _b << uint(i32(14)) { p := &_b *p = (*p) | uint32(*_p) sink985 = *p } if (_b & uint32(i32(128))) != 0 { goto _3 } { p := &_b *p = (*p) & uint32(i32(2080895)) sink985 = *p } _a = _a << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } *_v = uint64(_a) r0 = uint8(i32(4)) return _3: { p := &_b *p = (*p) & uint32(i32(2080895)) sink985 = *p } _s = _a *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _a = _a << uint(i32(14)) { p := &_a *p = (*p) | uint32(*_p) sink985 = *p } if (_a & uint32(i32(128))) != 0 { goto _4 } _b = _b << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } _s = _s >> uint(i32(18)) *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) r0 = uint8(i32(5)) return _4: _s = _s << uint(i32(7)) { p := &_s *p = (*p) | _b sink985 = *p } *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _b = _b << uint(i32(14)) { p := &_b *p = (*p) | uint32(*_p) sink985 = *p } if (_b & uint32(i32(128))) != 0 { goto _5 } { p := &_a *p = (*p) & uint32(i32(2080895)) sink985 = *p } _a = _a << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } _s = _s >> uint(i32(18)) *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) r0 = uint8(i32(6)) return _5: *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _a = _a << uint(i32(14)) { p := &_a *p = (*p) | uint32(*_p) sink985 = *p } if (_a & uint32(i32(128))) != 0 { goto _6 } { p := &_a *p = (*p) & u32(4028612735) sink985 = *p } { p := &_b *p = (*p) & uint32(i32(2080895)) sink985 = *p } _b = _b << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } _s = _s >> uint(i32(11)) *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) r0 = uint8(i32(7)) return _6: { p := &_a *p = (*p) & uint32(i32(2080895)) sink985 = *p } *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _b = _b << uint(i32(14)) { p := &_b *p = (*p) | uint32(*_p) sink985 = *p } if (_b & uint32(i32(128))) != 0 { goto _7 } { p := &_b *p = (*p) & u32(4028612735) sink985 = *p } _a = _a << uint(i32(7)) { p := &_a *p = (*p) | _b sink985 = *p } _s = _s >> uint(i32(4)) *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) r0 = uint8(i32(8)) return _7: *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _a = _a << uint(i32(15)) { p := &_a *p = (*p) | uint32(*_p) sink985 = *p } { p := &_b *p = (*p) & uint32(i32(2080895)) sink985 = *p } _b = _b << uint(i32(8)) { p := &_a *p = (*p) | _b sink985 = *p } _s = _s << uint(i32(4)) _b = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(-4))))) { p := &_b *p = (*p) & uint32(i32(127)) sink985 = *p } _b = _b >> uint(i32(3)) { p := &_s *p = (*p) | _b sink985 = *p } *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) r0 = uint8(i32(9)) return } func _btreeParseCellPtrIndex(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:60122:1 var _pIter *uint8 // sqlite3.c:60127:6 _ = _pIter var _nPayload uint32 // sqlite3.c:60128:7 _ = _nPayload var _1_pEnd *uint8 // sqlite3.c:60136:8 _ = _1_pEnd func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPage.X5) == i32(0)) || (int32(_pPage.X5) == i32(1)) { return i32(0) } return func() int32 { 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(55176))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X3) == i32(0) { return i32(0) } return func() int32 { 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(55420))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIter = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPage.X7))))))) _nPayload = uint32(*_pIter) if _nPayload < uint32(i32(128)) { goto _7 } _1_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(8)))) { p := &_nPayload *p = (*p) & uint32(i32(127)) sink985 = *p } _8: _nPayload = (_nPayload << uint(i32(7))) | uint32(int32(*preInc4543(&_pIter, 1))&i32(127)) if (int32(*_pIter) >= i32(128)) && (uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_1_pEnd))) { goto _8 } _7: *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = int64(_nPayload) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X2 */))) = _nPayload *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(8 /* X1 */))) = _pIter if _nPayload > uint32(_pPage.X10) { goto _10 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(22 /* X4 */))) = uint16(_nPayload + uint32(uint16(int64((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) if int32(_pInfo.X4) >= i32(4) { goto _11 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(22 /* X4 */))) = uint16(i32(4)) _11: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(20 /* X3 */))) = uint16(_nPayload) goto _12 _10: _btreeParseCellAdjustSizeForOverflow(tls, _pPage, _pCell, _pInfo) _12: return } var _btreeParseCellPtrIndexØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_btreeParseCellPtrIndexØ00__func__Ø000[0], str(55444), 23) } func _btreeInvokeBusyHandler(tls *crt.TLS, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:61122:1 var _pBt *XBtShared // sqlite3.c:61123:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_pArg)) func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pBt.X1)) != nil { return i32(0) } return func() int32 { 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(55468))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pBt.X1)).X3))) != 0 { return i32(0) } return func() int32 { 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(55476))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3InvokeBusyHandler(tls, (*T5415638)(unsafe.Pointer(uintptr(_pBt.X1)+uintptr(536 /* X71 */)))) return } var _btreeInvokeBusyHandlerØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_btreeInvokeBusyHandlerØ00__func__Ø000[0], str(55512), 23) } func _sqlite3InvokeBusyHandler(tls *crt.TLS, _p *T5415638) (r0 int32) { // sqlite3.c:141401:1 var _rc int32 // sqlite3.c:141402:7 _ = _rc if func() int32 { if _p == (*T5415638)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 && *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_p.X0)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{nil})) && (_p.X2) >= i32(0) { goto _4 } r0 = i32(0) return _4: _rc = (_p.X0)(tls, _p.X1, _p.X2) if _rc != i32(0) { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = i32(-1) goto _6 _5: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) += 1 _6: r0 = _rc return } var _sqlite3InvokeBusyHandlerØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3InvokeBusyHandlerØ00__func__Ø000[0], str(55536), 25) } func _sqlite3PagerOpenSavepoint(tls *crt.TLS, _pPager *XPager, _nSavepoint int32) (r0 int32) { // sqlite3.c:53577:1 func() int32 { if int32(_pPager.X14) >= i32(2) { return i32(0) } return func() int32 { 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(9828))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nSavepoint <= (_pPager.X38) || (_pPager.X3) == 0 { goto _5 } r0 = _pagerOpenSavepoint(tls, _pPager, _nSavepoint) return _5: r0 = i32(0) return } var _sqlite3PagerOpenSavepointØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerOpenSavepointØ00__func__Ø000[0], str(55564), 26) } func _pagerOpenSavepoint(tls *crt.TLS, _pPager *XPager, _nSavepoint int32) (r0 int32) { // sqlite3.c:53532:1 var _rc int32 // sqlite3.c:53533:7 _ = _rc var _nCurrent int32 // sqlite3.c:53534:7 _ = _nCurrent var _ii int32 // sqlite3.c:53535:7 _ = _ii var _aNew *XPagerSavepoint // sqlite3.c:53536:18 _ = _aNew _rc = i32(0) _nCurrent = _pPager.X38 func() int32 { if int32(_pPager.X14) >= i32(2) { return i32(0) } return func() int32 { 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(9828))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_nSavepoint > _nCurrent) && ((_pPager.X3) != 0) { return i32(0) } return func() int32 { 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(55592))) crt.X__builtin_abort(tls) return i32(0) }() }() _aNew = (*XPagerSavepoint)(unsafe.Pointer(_sqlite3Realloc(tls, _pPager.X37, u64(48)*uint64(_nSavepoint)))) if _aNew != nil { goto _7 } r0 = _sqlite3NomemError(tls, i32(53550)) return _7: crt.Xmemset(tls, (unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_nCurrent)))), i32(0), uint64(_nSavepoint-_nCurrent)*u64(48)) *(**XPagerSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(120 /* X37 */))))) = _aNew _ii = _nCurrent _8: if _ii >= _nSavepoint { goto _11 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii))))) + uintptr(24 /* X3 */))) = _pPager.X22 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)) { goto _13 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii))))) + uintptr(0 /* X0 */))) = _pPager.X34 goto _14 _13: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii))))) + uintptr(0 /* X0 */))) = int64(_pPager.X47) _14: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii))))) + uintptr(28 /* X4 */))) = _pPager.X29 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii))))) + uintptr(16 /* X2 */))))) = _sqlite3BitvecCreate(tls, _pPager.X22) if (*XBitvec)(unsafe.Pointer((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii))).X2)) != nil { goto _15 } r0 = _sqlite3NomemError(tls, i32(53566)) return _15: if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } _sqlite3WalSavepoint(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), (*uint32)(unsafe.Pointer((*[4]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+48*uintptr(_ii)))))+uintptr(32 /* X5 */)))))) _16: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(128 /* X38 */))) = _ii + i32(1) _ii += 1 goto _8 _11: func() int32 { if (_pPager.X38) == _nSavepoint { return i32(0) } return func() int32 { 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(55636))) crt.X__builtin_abort(tls) return i32(0) }() }() _assertTruncateConstraint(tls, _pPager) r0 = _rc return } var _pagerOpenSavepointØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_pagerOpenSavepointØ00__func__Ø000[0], str(55668), 19) } func _sqlite3WalSavepoint(tls *crt.TLS, _pWal *XWal, _aWalData *uint32) { // sqlite3.c:57223:1 func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0)))) = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 *(*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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) *(*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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3)))) = _pWal.X22 return } var _sqlite3WalSavepointØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalSavepointØ00__func__Ø000[0], str(55688), 20) } func _assertTruncateConstraint(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50786:1 _sqlite3PcacheIterateDirty(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _assertTruncateConstraintCb) return } func _sqlite3PcacheIterateDirty(tls *crt.TLS, _pCache *XPCache, _xIter func(*crt.TLS, *XPgHdr)) { // sqlite3.c:44951:1 var _pDirty *XPgHdr // sqlite3.c:44952:9 _ = _pDirty _pDirty = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) _0: if _pDirty == nil { goto _3 } _xIter(tls, _pDirty) _pDirty = (*XPgHdr)(unsafe.Pointer(_pDirty.X9)) goto _0 _3: return } func _assertTruncateConstraintCb(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:50782:1 func() int32 { if (int32(_pPg.X6) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(55708))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_subjRequiresPage(tls, _pPg) == 0) || ((_pPg.X5) <= ((*XPager)(unsafe.Pointer(_pPg.X4)).X22)) { return i32(0) } return func() int32 { 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(55732))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _assertTruncateConstraintCbØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_assertTruncateConstraintCbØ00__func__Ø000[0], str(55792), 27) } func _sqlite3BtreeGetMeta(tls *crt.TLS, _p *XBtree, _idx int32, _pMeta *uint32) { // sqlite3.c:67775:1 var _pBt *XBtShared // sqlite3.c:67776:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _sqlite3BtreeEnter(tls, _p) func() int32 { if int32(_p.X2) > i32(0) { return i32(0) } return func() int32 { 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(55820))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if i32(0) == _querySharedCacheTableLock(tls, _p, uint32(i32(1)), uint8(i32(1))) { return i32(0) } return func() int32 { 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(55844))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XMemPage)(unsafe.Pointer(_pBt.X3)) != nil { return i32(0) } return func() int32 { 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(55908))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_idx >= i32(0)) && (_idx <= i32(15)) { return i32(0) } return func() int32 { 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(55920))) crt.X__builtin_abort(tls) return i32(0) }() }() if _idx != i32(15) { goto _9 } *_pMeta = _sqlite3PagerDataVersion(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) + (_p.X8) goto _10 _9: *_pMeta = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36)+(_idx*i32(4)))))) _10: _sqlite3BtreeLeave(tls, _p) return } var _sqlite3BtreeGetMetaØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeGetMetaØ00__func__Ø000[0], str(55940), 20) } func _sqlite3PagerDataVersion(tls *crt.TLS, _pPager *XPager) (r0 uint32) { // sqlite3.c:48611:1 func() int32 { if int32(_pPager.X14) > i32(0) { return i32(0) } return func() int32 { 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(55960))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pPager.X39 return } var _sqlite3PagerDataVersionØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerDataVersionØ00__func__Ø000[0], str(55988), 24) } func _sqlite3ResetOneSchema(tls *crt.TLS, _db *Xsqlite3, _iDb int32) { // sqlite3.c:99970:1 var _pDb *XDb // sqlite3.c:99971:6 _ = _pDb func() int32 { if _iDb < (_db.X5) { return i32(0) } return func() int32 { 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(56012))) crt.X__builtin_abort(tls) return i32(0) }() }() _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSchema)(unsafe.Pointer(_pDb.X4)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(56024))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3SchemaClear(tls, _pDb.X4) if _iDb == i32(1) { goto _6 } _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(i32(1)))) func() int32 { if (*XSchema)(unsafe.Pointer(_pDb.X4)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(56024))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3SchemaClear(tls, _pDb.X4) _6: return } var _sqlite3ResetOneSchemaØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ResetOneSchemaØ00__func__Ø000[0], str(56040), 22) } func _sqlite3BtreeCommit(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:62875:1 var _rc int32 // sqlite3.c:62876:7 _ = _rc _sqlite3BtreeEnter(tls, _p) _rc = _sqlite3BtreeCommitPhaseOne(tls, _p, (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _rc != i32(0) { goto _0 } _rc = _sqlite3BtreeCommitPhaseTwo(tls, _p, i32(0)) _0: _sqlite3BtreeLeave(tls, _p) r0 = _rc return } func _sqlite3BtreeCommitPhaseOne(tls *crt.TLS, _p *XBtree, _zMaster *int8) (r0 int32) { // sqlite3.c:62754:1 var _rc int32 // sqlite3.c:62755:7 _ = _rc var _1_pBt *XBtShared // sqlite3.c:62757:14 _ = _1_pBt _rc = i32(0) if int32(_p.X2) != i32(2) { goto _0 } _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _sqlite3BtreeEnter(tls, _p) if (_1_pBt.X5) == 0 { goto _1 } _rc = _autoVacuumCommit(tls, _1_pBt) if _rc == i32(0) { goto _2 } _sqlite3BtreeLeave(tls, _p) r0 = _rc return _2: _1: if (_1_pBt.X7) == 0 { goto _3 } _sqlite3PagerTruncateImage(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), _1_pBt.X18) _3: _rc = _sqlite3PagerCommitPhaseOne(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), _zMaster, i32(0)) _sqlite3BtreeLeave(tls, _p) _0: r0 = _rc return } func _autoVacuumCommit(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:62675:1 var _rc int32 // sqlite3.c:62676:7 _ = _rc var _pPager *XPager // sqlite3.c:62677:9 _ = _pPager var _nRef int32 // sqlite3.c:62678:17 _ = _nRef var _1_nFin uint32 // sqlite3.c:62684:10 _ = _1_nFin var _1_nFree uint32 // sqlite3.c:62685:10 _ = _1_nFree var _1_iFree uint32 // sqlite3.c:62686:10 _ = _1_iFree var _1_nOrig uint32 // sqlite3.c:62687:10 _ = _1_nOrig _rc = i32(0) _pPager = (*XPager)(unsafe.Pointer(_pBt.X0)) _nRef = _sqlite3PagerRefcount(tls, _pPager) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() _invalidateAllOverflowCache(tls, _pBt) func() int32 { if (_pBt.X5) != 0 { return i32(0) } return func() int32 { 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(56064))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pBt.X6) != 0 { goto _4 } _1_nOrig = _btreePagecount(tls, _pBt) if _ptrmapPageno(tls, _pBt, _1_nOrig) != _1_nOrig && _1_nOrig != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { goto _6 } r0 = _sqlite3CorruptError(tls, i32(62695)) return _6: _1_nFree = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))) _1_nFin = _finalDbSize(tls, _pBt, _1_nOrig, _1_nFree) if _1_nFin <= _1_nOrig { goto _7 } r0 = _sqlite3CorruptError(tls, i32(62700)) return _7: if _1_nFin >= _1_nOrig { goto _8 } _rc = _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) _8: _1_iFree = _1_nOrig _9: if _1_iFree <= _1_nFin || _rc != i32(0) { goto _13 } _rc = _incrVacuumStep(tls, _pBt, _1_nFin, _1_iFree, i32(1)) _1_iFree -= 1 goto _9 _13: if _rc != i32(101) && _rc != i32(0) || _1_nFree <= uint32(i32(0)) { goto _16 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(32)))), uint32(i32(0))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36)))), uint32(i32(0))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(28)))), _1_nFin) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(35 /* X7 */))) = uint8(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) = _1_nFin _16: if _rc == i32(0) { goto _17 } _sqlite3PagerRollback(tls, _pPager) _17: _4: func() int32 { if _nRef >= _sqlite3PagerRefcount(tls, _pPager) { return i32(0) } return func() int32 { 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(56080))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _autoVacuumCommitØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_autoVacuumCommitØ00__func__Ø000[0], str(56116), 17) } func _invalidateAllOverflowCache(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:59436:1 var _p *XBtCursor // sqlite3.c:59437:12 _ = _p func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) _2: if _p == nil { goto _5 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-5)) sink4537 = *p } _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) goto _2 _5: return } var _invalidateAllOverflowCacheØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_invalidateAllOverflowCacheØ00__func__Ø000[0], str(56136), 27) } func _finalDbSize(tls *crt.TLS, _pBt *XBtShared, _nOrig uint32, _nFree uint32) (r0 uint32) { // sqlite3.c:62607:1 var _nEntry int32 // sqlite3.c:62608:7 _ = _nEntry var _nPtrmap uint32 // sqlite3.c:62609:8 _ = _nPtrmap var _nFin uint32 // sqlite3.c:62610:8 _ = _nFin _nEntry = int32((_pBt.X16) / uint32(i32(5))) _nPtrmap = (((_nFree - _nOrig) + _ptrmapPageno(tls, _pBt, _nOrig)) + uint32(_nEntry)) / uint32(_nEntry) _nFin = (_nOrig - _nFree) - _nPtrmap if _nOrig <= ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) || _nFin >= ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { goto _1 } _nFin -= 1 _1: _2: if _ptrmapPageno(tls, _pBt, _nFin) != _nFin && _nFin != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { goto _3 } _nFin -= 1 goto _2 _3: r0 = _nFin return } func _incrVacuumStep(tls *crt.TLS, _pBt *XBtShared, _nFin uint32, _iLastPg uint32, _bCommit int32) (r0 int32) { // sqlite3.c:62511:1 var _nFreeList uint32 // sqlite3.c:62512:8 _ = _nFreeList var _rc int32 // sqlite3.c:62513:7 _ = _rc var _1_eType uint8 // sqlite3.c:62519:8 _ = _1_eType var _1_iPtrPage uint32 // sqlite3.c:62520:10 _ = _1_iPtrPage var _6_iFreePg uint32 // sqlite3.c:62542:14 _ = _6_iFreePg var _6_pFreePg *XMemPage // sqlite3.c:62543:17 _ = _6_pFreePg var _8_iFreePg uint32 // sqlite3.c:62552:12 _ = _8_iFreePg var _8_pLastPg *XMemPage // sqlite3.c:62553:15 _ = _8_pLastPg var _8_eMode uint8 // sqlite3.c:62554:10 _ = _8_eMode var _8_iNear uint32 // sqlite3.c:62555:12 _ = _8_iNear var _11_pFreePg *XMemPage // sqlite3.c:62574:17 _ = _11_pFreePg func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iLastPg > _nFin { return i32(0) } return func() int32 { 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(56164))) crt.X__builtin_abort(tls) return i32(0) }() }() if _ptrmapPageno(tls, _pBt, _iLastPg) == _iLastPg || _iLastPg == ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { goto _5 } _nFreeList = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))) if _nFreeList != uint32(i32(0)) { goto _6 } r0 = i32(101) return _6: _rc = _ptrmapGet(tls, _pBt, _iLastPg, &_1_eType, &_1_iPtrPage) if _rc == i32(0) { goto _7 } r0 = _rc return _7: if int32(_1_eType) != i32(1) { goto _8 } r0 = _sqlite3CorruptError(tls, i32(62532)) return _8: if int32(_1_eType) != i32(2) { goto _9 } if _bCommit != i32(0) { goto _10 } _rc = _allocateBtreePage(tls, _pBt, &_6_pFreePg, &_6_iFreePg, _iLastPg, uint8(i32(1))) if _rc == i32(0) { goto _11 } r0 = _rc return _11: func() int32 { if _6_iFreePg == _iLastPg { return i32(0) } return func() int32 { 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(56180))) crt.X__builtin_abort(tls) return i32(0) }() }() _releasePage(tls, _6_pFreePg) _10: goto _14 _9: _8_eMode = u8(0) _8_iNear = u32(0) _rc = _btreeGetPage(tls, _pBt, _iLastPg, &_8_pLastPg, i32(0)) if _rc == i32(0) { goto _15 } r0 = _rc return _15: if _bCommit != i32(0) { goto _16 } _8_eMode = uint8(i32(2)) _8_iNear = _nFin _16: _17: _rc = _allocateBtreePage(tls, _pBt, &_11_pFreePg, &_8_iFreePg, _8_iNear, _8_eMode) if _rc == i32(0) { goto _18 } _releasePage(tls, _8_pLastPg) r0 = _rc return _18: _releasePage(tls, _11_pFreePg) if _bCommit != 0 && (_8_iFreePg > _nFin) { goto _17 } func() int32 { if _8_iFreePg < _iLastPg { return i32(0) } return func() int32 { 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(56200))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _relocatePage(tls, _pBt, _8_pLastPg, _1_eType, _1_iPtrPage, _8_iFreePg, _bCommit) _releasePage(tls, _8_pLastPg) if _rc == i32(0) { goto _22 } r0 = _rc return _22: _14: _5: if _bCommit != i32(0) { goto _23 } _24: _iLastPg -= 1 if (_iLastPg == ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1)))) || (_ptrmapPageno(tls, _pBt, _iLastPg) == _iLastPg) { goto _24 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(35 /* X7 */))) = uint8(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) = _iLastPg _23: r0 = i32(0) return } var _incrVacuumStepØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_incrVacuumStepØ00__func__Ø000[0], str(56216), 15) } func _allocateBtreePage(tls *crt.TLS, _pBt *XBtShared, _ppPage **XMemPage, _pPgno *uint32, _nearby uint32, _eMode uint8) (r0 int32) { // sqlite3.c:64597:1 var _pPage1 *XMemPage // sqlite3.c:64604:11 _ = _pPage1 var _rc int32 // sqlite3.c:64605:7 _ = _rc var _n uint32 // sqlite3.c:64606:7 _ = _n var _k uint32 // sqlite3.c:64607:7 _ = _k var _pTrunk *XMemPage // sqlite3.c:64608:11 _ = _pTrunk var _pPrevTrunk *XMemPage // sqlite3.c:64609:11 _ = _pPrevTrunk var _mxPage uint32 // sqlite3.c:64610:8 _ = _mxPage var _2_iTrunk uint32 // sqlite3.c:64625:10 _ = _2_iTrunk var _2_searchList uint8 // sqlite3.c:64626:8 _ = _2_searchList var _2_nSearch uint32 // sqlite3.c:64627:9 _ = _2_nSearch var _4_eType uint8 // sqlite3.c:64636:12 _ = _4_eType var _22_pNewTrunk *XMemPage // sqlite3.c:64737:19 _ = _22_pNewTrunk var _22_iNewTrunk uint32 // sqlite3.c:64738:16 _ = _22_iNewTrunk var _29_closest uint32 // sqlite3.c:64773:13 _ = _29_closest var _29_iPage uint32 // sqlite3.c:64774:14 _ = _29_iPage var _29_aData *uint8 // sqlite3.c:64775:23 _ = _29_aData var _30_i uint32 // sqlite3.c:64777:15 _ = _30_i var _34_dist int32 // sqlite3.c:64788:17 _ = _34_dist var _35_d2 int32 // sqlite3.c:64791:19 _ = _35_d2 var _39_noContent int32 // sqlite3.c:64812:15 _ = _39_noContent var _43_bNoContent int32 // sqlite3.c:64857:9 _ = _43_bNoContent var _44_pPg *XMemPage // sqlite3.c:64870:15 _ = _44_pPg _pTrunk = nil _pPrevTrunk = nil func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_eMode) == i32(0)) || ((_nearby > uint32(i32(0))) && ((_pBt.X5) != 0)) { return i32(0) } return func() int32 { 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(56232))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) _mxPage = _btreePagecount(tls, _pBt) _n = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36))))) if _n < _mxPage { goto _6 } r0 = _sqlite3CorruptError(tls, i32(64621)) return _6: if _n <= uint32(i32(0)) { goto _7 } _2_searchList = u8(0) _2_nSearch = u32(0) if int32(_eMode) != i32(1) { goto _8 } if _nearby > _mxPage { goto _9 } func() int32 { if _nearby > uint32(i32(0)) { return i32(0) } return func() int32 { 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(56300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pBt.X5) != 0 { return i32(0) } return func() int32 { 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(56064))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _ptrmapGet(tls, _pBt, _nearby, &_4_eType, (*uint32)(unsafe.Pointer(uintptr(i32(0))))) if _rc == 0 { goto _14 } r0 = _rc return _14: if int32(_4_eType) != i32(2) { goto _15 } _2_searchList = uint8(i32(1)) _15: _9: goto _16 _8: if int32(_eMode) != i32(2) { goto _17 } _2_searchList = uint8(i32(1)) _17: _16: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage1.X23))) if _rc == 0 { goto _18 } r0 = _rc return _18: _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36)))), _n-uint32(i32(1))) _19: _pPrevTrunk = _pTrunk if _pPrevTrunk == nil { goto _20 } _2_iTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrevTrunk.X19))+1*uintptr(i32(0))))) goto _21 _20: _2_iTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32))))) _21: if _2_iTrunk <= _mxPage && postInc985(&_2_nSearch, uint32(1)) <= _n { goto _23 } _rc = _sqlite3CorruptError(tls, i32(64677)) goto _24 _23: _rc = _btreeGetUnusedPage(tls, _pBt, _2_iTrunk, &_pTrunk, i32(0)) _24: if _rc == 0 { goto _25 } _pTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) goto _end_allocate_page _25: func() int32 { if _pTrunk != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(56312))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pTrunk.X19) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(56324))) crt.X__builtin_abort(tls) return i32(0) }() }() _k = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(4))))) if _k != uint32(i32(0)) || _2_searchList != 0 { goto _31 } func() int32 { if _pPrevTrunk == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(56344))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) if _rc == 0 { goto _34 } goto _end_allocate_page _34: *_pPgno = _2_iTrunk 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))))), uint64(i32(4))) *_ppPage = _pTrunk _pTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) goto _35 _31: if _k <= (((_pBt.X16) / uint32(i32(4))) - uint32(i32(2))) { goto _36 } _rc = _sqlite3CorruptError(tls, i32(64706)) goto _end_allocate_page _36: if _2_searchList == 0 || _nearby != _2_iTrunk && (_2_iTrunk >= _nearby || int32(_eMode) != i32(2)) { goto _41 } *_pPgno = _2_iTrunk *_ppPage = _pTrunk _2_searchList = uint8(i32(0)) _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) if _rc == 0 { goto _42 } goto _end_allocate_page _42: if _k != uint32(i32(0)) { goto _43 } if _pPrevTrunk != nil { goto _44 } 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))))), uint64(i32(4))) goto _45 _44: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPrevTrunk.X23))) if _rc == i32(0) { goto _46 } goto _end_allocate_page _46: 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))))), uint64(i32(4))) _45: goto _47 _43: _22_iNewTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(8))))) if _22_iNewTrunk <= _mxPage { goto _48 } _rc = _sqlite3CorruptError(tls, i32(64740)) goto _end_allocate_page _48: _rc = _btreeGetUnusedPage(tls, _pBt, _22_iNewTrunk, &_22_pNewTrunk, i32(0)) if _rc == i32(0) { goto _49 } goto _end_allocate_page _49: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_22_pNewTrunk.X23))) if _rc == i32(0) { goto _50 } _releasePage(tls, _22_pNewTrunk) goto _end_allocate_page _50: 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))))), uint64(i32(4))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_22_pNewTrunk.X19))+1*uintptr(i32(4)))), _k-uint32(i32(1))) 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))))), uint64((_k-uint32(i32(1)))*uint32(i32(4)))) _releasePage(tls, _22_pNewTrunk) if _pPrevTrunk != nil { goto _51 } func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage1.X23))) != 0 { return i32(0) } return func() int32 { 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(56360))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32)))), _22_iNewTrunk) goto _54 _51: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPrevTrunk.X23))) if _rc == 0 { goto _55 } goto _end_allocate_page _55: _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrevTrunk.X19))+1*uintptr(i32(0)))), _22_iNewTrunk) _54: _47: _pTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) goto _56 _41: if _k <= uint32(i32(0)) { goto _57 } _29_aData = _pTrunk.X19 if _nearby <= uint32(i32(0)) { goto _58 } _29_closest = uint32(i32(0)) if int32(_eMode) != i32(2) { goto _59 } _30_i = uint32(i32(0)) _60: if _30_i >= _k { goto _63 } _29_iPage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(8))+(_30_i*uint32(i32(4))))))) if _29_iPage > _nearby { goto _64 } _29_closest = _30_i goto _63 _64: _30_i += 1 goto _60 _63: goto _65 _59: _34_dist = _sqlite3AbsInt32(tls, int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(i32(8)))))-_nearby)) _30_i = uint32(i32(1)) _66: if _30_i >= _k { goto _69 } _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)) if _35_d2 >= _34_dist { goto _70 } _29_closest = _30_i _34_dist = _35_d2 _70: _30_i += 1 goto _66 _69: _65: goto _71 _58: _29_closest = uint32(i32(0)) _71: _29_iPage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(8))+(_29_closest*uint32(i32(4))))))) if _29_iPage <= _mxPage { goto _72 } _rc = _sqlite3CorruptError(tls, i32(64805)) goto _end_allocate_page _72: if _2_searchList != 0 && (_29_iPage != _nearby && (_29_iPage >= _nearby || int32(_eMode) != i32(2))) { goto _76 } *_pPgno = _29_iPage _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) if _rc == 0 { goto _77 } goto _end_allocate_page _77: if _29_closest >= (_k - uint32(i32(1))) { goto _78 } 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))))))), uint64(i32(4))) _78: _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(i32(4)))), _k-uint32(i32(1))) _39_noContent = func() int32 { if _btreeGetHasContent(tls, _pBt, *_pPgno) == 0 { return i32(1) } return i32(0) }() _rc = _btreeGetUnusedPage(tls, _pBt, *_pPgno, _ppPage, _39_noContent) if _rc != i32(0) { goto _81 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) if _rc == i32(0) { goto _82 } _releasePage(tls, *_ppPage) *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _82: _81: _2_searchList = uint8(i32(0)) _76: _57: _56: _35: _releasePage(tls, _pPrevTrunk) _pPrevTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) if _2_searchList != 0 { goto _19 } goto _83 _7: _43_bNoContent = func() int32 { if i32(0) == int32(_pBt.X7) { return i32(1) } return i32(0) }() _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) if _rc == 0 { goto _86 } r0 = _rc return _86: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) += 1 if (_pBt.X18) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { goto _87 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) += 1 _87: if (_pBt.X5) == 0 || _ptrmapPageno(tls, _pBt, _pBt.X18) != (_pBt.X18) { goto _89 } _44_pPg = nil func() int32 { if (_pBt.X18) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { return i32(0) } return func() int32 { 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(56404))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _btreeGetUnusedPage(tls, _pBt, _pBt.X18, &_44_pPg, _43_bNoContent) if _rc != i32(0) { goto _92 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_44_pPg.X23))) _releasePage(tls, _44_pPg) _92: if _rc == 0 { goto _93 } r0 = _rc return _93: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) += 1 if (_pBt.X18) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { goto _94 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X18 */))) += 1 _94: _89: _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) *_pPgno = _pBt.X18 func() int32 { if (*_pPgno) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { return i32(0) } return func() int32 { 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(56440))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _btreeGetUnusedPage(tls, _pBt, *_pPgno, _ppPage, _43_bNoContent) if _rc == 0 { goto _97 } r0 = _rc return _97: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) if _rc == i32(0) { goto _98 } _releasePage(tls, *_ppPage) *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _98: _83: func() int32 { if (*_pPgno) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { return i32(0) } return func() int32 { 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(56440))) crt.X__builtin_abort(tls) return i32(0) }() }() _end_allocate_page: _releasePage(tls, _pTrunk) _releasePage(tls, _pPrevTrunk) func() int32 { if (_rc != i32(0)) || (_sqlite3PagerPageRefcount(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) <= i32(1)) { return i32(0) } return func() int32 { 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(56472))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_rc != i32(0)) || (int32((*_ppPage).X0) == i32(0)) { return i32(0) } return func() int32 { 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(56540))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _allocateBtreePageØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_allocateBtreePageØ00__func__Ø000[0], str(56580), 18) } func _btreeGetUnusedPage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _ppPage **XMemPage, _flags int32) (r0 int32) { // sqlite3.c:61071:1 var _rc int32 // sqlite3.c:61077:7 _ = _rc _rc = _btreeGetPage(tls, _pBt, _pgno, _ppPage, _flags) if _rc != i32(0) { goto _0 } if _sqlite3PagerPageRefcount(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) <= i32(1) { goto _1 } _releasePage(tls, *_ppPage) *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) r0 = _sqlite3CorruptError(tls, i32(61082)) return _1: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_ppPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) goto _2 _0: *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _2: r0 = _rc return } func _sqlite3PagerPageRefcount(tls *crt.TLS, _pPage *XPgHdr) (r0 int32) { // sqlite3.c:53466:1 r0 = _sqlite3PcachePageRefcount(tls, _pPage) return } func _sqlite3AbsInt32(tls *crt.TLS, _x int32) (r0 int32) { // sqlite3.c:28952:1 if _x < i32(0) { goto _0 } r0 = _x return _0: if _x != i32(-2147483648) { goto _1 } r0 = i32(2147483647) return _1: r0 = -_x return } func _btreeGetHasContent(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 int32) { // sqlite3.c:59539:1 var _p *XBitvec // sqlite3.c:59540:10 _ = _p _p = (*XBitvec)(unsafe.Pointer(_pBt.X22)) r0 = bool2int((_p != nil) && ((_pgno > _sqlite3BitvecSize(tls, _p)) || _sqlite3BitvecTest(tls, _p, _pgno) != 0)) return } func _sqlite3BitvecSize(tls *crt.TLS, _p *XBitvec) (r0 uint32) { // sqlite3.c:43956:1 r0 = _p.X0 return } func _relocatePage(tls *crt.TLS, _pBt *XBtShared, _pDbPage *XMemPage, _eType uint8, _iPtrPage uint32, _iFreePage uint32, _isCommit int32) (r0 int32) { // sqlite3.c:62418:1 var _pPtrPage *XMemPage // sqlite3.c:62426:11 _ = _pPtrPage var _iDbPage uint32 // sqlite3.c:62427:8 _ = _iDbPage var _pPager *XPager // sqlite3.c:62428:9 _ = _pPager var _rc int32 // sqlite3.c:62429:7 _ = _rc var _4_nextOvfl uint32 // sqlite3.c:62459:10 _ = _4_nextOvfl _iDbPage = _pDbPage.X4 _pPager = (*XPager)(unsafe.Pointer(_pBt.X0)) func() int32 { if (((int32(_eType) == i32(4)) || (int32(_eType) == i32(3))) || (int32(_eType) == i32(5))) || (int32(_eType) == i32(1)) { return i32(0) } return func() int32 { 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(56600))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtShared)(unsafe.Pointer(_pDbPage.X18)) == _pBt { return i32(0) } return func() int32 { 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(56700))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerMovepage(tls, _pPager, (*XPgHdr)(unsafe.Pointer(_pDbPage.X23)), _iFreePage, _isCommit) if _rc == i32(0) { goto _9 } r0 = _rc return _9: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDbPage)) + uintptr(4 /* X4 */))) = _iFreePage if int32(_eType) != i32(5) && int32(_eType) != i32(1) { goto _11 } _rc = _setChildPtrmaps(tls, _pDbPage) if _rc == i32(0) { goto _12 } r0 = _rc return _12: goto _13 _11: _4_nextOvfl = _sqlite3Get4byte(tls, _pDbPage.X19) if _4_nextOvfl == uint32(i32(0)) { goto _14 } _ptrmapPut(tls, _pBt, _4_nextOvfl, uint8(i32(4)), _iFreePage, &_rc) if _rc == i32(0) { goto _15 } r0 = _rc return _15: _14: _13: if int32(_eType) == i32(1) { goto _16 } _rc = _btreeGetPage(tls, _pBt, _iPtrPage, &_pPtrPage, i32(0)) if _rc == i32(0) { goto _17 } r0 = _rc return _17: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPtrPage.X23))) if _rc == i32(0) { goto _18 } _releasePage(tls, _pPtrPage) r0 = _rc return _18: _rc = _modifyPagePointer(tls, _pPtrPage, _iDbPage, _iFreePage, _eType) _releasePage(tls, _pPtrPage) if _rc != i32(0) { goto _19 } _ptrmapPut(tls, _pBt, _iFreePage, _eType, _iPtrPage, &_rc) _19: _16: r0 = _rc return } var _relocatePageØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_relocatePageØ00__func__Ø000[0], str(56720), 13) } func _sqlite3PagerMovepage(tls *crt.TLS, _pPager *XPager, _pPg *XPgHdr, _pgno uint32, _isCommit int32) (r0 int32) { // sqlite3.c:53804:1 var _pPgOld *XPgHdr // sqlite3.c:53805:9 _ = _pPgOld var _needSyncPgno uint32 // sqlite3.c:53806:8 _ = _needSyncPgno var _rc int32 // sqlite3.c:53807:7 _ = _rc var _origPgno uint32 // sqlite3.c:53808:8 _ = _origPgno var _8_pPgHdr *XPgHdr // sqlite3.c:53914:11 _ = _8_pPgHdr _needSyncPgno = u32(0) func() int32 { if int32(_pPg.X7) > i32(0) { return i32(0) } return func() int32 { 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(56736))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4)) { return i32(0) } return func() int32 { 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(56748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pPager.X10) != 0) || ((_pPager.X13) == 0) { return i32(0) } return func() int32 { 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(56824))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X10) == 0 { goto _10 } _rc = _sqlite3PagerWrite(tls, _pPg) if _rc == 0 { goto _11 } r0 = _rc return _11: _10: if (int32(_pPg.X6)&i32(2)) == i32(0) || i32(0) == store961(&_rc, _subjournalPageIfRequired(tls, _pPg)) { goto _13 } r0 = _rc return _13: if (int32(_pPg.X6)&i32(8)) == 0 || _isCommit != 0 { goto _15 } _needSyncPgno = _pPg.X5 func() int32 { if ((int32(_pPager.X2) == i32(2)) || _pageInJournal(tls, _pPager, _pPg) != 0) || ((_pPg.X5) > (_pPager.X23)) { return i32(0) } return func() int32 { 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(56852))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPg.X6) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(55708))) crt.X__builtin_abort(tls) return i32(0) }() }() _15: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-9)) sink4530 = *p } _pPgOld = _sqlite3PagerLookup(tls, _pPager, _pgno) func() int32 { if (_pPgOld == nil) || (int32(_pPgOld.X7) == i32(1)) { return i32(0) } return func() int32 { 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(56960))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pPgOld == nil { goto _25 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | (int32(_pPgOld.X6) & i32(8))) sink4530 = *p } if (_pPager.X10) == 0 { goto _26 } _sqlite3PcacheMove(tls, _pPgOld, (_pPager.X22)+uint32(i32(1))) goto _27 _26: _sqlite3PcacheDrop(tls, _pPgOld) _27: _25: _origPgno = _pPg.X5 _sqlite3PcacheMove(tls, _pPg, _pgno) _sqlite3PcacheMakeDirty(tls, _pPg) if (_pPager.X10) == 0 || _pPgOld == nil { goto _29 } _sqlite3PcacheMove(tls, _pPgOld, _origPgno) _sqlite3PagerUnrefNotNull(tls, _pPgOld) _29: if _needSyncPgno == 0 { goto _30 } _rc = _sqlite3PagerGet(tls, _pPager, _needSyncPgno, &_8_pPgHdr, i32(0)) if _rc == i32(0) { goto _31 } if _needSyncPgno > (_pPager.X23) { goto _32 } func() int32 { if (_pPager.X58) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(56988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BitvecClear(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _needSyncPgno, (unsafe.Pointer)(_pPager.X58)) _32: r0 = _rc return _31: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pPgHdr)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } _sqlite3PcacheMakeDirty(tls, _8_pPgHdr) _sqlite3PagerUnrefNotNull(tls, _8_pPgHdr) _30: r0 = i32(0) return } var _sqlite3PagerMovepageØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerMovepageØ00__func__Ø000[0], str(57012), 21) } func _sqlite3PcacheMove(tls *crt.TLS, _p *XPgHdr, _newPgno uint32) { // sqlite3.c:44704:1 var _pCache *XPCache // sqlite3.c:44705:10 _ = _pCache _pCache = (*XPCache)(unsafe.Pointer(_p.X8)) func() int32 { if int32(_p.X7) > i32(0) { return i32(0) } return func() int32 { 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(12832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _newPgno > uint32(i32(0)) { return i32(0) } return func() int32 { 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(57036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, uint32, uint32))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32) }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X9)})))(tls, _pCache.X12, (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)), _p.X5, _newPgno) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X5 */))) = _newPgno if (int32(_p.X6)&i32(2)) == 0 || (int32(_p.X6)&i32(8)) == 0 { goto _7 } _pcacheManageDirtyList(tls, _p, uint8(i32(3))) _7: return } var _sqlite3PcacheMoveØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheMoveØ00__func__Ø000[0], str(57048), 18) } func _sqlite3BitvecClear(tls *crt.TLS, _p *XBitvec, _i uint32, _pBuf unsafe.Pointer) { // sqlite3.c:43904:1 var _1_bin uint32 // sqlite3.c:43909:9 _ = _1_bin var _4_j uint32 // sqlite3.c:43919:18 _ = _4_j var _4_aiValues *uint32 // sqlite3.c:43920:9 _ = _4_aiValues var _6_h uint32 // sqlite3.c:43926:13 _ = _6_h if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: func() int32 { if _i > uint32(i32(0)) { return i32(0) } return func() int32 { 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(11900))) crt.X__builtin_abort(tls) return i32(0) }() }() _i -= 1 _3: if (_p.X2) == 0 { goto _4 } _1_bin = _i / (_p.X2) _i = _i % (_p.X2) _p = *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[62]unsafe.Pointer)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 8*uintptr(_1_bin))) if _p != nil { goto _5 } return _5: goto _3 _4: if uint64(_p.X0) > u64(3968) { goto _6 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[496]uint8)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 1*uintptr(_i/uint32(i32(8))))) *p = uint8(int32(*p) & (^(i32(1) << uint(int32(_i&uint32(i32(7))))))) sink4537 = *p } goto _7 _6: _4_aiValues = (*uint32)(unsafe.Pointer(_pBuf)) crt.Xmemcpy(tls, (unsafe.Pointer)(_4_aiValues), (unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */)))))), u64(496)) crt.Xmemset(tls, (unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */)))))), i32(0), u64(496)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = uint32(i32(0)) _4_j = uint32(i32(0)) _8: if uint64(_4_j) >= u64(124) { goto _11 } 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))) { goto _13 } _6_h = uint32(uint64(((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aiValues)) + 4*uintptr(_4_j))))-uint32(i32(1)))*uint32(i32(1))) % u64(124)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 _14: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_6_h)))) == 0 { goto _15 } _6_h += 1 if uint64(_6_h) < u64(124) { goto _16 } _6_h = uint32(i32(0)) _16: goto _14 _15: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[124]uint32)(unsafe.Pointer((*T5555951)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X3 */))))))) + 4*uintptr(_6_h))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aiValues)) + 4*uintptr(_4_j))) _13: _4_j += 1 goto _8 _11: _7: return } var _sqlite3BitvecClearØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BitvecClearØ00__func__Ø000[0], str(57068), 19) } func _setChildPtrmaps(tls *crt.TLS, _pPage *XMemPage) (r0 int32) { // sqlite3.c:62312:1 var _i int32 // sqlite3.c:62313:7 _ = _i var _nCell int32 // sqlite3.c:62314:7 _ = _nCell var _rc int32 // sqlite3.c:62315:7 _ = _rc var _pBt *XBtShared // sqlite3.c:62316:12 _ = _pBt var _pgno uint32 // sqlite3.c:62317:8 _ = _pgno var _1_pCell *uint8 // sqlite3.c:62325:8 _ = _1_pCell var _2_childPgno uint32 // sqlite3.c:62330:12 _ = _2_childPgno var _3_childPgno uint32 // sqlite3.c:62336:10 _ = _3_childPgno _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) _pgno = _pPage.X4 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _btreeInitPage(tls, _pPage) if _rc == i32(0) { goto _2 } r0 = _rc return _2: _nCell = int32(_pPage.X14) _i = i32(0) _3: if _i >= _nCell { goto _6 } _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)))))<= uint32(i32(512))) && ((_1_pBt.X15) <= uint32(i32(65536))) { return i32(0) } return func() int32 { 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(55008))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X15 */))) = uint16((_1_pBt.X15) - uint32(i32(1))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X9 */))) = uint8(i32(0)) _1_usableSize = int32(_1_pBt.X16) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(18 /* X12 */))) = store4530(&_1_cellOffset, uint16((int32(_1_hdr)+i32(8))+int32(_pPage.X7))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(88 /* X20 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_1_usableSize))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(96 /* X21 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_1_cellOffset))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(104 /* X22 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_pPage.X7))) _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) *(*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)))))) if uint32(_pPage.X14) <= (((_1_pBt.X15) - uint32(i32(8))) / uint32(i32(6))) { goto _17 } r0 = _sqlite3CorruptError(tls, i32(60785)) return _17: func() int32 { if ((int32(_pPage.X14) > i32(0)) || (_1_top == _1_usableSize)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(57292))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_iCellFirst = int32(_1_cellOffset) + (i32(2) * int32(_pPage.X14)) _1_iCellLast = _1_usableSize - i32(4) if (((*Xsqlite3)(unsafe.Pointer(_1_pBt.X1)).X6) & i32(536870912)) == 0 { goto _22 } if (_pPage.X5) != 0 { goto _23 } _1_iCellLast -= 1 _23: _3_i = i32(0) _24: if _3_i >= int32(_pPage.X14) { goto _27 } _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))))) if _1_pc >= _1_iCellFirst && _1_pc <= _1_iCellLast { goto _29 } r0 = _sqlite3CorruptError(tls, i32(60813)) return _29: _3_sz = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pPage.X24)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(_1_pc))))) if (_1_pc + _3_sz) <= _1_usableSize { goto _30 } r0 = _sqlite3CorruptError(tls, i32(60818)) return _30: _3_i += 1 goto _24 _27: if (_pPage.X5) != 0 { goto _31 } _1_iCellLast += 1 _31: _22: _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))))) _1_nFree = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(int32(_1_hdr)+i32(7))))) + _1_top if _1_pc <= i32(0) { goto _32 } if _1_pc >= _1_iCellFirst { goto _33 } r0 = _sqlite3CorruptError(tls, i32(60836)) return _33: _34: if _1_pc <= _1_iCellLast { goto _36 } r0 = _sqlite3CorruptError(tls, i32(60840)) return _36: _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)))))) _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)))))) _1_nFree = int32(uint32(_1_nFree) + _7_size) if _7_next > ((uint32(_1_pc) + _7_size) + uint32(i32(3))) { goto _37 } goto _35 _37: _1_pc = int32(_7_next) goto _34 _35: if _7_next <= uint32(i32(0)) { goto _38 } r0 = _sqlite3CorruptError(tls, i32(60849)) return _38: if (uint32(_1_pc) + _7_size) <= uint32(_1_usableSize) { goto _39 } r0 = _sqlite3CorruptError(tls, i32(60852)) return _39: _32: if _1_nFree <= _1_usableSize { goto _40 } r0 = _sqlite3CorruptError(tls, i32(60864)) return _40: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) = uint16(_1_nFree - _1_iCellFirst) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(1)) _12: r0 = i32(0) return } var _btreeInitPageØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_btreeInitPageØ00__func__Ø000[0], str(57340), 14) } func _ptrmapPutOvflPtr(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pRC *int32) { // sqlite3.c:60264:1 var _info XCellInfo // sqlite3.c:60265:12 _ = _info var _1_ovfl uint32 // sqlite3.c:60270:10 _ = _1_ovfl if (*_pRC) == 0 { goto _0 } return _0: func() int32 { if _pCell != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(57356))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_pPage.X25)})))(tls, _pPage, _pCell, &_info) if uint32(_info.X3) >= (_info.X2) { goto _3 } _1_ovfl = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(int32(_info.X4)-i32(4))))) _ptrmapPut(tls, (*XBtShared)(unsafe.Pointer(_pPage.X18)), _1_ovfl, uint8(i32(3)), _pPage.X4, _pRC) _3: return } var _ptrmapPutOvflPtrØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_ptrmapPutOvflPtrØ00__func__Ø000[0], str(57368), 17) } func _ptrmapPut(tls *crt.TLS, _pBt *XBtShared, _key uint32, _eType uint8, _parent uint32, _pRC *int32) { // sqlite3.c:59881:1 var _pDbPage *XPgHdr // sqlite3.c:59882:10 _ = _pDbPage var _pPtrmap *uint8 // sqlite3.c:59883:6 _ = _pPtrmap var _iPtrmap uint32 // sqlite3.c:59884:8 _ = _iPtrmap var _offset int32 // sqlite3.c:59885:7 _ = _offset var _rc int32 // sqlite3.c:59886:7 _ = _rc if (*_pRC) == 0 { goto _0 } return _0: func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if i32(0) == bool2int(_ptrmapPageno(tls, _pBt, (uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) == ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1)))) { return i32(0) } return func() int32 { 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(57388))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pBt.X5) != 0 { return i32(0) } return func() int32 { 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(56064))) crt.X__builtin_abort(tls) return i32(0) }() }() if _key != uint32(i32(0)) { goto _7 } *_pRC = _sqlite3CorruptError(tls, i32(59896)) return _7: _iPtrmap = _ptrmapPageno(tls, _pBt, _key) _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _iPtrmap, &_pDbPage, i32(0)) if _rc == i32(0) { goto _8 } *_pRC = _rc return _8: _offset = int32(uint32(i32(5)) * ((_key - _iPtrmap) - uint32(i32(1)))) if _offset >= i32(0) { goto _9 } *_pRC = _sqlite3CorruptError(tls, i32(59907)) goto _ptrmap_exit _9: func() int32 { if _offset <= (int32(_pBt.X16) - i32(5)) { return i32(0) } return func() int32 { 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(19556))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPtrmap = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) 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 { goto _13 } *_pRC = store961(&_rc, _sqlite3PagerWrite(tls, _pDbPage)) if _rc != i32(0) { goto _14 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap)) + 1*uintptr(_offset))) = _eType _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap))+1*uintptr(_offset+i32(1)))), _parent) _14: _13: _ptrmap_exit: _sqlite3PagerUnref(tls, _pDbPage) return } var _ptrmapPutØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_ptrmapPutØ00__func__Ø000[0], str(57436), 10) } func _modifyPagePointer(tls *crt.TLS, _pPage *XMemPage, _iFrom uint32, _iTo uint32, _eType uint8) (r0 int32) { // sqlite3.c:62357:1 var _3_i int32 // sqlite3.c:62367:9 _ = _3_i var _3_nCell int32 // sqlite3.c:62368:9 _ = _3_nCell var _3_rc int32 // sqlite3.c:62369:9 _ = _3_rc var _4_pCell *uint8 // sqlite3.c:62376:10 _ = _4_pCell var _5_info XCellInfo // sqlite3.c:62378:18 _ = _5_info func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_eType) != i32(4) { goto _4 } if _sqlite3Get4byte(tls, _pPage.X19) == _iFrom { goto _5 } r0 = _sqlite3CorruptError(tls, i32(62363)) return _5: _sqlite3Put4byte(tls, _pPage.X19, _iTo) goto _6 _4: _3_rc = _btreeInitPage(tls, _pPage) if _3_rc == 0 { goto _7 } r0 = _3_rc return _7: _3_nCell = int32(_pPage.X14) _3_i = i32(0) _8: if _3_i >= _3_nCell { goto _11 } _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)))))<= (_5_info.X2) { goto _13 } 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))))))))) { goto _14 } r0 = _sqlite3CorruptError(tls, i32(62382)) return _14: 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))))))))) { goto _15 } _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) goto _11 _15: _13: goto _16 _12: if _sqlite3Get4byte(tls, _4_pCell) != _iFrom { goto _17 } _sqlite3Put4byte(tls, _4_pCell, _iTo) goto _11 _17: _16: _3_i += 1 goto _8 _11: if _3_i != _3_nCell { goto _18 } if int32(_eType) == i32(5) && _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8))))) == _iFrom { goto _20 } r0 = _sqlite3CorruptError(tls, i32(62400)) return _20: _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8)))), _iTo) _18: _6: r0 = i32(0) return } var _modifyPagePointerØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_modifyPagePointerØ00__func__Ø000[0], str(57448), 18) } func _sqlite3PagerTruncateImage(tls *crt.TLS, _pPager *XPager, _nPage uint32) { // sqlite3.c:50804:1 func() int32 { if (_pPager.X22) >= _nPage { return i32(0) } return func() int32 { 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(57468))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X14) >= i32(3) { return i32(0) } return func() int32 { 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(12276))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X22 */))) = _nPage return } var _sqlite3PagerTruncateImageØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerTruncateImageØ00__func__Ø000[0], str(57492), 26) } func _sqlite3PagerCommitPhaseOne(tls *crt.TLS, _pPager *XPager, _zMaster *int8, _noSync int32) (r0 int32) { // sqlite3.c:53145:1 var _rc int32 // sqlite3.c:53150:7 _ = _rc var _3_pList *XPgHdr // sqlite3.c:53180:13 _ = _3_pList var _3_pPageOne *XPgHdr // sqlite3.c:53181:13 _ = _3_pPageOne var _9_nNew uint32 // sqlite3.c:53285:14 _ = _9_nNew _rc = i32(0) func() int32 { if (((int32(_pPager.X14) == i32(2)) || (int32(_pPager.X14) == i32(3))) || (int32(_pPager.X14) == i32(4))) || (int32(_pPager.X14) == i32(6)) { return i32(0) } return func() int32 { 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(57520))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (_pPager.X26) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _9 } r0 = _pPager.X26 return _9: if _sqlite3FaultSim(tls, i32(400)) == 0 { goto _10 } r0 = i32(10) return _10: if int32(_pPager.X14) >= i32(3) { goto _11 } r0 = i32(0) return _11: func() int32 { if (int32(_pPager.X13) == i32(0)) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(57668))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(18996))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) != _pagerFlushOnCommit(tls, _pPager, i32(1)) { goto _18 } _sqlite3BackupRestart(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36))) goto _19 _18: if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } _3_pList = _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) _3_pPageOne = nil if _3_pList != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _21 } _rc = _sqlite3PagerGet(tls, _pPager, uint32(i32(1)), &_3_pPageOne, i32(0)) _3_pList = _3_pPageOne *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pList)) + uintptr(24 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _21: func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if _3_pList != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _26 } _rc = _pagerWalFrames(tls, _pPager, _3_pList, _pPager.X22, i32(1)) _26: _sqlite3PagerUnref(tls, _3_pPageOne) if _rc != i32(0) { goto _27 } _sqlite3PcacheCleanAll(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) _27: goto _28 _20: _rc = _pager_incr_changecounter(tls, _pPager, i32(0)) if _rc == i32(0) { goto _29 } goto _commit_phase_one_exit _29: _rc = _writeMasterJournal(tls, _pPager, _zMaster) if _rc == i32(0) { goto _30 } goto _commit_phase_one_exit _30: _rc = _syncJournal(tls, _pPager, i32(0)) if _rc == i32(0) { goto _31 } goto _commit_phase_one_exit _31: _rc = _pager_write_pagelist(tls, _pPager, _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)))) if _rc == i32(0) { goto _32 } func() int32 { if _rc != i32(2826) { return i32(0) } return func() int32 { 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(57700))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _commit_phase_one_exit _32: _sqlite3PcacheCleanAll(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) if (_pPager.X22) <= (_pPager.X24) { goto _35 } _9_nNew = (_pPager.X22) - uint32(bool2int((_pPager.X22) == uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)))) func() int32 { if int32(_pPager.X14) == i32(4) { return i32(0) } return func() int32 { 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(57728))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pager_truncate(tls, _pPager, _9_nNew) if _rc == i32(0) { goto _38 } goto _commit_phase_one_exit _38: _35: if _noSync != 0 { goto _39 } _rc = _sqlite3PagerSync(tls, _pPager, _zMaster) _39: _28: _19: _commit_phase_one_exit: if _rc != i32(0) || (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _41 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(5)) _41: r0 = _rc return } var _sqlite3PagerCommitPhaseOneØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerCommitPhaseOneØ00__func__Ø000[0], str(57764), 27) } func _sqlite3FaultSim(tls *crt.TLS, _iTest int32) (r0 int32) { // sqlite3.c:27660:1 var _xCallback func(*crt.TLS, int32) int32 // sqlite3.c:27661:7 _ = _xCallback _xCallback = _sqlite3Config.X37 r0 = func() int32 { if _xCallback != nil { return _xCallback(tls, _iTest) } return i32(0) }() return } func _pagerWalFrames(tls *crt.TLS, _pPager *XPager, _pList *XPgHdr, _nTruncate uint32, _isCommit int32) (r0 int32) { // sqlite3.c:49986:1 var _rc int32 // sqlite3.c:49992:7 _ = _rc var _nList int32 // sqlite3.c:49993:7 _ = _nList var _p *XPgHdr // sqlite3.c:49994:9 _ = _p var _2_ppNext **XPgHdr // sqlite3.c:50011:11 _ = _2_ppNext func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { return i32(0) } return func() int32 { 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(57792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pList != nil { return i32(0) } return func() int32 { 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(57808))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _pList _4: if _p == nil || (*XPgHdr)(unsafe.Pointer(_p.X3)) == nil { goto _8 } func() int32 { if (_p.X5) < ((*XPgHdr)(unsafe.Pointer(_p.X3)).X5) { return i32(0) } return func() int32 { 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(57816))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) goto _4 _8: func() int32 { if ((*XPgHdr)(unsafe.Pointer(_pList.X3)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) || _isCommit != 0 { return i32(0) } return func() int32 { 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(57844))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isCommit == 0 { goto _14 } _2_ppNext = &_pList _nList = i32(0) _p = _pList _15: if store5557795(_2_ppNext, _p) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } if (_p.X5) > _nTruncate { goto _19 } _2_ppNext = (**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) _nList += 1 _19: _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) goto _15 _18: func() int32 { if _pList != nil { return i32(0) } return func() int32 { 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(57808))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _22 _14: _nList = i32(1) _22: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(240 /* X55 */))))) + 4*uintptr(i32(2)))) *p = (*p) + _nList sink961 = *p } if (_pList.X5) != uint32(i32(1)) { goto _23 } _pager_write_changecounter(tls, _pList) _23: _rc = _sqlite3WalFrames(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pPager.X48, _pList, _nTruncate, _isCommit, int32(_pPager.X8)) if _rc != i32(0) || (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)) == nil { goto _25 } _p = _pList _26: if _p == nil { goto _29 } _sqlite3BackupUpdate(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)), _p.X5, (*uint8)(unsafe.Pointer(_p.X1))) _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) goto _26 _29: _25: r0 = _rc return } var _pagerWalFramesØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pagerWalFramesØ00__func__Ø000[0], str(57876), 15) } func _pager_write_changecounter(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:49888:1 var _change_counter uint32 // sqlite3.c:49889:7 _ = _change_counter _change_counter = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer((*[16]int8)(unsafe.Pointer(uintptr(_pPg.X4)+uintptr(136 /* X40 */)))))))) + uint32(i32(1)) _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) _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) _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))) return } func _sqlite3WalFrames(tls *crt.TLS, _pWal *XWal, _szPage int32, _pList *XPgHdr, _nTruncate uint32, _isCommit int32, _sync_flags int32) (r0 int32) { // sqlite3.c:57441:1 var _rc int32 // sqlite3.c:57449:7 _ = _rc var _iFrame uint32 // sqlite3.c:57450:7 _ = _iFrame var _p *XPgHdr // sqlite3.c:57451:9 _ = _p var _pLast *XPgHdr // sqlite3.c:57452:9 _ = _pLast var _nExtra int32 // sqlite3.c:57453:7 _ = _nExtra var _szFrame int32 // sqlite3.c:57454:7 _ = _szFrame var _iOffset int64 // sqlite3.c:57455:7 _ = _iOffset var _w XWalWriter // sqlite3.c:57456:13 _ = _w var _iFirst uint32 // sqlite3.c:57457:7 _ = _iFirst var _pLive *XWalIndexHdr // sqlite3.c:57458:15 _ = _pLive var _3_aWalHdr [32]uint8 // sqlite3.c:57492:8 _ = _3_aWalHdr var _3_aCksum [2]uint32 // sqlite3.c:57493:9 _ = _3_aCksum var _6_nDbSize int32 // sqlite3.c:57542:9 _ = _6_nDbSize var _7_iWrite uint32 // sqlite3.c:57549:11 _ = _7_iWrite var _8_iOff int64 // sqlite3.c:57553:13 _ = _8_iOff var _8_pData unsafe.Pointer // sqlite3.c:57554:14 _ = _8_pData var _11_bSync int32 // sqlite3.c:57601:9 _ = _11_bSync var _12_sectorSize int32 // sqlite3.c:57603:11 _ = _12_sectorSize var _15_sz int64 // sqlite3.c:57625:9 _ = _15_sz _pLast = nil _nExtra = i32(0) _iFirst = u32(0) func() int32 { if _pList != nil { return i32(0) } return func() int32 { 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(57808))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pWal.X12) != 0 { return i32(0) } return func() int32 { 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(14672))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_isCommit != i32(0)) == (_nTruncate != uint32(i32(0))) { return i32(0) } return func() int32 { 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(57892))) crt.X__builtin_abort(tls) return i32(0) }() }() _pLive = _walIndexHdr(tls, _pWal) if crt.Xmemcmp(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))), (unsafe.Pointer)(_pLive), u64(48)) == i32(0) { goto _6 } _iFirst = (_pLive.X6) + uint32(i32(1)) _6: if i32(0) == store961(&_rc, _walRestartLog(tls, _pWal)) { goto _7 } r0 = _rc return _7: _iFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 if _iFrame != uint32(i32(0)) { goto _8 } _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(0)))), uint32(i32(931071618))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(4)))), uint32(i32(3007000))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(8)))), uint32(_szPage)) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(12)))), _pWal.X22) if (_pWal.X22) != uint32(i32(0)) { goto _9 } Xsqlite3_randomness(tls, i32(8), (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(32 /* X9 */))))) _9: 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(72 /* X18 */)))))+uintptr(32 /* X9 */)))), uint64(i32(8))) _walChecksumBytes(tls, i32(1), (*uint8)(unsafe.Pointer(&_3_aWalHdr)), i32(24), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*uint32)(unsafe.Pointer(&_3_aCksum))) _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))))) _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))))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(56 /* X8 */))) = uint32(_szPage) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(13 /* X4 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aCksum)) + 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(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aCksum)) + 4*uintptr(i32(1)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(67 /* X15 */))) = uint8(i32(1)) _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(&_3_aWalHdr), int32(u64(32)), int64(i32(0))) if _rc == i32(0) { goto _10 } r0 = _rc return _10: if (_pWal.X16) == 0 || _sync_flags == 0 { goto _12 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _sync_flags&i32(19)) if _rc == 0 { goto _13 } r0 = _rc return _13: _12: _8: func() int32 { if int32(_pWal.X8) == _szPage { return i32(0) } return func() int32 { 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(57924))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pWal *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))) = int64(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X3 */))) = _sync_flags *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(28 /* X4 */))) = _szPage _iOffset = int64(i32(32)) + (int64((_iFrame+uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24))) _szFrame = _szPage + i32(24) _p = _pList _16: if _p == nil { goto _19 } if _iFirst == 0 || (*XPgHdr)(unsafe.Pointer(_p.X3)) == nil && _isCommit != i32(0) { goto _22 } _7_iWrite = uint32(i32(0)) _rc = _sqlite3WalFindFrame(tls, _pWal, _p.X5, &_7_iWrite) func() int32 { if (_rc == i32(0)) || (_7_iWrite == uint32(i32(0))) { return i32(0) } return func() int32 { 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(57952))) crt.X__builtin_abort(tls) return i32(0) }() }() if _7_iWrite < _iFirst { goto _26 } _8_iOff = (int64(i32(32)) + (int64(_7_iWrite-uint32(i32(1))) * int64(_szPage+i32(24)))) + int64(i32(24)) if (_pWal.X20) != uint32(i32(0)) && _7_iWrite >= (_pWal.X20) { goto _28 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(124 /* X20 */))) = _7_iWrite _28: _8_pData = _p.X1 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _8_pData, _szPage, _8_iOff) if _rc == 0 { goto _29 } r0 = _rc return _29: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-65)) sink4530 = *p } goto _17 _26: _22: _iFrame += 1 func() int32 { if _iOffset == (int64(i32(32)) + (int64(_iFrame-uint32(i32(1))) * int64(_szPage+i32(24)))) { return i32(0) } return func() int32 { 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(57980))) crt.X__builtin_abort(tls) return i32(0) }() }() _6_nDbSize = int32(func() uint32 { if _isCommit != 0 && ((*XPgHdr)(unsafe.Pointer(_p.X3)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { return _nTruncate } return uint32(i32(0)) }()) _rc = _walWriteOneFrame(tls, &_w, _p, _6_nDbSize, _iOffset) if _rc == 0 { goto _35 } r0 = _rc return _35: _pLast = _p { p := &_iOffset *p = (*p) + int64(_szFrame) sink967 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(64)) sink4530 = *p } _17: _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) goto _16 _19: if _isCommit == 0 || (_pWal.X20) == 0 { goto _37 } _rc = _walRewriteChecksums(tls, _pWal, _iFrame) if _rc == 0 { goto _38 } r0 = _rc return _38: _37: if _isCommit == 0 || (_sync_flags&i32(32)) == i32(0) { goto _40 } _11_bSync = i32(1) if (_pWal.X17) == 0 { goto _41 } _12_sectorSize = _sqlite3SectorSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))) = (((_iOffset + int64(_12_sectorSize)) - int64(i32(1))) / int64(_12_sectorSize)) * int64(_12_sectorSize) _11_bSync = bool2int((_w.X2) == _iOffset) _42: if _iOffset >= (_w.X2) { goto _43 } _rc = _walWriteOneFrame(tls, &_w, _pLast, int32(_nTruncate), _iOffset) if _rc == 0 { goto _44 } r0 = _rc return _44: { p := &_iOffset *p = (*p) + int64(_szFrame) sink967 = *p } _nExtra += 1 goto _42 _43: _41: if _11_bSync == 0 { goto _45 } func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_w.X1)), _sync_flags&i32(19)) _45: _40: if _isCommit == 0 || (_pWal.X15) == 0 || (_pWal.X4) < int64(i32(0)) { goto _50 } _15_sz = _pWal.X4 if (int64(i32(32)) + (int64(((_iFrame+uint32(_nExtra))+uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24)))) <= (_pWal.X4) { goto _51 } _15_sz = int64(i32(32)) + (int64(((_iFrame+uint32(_nExtra))+uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24))) _51: _walLimitSize(tls, _pWal, _15_sz) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(67 /* X15 */))) = uint8(i32(0)) _50: _iFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6 _p = _pList _52: if _p == nil || _rc != i32(0) { goto _56 } if (int32(_p.X6) & i32(64)) != i32(0) { goto _57 } goto _53 _57: _iFrame += 1 _rc = _walIndexAppend(tls, _pWal, _iFrame, _p.X5) _53: _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) goto _52 _56: _58: if _rc != i32(0) || _nExtra <= i32(0) { goto _59 } _iFrame += 1 _nExtra -= 1 _rc = _walIndexAppend(tls, _pWal, _iFrame, _pLast.X5) goto _58 _59: if _rc != i32(0) { goto _61 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(14 /* X5 */))) = uint16((_szPage & i32(65280)) | (_szPage >> uint(i32(16)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(16 /* X6 */))) = _iFrame if _isCommit == 0 { goto _62 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(8 /* X2 */))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(20 /* X7 */))) = _nTruncate _62: if _isCommit == 0 { goto _63 } _walIndexWriteHdr(tls, _pWal) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(24 /* X3 */))) = _iFrame _63: _61: r0 = _rc return } var _sqlite3WalFramesØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WalFramesØ00__func__Ø000[0], str(58020), 17) } func _walRestartLog(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57274:1 var _rc int32 // sqlite3.c:57275:7 _ = _rc var _cnt int32 // sqlite3.c:57276:7 _ = _cnt var _1_pInfo *XWalCkptInfo // sqlite3.c:57279:26 _ = _1_pInfo var _2_salt1 uint32 // sqlite3.c:57282:11 _ = _2_salt1 var _5_notUsed int32 // sqlite3.c:57305:11 _ = _5_notUsed _rc = i32(0) if int32(_pWal.X9) != i32(0) { goto _0 } _1_pInfo = _walCkptInfo(tls, _pWal) func() int32 { if (_1_pInfo.X0) == ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(72 /* X18 */))).X6) { return i32(0) } return func() int32 { 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(22608))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_1_pInfo.X0) <= uint32(i32(0)) { goto _3 } Xsqlite3_randomness(tls, i32(4), (unsafe.Pointer)(&_2_salt1)) _rc = _walLockExclusive(tls, _pWal, i32(4), i32(4)) if _rc != i32(0) { goto _4 } _walRestartHdr(tls, _pWal, _2_salt1) _walUnlockExclusive(tls, _pWal, i32(4), i32(4)) goto _5 _4: if _rc == i32(5) { goto _6 } r0 = _rc return _6: _5: _3: _walUnlockShared(tls, _pWal, i32(3)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(60 /* X9 */))) = int16(i32(-1)) _cnt = i32(0) _7: _rc = _walTryBeginRead(tls, _pWal, &_5_notUsed, i32(1), preInc961(&_cnt, 1)) if _rc == i32(-1) { goto _7 } func() int32 { if (_rc & i32(255)) != i32(5) { return i32(0) } return func() int32 { 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(58040))) crt.X__builtin_abort(tls) return i32(0) }() }() _0: r0 = _rc return } var _walRestartLogØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_walRestartLogØ00__func__Ø000[0], str(58064), 14) } func _walWriteOneFrame(tls *crt.TLS, _p *XWalWriter, _pPage *XPgHdr, _nTruncate int32, _iOffset int64) (r0 int32) { // sqlite3.c:57362:1 var _rc int32 // sqlite3.c:57368:7 _ = _rc var _pData unsafe.Pointer // sqlite3.c:57369:8 _ = _pData var _aFrame [24]uint8 // sqlite3.c:57370:6 _ = _aFrame _pData = _pPage.X1 _walEncodeFrame(tls, (*XWal)(unsafe.Pointer(_p.X0)), _pPage.X5, uint32(_nTruncate), (*uint8)(unsafe.Pointer(_pData)), (*uint8)(unsafe.Pointer(&_aFrame))) _rc = _walWriteToLog(tls, _p, (unsafe.Pointer)(&_aFrame), int32(u64(24)), _iOffset) if _rc == 0 { goto _0 } r0 = _rc return _0: _rc = _walWriteToLog(tls, _p, _pData, _p.X4, int64(uint64(_iOffset)+u64(24))) r0 = _rc return } func _walEncodeFrame(tls *crt.TLS, _pWal *XWal, _iPage uint32, _nTruncate uint32, _aData *uint8, _aFrame *uint8) { // sqlite3.c:55090:1 var _nativeCksum int32 // sqlite3.c:55097:7 _ = _nativeCksum var _aCksum *uint32 // sqlite3.c:55098:7 _ = _aCksum _aCksum = (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))))) + uintptr(24 /* X8 */))))) i32(0) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(0)))), _iPage) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(4)))), _nTruncate) if (_pWal.X20) != uint32(i32(0)) { goto _0 } 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(72 /* X18 */)))))+uintptr(32 /* X9 */)))), uint64(i32(8))) _nativeCksum = bool2int(int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */))).X4) == i32(0)) _walChecksumBytes(tls, _nativeCksum, _aFrame, i32(8), _aCksum, _aCksum) _walChecksumBytes(tls, _nativeCksum, _aData, int32(_pWal.X8), _aCksum, _aCksum) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(16)))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCksum)) + 4*uintptr(i32(0))))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(20)))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCksum)) + 4*uintptr(i32(1))))) goto _1 _0: crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(8))))), i32(0), uint64(i32(16))) _1: return } func _walWriteToLog(tls *crt.TLS, _p *XWalWriter, _pContent unsafe.Pointer, _iAmt int32, _iOffset int64) (r0 int32) { // sqlite3.c:57337:1 var _rc int32 // sqlite3.c:57343:7 _ = _rc var _1_iFirstAmt int32 // sqlite3.c:57345:9 _ = _1_iFirstAmt if _iOffset >= (_p.X2) || (_iOffset+int64(_iAmt)) < (_p.X2) { goto _1 } _1_iFirstAmt = int32((_p.X2) - _iOffset) _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X1)), _pContent, _1_iFirstAmt, _iOffset) if _rc == 0 { goto _2 } r0 = _rc return _2: { p := &_iOffset *p = (*p) + int64(_1_iFirstAmt) sink967 = *p } { p := &_iAmt *p = (*p) - _1_iFirstAmt sink961 = *p } _pContent = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_1_iFirstAmt))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pContent))))))) func() int32 { if ((_p.X3) & i32(3)) != 0 { return i32(0) } return func() int32 { 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(58080))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X1)), (_p.X3)&i32(19)) if _iAmt != i32(0) && _rc == 0 { goto _6 } r0 = _rc return _6: _1: _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X1)), _pContent, _iAmt, _iOffset) r0 = _rc return } var _walWriteToLogØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_walWriteToLogØ00__func__Ø000[0], str(58136), 14) } func _walRewriteChecksums(tls *crt.TLS, _pWal *XWal, _iLast uint32) (r0 int32) { // sqlite3.c:57392:1 var _szPage int32 // sqlite3.c:57393:13 _ = _szPage var _rc int32 // sqlite3.c:57394:7 _ = _rc var _aBuf *uint8 // sqlite3.c:57395:6 _ = _aBuf var _aFrame [24]uint8 // sqlite3.c:57396:6 _ = _aFrame var _iRead uint32 // sqlite3.c:57397:7 _ = _iRead var _iCksumOff int64 // sqlite3.c:57398:7 _ = _iCksumOff var _3_iOff int64 // sqlite3.c:57421:9 _ = _3_iOff var _4_iPgno uint32 // sqlite3.c:57424:11 _ = _4_iPgno var _4_nDbSize uint32 // sqlite3.c:57424:18 _ = _4_nDbSize _szPage = int32(_pWal.X8) _rc = i32(0) _aBuf = (*uint8)(unsafe.Pointer(Xsqlite3_malloc(tls, _szPage+i32(24)))) if _aBuf != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3NomemError(tls, i32(57401)) return _0: func() int32 { if (_pWal.X20) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(58152))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pWal.X20) != uint32(i32(1)) { goto _3 } _iCksumOff = int64(i32(24)) goto _4 _3: _iCksumOff = (int64(i32(32)) + (int64(((_pWal.X20)-uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24)))) + int64(i32(16)) _4: _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_aBuf), int32(u64(8)), _iCksumOff) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = _sqlite3Get4byte(tls, _aBuf) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(72 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aBuf))+1*uintptr(u64(4))))) _iRead = _pWal.X20 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(124 /* X20 */))) = uint32(i32(0)) _5: if _rc != i32(0) || _iRead > _iLast { goto _9 } _3_iOff = int64(i32(32)) + (int64(_iRead-uint32(i32(1))) * int64(_szPage+i32(24))) _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_aBuf), _szPage+i32(24), _3_iOff) if _rc != i32(0) { goto _10 } _4_iPgno = _sqlite3Get4byte(tls, _aBuf) _4_nDbSize = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aBuf))+1*uintptr(i32(4))))) _walEncodeFrame(tls, _pWal, _4_iPgno, _4_nDbSize, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aBuf))+1*uintptr(i32(24)))), (*uint8)(unsafe.Pointer(&_aFrame))) _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(&_aFrame), int32(u64(24)), _3_iOff) _10: _iRead += 1 goto _5 _9: Xsqlite3_free(tls, (unsafe.Pointer)(_aBuf)) r0 = _rc return } var _walRewriteChecksumsØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_walRewriteChecksumsØ00__func__Ø000[0], str(58172), 20) } func _pager_incr_changecounter(tls *crt.TLS, _pPager *XPager, _isDirectMode int32) (r0 int32) { // sqlite3.c:52994:1 var _rc int32 // sqlite3.c:52995:7 _ = _rc var _1_pPgHdr *XPgHdr // sqlite3.c:53021:11 _ = _1_pPgHdr var _4_zBuf unsafe.Pointer // sqlite3.c:53044:20 _ = _4_zBuf var _6_pCopy unsafe.Pointer // sqlite3.c:53055:22 _ = _6_pCopy _rc = i32(0) func() int32 { if (int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4)) { return i32(0) } return func() int32 { 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(56748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _isDirectMode == i32(0) { return i32(0) } return func() int32 { 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(58192))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X16) != 0 || func() int32 { if (_pPager.X22) > uint32(i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _10 } func() int32 { if ((_pPager.X10) == 0) && ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(58208))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerGet(tls, _pPager, uint32(i32(1)), &_1_pPgHdr, i32(0)) func() int32 { if (_1_pPgHdr == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) || (_rc == i32(0)) { return i32(0) } return func() int32 { 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(58248))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(1) == 0 || func() int32 { if _rc == i32(0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _20 } _rc = _sqlite3PagerWrite(tls, _1_pPgHdr) _20: if _rc != i32(0) { goto _21 } _pager_write_changecounter(tls, _1_pPgHdr) goto _22 _22: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = uint8(i32(1)) _21: _sqlite3PagerUnref(tls, _1_pPgHdr) _10: r0 = _rc return } var _pager_incr_changecounterØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_pager_incr_changecounterØ00__func__Ø000[0], str(58276), 25) } func _writeMasterJournal(tls *crt.TLS, _pPager *XPager, _zMaster *int8) (r0 int32) { // sqlite3.c:48534:1 var _rc int32 // sqlite3.c:48535:7 _ = _rc var _nMaster int32 // sqlite3.c:48536:7 _ = _nMaster var _iHdrOff int64 // sqlite3.c:48537:7 _ = _iHdrOff var _jrnlSize int64 // sqlite3.c:48538:7 _ = _jrnlSize var _cksum uint32 // sqlite3.c:48539:7 _ = _cksum _cksum = u32(0) func() int32 { if int32(_pPager.X17) == i32(0) { return i32(0) } return func() int32 { 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(10904))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)))) { goto _6 } r0 = i32(0) return _6: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(24 /* X17 */))) = uint8(i32(1)) func() int32 { if (_pPager.X35) <= (_pPager.X34) { return i32(0) } return func() int32 { 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(12644))) crt.X__builtin_abort(tls) return i32(0) }() }() _nMaster = i32(0) _9: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_nMaster)))) == 0 { goto _12 } { p := &_cksum *p = (*p) + uint32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_nMaster)))) sink985 = *p } _nMaster += 1 goto _9 _12: if (_pPager.X5) == 0 { goto _13 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) = _journalHdrOffset(tls, _pPager) _13: _iHdrOff = _pPager.X34 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)))) { goto _18 } r0 = _rc return _18: { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X34 */))) *p = (*p) + int64(_nMaster+i32(20)) sink967 = *p } if i32(0) != store961(&_rc, _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), &_jrnlSize)) || _jrnlSize <= (_pPager.X34) { goto _20 } _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _pPager.X34) _20: r0 = _rc return } var _writeMasterJournalØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_writeMasterJournalØ00__func__Ø000[0], str(58304), 19) } func _syncJournal(tls *crt.TLS, _pPager *XPager, _newHdr int32) (r0 int32) { // sqlite3.c:51046:1 var _rc int32 // sqlite3.c:51047:7 _ = _rc var _2_iDc int32 // sqlite3.c:51061:17 _ = _2_iDc var _3_iNextHdrOffset int64 // sqlite3.c:51087:13 _ = _3_iNextHdrOffset var _3_aMagic [8]uint8 // sqlite3.c:51088:12 _ = _3_aMagic var _3_zHeader [12]uint8 // sqlite3.c:51089:12 _ = _3_zHeader func() int32 { if (int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4)) { return i32(0) } return func() int32 { 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(56748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerExclusiveLock(tls, _pPager) if _rc == i32(0) { goto _7 } r0 = _rc return _7: if (_pPager.X4) != 0 { goto _8 } func() int32 { if (_pPager.X10) == 0 { return i32(0) } return func() int32 { 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(53236))) crt.X__builtin_abort(tls) return i32(0) }() }() 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) { goto _12 } _2_iDc = _sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) func() int32 { if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(12584))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) != (_2_iDc & i32(512)) { goto _15 } crt.Xmemcpy(tls, (unsafe.Pointer)(&_3_zHeader), (unsafe.Pointer)(&_aJournalMagic), u64(8)) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_zHeader))+1*uintptr(u64(8)))), uint32(_pPager.X27)) _3_iNextHdrOffset = _journalHdrOffset(tls, _pPager) _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_3_aMagic), i32(8), _3_iNextHdrOffset) if _rc != i32(0) || i32(0) != crt.Xmemcmp(tls, (unsafe.Pointer)(&_3_aMagic), (unsafe.Pointer)(&_aJournalMagic), uint64(i32(8))) { goto _17 } _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_syncJournalØ00zerobyteØ001), i32(1), _3_iNextHdrOffset) _17: if _rc == i32(0) || _rc == i32(522) { goto _19 } r0 = _rc return _19: if (_pPager.X5) == 0 || i32(0) != (_2_iDc&i32(1024)) { goto _21 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int32(_pPager.X9)) if _rc == i32(0) { goto _22 } r0 = _rc return _22: _21: _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_3_zHeader), int32(u64(12)), _pPager.X35) if _rc == i32(0) { goto _23 } r0 = _rc return _23: _15: if i32(0) != (_2_iDc & i32(1024)) { goto _24 } _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int32(_pPager.X9)|func() int32 { if int32(_pPager.X9) == i32(3) { return i32(16) } return i32(0) }()) if _rc == i32(0) { goto _27 } r0 = _rc return _27: _24: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X35 */))) = _pPager.X34 if _newHdr == 0 || i32(0) != (_2_iDc&i32(512)) { goto _29 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(52 /* X27 */))) = i32(0) _rc = _writeJournalHdr(tls, _pPager) if _rc == i32(0) { goto _30 } r0 = _rc return _30: _29: goto _31 _12: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X35 */))) = _pPager.X34 _31: _8: _sqlite3PcacheClearSyncFlags(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(4)) func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return } var _syncJournalØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_syncJournalØ00__func__Ø000[0], str(58324), 12) } func _sqlite3PagerExclusiveLock(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53103:1 var _rc int32 // sqlite3.c:53104:7 _ = _rc _rc = _pPager.X26 func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) { goto _2 } func() int32 { if ((int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4))) || (int32(_pPager.X14) == i32(2)) { return i32(0) } return func() int32 { 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(58336))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) != bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) { goto _9 } _rc = _pager_wait_on_lock(tls, _pPager, i32(4)) _9: _2: r0 = _rc return } var _sqlite3PagerExclusiveLockØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerExclusiveLockØ00__func__Ø000[0], str(58452), 26) } var _syncJournalØ00zerobyteØ001 uint8 // sqlite3.c:51097:27 func _sqlite3PcacheClearSyncFlags(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44693:1 var _p *XPgHdr // sqlite3.c:44694:9 _ = _p _p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) _0: if _p == nil { goto _3 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-9)) sink4530 = *p } _p = (*XPgHdr)(unsafe.Pointer(_p.X9)) goto _0 _3: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(16 /* X2 */))))) = (*XPgHdr)(unsafe.Pointer(_pCache.X1)) return } func _pager_write_pagelist(tls *crt.TLS, _pPager *XPager, _pList *XPgHdr) (r0 int32) { // sqlite3.c:51189:1 var _rc int32 // sqlite3.c:51190:7 _ = _rc var _2_szFile int64 // sqlite3.c:51215:19 _ = _2_szFile var _3_pgno uint32 // sqlite3.c:51221:10 _ = _3_pgno var _4_offset int64 // sqlite3.c:51232:11 _ = _4_offset var _4_pData *int8 // sqlite3.c:51233:12 _ = _4_pData _rc = i32(0) func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pPager.X10) != 0) || (int32(_pPager.X14) == i32(4)) { return i32(0) } return func() int32 { 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(58480))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X15) == i32(4) { return i32(0) } return func() int32 { 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(18280))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(58536))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } func() int32 { if ((_pPager.X10) != 0) && (_rc == i32(0)) { return i32(0) } return func() int32 { 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(58576))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pagerOpentemp(tls, _pPager, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int32(_pPager.X46)) _10: func() int32 { if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(58612))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || (_pPager.X25) >= (_pPager.X22) || (*XPgHdr)(unsafe.Pointer(_pList.X3)) == nil && (_pList.X5) <= (_pPager.X25) { goto _20 } _2_szFile = int64(_pPager.X48) * int64(_pPager.X22) _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(5), (unsafe.Pointer)(&_2_szFile)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(44 /* X25 */))) = _pPager.X22 _20: _21: if _rc != i32(0) || _pList == nil { goto _22 } _3_pgno = _pList.X5 if _3_pgno > (_pPager.X22) || i32(0) != (int32(_pList.X6)&i32(16)) { goto _25 } _4_offset = int64(_3_pgno-uint32(i32(1))) * int64(_pPager.X48) func() int32 { if (int32(_pList.X6) & i32(8)) == i32(0) { return i32(0) } return func() int32 { 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(58648))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pList.X5) != uint32(i32(1)) { goto _28 } _pager_write_changecounter(tls, _pList) _28: _4_pData = (*int8)(unsafe.Pointer(_pList.X1)) _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_4_pData), _pPager.X48, _4_offset) if _3_pgno != uint32(i32(1)) { goto _29 } crt.Xmemcpy(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(136 /* X40 */)))), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pData))+1*uintptr(i32(24))))), u64(16)) _29: if _3_pgno <= (_pPager.X24) { goto _30 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(40 /* X24 */))) = _3_pgno _30: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(240 /* X55 */))))) + 4*uintptr(i32(2)))) += 1 _sqlite3BackupUpdate(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)), _3_pgno, (*uint8)(unsafe.Pointer(_pList.X1))) goto _31 _25: _31: _pList = (*XPgHdr)(unsafe.Pointer(_pList.X3)) goto _21 _22: r0 = _rc return } var _pager_write_pagelistØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_pager_write_pagelistØ00__func__Ø000[0], str(58684), 21) } func _pagerOpentemp(tls *crt.TLS, _pPager *XPager, _pFile *Xsqlite3_file, _vfsFlags int32) (r0 int32) { // sqlite3.c:50485:1 var _rc int32 // sqlite3.c:50490:7 _ = _rc { p := &_vfsFlags *p = (*p) | i32(30) sink961 = *p } _rc = _sqlite3OsOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _pFile, _vfsFlags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) func() int32 { if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_pFile.X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(58708))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _pagerOpentempØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_pagerOpentempØ00__func__Ø000[0], str(58740), 14) } func _sqlite3BtreeCommitPhaseTwo(tls *crt.TLS, _p *XBtree, _bCleanup int32) (r0 int32) { // sqlite3.c:62843:1 var _1_rc int32 // sqlite3.c:62853:9 _ = _1_rc var _1_pBt *XBtShared // sqlite3.c:62854:14 _ = _1_pBt if int32(_p.X2) != i32(0) { goto _0 } r0 = i32(0) return _0: _sqlite3BtreeEnter(tls, _p) func() int32 { if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { return i32(0) } return func() int32 { 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(8748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { return i32(0) } return func() int32 { 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(8812))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X2) != i32(2) { goto _6 } _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if int32(_1_pBt.X8) == i32(2) { return i32(0) } return func() int32 { 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(58756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_1_pBt.X17) > i32(0) { return i32(0) } return func() int32 { 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(58788))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_rc = _sqlite3PagerCommitPhaseTwo(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0))) if _1_rc == i32(0) || _bCleanup != i32(0) { goto _12 } _sqlite3BtreeLeave(tls, _p) r0 = _1_rc return _12: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X8 */))) -= 1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(36 /* X8 */))) = uint8(i32(1)) _btreeClearHasContent(tls, _1_pBt) _6: _btreeEndTransaction(tls, _p) _sqlite3BtreeLeave(tls, _p) r0 = i32(0) return } var _sqlite3BtreeCommitPhaseTwoØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCommitPhaseTwoØ00__func__Ø000[0], str(58808), 27) } func _sqlite3PagerCommitPhaseTwo(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53322:1 var _rc int32 // sqlite3.c:53323:7 _ = _rc _rc = i32(0) if func() int32 { if (_pPager.X26) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } r0 = _pPager.X26 return _2: func() int32 { 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))) { return i32(0) } return func() int32 { 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(58836))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X14) != i32(2) || (_pPager.X1) == 0 || int32(_pPager.X2) != i32(1) { goto _12 } func() int32 { if ((_pPager.X34) == int64(_pPager.X47)) || ((_pPager.X34) == 0) { return i32(0) } return func() int32 { 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(58980))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(1)) r0 = i32(0) return _12: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(132 /* X39 */))) += 1 _rc = _pager_end_transaction(tls, _pPager, int32(_pPager.X17), i32(1)) r0 = _pager_error(tls, _pPager, _rc) return } var _sqlite3PagerCommitPhaseTwoØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerCommitPhaseTwoØ00__func__Ø000[0], str(59048), 27) } func _sqlite3VdbeSetNumCols(tls *crt.TLS, _p *TVdbe, _nResColumn int32) { // sqlite3.c:73491:1 var _pColName *XMem // sqlite3.c:73492:7 _ = _pColName var _n int32 // sqlite3.c:73493:7 _ = _n var _db *Xsqlite3 // sqlite3.c:73494:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X20)), int32(_p.X29)*i32(2)) _sqlite3DbFree(tls, _db, _p.X20) _n = _nResColumn * i32(2) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(192 /* X29 */))) = uint16(_nResColumn) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(128 /* X20 */))))) = store5448613(&_pColName, (*XMem)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(72)*uint64(_n))))) if (*XMem)(unsafe.Pointer(_p.X20)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _initMemArray(tls, (*XMem)(unsafe.Pointer(_p.X20)), _n, (*Xsqlite3)(unsafe.Pointer(_p.X0)), uint16(i32(1))) return } func _releaseMemArray(tls *crt.TLS, _p *XMem, _N int32) { // sqlite3.c:72858:1 var _1_pEnd *XMem // sqlite3.c:72860:9 _ = _1_pEnd var _1_db *Xsqlite3 // sqlite3.c:72861:13 _ = _1_db if _p == nil || _N == 0 { goto _1 } _1_pEnd = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 72*uintptr(_N))) _1_db = (*Xsqlite3)(unsafe.Pointer(_p.X9)) if (_1_db.X79) == nil { goto _2 } _3: if (_p.X7) == 0 { goto _4 } _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_p.X6)) _4: if uintptr(unsafe.Pointer(preInc5448613(&_p, 72))) < uintptr(unsafe.Pointer(_1_pEnd)) { goto _3 } return _2: _5: func() int32 { if ((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+72*uintptr(i32(1)))) == _1_pEnd) || ((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+72*uintptr(i32(0)))).X9)) == (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+72*uintptr(i32(1)))).X9))) { return i32(0) } return func() int32 { 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(59076))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, _p) != 0 { return i32(0) } return func() int32 { 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(4464))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X1) & i32(9312)) == 0 { goto _11 } _sqlite3VdbeMemRelease(tls, _p) goto _12 _11: if (_p.X7) == 0 { goto _13 } _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_p.X6)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = i32(0) _13: _12: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint16(i32(128)) if uintptr(unsafe.Pointer(preInc5448613(&_p, 72))) < uintptr(unsafe.Pointer(_1_pEnd)) { goto _5 } _1: return } var _releaseMemArrayØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_releaseMemArrayØ00__func__Ø000[0], str(59112), 16) } func _initMemArray(tls *crt.TLS, _p *XMem, _N int32, _db *Xsqlite3, _flags uint16) { // sqlite3.c:72843:1 _0: if postInc961(&_N, int32(-1)) <= i32(0) { goto _1 } *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X9 */))))) = _db *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = _flags *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = i32(0) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(72) goto _0 _1: return } func _sqlite3VdbeSetColName(tls *crt.TLS, _p *TVdbe, _idx int32, _var int32, _zName *int8, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:73515:1 var _rc int32 // sqlite3.c:73522:7 _ = _rc var _pColName *XMem // sqlite3.c:73523:7 _ = _pColName func() int32 { if _idx < int32(_p.X29) { return i32(0) } return func() int32 { 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(59128))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _var < i32(2) { return i32(0) } return func() int32 { 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(59148))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { goto _4 } func() int32 { if (_zName == nil) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))}))) { return i32(0) } return func() int32 { 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(59164))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3NomemError(tls, i32(73528)) return _4: func() int32 { if (*XMem)(unsafe.Pointer(_p.X20)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(59196))) crt.X__builtin_abort(tls) return i32(0) }() }() _pColName = (*XMem)(unsafe.Pointer(uintptr(_p.X20) + 72*uintptr(_idx+(_var*int32(_p.X29))))) _rc = _sqlite3VdbeMemSetStr(tls, _pColName, _zName, i32(-1), uint8(i32(1)), _xDel) func() int32 { if ((_rc != i32(0)) || (_zName == nil)) || ((int32(_pColName.X1) & i32(512)) != i32(0)) { return i32(0) } return func() int32 { 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(59212))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3VdbeSetColNameØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSetColNameØ00__func__Ø000[0], str(59264), 22) } var _sqlite3PrepareØ00azColNameØ001 [12]*int8 // sqlite3.c:116002:23 func init() { _sqlite3PrepareØ00azColNameØ001 = [12]*int8{str(59288), str(59296), str(59304), str(59308), str(59312), str(59316), str(59320), str(59324), str(59332), str(59344), str(26428), str(59352)} } func _sqlite3VdbeSetSql(tls *crt.TLS, _p *TVdbe, _z *int8, _n int32, _isPrepareV2 int32) { // sqlite3.c:71386:1 func() int32 { if (_isPrepareV2 == i32(1)) || (_isPrepareV2 == i32(0)) { return i32(0) } return func() int32 { 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(59360))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } return _3: if _isPrepareV2 != 0 { goto _4 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(268 /* X41 */))) = uint32(i32(0)) _4: func() int32 { if (_p.X36) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(59396))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(232 /* X36 */))) = _sqlite3DbStrNDup(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _z, uint64(_n)) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(uint8(_isPrepareV2)), 512, 9) return } var _sqlite3VdbeSetSqlØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSetSqlØ00__func__Ø000[0], str(59408), 18) } func _sqlite3VdbeFinalize(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:74271:1 var _rc int32 // sqlite3.c:74272:7 _ = _rc _rc = i32(0) if (_p.X5) != uint32(i32(770837923)) && (_p.X5) != uint32(i32(832317811)) { goto _1 } _rc = _sqlite3VdbeReset(tls, _p) func() int32 { if (_rc & ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X11)) == _rc { return i32(0) } return func() int32 { 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(59428))) crt.X__builtin_abort(tls) return i32(0) }() }() _1: _sqlite3VdbeDelete(tls, _p) r0 = _rc return } func _sqlite3VdbeReset(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:74191:1 var _db *Xsqlite3 // sqlite3.c:74192:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _sqlite3VdbeHalt(tls, _p) if (_p.X9) < i32(0) { goto _0 } _sqlite3VdbeTransferError(tls, _p) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if ((uint32((_p.X32)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _1 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _1: goto _2 _0: if (_p.X10) == 0 || ((uint32(_p.X32)<>uint(i32(31))) == 0 { goto _4 } _sqlite3ErrorWithMsg(tls, _db, _p.X10, func() *int8 { if (_p.X22) != nil { return str(24304) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), unsafe.Pointer(_p.X22)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _4: _2: _Cleanup(tls, _p) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X13 */))) = int64(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X5 */))) = uint32(i32(1224384374)) r0 = (_p.X10) & (_db.X11) return } func _sqlite3VdbeHalt(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:73929:1 var _rc int32 // sqlite3.c:73930:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:73931:11 _ = _db var _3_mrc int32 // sqlite3.c:73961:9 _ = _3_mrc var _3_eStatementOp int32 // sqlite3.c:73962:9 _ = _3_eStatementOp var _3_isSpecialError int32 // sqlite3.c:73963:9 _ = _3_isSpecialError _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) if (_p.X5) == uint32(i32(770837923)) { goto _0 } r0 = i32(0) return _0: if (_db.X17) == 0 { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _sqlite3NomemError(tls, i32(73953)) _1: _closeAllCursors(tls, _p) _checkActiveVdbeCnt(tls, _db) if (_p.X9) < i32(0) || ((uint32((_p.X32)>>uint(i32(8)))<>uint(i32(31))) == 0 { goto _3 } _3_eStatementOp = i32(0) _sqlite3VdbeEnter(tls, _p) _3_mrc = (_p.X10) & i32(255) _3_isSpecialError = bool2int((((_3_mrc == i32(7)) || (_3_mrc == i32(10))) || (_3_mrc == i32(9))) || (_3_mrc == i32(13))) if _3_isSpecialError == 0 { goto _7 } if ((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) != 0 && _3_mrc == i32(9) { goto _9 } if _3_mrc != i32(7) && _3_mrc != i32(13) || ((uint32((_p.X32)>>uint(i32(6)))<>uint(i32(31))) == 0 { goto _12 } _3_eStatementOp = i32(2) goto _13 _12: _sqlite3RollbackAll(tls, _db, i32(516)) _sqlite3CloseSavepoints(tls, _db) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) _13: _9: _7: if (_p.X10) != i32(0) { goto _14 } _sqlite3VdbeCheckFk(tls, _p, i32(0)) _14: 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))) == i32(0)) { goto _18 } if (_p.X10) != i32(0) && (int32(_p.X30) != i32(3) || _3_isSpecialError != 0) { goto _21 } _rc = _sqlite3VdbeCheckFk(tls, _p, i32(1)) if _rc == i32(0) { goto _22 } if func() int32 { if ((uint32((_p.X32)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _25 } _sqlite3VdbeLeave(tls, _p) r0 = i32(1) return _25: _rc = i32(787) goto _26 _22: _rc = _vdbeCommit(tls, _db, _p) _26: if _rc != i32(5) || ((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == 0 { goto _28 } _sqlite3VdbeLeave(tls, _p) r0 = i32(5) return _28: if _rc == i32(0) { goto _30 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _rc _sqlite3RollbackAll(tls, _db, i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) goto _31 _30: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(648 /* X77 */))) = int64(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(656 /* X78 */))) = int64(i32(0)) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-33554433) sink961 = *p } _sqlite3CommitInternalChanges(tls, _db) _31: goto _32 _21: _sqlite3RollbackAll(tls, _db, i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) _32: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(640 /* X76 */))) = i32(0) goto _33 _18: if _3_eStatementOp != i32(0) { goto _34 } if (_p.X10) != i32(0) && int32(_p.X30) != i32(3) { goto _36 } _3_eStatementOp = i32(1) goto _37 _36: if int32(_p.X30) != i32(2) { goto _38 } _3_eStatementOp = i32(2) goto _39 _38: _sqlite3RollbackAll(tls, _db, i32(516)) _sqlite3CloseSavepoints(tls, _db) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) _39: _37: _34: _33: if _3_eStatementOp == 0 { goto _40 } _rc = _sqlite3VdbeCloseStatement(tls, _p, _3_eStatementOp) if _rc == 0 { goto _41 } if (_p.X10) != i32(0) && ((_p.X10)&i32(255)) != i32(19) { goto _43 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _rc _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _43: _sqlite3RollbackAll(tls, _db, i32(516)) _sqlite3CloseSavepoints(tls, _db) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) _41: _40: if ((uint32((_p.X32)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _44 } if _3_eStatementOp == i32(2) { goto _45 } _sqlite3VdbeSetChanges(tls, _db, _p.X11) goto _46 _45: _sqlite3VdbeSetChanges(tls, _db, i32(0)) _46: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) _44: _sqlite3VdbeLeave(tls, _p) _3: if (_p.X9) < i32(0) { goto _47 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(172 /* X34 */))) -= 1 if ((uint32((_p.X32)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { goto _48 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(180 /* X36 */))) -= 1 _48: if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _49 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(176 /* X35 */))) -= 1 _49: func() int32 { if (_db.X34) >= (_db.X35) { return i32(0) } return func() int32 { 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(59456))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_db.X35) >= (_db.X36) { return i32(0) } return func() int32 { 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(59488))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_db.X36) >= i32(0) { return i32(0) } return func() int32 { 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(59520))) crt.X__builtin_abort(tls) return i32(0) }() }() _47: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X5 */))) = uint32(i32(832317811)) _checkActiveVdbeCnt(tls, _db) if (_db.X17) == 0 { goto _56 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _sqlite3NomemError(tls, i32(74110)) _56: if (_db.X15) == 0 { goto _57 } _57: func() int32 { if (((_db.X34) > i32(0)) || (int32(_db.X15) == i32(0))) || ((_db.X76) == i32(0)) { return i32(0) } return func() int32 { 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(59540))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = func() int32 { if (_p.X10) == i32(5) { return i32(5) } return i32(0) }() return } func _closeAllCursors(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:73440:1 var _1_pFrame *XVdbeFrame // sqlite3.c:73442:15 _ = _1_pFrame var _3_pDel *XVdbeFrame // sqlite3.c:73454:15 _ = _3_pDel if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { goto _0 } _1_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) _1: if (*XVdbeFrame)(unsafe.Pointer(_1_pFrame.X1)) == nil { goto _4 } _1_pFrame = (*XVdbeFrame)(unsafe.Pointer(_1_pFrame.X1)) goto _1 _4: _sqlite3VdbeFrameRestore(tls, _1_pFrame) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(248 /* X38 */))))) = (*XVdbeFrame)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(264 /* X40 */))) = i32(0) _0: func() int32 { if (_p.X40) == i32(0) { return i32(0) } return func() int32 { 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(59600))) crt.X__builtin_abort(tls) return i32(0) }() }() _closeCursorsInFrame(tls, _p) if (*XMem)(unsafe.Pointer(_p.X18)) == nil { goto _7 } _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X18)), _p.X6) _7: _8: if (*XVdbeFrame)(unsafe.Pointer(_p.X39)) == nil { goto _9 } _3_pDel = (*XVdbeFrame)(unsafe.Pointer(_p.X39)) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(256 /* X39 */))))) = (*XVdbeFrame)(unsafe.Pointer(_3_pDel.X1)) _sqlite3VdbeFrameDelete(tls, _3_pDel) goto _8 _9: if (*XAuxData)(unsafe.Pointer(_p.X43)) == nil { goto _10 } _sqlite3VdbeDeleteAuxData(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(280 /* X43 */))))), i32(-1), i32(0)) _10: func() int32 { if (*XAuxData)(unsafe.Pointer(_p.X43)) == (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(59616))) crt.X__builtin_abort(tls) return i32(0) }() }() return } func _sqlite3VdbeFrameRestore(tls *crt.TLS, _pFrame *XVdbeFrame) (r0 int32) { // sqlite3.c:73411:1 var _v *TVdbe // sqlite3.c:73412:8 _ = _v _v = (*TVdbe)(unsafe.Pointer(_pFrame.X0)) _closeCursorsInFrame(tls, _v) *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(104 /* X17 */))))) = (*XVdbeOp)(unsafe.Pointer(_pFrame.X2)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(184 /* X27 */))) = _pFrame.X12 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(112 /* X18 */))))) = (*XMem)(unsafe.Pointer(_pFrame.X4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(40 /* X6 */))) = _pFrame.X13 *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(152 /* X23 */))))) = (**XVdbeCursor)(unsafe.Pointer(_pFrame.X5)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(44 /* X7 */))) = _pFrame.X10 *(*int64)(unsafe.Pointer(uintptr(_v.X0) + uintptr(48 /* X7 */))) = _pFrame.X8 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(60 /* X11 */))) = _pFrame.X16 *(*int32)(unsafe.Pointer(uintptr(_v.X0) + uintptr(104 /* X29 */))) = _pFrame.X17 _sqlite3VdbeDeleteAuxData(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0)), (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(280 /* X43 */))))), i32(-1), i32(0)) *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(280 /* X43 */))))) = (*XAuxData)(unsafe.Pointer(_pFrame.X9)) *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrame)) + uintptr(72 /* X9 */))))) = (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) r0 = _pFrame.X11 return } func _closeCursorsInFrame(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:73393:1 var _1_i int32 // sqlite3.c:73395:9 _ = _1_i var _2_pC *XVdbeCursor // sqlite3.c:73397:18 _ = _2_pC if (**XVdbeCursor)(unsafe.Pointer(_p.X23)) == nil { goto _0 } _1_i = i32(0) _1: if _1_i >= (_p.X7) { goto _4 } _2_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_1_i))) if _2_pC == nil { goto _5 } _sqlite3VdbeFreeCursor(tls, _p, _2_pC) *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_1_i))) = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) _5: _1_i += 1 goto _1 _4: _0: return } func _sqlite3VdbeFreeCursor(tls *crt.TLS, _p *TVdbe, _pCx *XVdbeCursor) { // sqlite3.c:73356:1 var _7_pVCur *Xsqlite3_file // sqlite3.c:73379:27 _ = _7_pVCur var _7_pModule *Xsqlite3_module // sqlite3.c:73380:28 _ = _7_pModule if _pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: func() int32 { if ((*XBtree)(unsafe.Pointer(_pCx.X8)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pCx.X0) == i32(0)) { return i32(0) } return func() int32 { 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(59632))) crt.X__builtin_abort(tls) return i32(0) }() }() switch int32(_pCx.X0) { case i32(0): goto _6 case i32(1): goto _5 case i32(2): goto _7 default: goto _8 } _5: _sqlite3VdbeSorterClose(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _pCx) goto _8 _6: if (*XBtree)(unsafe.Pointer(_pCx.X8)) == nil { goto _9 } _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_pCx.X8))) goto _10 _9: func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(59680))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeCloseCursor(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(48 /* X14 */)))))))) _10: goto _8 _7: _7_pVCur = (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(48 /* X14 */))))))) _7_pModule = (*Xsqlite3_module)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_7_pVCur.X0)).X0)) func() int32 { if ((*Xsqlite3_vtab)(unsafe.Pointer(_7_pVCur.X0)).X1) > i32(0) { return i32(0) } return func() int32 { 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(59700))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr(_7_pVCur.X0) + uintptr(8 /* X1 */))) -= 1 (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_7_pModule.X7)})))(tls, _7_pVCur) goto _8 _8: return } var _sqlite3VdbeFreeCursorØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeFreeCursorØ00__func__Ø000[0], str(59724), 22) } func _sqlite3VdbeSorterClose(tls *crt.TLS, _db *Xsqlite3, _pCsr *XVdbeCursor) { // sqlite3.c:87109:1 var _pSorter *XVdbeSorter // sqlite3.c:87110:14 _ = _pSorter func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) if _pSorter == nil { goto _2 } _sqlite3VdbeSorterReset(tls, _db, _pSorter) Xsqlite3_free(tls, (unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSorter)) *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) = (*XVdbeSorter)(unsafe.Pointer(uintptr(i32(0)))) _2: return } var _sqlite3VdbeSorterCloseØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterCloseØ00__func__Ø000[0], str(59780), 23) } func _sqlite3VdbeSorterReset(tls *crt.TLS, _db *Xsqlite3, _pSorter *XVdbeSorter) { // sqlite3.c:87076:1 var _i int32 // sqlite3.c:87077:7 _ = _i var _2_pTask *XSortSubtask // sqlite3.c:87090:17 _ = _2_pTask _vdbeSorterJoinAll(tls, _pSorter, i32(0)) func() int32 { if ((_pSorter.X13) != 0) || ((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(59804))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == nil { goto _3 } _vdbePmaReaderClear(tls, (*XPmaReader)(unsafe.Pointer(_pSorter.X4))) _sqlite3DbFree(tls, _db, _pSorter.X4) *(**XPmaReader)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(16 /* X4 */))))) = (*XPmaReader)(unsafe.Pointer(uintptr(i32(0)))) _3: _vdbeMergeEngineFree(tls, (*XMergeEngine)(unsafe.Pointer(_pSorter.X5))) *(**XMergeEngine)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(24 /* X5 */))))) = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _i = i32(0) _4: if _i >= int32(_pSorter.X15) { goto _7 } _2_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(_i))) _vdbeSortSubtaskCleanup(tls, _db, _2_pTask) *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pTask)) + uintptr(16 /* X2 */))))) = _pSorter _i += 1 goto _4 _7: if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } _vdbeSorterRecordFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0))) _8: *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(16 /* X2 */))) = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(88 /* X12 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(80 /* X10 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(8 /* X2 */))) = i32(0) _sqlite3DbFree(tls, _db, _pSorter.X8) *(**XUnpackedRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(48 /* X8 */))))) = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) return } func _vdbeSorterJoinAll(tls *crt.TLS, _pSorter *XVdbeSorter, _rcin int32) (r0 int32) { // sqlite3.c:86992:1 var _rc int32 // sqlite3.c:86993:7 _ = _rc var _i int32 // sqlite3.c:86994:7 _ = _i var _1_pTask *XSortSubtask // sqlite3.c:87004:17 _ = _1_pTask var _1_rc2 int32 // sqlite3.c:87005:9 _ = _1_rc2 _rc = _rcin _i = int32(_pSorter.X15) - i32(1) _0: if _i < i32(0) { goto _3 } _1_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(_i))) _1_rc2 = _vdbeSorterJoinThread(tls, _1_pTask) if _rc != i32(0) { goto _4 } _rc = _1_rc2 _4: _i -= 1 goto _0 _3: r0 = _rc return } func _vdbeSorterJoinThread(tls *crt.TLS, _pTask *XSortSubtask) (r0 int32) { // sqlite3.c:86958:1 var _rc int32 // sqlite3.c:86959:7 _ = _rc var _1_pRet unsafe.Pointer // sqlite3.c:86964:10 _ = _1_pRet _rc = i32(0) if (*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) == nil { goto _0 } _1_pRet = (unsafe.Pointer)(uintptr(1)) _sqlite3ThreadJoin(tls, (*XSQLiteThread)(unsafe.Pointer(_pTask.X0)), &_1_pRet) _rc = int32(int64(uintptr(unsafe.Pointer(_1_pRet)))) func() int32 { if (_pTask.X1) == i32(1) { return i32(0) } return func() int32 { 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(59848))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(8 /* X1 */))) = i32(0) *(**XSQLiteThread)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(0 /* X0 */))))) = (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) _0: r0 = _rc return } func _sqlite3ThreadJoin(tls *crt.TLS, _p *XSQLiteThread, _ppOut *unsafe.Pointer) (r0 int32) { // sqlite3.c:26892:1 var _rc int32 // sqlite3.c:26893:7 _ = _rc func() int32 { if _ppOut != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26895), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(59864))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if _p == (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26896), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _4 } r0 = _sqlite3NomemError(tls, i32(26896)) return _4: if (_p.X1) == 0 { goto _5 } *_ppOut = _p.X2 _rc = i32(0) goto _6 _5: _rc = func() int32 { if crt.Xpthread_join(tls, _p.X0, _ppOut) != 0 { return i32(1) } return i32(0) }() _6: Xsqlite3_free(tls, (unsafe.Pointer)(_p)) r0 = _rc return } var _sqlite3ThreadJoinØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ThreadJoinØ00__func__Ø000[0], str(59876), 18) } var _vdbeSorterJoinThreadØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterJoinThreadØ00__func__Ø000[0], str(59896), 21) } var _sqlite3VdbeSorterResetØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterResetØ00__func__Ø000[0], str(59920), 23) } func _vdbePmaReaderClear(tls *crt.TLS, _pReadr *XPmaReader) { // sqlite3.c:86318:1 Xsqlite3_free(tls, (unsafe.Pointer)(_pReadr.X5)) Xsqlite3_free(tls, (unsafe.Pointer)(_pReadr.X7)) if (_pReadr.X9) == nil { goto _0 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pReadr.X4)), int64(i32(0)), (unsafe.Pointer)(_pReadr.X9)) _0: _vdbeIncrFree(tls, (*XIncrMerger)(unsafe.Pointer(_pReadr.X10))) crt.Xmemset(tls, (unsafe.Pointer)(_pReadr), i32(0), u64(80)) return } func _vdbeIncrFree(tls *crt.TLS, _pIncr *XIncrMerger) { // sqlite3.c:87059:1 if _pIncr == nil { goto _0 } if (_pIncr.X5) == 0 { goto _1 } _vdbeSorterJoinThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0))) if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */)))))+16*uintptr(i32(0)))).X0)) == nil { goto _2 } _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */)))))+16*uintptr(i32(0)))).X0))) _2: if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */)))))+16*uintptr(i32(1)))).X0)) == nil { goto _3 } _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */)))))+16*uintptr(i32(1)))).X0))) _3: _1: _vdbeMergeEngineFree(tls, (*XMergeEngine)(unsafe.Pointer(_pIncr.X1))) Xsqlite3_free(tls, (unsafe.Pointer)(_pIncr)) _0: return } func _sqlite3OsCloseFree(tls *crt.TLS, _pFile *Xsqlite3_file) { // sqlite3.c:20355:1 func() int32 { if _pFile != nil { return i32(0) } return func() int32 { 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(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OsClose(tls, _pFile) Xsqlite3_free(tls, (unsafe.Pointer)(_pFile)) return } var _sqlite3OsCloseFreeØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3OsCloseFreeØ00__func__Ø000[0], str(59952), 19) } func _vdbeMergeEngineFree(tls *crt.TLS, _pMerger *XMergeEngine) { // sqlite3.c:87045:1 var _i int32 // sqlite3.c:87046:7 _ = _i if _pMerger == nil { goto _0 } _i = i32(0) _1: if _i >= (_pMerger.X0) { goto _4 } _vdbePmaReaderClear(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+80*uintptr(_i)))) _i += 1 goto _1 _4: _0: Xsqlite3_free(tls, (unsafe.Pointer)(_pMerger)) return } func _vdbeSortSubtaskCleanup(tls *crt.TLS, _db *Xsqlite3, _pTask *XSortSubtask) { // sqlite3.c:86893:1 _sqlite3DbFree(tls, _db, _pTask.X3) if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(32 /* X4 */))).X1) == nil { goto _0 } Xsqlite3_free(tls, (unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(32 /* X4 */))).X1)) goto _1 _0: func() int32 { if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(32 /* X4 */))).X1) == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(59972))) crt.X__builtin_abort(tls) return i32(0) }() }() _vdbeSorterRecordFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(32 /* X4 */))).X0))) _1: if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X0)) == nil { goto _4 } _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X0))) _4: if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))).X0)) == nil { goto _5 } _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))).X0))) _5: crt.Xmemset(tls, (unsafe.Pointer)(_pTask), i32(0), u64(104)) return } var _vdbeSortSubtaskCleanupØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSortSubtaskCleanupØ00__func__Ø000[0], str(59996), 23) } func _vdbeSorterRecordFree(tls *crt.TLS, _db *Xsqlite3, _pRecord *XSorterRecord) { // sqlite3.c:86880:1 var _p *XSorterRecord // sqlite3.c:86881:16 _ = _p var _pNext *XSorterRecord // sqlite3.c:86882:16 _ = _pNext _p = _pRecord _0: if _p == nil { goto _3 } _pNext = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) _p = _pNext goto _0 _3: return } func _sqlite3VdbeDeleteAuxData(tls *crt.TLS, _db *Xsqlite3, _pp **XAuxData, _iOp int32, _mask int32) { // sqlite3.c:74297:1 var _1_pAux *XAuxData // sqlite3.c:74299:13 _ = _1_pAux _0: if (*_pp) == nil { goto _1 } _1_pAux = *_pp if _iOp >= i32(0) && ((_1_pAux.X0) != _iOp || (_1_pAux.X1) <= i32(31) && (uint32(_mask)&(u32(1)<= (_p.X15) { goto _3 } _sqlite3VdbeFreeCursor(tls, (*TVdbe)(unsafe.Pointer(_p.X0)), *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apCsr)) + 8*uintptr(_i)))) _i += 1 goto _0 _3: _releaseMemArray(tls, _aMem, _p.X14) _sqlite3VdbeDeleteAuxData(tls, (*Xsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(_p.X0)).X0)), (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(72 /* X9 */))))), i32(-1), i32(0)) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(_p.X0)).X0)), (unsafe.Pointer)(_p)) return } func _checkActiveVdbeCnt(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:73805:1 var _p *TVdbe // sqlite3.c:73806:8 _ = _p var _cnt int32 // sqlite3.c:73807:7 _ = _cnt var _nWrite int32 // sqlite3.c:73808:7 _ = _nWrite var _nRead int32 // sqlite3.c:73809:7 _ = _nRead _cnt = i32(0) _nWrite = i32(0) _nRead = i32(0) _p = (*TVdbe)(unsafe.Pointer(_db.X1)) _0: if _p == nil { goto _1 } if Xsqlite3_stmt_busy(tls, (unsafe.Pointer)(_p)) == 0 { goto _2 } _cnt += 1 if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) != i32(0) { goto _3 } _nWrite += 1 _3: if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _4 } _nRead += 1 _4: _2: _p = (*TVdbe)(unsafe.Pointer(_p.X2)) goto _0 _1: func() int32 { if _cnt == (_db.X34) { return i32(0) } return func() int32 { 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(60036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nWrite == (_db.X36) { return i32(0) } return func() int32 { 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(60060))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nRead == (_db.X35) { return i32(0) } return func() int32 { 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(60084))) crt.X__builtin_abort(tls) return i32(0) }() }() return } func Xsqlite3_stmt_busy(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77563:12 var _v *TVdbe // sqlite3.c:77564:8 _ = _v _v = (*TVdbe)(unsafe.Pointer(_pStmt)) r0 = bool2int(((_v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0))))) && ((_v.X5) == uint32(i32(770837923)))) && ((_v.X9) >= i32(0))) return } var _checkActiveVdbeCntØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_checkActiveVdbeCntØ00__func__Ø000[0], str(60108), 19) } func _sqlite3VdbeEnter(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:72772:1 var _i int32 // sqlite3.c:72773:7 _ = _i var _db *Xsqlite3 // sqlite3.c:72774:11 _ = _db var _aDb *XDb // sqlite3.c:72775:6 _ = _aDb var _nDb int32 // sqlite3.c:72776:7 _ = _nDb if (_p.X34) != uint32(i32(0)) { goto _0 } return _0: _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _aDb = (*XDb)(unsafe.Pointer(_db.X4)) _nDb = _db.X5 _i = i32(0) _1: if _i >= _nDb { goto _4 } if _i == i32(1) || ((_p.X34)&(u32(1)<= _nDb { goto _3 } if _i == i32(1) || ((_p.X34)&(u32(1)<= (_db.X5) { goto _4 } _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _sqlite3BtreeIsInTrans(tls, _1_pBt) == 0 { goto _5 } _needXcommit = i32(1) _sqlite3BtreeEnter(tls, _1_pBt) _2_pPager = _sqlite3BtreePager(tls, _1_pBt) if int32((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X2) == i32(1) || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_vdbeCommitØ00aMJNeededØ001)) + 1*uintptr(_sqlite3PagerGetJournalMode(tls, _2_pPager))))) == 0 { goto _7 } func() int32 { if _i != i32(1) { return i32(0) } return func() int32 { 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(60208))) crt.X__builtin_abort(tls) return i32(0) }() }() _nTrans += 1 _7: _rc = _sqlite3PagerExclusiveLock(tls, _2_pPager) _sqlite3BtreeLeave(tls, _1_pBt) _5: _i += 1 goto _0 _4: if _rc == i32(0) { goto _10 } r0 = _rc return _10: if _needXcommit == 0 || (_db.X46) == nil { goto _12 } _rc = (_db.X46)(tls, _db.X45) if _rc == 0 { goto _13 } r0 = i32(531) return _13: _12: if i32(0) != _sqlite3Strlen30(tls, _sqlite3BtreeGetFilename(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1)))) && _nTrans > i32(1) { goto _15 } _i = i32(0) _16: if _rc != i32(0) || _i >= (_db.X5) { goto _20 } _8_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _8_pBt == nil { goto _21 } _rc = _sqlite3BtreeCommitPhaseOne(tls, _8_pBt, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _21: _i += 1 goto _16 _20: _i = i32(0) _22: if _rc != i32(0) || _i >= (_db.X5) { goto _26 } _10_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _10_pBt == nil { goto _27 } _rc = _sqlite3BtreeCommitPhaseTwo(tls, _10_pBt, i32(0)) _27: _i += 1 goto _22 _26: if _rc != i32(0) { goto _28 } _sqlite3VtabCommit(tls, _db) _28: goto _29 _15: _13_pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)) _13_zMaster = nil _13_zMainFile = _sqlite3BtreeGetFilename(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1))) _13_pMaster = nil _13_offset = i64(0) _13_retryCount = i32(0) _13_nMainFile = _sqlite3Strlen30(tls, _13_zMainFile) _13_zMaster = _sqlite3MPrintf(tls, _db, str(60216), unsafe.Pointer(_13_zMainFile)) if _13_zMaster != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _30 } r0 = _sqlite3NomemError(tls, i32(73665)) return _30: _31: if _13_retryCount == 0 { goto _32 } if _13_retryCount <= i32(100) { goto _33 } Xsqlite3_log(tls, i32(13), str(60232), unsafe.Pointer(_13_zMaster)) _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(0)) goto _34 _33: if _13_retryCount != i32(1) { goto _36 } Xsqlite3_log(tls, i32(13), str(60248), unsafe.Pointer(_13_zMaster)) _36: _32: _13_retryCount += 1 Xsqlite3_randomness(tls, int32(u64(4)), (unsafe.Pointer)(&_14_iRandom)) Xsqlite3_snprintf(tls, i32(13), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_zMaster))+1*uintptr(_13_nMainFile))), str(60264), (_14_iRandom>>uint(i32(8)))&uint32(i32(16777215)), _14_iRandom&uint32(i32(255))) func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_zMaster)) + 1*uintptr(_sqlite3Strlen30(tls, _13_zMaster)-i32(3))))) == i32(57) { return i32(0) } return func() int32 { 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(60280))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsAccess(tls, _13_pVfs, _13_zMaster, i32(0), &_13_res) if (_rc == i32(0)) && _13_res != 0 { goto _31 } _34: if _rc != i32(0) { goto _40 } _rc = _sqlite3OsOpenMalloc(tls, _13_pVfs, _13_zMaster, &_13_pMaster, i32(16406), (*int32)(unsafe.Pointer(uintptr(i32(0))))) _40: if _rc == i32(0) { goto _41 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) r0 = _rc return _41: _i = i32(0) _42: if _i >= (_db.X5) { goto _45 } _20_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _sqlite3BtreeIsInTrans(tls, _20_pBt) == 0 { goto _46 } _21_zFile = _sqlite3BtreeGetJournalname(tls, _20_pBt) if _21_zFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _47 } goto _43 _47: func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_zFile)) + 1*uintptr(i32(0))))) != i32(0) { return i32(0) } return func() int32 { 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(60324))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3OsWrite(tls, _13_pMaster, (unsafe.Pointer)(_21_zFile), _sqlite3Strlen30(tls, _21_zFile)+i32(1), _13_offset) { p := &_13_offset *p = (*p) + int64(_sqlite3Strlen30(tls, _21_zFile)+i32(1)) sink967 = *p } if _rc == i32(0) { goto _50 } _sqlite3OsCloseFree(tls, _13_pMaster) _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(0)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) r0 = _rc return _50: _46: _43: _i += 1 goto _42 _45: if i32(0) != (_sqlite3OsDeviceCharacteristics(tls, _13_pMaster)&i32(1024)) || i32(0) == store961(&_rc, _sqlite3OsSync(tls, _13_pMaster, i32(2))) { goto _52 } _sqlite3OsCloseFree(tls, _13_pMaster) _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(0)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) r0 = _rc return _52: _i = i32(0) _53: if _rc != i32(0) || _i >= (_db.X5) { goto _57 } _25_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _25_pBt == nil { goto _58 } _rc = _sqlite3BtreeCommitPhaseOne(tls, _25_pBt, _13_zMaster) _58: _i += 1 goto _53 _57: _sqlite3OsCloseFree(tls, _13_pMaster) func() int32 { if _rc != i32(5) { return i32(0) } return func() int32 { 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(60336))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc == i32(0) { goto _61 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) r0 = _rc return _61: _rc = _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) _13_zMaster = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if _rc == 0 { goto _62 } r0 = _rc return _62: _sqlite3BeginBenignMalloc(tls) _i = i32(0) _63: if _i >= (_db.X5) { goto _66 } _29_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _29_pBt == nil { goto _67 } _sqlite3BtreeCommitPhaseTwo(tls, _29_pBt, i32(1)) _67: _i += 1 goto _63 _66: _sqlite3EndBenignMalloc(tls) _sqlite3VtabCommit(tls, _db) _29: r0 = _rc return } func _sqlite3VtabSync(tls *crt.TLS, _db *Xsqlite3, _p *TVdbe) (r0 int32) { // sqlite3.c:125410:1 var _i int32 // sqlite3.c:125411:7 _ = _i var _rc int32 // sqlite3.c:125412:7 _ = _rc var _aVTrans **XVTable // sqlite3.c:125413:10 _ = _aVTrans var _1_x func(*crt.TLS, *Xsqlite3_vtab) int32 // sqlite3.c:125417:9 _ = _1_x var _1_pVtab *Xsqlite3_vtab // sqlite3.c:125418:18 _ = _1_pVtab _rc = i32(0) _aVTrans = (**XVTable)(unsafe.Pointer(_db.X67)) *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(472 /* X67 */))))) = (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) _i = i32(0) _0: if _rc != i32(0) || _i >= (_db.X64) { goto _4 } _1_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aVTrans)) + 8*uintptr(_i)))).X2)) if _1_pVtab == nil || *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{store6546733(&_1_x, *(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_1_pVtab.X0)).X15)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{nil})) { goto _6 } _rc = _1_x(tls, _1_pVtab) _sqlite3VtabImportErrmsg(tls, _p, _1_pVtab) _6: _i += 1 goto _0 _4: *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(472 /* X67 */))))) = _aVTrans r0 = _rc return } func _sqlite3VtabImportErrmsg(tls *crt.TLS, _p *TVdbe, _pVtab *Xsqlite3_vtab) { // sqlite3.c:75903:1 var _1_db *Xsqlite3 // sqlite3.c:75905:13 _ = _1_db if (_pVtab.X2) == nil { goto _0 } _1_db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_p.X22)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = _sqlite3DbStrDup(tls, _1_db, _pVtab.X2) Xsqlite3_free(tls, (unsafe.Pointer)(_pVtab.X2)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVtab)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _0: return } var _vdbeCommitØ00aMJNeededØ001 [6]uint8 // sqlite3.c:73578:23 func init() { _vdbeCommitØ00aMJNeededØ001 = [6]uint8{1, 1, 0, 1, 0, 0} } func _sqlite3PagerGetJournalMode(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54101:1 r0 = int32(_pPager.X2) return } var _vdbeCommitØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeCommitØ00__func__Ø000[0], str(60352), 11) } func _sqlite3BtreeGetFilename(tls *crt.TLS, _p *XBtree) (r0 *int8) { // sqlite3.c:68536:1 func() int32 { if (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)) != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(60364))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3PagerFilename(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)), i32(1)) return } var _sqlite3BtreeGetFilenameØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeGetFilenameØ00__func__Ø000[0], str(60384), 24) } func _sqlite3PagerFilename(tls *crt.TLS, _pPager *XPager, _nullIfMemDb int32) (r0 *int8) { // sqlite3.c:53695:1 r0 = func() *int8 { if _nullIfMemDb != 0 && ((_pPager.X13) != 0) { return str(196) } return (_pPager.X51) }() return } func _sqlite3VtabCommit(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125441:1 _callFinaliser(tls, _db, int32(u64(128))) r0 = i32(0) return } func _sqlite3OsOpenMalloc(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFile *int8, _ppFile **Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) { // sqlite3.c:20333:1 var _rc int32 // sqlite3.c:20340:7 _ = _rc var _pFile *Xsqlite3_file // sqlite3.c:20341:16 _ = _pFile _pFile = (*Xsqlite3_file)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_pVfs.X1)))) if _pFile == nil { goto _0 } _rc = _sqlite3OsOpen(tls, _pVfs, _zFile, _pFile, _flags, _pOutFlags) if _rc == i32(0) { goto _1 } Xsqlite3_free(tls, (unsafe.Pointer)(_pFile)) goto _2 _1: *_ppFile = _pFile _2: goto _3 _0: _rc = _sqlite3NomemError(tls, i32(20351)) _3: r0 = _rc return } func _sqlite3BtreeGetJournalname(tls *crt.TLS, _p *XBtree) (r0 *int8) { // sqlite3.c:68549:1 func() int32 { if (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)) != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(60364))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3PagerJournalname(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0))) return } var _sqlite3BtreeGetJournalnameØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeGetJournalnameØ00__func__Ø000[0], str(60408), 27) } func _sqlite3PagerJournalname(tls *crt.TLS, _pPager *XPager) (r0 *int8) { // sqlite3.c:53730:1 r0 = _pPager.X52 return } func _sqlite3CommitInternalChanges(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:100014:1 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-3) sink961 = *p } return } func _sqlite3VdbeCloseStatement(tls *crt.TLS, _p *TVdbe, _eOp int32) (r0 int32) { // sqlite3.c:73883:1 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X76) == 0 || (_p.X12) == 0 { goto _1 } r0 = _vdbeCloseStatement(tls, _p, _eOp) return _1: r0 = i32(0) return } func _vdbeCloseStatement(tls *crt.TLS, _p *TVdbe, _eOp int32) (r0 int32) { // sqlite3.c:73837:1 var _db *Xsqlite3 // sqlite3.c:73838:11 _ = _db var _rc int32 // sqlite3.c:73839:7 _ = _rc var _i int32 // sqlite3.c:73840:7 _ = _i var _iSavepoint int32 // sqlite3.c:73841:13 _ = _iSavepoint var _1_rc2 int32 // sqlite3.c:73848:9 _ = _1_rc2 var _1_pBt *XBtree // sqlite3.c:73849:11 _ = _1_pBt _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _rc = i32(0) _iSavepoint = (_p.X12) - i32(1) func() int32 { if (_eOp == i32(2)) || (_eOp == i32(1)) { return i32(0) } return func() int32 { 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(60436))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_db.X76) > i32(0) { return i32(0) } return func() int32 { 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(60488))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X12) == ((_db.X76) + (_db.X75)) { return i32(0) } return func() int32 { 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(60508))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _7: if _i >= (_db.X5) { goto _10 } _1_rc2 = i32(0) _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _1_pBt == nil { goto _11 } if _eOp != i32(2) { goto _12 } _1_rc2 = _sqlite3BtreeSavepoint(tls, _1_pBt, i32(2), _iSavepoint) _12: if _1_rc2 != i32(0) { goto _13 } _1_rc2 = _sqlite3BtreeSavepoint(tls, _1_pBt, i32(1), _iSavepoint) _13: if _rc != i32(0) { goto _14 } _rc = _1_rc2 _14: _11: _i += 1 goto _7 _10: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(640 /* X76 */))) -= 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X12 */))) = i32(0) if _rc != i32(0) { goto _15 } if _eOp != i32(2) { goto _16 } _rc = _sqlite3VtabSavepoint(tls, _db, i32(2), _iSavepoint) _16: if _rc != i32(0) { goto _17 } _rc = _sqlite3VtabSavepoint(tls, _db, i32(1), _iSavepoint) _17: _15: if _eOp != i32(2) { goto _18 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(648 /* X77 */))) = _p.X15 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(656 /* X78 */))) = _p.X16 _18: r0 = _rc return } var _vdbeCloseStatementØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeCloseStatementØ00__func__Ø000[0], str(60556), 19) } func _sqlite3BtreeSavepoint(tls *crt.TLS, _p *XBtree, _op int32, _iSavepoint int32) (r0 int32) { // sqlite3.c:63055:1 var _rc int32 // sqlite3.c:63056:7 _ = _rc var _1_pBt *XBtShared // sqlite3.c:63058:14 _ = _1_pBt _rc = i32(0) if _p == nil || int32(_p.X2) != i32(2) { goto _1 } _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if (_op == i32(1)) || (_op == i32(2)) { return i32(0) } return func() int32 { 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(13964))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iSavepoint >= i32(0)) || ((_iSavepoint == i32(-1)) && (_op == i32(2))) { return i32(0) } return func() int32 { 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(60576))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) if _op != i32(2) { goto _9 } _rc = _saveAllCursors(tls, _1_pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) _9: if _rc != i32(0) { goto _10 } _rc = _sqlite3PagerSavepoint(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), _op, _iSavepoint) _10: if _rc != i32(0) { goto _11 } if _iSavepoint >= i32(0) || (int32(_1_pBt.X10)&i32(8)) == i32(0) { goto _13 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(60 /* X18 */))) = uint32(i32(0)) _13: _rc = _newDatabase(tls, _1_pBt) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(60 /* 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))))) func() int32 { if (_1_pBt.X18) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(60636))) crt.X__builtin_abort(tls) return i32(0) }() }() _11: _sqlite3BtreeLeave(tls, _p) _1: r0 = _rc return } var _sqlite3BtreeSavepointØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSavepointØ00__func__Ø000[0], str(60652), 22) } func _sqlite3VtabSavepoint(tls *crt.TLS, _db *Xsqlite3, _op int32, _iSavepoint int32) (r0 int32) { // sqlite3.c:125514:1 var _rc int32 // sqlite3.c:125515:7 _ = _rc var _1_i int32 // sqlite3.c:125520:9 _ = _1_i var _2_pVTab *XVTable // sqlite3.c:125522:14 _ = _2_pVTab var _2_pMod *Xsqlite3_module // sqlite3.c:125523:28 _ = _2_pMod var _3_xMethod func(*crt.TLS, *Xsqlite3_vtab, int32) int32 // sqlite3.c:125525:13 _ = _3_xMethod _rc = i32(0) func() int32 { if ((_op == i32(1)) || (_op == i32(2))) || (_op == i32(0)) { return i32(0) } return func() int32 { 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(60676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iSavepoint >= i32(-1) { return i32(0) } return func() int32 { 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(60744))) crt.X__builtin_abort(tls) return i32(0) }() }() if (**XVTable)(unsafe.Pointer(_db.X67)) == nil { goto _6 } _1_i = i32(0) _7: if _rc != i32(0) || _1_i >= (_db.X64) { goto _11 } _2_pVTab = *(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X67)) + 8*uintptr(_1_i))) _2_pMod = (*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer(_2_pVTab.X1)).X0)) if (*Xsqlite3_vtab)(unsafe.Pointer(_2_pVTab.X2)) == nil || (_2_pMod.X0) < i32(2) { goto _13 } switch _op { case i32(0): goto _15 case i32(2): goto _16 default: goto _17 } _15: _3_xMethod = *(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_2_pMod.X20)})) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pVTab)) + uintptr(32 /* X5 */))) = _iSavepoint + i32(1) goto _18 _16: _3_xMethod = *(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_2_pMod.X22)})) goto _18 _17: _3_xMethod = *(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_2_pMod.X21)})) goto _18 _18: if _3_xMethod == nil || (_2_pVTab.X5) <= _iSavepoint { goto _20 } _rc = _3_xMethod(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_2_pVTab.X2)), _iSavepoint) _20: _13: _1_i += 1 goto _7 _11: _6: r0 = _rc return } var _sqlite3VtabSavepointØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabSavepointØ00__func__Ø000[0], str(60760), 21) } func _sqlite3VdbeSetChanges(tls *crt.TLS, _db *Xsqlite3, _nChange int32) { // sqlite3.c:75821:1 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(104 /* X29 */))) = _nChange { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(108 /* X30 */))) *p = (*p) + _nChange sink961 = *p } return } var _sqlite3VdbeSetChangesØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSetChangesØ00__func__Ø000[0], str(60784), 22) } func _sqlite3VdbeTransferError(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:74142:1 var _db *Xsqlite3 // sqlite3.c:74143:11 _ = _db var _rc int32 // sqlite3.c:74144:7 _ = _rc _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _rc = _p.X10 if (_p.X22) == nil { goto _0 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(86 /* X18 */))) += 1 _sqlite3BeginBenignMalloc(tls) if (*XMem)(unsafe.Pointer(_db.X56)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(328 /* X56 */))))) = _sqlite3ValueNew(tls, _db) _1: _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 uint64 }{u64(18446744073709551615)}))) _sqlite3EndBenignMalloc(tls) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(86 /* X18 */))) -= 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = _rc goto _2 _0: _sqlite3Error(tls, _db, _rc) _2: r0 = _rc return } func _Cleanup(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:73467:1 var _db *Xsqlite3 // sqlite3.c:73468:11 _ = _db var _i int32 // sqlite3.c:73473:7 _ = _i _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) if (**XVdbeCursor)(unsafe.Pointer(_p.X23)) == nil { goto _0 } _i = i32(0) _1: if _i >= (_p.X7) { goto _4 } func() int32 { if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_i)))) == (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(60808))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _1 _4: _0: if (*XMem)(unsafe.Pointer(_p.X18)) == nil { goto _7 } _i = i32(0) _8: if _i >= (_p.X6) { goto _11 } func() int32 { if int32((*XMem)(unsafe.Pointer(uintptr(_p.X18)+72*uintptr(_i))).X1) == i32(128) { return i32(0) } return func() int32 { 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(60824))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _8 _11: _7: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(136 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) return } var _CleanupØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_CleanupØ00__func__Ø000[0], str(60856), 8) } var _sqlite3VdbeFinalizeØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeFinalizeØ00__func__Ø000[0], str(60864), 20) } func _sqlite3VdbeDelete(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:74354:1 var _db *Xsqlite3 // sqlite3.c:74355:11 _ = _db if func() int32 { if _p == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } return _2: _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeClearObject(tls, _db, _p) if (*TVdbe)(unsafe.Pointer(_p.X1)) == nil { goto _5 } *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X1) + uintptr(16 /* X2 */))))) = (*TVdbe)(unsafe.Pointer(_p.X2)) goto _6 _5: func() int32 { if (*TVdbe)(unsafe.Pointer(_db.X1)) == _p { return i32(0) } return func() int32 { 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(60884))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(8 /* X1 */))))) = (*TVdbe)(unsafe.Pointer(_p.X2)) _6: if (*TVdbe)(unsafe.Pointer(_p.X2)) == nil { goto _9 } *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X2) + uintptr(8 /* X1 */))))) = (*TVdbe)(unsafe.Pointer(_p.X1)) _9: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X5 */))) = uint32(i32(1443283912)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } var _sqlite3VdbeDeleteØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeDeleteØ00__func__Ø000[0], str(60900), 18) } func _sqlite3VdbeClearObject(tls *crt.TLS, _db *Xsqlite3, _p *TVdbe) { // sqlite3.c:74323:1 var _pSub *XSubProgram // sqlite3.c:74324:14 _ = _pSub var _pNext *XSubProgram // sqlite3.c:74324:21 _ = _pNext func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_p.X0)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || ((*Xsqlite3)(unsafe.Pointer(_p.X0)) == _db) { return i32(0) } return func() int32 { 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(60920))) crt.X__builtin_abort(tls) return i32(0) }() }() _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X20)), int32(_p.X29)*i32(2)) _pSub = (*XSubProgram)(unsafe.Pointer(_p.X42)) _3: if _pSub == nil { goto _6 } _pNext = (*XSubProgram)(unsafe.Pointer(_pSub.X6)) _vdbeFreeOpArray(tls, _db, (*XVdbeOp)(unsafe.Pointer(_pSub.X0)), _pSub.X1) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSub)) _pSub = _pNext goto _3 _6: if (_p.X5) == uint32(i32(381479589)) { goto _7 } _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X24)), int32(_p.X4)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X25)) _sqlite3DbFree(tls, _db, _p.X37) _7: _vdbeFreeOpArray(tls, _db, (*XVdbeOp)(unsafe.Pointer(_p.X17)), _p.X27) _sqlite3DbFree(tls, _db, _p.X20) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X36)) return } var _sqlite3VdbeClearObjectØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeClearObjectØ00__func__Ø000[0], str(60944), 23) } func _vdbeFreeOpArray(tls *crt.TLS, _db *Xsqlite3, _aOp *XVdbeOp, _nOp int32) { // sqlite3.c:72208:1 var _1_pOp *XVdbeOp // sqlite3.c:72210:8 _ = _1_pOp if _aOp == nil { goto _0 } _1_pOp = _aOp _1: if uintptr(unsafe.Pointer(_1_pOp)) >= uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr(_nOp))))) { goto _4 } if (_1_pOp.X1) == 0 { goto _5 } _freeP4(tls, _db, int32(_1_pOp.X1), *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */)))))) _5: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pOp.X7)) *(*uintptr)(unsafe.Pointer(&_1_pOp)) += uintptr(32) goto _1 _4: _0: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aOp)) return } func _sqlite3ParserReset(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:115888:1 var _1_db *Xsqlite3 // sqlite3.c:115890:13 _ = _1_db if _pParse == nil { goto _0 } _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_pParse.X26)) _sqlite3ExprListDelete(tls, _1_db, (*XExprList)(unsafe.Pointer(_pParse.X27))) if _1_db == nil { goto _1 } func() int32 { if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db)) + uintptr(344 /* X58 */))).X0) >= uint32(_pParse.X12) { return i32(0) } return func() int32 { 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(60968))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) *p = (*p) - uint32(_pParse.X12) sink985 = *p } _1: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X12 */))) = uint8(i32(0)) _0: return } var _sqlite3ParserResetØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ParserResetØ00__func__Ø000[0], str(61020), 19) } func Xsqlite3_finalize(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76101:12 var _rc int32 // sqlite3.c:76102:7 _ = _rc var _2_v *TVdbe // sqlite3.c:76108:10 _ = _2_v var _2_db *Xsqlite3 // sqlite3.c:76109:13 _ = _2_db if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } _rc = i32(0) goto _1 _0: _2_v = (*TVdbe)(unsafe.Pointer(_pStmt)) _2_db = (*Xsqlite3)(unsafe.Pointer(_2_v.X0)) if _vdbeSafety(tls, _2_v) == 0 { goto _2 } r0 = _sqlite3MisuseError(tls, i32(76110)) return _2: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_2_db.X3))) if (_2_v.X26) <= int64(i32(0)) { goto _3 } _invokeProfileCallback(tls, _2_db, _2_v) _3: _rc = _sqlite3VdbeFinalize(tls, _2_v) _rc = _sqlite3ApiExit(tls, _2_db, _rc) _sqlite3LeaveMutexAndCloseZombie(tls, _2_db) _1: r0 = _rc return } func _invokeProfileCallback(tls *crt.TLS, _db *Xsqlite3, _p *TVdbe) { // sqlite3.c:76065:1 var _iNow int64 // sqlite3.c:76066:17 _ = _iNow var _iElapse int64 // sqlite3.c:76067:17 _ = _iElapse func() int32 { if (_p.X26) > int64(i32(0)) { return i32(0) } return func() int32 { 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(61040))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8, uint64) }{(_db.X43)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8, uint64) }{nil}))) || ((int32(_db.X24) & i32(2)) != i32(0)) { return i32(0) } return func() int32 { 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(61056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == i32(0) { return i32(0) } return func() int32 { 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(51368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X36) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(61116))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OsCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), &_iNow) _iElapse = (_iNow - (_p.X26)) * int64(i32(1000000)) if (_db.X43) == nil { goto _9 } (_db.X43)(tls, _db.X44, _p.X36, uint64(_iElapse)) _9: if (int32(_db.X24) & i32(2)) == 0 { goto _10 } (_db.X41)(tls, uint32(i32(2)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(&_iElapse)) _10: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(176 /* X26 */))) = int64(i32(0)) return } var _invokeProfileCallbackØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_invokeProfileCallbackØ00__func__Ø000[0], str(61128), 22) } var _sqlite3LockAndPrepareØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3LockAndPrepareØ00__func__Ø000[0], str(61152), 22) } var _sqlite3_prepareØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_prepareØ00__func__Ø000[0], str(61176), 16) } func Xsqlite3_errmsg(tls *crt.TLS, _db *Xsqlite3) (r0 *int8) { // sqlite3.c:142137:12 var _z *int8 // sqlite3.c:142138:14 _ = _z if _db != nil { goto _0 } r0 = _sqlite3ErrStr(tls, _sqlite3NomemError(tls, i32(142140))) return _0: if _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { goto _1 } r0 = _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, i32(142143))) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if (_db.X17) == 0 { goto _2 } _z = _sqlite3ErrStr(tls, _sqlite3NomemError(tls, i32(142147))) goto _3 _2: _z = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, (*XMem)(unsafe.Pointer(_db.X56))))) func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _z = _sqlite3ErrStr(tls, _db.X10) _6: _3: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _z return } func _sqlite3ErrStr(tls *crt.TLS, _rc int32) (r0 *int8) { // sqlite3.c:141302:1 var _zErr *int8 // sqlite3.c:141332:14 _ = _zErr _zErr = str(61192) switch _rc { case i32(516): goto _1 default: goto _2 } _1: _zErr = str(61208) goto _3 _2: { p := &_rc *p = (*p) & i32(255) sink961 = *p } if func() int32 { if _rc >= i32(0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || _rc >= i32(27) || (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3ErrStrØ00aMsgØ001)) + 8*uintptr(_rc)))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } _zErr = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3ErrStrØ00aMsgØ001)) + 8*uintptr(_rc))) _8: goto _3 _3: r0 = _zErr return } var _sqlite3ErrStrØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ErrStrØ00__func__Ø000[0], str(61232), 14) } var _sqlite3ErrStrØ00aMsgØ001 [27]*int8 // sqlite3.c:141303:20 func init() { _sqlite3ErrStrØ00aMsgØ001 = [27]*int8{str(61248), str(61264), nil, str(61300), str(61328), str(61360), str(61380), str(61408), str(61424), str(61464), str(61476), str(61492), str(61528), str(61548), str(61576), str(61608), str(61628), str(61652), str(5140), str(61680), str(61700), str(61720), str(61760), str(61792), str(61816), str(61848), str(61884)} } var _sqlite3_errmsgØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_errmsgØ00__func__Ø000[0], str(61924), 15) } func _sqlite3FindIndex(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _zDb *int8) (r0 *XIndex) { // sqlite3.c:99871:1 var _p *XIndex // sqlite3.c:99872:9 _ = _p var _i int32 // sqlite3.c:99873:7 _ = _i var _1_j int32 // sqlite3.c:99877:9 _ = _1_j var _1_pSchema *XSchema // sqlite3.c:99878:12 _ = _1_pSchema _p = nil func() int32 { if (_zDb != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(61940))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _3: if _i >= (_db.X5) { goto _6 } _1_j = func() int32 { if _i < i32(2) { return (_i ^ i32(1)) } return _i }() _1_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_1_j))).X4)) func() int32 { if _1_pSchema != nil { return i32(0) } return func() int32 { 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(61984))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zDb == nil || _sqlite3StrICmp(tls, _zDb, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_1_j))).X0) == 0 { goto _12 } goto _4 _12: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _1_j, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(61992))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XIndex)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSchema))+uintptr(32 /* X3 */))), _zName))) if _p == nil { goto _15 } goto _6 _15: _4: _i += 1 goto _3 _6: r0 = _p return } var _sqlite3FindIndexØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FindIndexØ00__func__Ø000[0], str(62028), 17) } func _sqlite3SetString(tls *crt.TLS, _pz **int8, _db *Xsqlite3, _zNew *int8) { // sqlite3.c:24955:1 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*_pz)) *_pz = _sqlite3DbStrDup(tls, _db, _zNew) return } func _sqlite3BtreeSetCacheSize(tls *crt.TLS, _p *XBtree, _mxPage int32) (r0 int32) { // sqlite3.c:61583:1 var _pBt *XBtShared // sqlite3.c:61584:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _sqlite3PagerSetCachesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _mxPage) _sqlite3BtreeLeave(tls, _p) r0 = i32(0) return } var _sqlite3BtreeSetCacheSizeØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSetCacheSizeØ00__func__Ø000[0], str(62048), 25) } func _sqlite3PagerSetCachesize(tls *crt.TLS, _pPager *XPager, _mxPage int32) { // sqlite3.c:50327:1 _sqlite3PcacheSetCachesize(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _mxPage) return } func _sqlite3PcacheSetCachesize(tls *crt.TLS, _pCache *XPCache, _mxPage int32) { // sqlite3.c:44893:1 func() int32 { if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(15048))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(28 /* X4 */))) = _mxPage ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X5)(tls, _pCache.X12, _numberOfCachePages(tls, _pCache)) return } var _sqlite3PcacheSetCachesizeØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheSetCachesizeØ00__func__Ø000[0], str(62076), 26) } 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 var _rc int32 // sqlite3.c:110868:7 _ = _rc var _zLeftover *int8 // sqlite3.c:110869:14 _ = _zLeftover var _pStmt unsafe.Pointer // sqlite3.c:110870:16 _ = _pStmt var _azCols **int8 // sqlite3.c:110871:8 _ = _azCols var _callbackIsInit int32 // sqlite3.c:110872:7 _ = _callbackIsInit var _1_nCol int32 // sqlite3.c:110880:9 _ = _1_nCol var _1_azVals **int8 // sqlite3.c:110881:10 _ = _1_azVals var _4_i int32 // sqlite3.c:110899:11 _ = _4_i var _14_nErrMsg int32 // sqlite3.c:110961:9 _ = _14_nErrMsg _rc = i32(0) _pStmt = nil _azCols = nil if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(110874)) return _0: if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _zSql = str(196) _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _sqlite3Error(tls, _db, i32(0)) _2: if _rc != i32(0) || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == 0 { goto _3 } _1_azVals = (**int8)(unsafe.Pointer(uintptr(i32(0)))) _pStmt = (unsafe.Pointer)(uintptr(i32(0))) _rc = Xsqlite3_prepare_v2(tls, _db, _zSql, i32(-1), &_pStmt, &_zLeftover) func() int32 { if (_rc == i32(0)) || (unsafe.Pointer(_pStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(62104))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc == i32(0) { goto _8 } goto _2 _8: if _pStmt != nil { goto _9 } _zSql = _zLeftover goto _2 _9: _callbackIsInit = i32(0) _1_nCol = Xsqlite3_column_count(tls, _pStmt) _10: _rc = Xsqlite3_step(tls, _pStmt) if _xCallback == nil || i32(100) != _rc && (i32(101) != _rc || _callbackIsInit != 0 || ((_db.X6)&i32(256)) == 0) { goto _16 } if _callbackIsInit != 0 { goto _17 } _azCols = (**int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64((i32(2)*_1_nCol)+i32(1))*u64(8)))) if _azCols != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } goto _exec_out _18: _4_i = i32(0) _19: if _4_i >= _1_nCol { goto _22 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azCols)) + 8*uintptr(_4_i))) = Xsqlite3_column_name(tls, _pStmt, _4_i) func() int32 { if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azCols)) + 8*uintptr(_4_i)))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(62132))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_i += 1 goto _19 _22: _callbackIsInit = i32(1) _17: if _rc != i32(100) { goto _25 } _1_azVals = (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azCols)) + 8*uintptr(_1_nCol))) _4_i = i32(0) _26: if _4_i >= _1_nCol { goto _29 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_azVals)) + 8*uintptr(_4_i))) = (*int8)(unsafe.Pointer(Xsqlite3_column_text(tls, _pStmt, _4_i))) if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_azVals)) + 8*uintptr(_4_i)))) != nil || Xsqlite3_column_type(tls, _pStmt, _4_i) == i32(5) { goto _31 } _sqlite3OomFault(tls, _db) goto _exec_out _31: _4_i += 1 goto _26 _29: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_azVals)) + 8*uintptr(_4_i))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _25: if _xCallback(tls, _pArg, _1_nCol, _1_azVals, _azCols) == 0 { goto _32 } _rc = i32(4) _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_pStmt))) _pStmt = (unsafe.Pointer)(uintptr(i32(0))) _sqlite3Error(tls, _db, i32(4)) goto _exec_out _32: _16: if _rc == i32(100) { goto _33 } _rc = _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_pStmt))) _pStmt = (unsafe.Pointer)(uintptr(i32(0))) _zSql = _zLeftover _34: 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 { goto _35 } *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) goto _34 _35: goto _11 _33: goto _10 _11: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_azCols)) _azCols = (**int8)(unsafe.Pointer(uintptr(i32(0)))) goto _2 _3: _exec_out: if _pStmt == nil { goto _36 } _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_pStmt))) _36: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_azCols)) _rc = _sqlite3ApiExit(tls, _db, _rc) if _rc == i32(0) || _pzErrMsg == nil { goto _38 } _14_nErrMsg = i32(1) + _sqlite3Strlen30(tls, Xsqlite3_errmsg(tls, _db)) *_pzErrMsg = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_14_nErrMsg)))) if (*_pzErrMsg) == nil { goto _39 } crt.Xmemcpy(tls, (unsafe.Pointer)(*_pzErrMsg), (unsafe.Pointer)(Xsqlite3_errmsg(tls, _db)), uint64(_14_nErrMsg)) goto _40 _39: _rc = _sqlite3NomemError(tls, i32(110966)) _sqlite3Error(tls, _db, i32(7)) _40: goto _41 _38: if _pzErrMsg == nil { goto _42 } *_pzErrMsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _42: _41: func() int32 { if (_rc & (_db.X11)) == _rc { return i32(0) } return func() int32 { 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(52176))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func Xsqlite3_prepare_v2(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:116143:12 var _rc int32 // sqlite3.c:116150:7 _ = _rc _rc = _sqlite3LockAndPrepare(tls, _db, _zSql, _nBytes, i32(1), (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))), _ppStmt, _pzTail) func() int32 { if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(51964))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3_prepare_v2Ø00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_prepare_v2Ø00__func__Ø000[0], str(62148), 19) } var _sqlite3_execØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_execØ00__func__Ø000[0], str(62168), 13) } func Xsqlite3_step(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76655:12 var _rc int32 // sqlite3.c:76656:7 _ = _rc var _rc2 int32 // sqlite3.c:76657:7 _ = _rc2 var _v *TVdbe // sqlite3.c:76658:8 _ = _v var _cnt int32 // sqlite3.c:76659:7 _ = _cnt var _db *Xsqlite3 // sqlite3.c:76660:11 _ = _db var _2_savedPc int32 // sqlite3.c:76670:9 _ = _2_savedPc var _3_zErr *int8 // sqlite3.c:76686:16 _ = _3_zErr _rc = i32(0) _rc2 = i32(0) _v = (*TVdbe)(unsafe.Pointer(_pStmt)) _cnt = i32(0) if _vdbeSafetyNotNull(tls, _v) == 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(76663)) return _0: _db = (*Xsqlite3)(unsafe.Pointer(_v.X0)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(196 /* X32 */))), int16(i32(0)), 2, 1) _1: if store961(&_rc, _sqlite3Step(tls, _v)) != i32(17) || postInc961(&_cnt, int32(1)) >= i32(50) { goto _2 } _2_savedPc = _v.X9 _rc2 = store961(&_rc, _sqlite3Reprepare(tls, _v)) if _rc == i32(0) { goto _4 } goto _2 _4: Xsqlite3_reset(tls, _pStmt) if _2_savedPc < i32(0) { goto _5 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(196 /* X32 */))), int16(i32(1)), 2, 1) _5: func() int32 { if int32((uint32(_v.X32)<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(62184))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _1 _2: if _rc2 == i32(0) { goto _8 } _3_zErr = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, (*XMem)(unsafe.Pointer(_db.X56))))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_v.X22)) if (_db.X17) != 0 { goto _9 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(144 /* X22 */))) = _sqlite3DbStrDup(tls, _db, _3_zErr) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(56 /* X10 */))) = _rc2 goto _10 _9: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(144 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(56 /* X10 */))) = store961(&_rc, _sqlite3NomemError(tls, i32(76693))) _10: _8: _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func _sqlite3Step(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:76525:1 var _db *Xsqlite3 // sqlite3.c:76526:11 _ = _db var _rc int32 // sqlite3.c:76527:7 _ = _rc func() int32 { if _p != nil { return i32(0) } return func() int32 { 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(8412))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X5) == uint32(i32(770837923)) { goto _2 } Xsqlite3_reset(tls, (unsafe.Pointer)(_p)) _2: _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) if (_db.X17) == 0 { goto _3 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(7) r0 = _sqlite3NomemError(tls, i32(76562)) return _3: if (_p.X9) > i32(0) || ((uint32(_p.X32)<>uint(i32(31))) == 0 { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(17) _rc = i32(1) goto _end_of_step _5: if (_p.X9) >= i32(0) { goto _6 } if (_db.X34) != i32(0) { goto _7 } *(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */))))) = i32(0) _7: func() int32 { if (((_db.X36) > i32(0)) || (int32(_db.X15) == i32(0))) || (((_db.X77) == int64(i32(0))) && ((_db.X78) == int64(i32(0)))) { return i32(0) } return func() int32 { 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(62200))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X43) == nil && (int32(_db.X24)&i32(2)) == i32(0) || ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != 0 || (_p.X36) == nil { goto _16 } _sqlite3OsCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(176 /* X26 */)))) goto _17 _16: func() int32 { if (_p.X26) == int64(i32(0)) { return i32(0) } return func() int32 { 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(62292))) crt.X__builtin_abort(tls) return i32(0) }() }() _17: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(172 /* X34 */))) += 1 if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) != i32(0) { goto _20 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(180 /* X36 */))) += 1 _20: if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _21 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(176 /* X35 */))) += 1 _21: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = i32(0) _6: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(188 /* X28 */))) = i32(0) if ((uint32((_p.X32)>>uint(i32(2))) << uint(i32(30))) >> uint(i32(30))) == 0 { goto _22 } _rc = _sqlite3VdbeList(tls, _p) goto _23 _22: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(184 /* X37 */))) += 1 _rc = _sqlite3VdbeExec(tls, _p) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(184 /* X37 */))) -= 1 _23: if _rc == i32(100) { goto _24 } if (_p.X26) <= int64(i32(0)) { goto _25 } _invokeProfileCallback(tls, _db, _p) _25: _24: if _rc != i32(101) { goto _26 } func() int32 { if (_p.X10) == i32(0) { return i32(0) } return func() int32 { 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(62308))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _doWalCallbacks(tls, _db) if (_p.X10) == i32(0) { goto _29 } _rc = i32(1) _29: _26: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = _rc if i32(7) != _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _p.X10) { goto _30 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _sqlite3NomemError(tls, i32(76626)) _30: _end_of_step: func() int32 { if ((((_rc == i32(100)) || (_rc == i32(101))) || (_rc == i32(1))) || ((_rc & i32(255)) == i32(5))) || (_rc == i32(21)) { return i32(0) } return func() int32 { 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(62328))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_p.X10) != i32(100)) && ((_p.X10) != i32(101))) || ((_p.X10) == (_p.X28)) { return i32(0) } return func() int32 { 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(62432))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((uint32((_p.X32)>>uint(i32(9)))<>uint(i32(31))) == 0 || _rc == i32(100) || _rc == i32(101) { goto _43 } _rc = _sqlite3VdbeTransferError(tls, _p) _43: r0 = _rc & (_db.X11) return } var _sqlite3StepØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StepØ00__func__Ø000[0], str(62496), 12) } func Xsqlite3_reset(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76128:12 var _rc int32 // sqlite3.c:76129:7 _ = _rc var _2_v *TVdbe // sqlite3.c:76133:10 _ = _2_v var _2_db *Xsqlite3 // sqlite3.c:76134:13 _ = _2_db if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } _rc = i32(0) goto _1 _0: _2_v = (*TVdbe)(unsafe.Pointer(_pStmt)) _2_db = (*Xsqlite3)(unsafe.Pointer(_2_v.X0)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_2_db.X3))) if (_2_v.X26) <= int64(i32(0)) { goto _2 } _invokeProfileCallback(tls, _2_db, _2_v) _2: _rc = _sqlite3VdbeReset(tls, _2_v) _sqlite3VdbeRewind(tls, _2_v) func() int32 { if (_rc & (_2_db.X11)) == _rc { return i32(0) } return func() int32 { 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(62508))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3ApiExit(tls, _2_db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_2_db.X3))) _1: r0 = _rc return } func _sqlite3VdbeRewind(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:73204:1 var _i int32 // sqlite3.c:73206:7 _ = _i func() int32 { if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X5) == uint32(i32(381479589))) || ((_p.X5) == uint32(i32(1224384374))) { return i32(0) } return func() int32 { 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(62536))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X27) > i32(0) { return i32(0) } return func() int32 { 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(42668))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X5 */))) = uint32(i32(770837923)) _i = i32(0) _7: if _i >= (_p.X6) { goto _10 } func() int32 { if (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(_p.X18)+72*uintptr(_i))).X9)) == (*Xsqlite3)(unsafe.Pointer(_p.X0)) { return i32(0) } return func() int32 { 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(62592))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _7 _10: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = i32(-1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(194 /* X30 */))) = uint8(i32(2)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))) = uint32(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(195 /* X31 */))) = uint8(i32(255)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X12 */))) = i32(0) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X14 */))) = int64(i32(0)) return } var _sqlite3VdbeRewindØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeRewindØ00__func__Ø000[0], str(62616), 18) } var _sqlite3_resetØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_resetØ00__func__Ø000[0], str(62636), 14) } func _sqlite3VdbeList(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:72932:1 var _nRow int32 // sqlite3.c:72935:7 _ = _nRow var _nSub int32 // sqlite3.c:72936:7 _ = _nSub var _apSub **XSubProgram // sqlite3.c:72937:14 _ = _apSub var _pSub *XMem // sqlite3.c:72938:7 _ = _pSub var _db *Xsqlite3 // sqlite3.c:72939:11 _ = _db var _i int32 // sqlite3.c:72940:7 _ = _i var _rc int32 // sqlite3.c:72941:7 _ = _rc var _pMem *XMem // sqlite3.c:72942:7 _ = _pMem var _8_zP4 *int8 // sqlite3.c:72999:10 _ = _8_zP4 var _8_pOp *XVdbeOp // sqlite3.c:73000:8 _ = _8_pOp var _10_j int32 // sqlite3.c:73008:11 _ = _10_j var _13_nByte int32 // sqlite3.c:73033:13 _ = _13_nByte var _13_j int32 // sqlite3.c:73034:13 _ = _13_j _nSub = i32(0) _apSub = nil _pSub = nil _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _rc = i32(0) _pMem = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 72*uintptr(i32(1)))) func() int32 { if ((uint32((_p.X32)>>uint(i32(2))) << uint(i32(30))) >> uint(i32(30))) != 0 { return i32(0) } return func() int32 { 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(62652))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X5) == uint32(i32(770837923)) { return i32(0) } return func() int32 { 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(62664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_p.X10) == i32(0)) || ((_p.X10) == i32(5))) || ((_p.X10) == i32(7)) { return i32(0) } return func() int32 { 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(62692))) crt.X__builtin_abort(tls) return i32(0) }() }() _releaseMemArray(tls, _pMem, i32(8)) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(136 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) if (_p.X10) != _sqlite3NomemError(tls, i32(72955)) { goto _8 } _sqlite3OomFault(tls, _db) r0 = i32(1) return _8: _nRow = _p.X27 if int32((uint32((_p.X32)>>uint(i32(2)))<>uint(i32(30))) != i32(1) { goto _9 } func() int32 { if (_p.X6) > i32(9) { return i32(0) } return func() int32 { 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(62756))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSub = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 72*uintptr(i32(9)))) if (int32(_pSub.X1) & i32(16)) == 0 { goto _12 } _nSub = int32(uint64(_pSub.X4) / u64(8)) _apSub = (**XSubProgram)(unsafe.Pointer(_pSub.X5)) _12: _i = i32(0) _13: if _i >= _nSub { goto _16 } { p := &_nRow *p = (*p) + ((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 8*uintptr(_i)))).X1) sink961 = *p } _i += 1 goto _13 _16: _9: _17: _i = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(52 /* X9 */))), int32(1)) if ((_i < _nRow) && (int32((uint32((_p.X32)>>uint(i32(2)))<>uint(i32(30))) == i32(2))) && (int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_i))).X0) != i32(163)) { goto _17 } if _i < _nRow { goto _20 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(0) _rc = i32(101) goto _21 _20: if (*(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */)))))) == 0 { goto _22 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(9) _rc = i32(1) _sqlite3VdbeError(tls, _p, _sqlite3ErrStr(tls, _p.X10)) goto _23 _22: if _i >= (_p.X27) { goto _24 } _8_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_i))) goto _25 _24: { p := &_i *p = (*p) - (_p.X27) sink961 = *p } _10_j = i32(0) _26: if _i < ((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 8*uintptr(_10_j)))).X1) { goto _29 } { p := &_i *p = (*p) - ((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 8*uintptr(_10_j)))).X1) sink961 = *p } _10_j += 1 goto _26 _29: _8_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 8*uintptr(_10_j)))).X0) + 32*uintptr(_i))) _25: if int32((uint32((_p.X32)>>uint(i32(2)))<>uint(i32(30))) != i32(1) { goto _30 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_i) *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(2562)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _sqlite3OpcodeName(tls, int32(_8_pOp.X0)) func() int32 { if (_pMem.X5) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(62768))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pMem.X5) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) if int32(_8_pOp.X1) != i32(-13) { goto _33 } _13_nByte = int32(uint64(_nSub+i32(1)) * u64(8)) _13_j = i32(0) _34: if _13_j >= _nSub { goto _37 } if (*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 8*uintptr(_13_j)))) != (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pOp)) + uintptr(16 /* X6 */))))))) { goto _38 } goto _37 _38: _13_j += 1 goto _34 _37: if _13_j != _nSub || i32(0) != _sqlite3VdbeMemGrow(tls, _pSub, _13_nByte, bool2int(_nSub != i32(0))) { goto _40 } _apSub = (**XSubProgram)(unsafe.Pointer(_pSub.X5)) *(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 8*uintptr(postInc961(&_nSub, int32(1))))) = (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pOp)) + uintptr(16 /* X6 */))))))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(12 /* X4 */))) = int32(uint64(_nSub) * u64(8)) _40: _33: _30: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_8_pOp.X3) *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_8_pOp.X4) *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_8_pOp.X5) *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) if _sqlite3VdbeMemClearAndResize(tls, _pMem, i32(100)) == 0 { goto _41 } func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0 { return i32(0) } return func() int32 { 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(62780))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(1) return _41: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(514)) _8_zP4 = _displayP4(tls, _8_pOp, _pMem.X5, _pMem.X7) if _8_zP4 == (_pMem.X5) { goto _44 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = i32(0) _sqlite3VdbeMemSetStr(tls, _pMem, _8_zP4, i32(-1), uint8(i32(1)), nil) goto _45 _44: func() int32 { if (_pMem.X5) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(62768))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pMem.X5) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) _45: *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) if int32((uint32((_p.X32)>>uint(i32(2)))<>uint(i32(30))) != i32(1) { goto _48 } if _sqlite3VdbeMemClearAndResize(tls, _pMem, i32(4)) == 0 { goto _49 } func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0 { return i32(0) } return func() int32 { 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(62780))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(1) return _49: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(514)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = i32(2) Xsqlite3_snprintf(tls, i32(3), _pMem.X5, str(62800), int32(_8_pOp.X2)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) if _sqlite3VdbeMemClearAndResize(tls, _pMem, i32(500)) == 0 { goto _52 } func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0 { return i32(0) } return func() int32 { 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(62780))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(1) return _52: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(514)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _displayComment(tls, _8_pOp, _8_zP4, _pMem.X5, i32(500)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) _48: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(192 /* X29 */))) = uint16(i32(8) - (i32(4) * (int32((uint32((_p.X32)>>uint(i32(2)))<>uint(i32(30))) - i32(1)))) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(136 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 72*uintptr(i32(1)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(0) _rc = i32(100) _23: _21: r0 = _rc return } var _sqlite3VdbeListØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeListØ00__func__Ø000[0], str(62808), 16) } func _sqlite3VdbeExec(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:78741:1 var _aOp *XVdbeOp // sqlite3.c:78744:6 _ = _aOp var _pOp *XVdbeOp // sqlite3.c:78745:6 _ = _pOp var _pOrigOp *XVdbeOp // sqlite3.c:78747:6 _ = _pOrigOp var _nExtraDelete int32 // sqlite3.c:78750:7 _ = _nExtraDelete var _rc int32 // sqlite3.c:78752:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:78753:11 _ = _db var _resetSchemaOnFault uint8 // sqlite3.c:78754:6 _ = _resetSchemaOnFault var _encoding uint8 // sqlite3.c:78755:6 _ = _encoding var _iCompare int32 // sqlite3.c:78756:7 _ = _iCompare var _nVmStep uint32 // sqlite3.c:78757:12 _ = _nVmStep var _nProgressLimit uint32 // sqlite3.c:78759:12 _ = _nProgressLimit var _aMem *XMem // sqlite3.c:78761:7 _ = _aMem var _pIn1 *XMem // sqlite3.c:78762:7 _ = _pIn1 var _pIn2 *XMem // sqlite3.c:78763:7 _ = _pIn2 var _pIn3 *XMem // sqlite3.c:78764:7 _ = _pIn3 var _pOut *XMem // sqlite3.c:78765:7 _ = _pOut var _2_iPrior uint32 // sqlite3.c:78788:9 _ = _2_iPrior var _3_i int32 // sqlite3.c:78798:9 _ = _3_i var _3_once int32 // sqlite3.c:78799:9 _ = _3_once var _11_opProperty uint8 // sqlite3.c:78858:10 _ = _11_opProperty var _24_pCaller *XVdbeOp // sqlite3.c:79047:10 _ = _24_pCaller var _25_pcDest int32 // sqlite3.c:79073:7 _ = _25_pcDest var _27_pFrame *XVdbeFrame // sqlite3.c:79129:13 _ = _27_pFrame var _27_pcx int32 // sqlite3.c:79130:7 _ = _27_pcx var _45_cnt int32 // sqlite3.c:79309:7 _ = _45_cnt var _45_nullFlag uint16 // sqlite3.c:79310:7 _ = _45_nullFlag var _49_pVar *XMem // sqlite3.c:79366:7 _ = _49_pVar var _51_n int32 // sqlite3.c:79390:7 _ = _51_n var _51_p1 int32 // sqlite3.c:79391:7 _ = _51_p1 var _51_p2 int32 // sqlite3.c:79392:7 _ = _51_p2 var _55_n int32 // sqlite3.c:79430:7 _ = _55_n var _60_pMem *XMem // sqlite3.c:79500:7 _ = _60_pMem var _60_i int32 // sqlite3.c:79501:7 _ = _60_i var _66_nByte int64 // sqlite3.c:79589:7 _ = _66_nByte var _73_bIntint int8 // sqlite3.c:79666:8 _ = _73_bIntint var _73_flags uint16 // sqlite3.c:79667:7 _ = _73_flags var _73_type1 uint16 // sqlite3.c:79668:7 _ = _73_type1 var _73_type2 uint16 // sqlite3.c:79669:7 _ = _73_type2 var _73_iA int64 // sqlite3.c:79670:7 _ = _73_iA var _73_iB int64 // sqlite3.c:79671:7 _ = _73_iB var _73_rA float64 // sqlite3.c:79672:10 _ = _73_rA var _73_rB float64 // sqlite3.c:79673:10 _ = _73_rB var _86_n int32 // sqlite3.c:79815:7 _ = _86_n var _86_pCtx *Xsqlite3_context // sqlite3.c:79816:19 _ = _86_pCtx var _87_i int32 // sqlite3.c:79836:7 _ = _87_i var _87_pCtx *Xsqlite3_context // sqlite3.c:79837:19 _ = _87_pCtx var _93_iA int64 // sqlite3.c:79918:7 _ = _93_iA var _93_uA uint64 // sqlite3.c:79919:7 _ = _93_uA var _93_iB int64 // sqlite3.c:79920:7 _ = _93_iB var _93_op uint8 // sqlite3.c:79921:6 _ = _93_op var _112_res int32 // sqlite3.c:80161:7 _ = _112_res var _112_res2 int32 // sqlite3.c:80161:12 _ = _112_res2 var _112_affinity int8 // sqlite3.c:80162:8 _ = _112_affinity var _112_flags1 uint16 // sqlite3.c:80163:7 _ = _112_flags1 var _112_flags3 uint16 // sqlite3.c:80164:7 _ = _112_flags3 var _139_n int32 // sqlite3.c:80356:7 _ = _139_n var _139_i int32 // sqlite3.c:80357:7 _ = _139_i var _139_p1 int32 // sqlite3.c:80358:7 _ = _139_p1 var _139_p2 int32 // sqlite3.c:80359:7 _ = _139_p2 var _139_pKeyInfo *XKeyInfo // sqlite3.c:80360:17 _ = _139_pKeyInfo var _139_idx int32 // sqlite3.c:80361:7 _ = _139_idx var _139_pColl *XCollSeq // sqlite3.c:80362:11 _ = _139_pColl var _139_bRev int32 // sqlite3.c:80363:7 _ = _139_bRev var _139_aPermute *int32 // sqlite3.c:80364:7 _ = _139_aPermute var _142_k int32 // sqlite3.c:80383:9 _ = _142_k var _142_mx int32 // sqlite3.c:80383:12 _ = _142_mx var _150_v1 int32 // sqlite3.c:80449:7 _ = _150_v1 var _150_v2 int32 // sqlite3.c:80450:7 _ = _150_v2 var _163_iAddr uint32 // sqlite3.c:80535:7 _ = _163_iAddr var _168_c int32 // sqlite3.c:80569:7 _ = _168_c var _176_p2 int32 // sqlite3.c:80642:7 _ = _176_p2 var _176_pC *XVdbeCursor // sqlite3.c:80643:14 _ = _176_pC var _176_pCrsr *XBtCursor // sqlite3.c:80644:12 _ = _176_pCrsr var _176_aOffset *uint32 // sqlite3.c:80645:7 _ = _176_aOffset var _176_len int32 // sqlite3.c:80646:7 _ = _176_len var _176_i int32 // sqlite3.c:80647:7 _ = _176_i var _176_pDest *XMem // sqlite3.c:80648:7 _ = _176_pDest var _176_sMem XMem // sqlite3.c:80649:7 _ = _176_sMem var _176_zData *uint8 // sqlite3.c:80650:12 _ = _176_zData var _176_zHdr *uint8 // sqlite3.c:80651:12 _ = _176_zHdr var _176_zEndHdr *uint8 // sqlite3.c:80652:12 _ = _176_zEndHdr var _176_offset uint32 // sqlite3.c:80653:7 _ = _176_offset var _176_offset64 uint64 // sqlite3.c:80654:7 _ = _176_offset64 var _176_avail uint32 // sqlite3.c:80655:7 _ = _176_avail var _176_t uint32 // sqlite3.c:80656:7 _ = _176_t var _176_pReg *XMem // sqlite3.c:80657:7 _ = _176_pReg var _210_zAffinity *int8 // sqlite3.c:80896:14 _ = _210_zAffinity var _210_cAff int8 // sqlite3.c:80897:8 _ = _210_cAff var _212_zNewRecord *uint8 // sqlite3.c:80929:6 _ = _212_zNewRecord var _212_pRec *XMem // sqlite3.c:80930:7 _ = _212_pRec var _212_nData uint64 // sqlite3.c:80931:7 _ = _212_nData var _212_nHdr int32 // sqlite3.c:80932:7 _ = _212_nHdr var _212_nByte int64 // sqlite3.c:80933:7 _ = _212_nByte var _212_nZero int64 // sqlite3.c:80934:7 _ = _212_nZero var _212_nVarint int32 // sqlite3.c:80935:7 _ = _212_nVarint var _212_serial_type uint32 // sqlite3.c:80936:7 _ = _212_serial_type var _212_pData0 *XMem // sqlite3.c:80937:7 _ = _212_pData0 var _212_pLast *XMem // sqlite3.c:80938:7 _ = _212_pLast var _212_nField int32 // sqlite3.c:80939:7 _ = _212_nField var _212_zAffinity *int8 // sqlite3.c:80940:8 _ = _212_zAffinity var _212_file_format int32 // sqlite3.c:80941:7 _ = _212_file_format var _212_i int32 // sqlite3.c:80942:7 _ = _212_i var _212_j int32 // sqlite3.c:80943:7 _ = _212_j var _212_len uint32 // sqlite3.c:80944:7 _ = _212_len var _225_nEntry int64 // sqlite3.c:81093:7 _ = _225_nEntry var _225_pCrsr *XBtCursor // sqlite3.c:81094:12 _ = _225_pCrsr var _226_p1 int32 // sqlite3.c:81115:7 _ = _226_p1 var _226_zName *int8 // sqlite3.c:81116:8 _ = _226_zName var _226_nName int32 // sqlite3.c:81117:7 _ = _226_nName var _226_pNew *XSavepoint // sqlite3.c:81118:13 _ = _226_pNew var _226_pSavepoint *XSavepoint // sqlite3.c:81119:13 _ = _226_pSavepoint var _226_pTmp *XSavepoint // sqlite3.c:81120:13 _ = _226_pTmp var _226_iSavepoint int32 // sqlite3.c:81121:7 _ = _226_iSavepoint var _226_ii int32 // sqlite3.c:81122:7 _ = _226_ii var _237_isTransaction int32 // sqlite3.c:81207:11 _ = _237_isTransaction var _241_isSchemaChange int32 // sqlite3.c:81222:13 _ = _241_isSchemaChange var _253_desiredAutoCommit int32 // sqlite3.c:81294:7 _ = _253_desiredAutoCommit var _253_iRollback int32 // sqlite3.c:81295:7 _ = _253_iRollback var _263_pBt *XBtree // sqlite3.c:81383:9 _ = _263_pBt var _263_iMeta int32 // sqlite3.c:81384:7 _ = _263_iMeta var _263_iGen int32 // sqlite3.c:81385:7 _ = _263_iGen var _274_iMeta int32 // sqlite3.c:81482:7 _ = _274_iMeta var _274_iDb int32 // sqlite3.c:81483:7 _ = _274_iDb var _274_iCookie int32 // sqlite3.c:81484:7 _ = _274_iCookie var _275_pDb *XDb // sqlite3.c:81511:6 _ = _275_pDb var _279_nField int32 // sqlite3.c:81605:7 _ = _279_nField var _279_pKeyInfo *XKeyInfo // sqlite3.c:81606:11 _ = _279_pKeyInfo var _279_p2 int32 // sqlite3.c:81607:7 _ = _279_p2 var _279_iDb int32 // sqlite3.c:81608:7 _ = _279_iDb var _279_wrFlag int32 // sqlite3.c:81609:7 _ = _279_wrFlag var _279_pX *XBtree // sqlite3.c:81610:9 _ = _279_pX var _279_pCur *XVdbeCursor // sqlite3.c:81611:14 _ = _279_pCur var _279_pDb *XDb // sqlite3.c:81612:6 _ = _279_pDb var _288_pCx *XVdbeCursor // sqlite3.c:81737:14 _ = _288_pCx var _288_pKeyInfo *XKeyInfo // sqlite3.c:81738:11 _ = _288_pKeyInfo var _291_pgno int32 // sqlite3.c:81764:11 _ = _291_pgno var _294_pCx *XVdbeCursor // sqlite3.c:81797:14 _ = _294_pCx var _295_pC *XVdbeCursor // sqlite3.c:81819:14 _ = _295_pC var _297_pCx *XVdbeCursor // sqlite3.c:81846:14 _ = _297_pCx var _299_res int32 // sqlite3.c:81981:7 _ = _299_res var _299_oc int32 // sqlite3.c:81982:7 _ = _299_oc var _299_pC *XVdbeCursor // sqlite3.c:81983:14 _ = _299_pC var _299_r XUnpackedRecord // sqlite3.c:81984:18 _ = _299_r var _299_nField int32 // sqlite3.c:81985:7 _ = _299_nField var _299_iKey int64 // sqlite3.c:81986:7 _ = _299_iKey var _299_eqOnly int32 // sqlite3.c:81987:7 _ = _299_eqOnly var _309_i int32 // sqlite3.c:82094:11 _ = _309_i var _320_alreadyExists int32 // sqlite3.c:82206:7 _ = _320_alreadyExists var _320_takeJump int32 // sqlite3.c:82207:7 _ = _320_takeJump var _320_ii int32 // sqlite3.c:82208:7 _ = _320_ii var _320_pC *XVdbeCursor // sqlite3.c:82209:14 _ = _320_pC var _320_res int32 // sqlite3.c:82210:7 _ = _320_res var _320_pFree *XUnpackedRecord // sqlite3.c:82211:18 _ = _320_pFree var _320_pIdxKey *XUnpackedRecord // sqlite3.c:82212:18 _ = _320_pIdxKey var _320_r XUnpackedRecord // sqlite3.c:82213:18 _ = _320_r var _330_pC *XVdbeCursor // sqlite3.c:82331:14 _ = _330_pC var _330_pCrsr *XBtCursor // sqlite3.c:82332:12 _ = _330_pCrsr var _330_res int32 // sqlite3.c:82333:7 _ = _330_res var _330_iKey uint64 // sqlite3.c:82334:7 _ = _330_iKey var _336_v int64 // sqlite3.c:82411:7 _ = _336_v var _336_pC *XVdbeCursor // sqlite3.c:82412:14 _ = _336_pC var _336_res int32 // sqlite3.c:82413:7 _ = _336_res var _336_cnt int32 // sqlite3.c:82414:7 _ = _336_cnt var _336_pMem *XMem // sqlite3.c:82415:7 _ = _336_pMem var _336_pFrame *XVdbeFrame // sqlite3.c:82416:13 _ = _336_pFrame var _352_pData *XMem // sqlite3.c:82574:7 _ = _352_pData var _352_pKey *XMem // sqlite3.c:82575:7 _ = _352_pKey var _352_pC *XVdbeCursor // sqlite3.c:82576:14 _ = _352_pC var _352_seekResult int32 // sqlite3.c:82577:7 _ = _352_seekResult var _352_zDb *int8 // sqlite3.c:82578:14 _ = _352_zDb var _352_pTab *XTable // sqlite3.c:82579:9 _ = _352_pTab var _352_op int32 // sqlite3.c:82580:7 _ = _352_op var _352_x XBtreePayload // sqlite3.c:82581:16 _ = _352_x var _362_pC *XVdbeCursor // sqlite3.c:82695:14 _ = _362_pC var _362_zDb *int8 // sqlite3.c:82696:14 _ = _362_zDb var _362_pTab *XTable // sqlite3.c:82697:9 _ = _362_pTab var _362_opflags int32 // sqlite3.c:82698:7 _ = _362_opflags var _363_iKey int64 // sqlite3.c:82713:9 _ = _363_iKey var _373_pC *XVdbeCursor // sqlite3.c:82817:14 _ = _373_pC var _373_res int32 // sqlite3.c:82818:7 _ = _373_res var _373_nKeyCol int32 // sqlite3.c:82819:7 _ = _373_nKeyCol var _374_pC *XVdbeCursor // sqlite3.c:82847:14 _ = _374_pC var _375_pC *XVdbeCursor // sqlite3.c:82889:14 _ = _375_pC var _375_pCrsr *XBtCursor // sqlite3.c:82890:12 _ = _375_pCrsr var _375_n uint32 // sqlite3.c:82891:7 _ = _375_n var _378_pC *XVdbeCursor // sqlite3.c:82943:14 _ = _378_pC var _378_v int64 // sqlite3.c:82944:7 _ = _378_v var _378_pVtab *Xsqlite3_vtab // sqlite3.c:82945:16 _ = _378_pVtab var _378_pModule *Xsqlite3_module // sqlite3.c:82946:24 _ = _378_pModule var _384_pC *XVdbeCursor // sqlite3.c:82990:14 _ = _384_pC var _386_pC *XVdbeCursor // sqlite3.c:83024:14 _ = _386_pC var _386_pCrsr *XBtCursor // sqlite3.c:83025:12 _ = _386_pCrsr var _386_res int32 // sqlite3.c:83026:7 _ = _386_res var _390_pC *XVdbeCursor // sqlite3.c:83061:14 _ = _390_pC var _390_pCrsr *XBtCursor // sqlite3.c:83062:12 _ = _390_pCrsr var _390_res int32 // sqlite3.c:83063:7 _ = _390_res var _390_sz int64 // sqlite3.c:83064:7 _ = _390_sz var _393_pC *XVdbeCursor // sqlite3.c:83126:14 _ = _393_pC var _393_pCrsr *XBtCursor // sqlite3.c:83127:12 _ = _393_pCrsr var _393_res int32 // sqlite3.c:83128:7 _ = _393_res var _396_pC *XVdbeCursor // sqlite3.c:83227:14 _ = _396_pC var _396_res int32 // sqlite3.c:83228:7 _ = _396_res var _399_pC *XVdbeCursor // sqlite3.c:83319:14 _ = _399_pC var _399_x XBtreePayload // sqlite3.c:83320:16 _ = _399_x var _402_pC *XVdbeCursor // sqlite3.c:83359:14 _ = _402_pC var _402_pCrsr *XBtCursor // sqlite3.c:83360:12 _ = _402_pCrsr var _402_res int32 // sqlite3.c:83361:7 _ = _402_res var _402_r XUnpackedRecord // sqlite3.c:83362:18 _ = _402_r var _404_pC *XVdbeCursor // sqlite3.c:83419:14 _ = _404_pC var _404_pTabCur *XVdbeCursor // sqlite3.c:83420:14 _ = _404_pTabCur var _404_rowid int64 // sqlite3.c:83421:7 _ = _404_rowid var _410_pC *XVdbeCursor // sqlite3.c:83519:14 _ = _410_pC var _410_res int32 // sqlite3.c:83520:7 _ = _410_res var _410_r XUnpackedRecord // sqlite3.c:83521:18 _ = _410_r var _413_i int32 // sqlite3.c:83543:9 _ = _413_i var _416_iMoved int32 // sqlite3.c:83582:7 _ = _416_iMoved var _416_iDb int32 // sqlite3.c:83583:7 _ = _416_iDb var _420_nChange int32 // sqlite3.c:83632:7 _ = _420_nChange var _423_pC *XVdbeCursor // sqlite3.c:83661:14 _ = _423_pC var _426_pgno int32 // sqlite3.c:83703:7 _ = _426_pgno var _426_flags int32 // sqlite3.c:83704:7 _ = _426_flags var _426_pDb *XDb // sqlite3.c:83705:6 _ = _426_pDb var _430_iDb int32 // sqlite3.c:83747:7 _ = _430_iDb var _430_zMaster *int8 // sqlite3.c:83748:14 _ = _430_zMaster var _430_zSql *int8 // sqlite3.c:83749:8 _ = _430_zSql var _430_initData XInitData // sqlite3.c:83750:12 _ = _430_initData var _441_nRoot int32 // sqlite3.c:83872:7 _ = _441_nRoot var _441_aRoot *int32 // sqlite3.c:83873:7 _ = _441_aRoot var _441_nErr int32 // sqlite3.c:83874:7 _ = _441_nErr var _441_z *int8 // sqlite3.c:83875:8 _ = _441_z var _441_pnErr *XMem // sqlite3.c:83876:7 _ = _441_pnErr var _447_val int64 // sqlite3.c:83935:7 _ = _447_val var _450_iSet int32 // sqlite3.c:83978:7 _ = _450_iSet var _450_exists int32 // sqlite3.c:83979:7 _ = _450_exists var _454_nMem int32 // sqlite3.c:84026:7 _ = _454_nMem var _454_nByte int32 // sqlite3.c:84027:7 _ = _454_nByte var _454_pRt *XMem // sqlite3.c:84028:7 _ = _454_pRt var _454_pMem *XMem // sqlite3.c:84029:7 _ = _454_pMem var _454_pEnd *XMem // sqlite3.c:84030:7 _ = _454_pEnd var _454_pFrame *XVdbeFrame // sqlite3.c:84031:13 _ = _454_pFrame var _454_pProgram *XSubProgram // sqlite3.c:84032:14 _ = _454_pProgram var _454_t unsafe.Pointer // sqlite3.c:84033:8 _ = _454_t var _461_pFrame *XVdbeFrame // sqlite3.c:84154:13 _ = _461_pFrame var _461_pIn *XMem // sqlite3.c:84155:7 _ = _461_pIn var _469_pFrame *XVdbeFrame // sqlite3.c:84222:13 _ = _469_pFrame var _475_x int64 // sqlite3.c:84280:7 _ = _475_x var _481_n int32 // sqlite3.c:84366:7 _ = _481_n var _481_pCtx *Xsqlite3_context // sqlite3.c:84367:19 _ = _481_pCtx var _482_i int32 // sqlite3.c:84387:7 _ = _482_i var _482_pCtx *Xsqlite3_context // sqlite3.c:84388:19 _ = _482_pCtx var _482_pMem *XMem // sqlite3.c:84389:7 _ = _482_pMem var _482_t XMem // sqlite3.c:84390:7 _ = _482_t var _489_pMem *XMem // sqlite3.c:84450:7 _ = _489_pMem var _492_i int32 // sqlite3.c:84480:7 _ = _492_i var _492_aRes [3]int32 // sqlite3.c:84481:7 _ = _492_aRes var _492_pMem *XMem // sqlite3.c:84482:7 _ = _492_pMem var _495_pBt *XBtree // sqlite3.c:84518:9 _ = _495_pBt var _495_pPager *XPager // sqlite3.c:84519:9 _ = _495_pPager var _495_eNew int32 // sqlite3.c:84520:7 _ = _495_eNew var _495_eOld int32 // sqlite3.c:84521:7 _ = _495_eOld var _495_zFilename *int8 // sqlite3.c:84523:14 _ = _495_zFilename var _505_pBt *XBtree // sqlite3.c:84632:9 _ = _505_pBt var _510_isWriteLock uint8 // sqlite3.c:84685:6 _ = _510_isWriteLock var _511_p1 int32 // sqlite3.c:84687:9 _ = _511_p1 var _513_z *int8 // sqlite3.c:84694:20 _ = _513_z var _514_pVTab *XVTable // sqlite3.c:84715:10 _ = _514_pVTab var _515_sMem XMem // sqlite3.c:84731:7 _ = _515_sMem var _515_zTab *int8 // sqlite3.c:84732:14 _ = _515_zTab var _518_pCur *XVdbeCursor // sqlite3.c:84776:14 _ = _518_pCur var _518_pVCur *Xsqlite3_file // sqlite3.c:84777:23 _ = _518_pVCur var _518_pVtab *Xsqlite3_vtab // sqlite3.c:84778:16 _ = _518_pVtab var _518_pModule *Xsqlite3_module // sqlite3.c:84779:24 _ = _518_pModule var _522_nArg int32 // sqlite3.c:84832:7 _ = _522_nArg var _522_iQuery int32 // sqlite3.c:84833:7 _ = _522_iQuery var _522_pModule *Xsqlite3_module // sqlite3.c:84834:24 _ = _522_pModule var _522_pQuery *XMem // sqlite3.c:84835:7 _ = _522_pQuery var _522_pArgc *XMem // sqlite3.c:84836:7 _ = _522_pArgc var _522_pVCur *Xsqlite3_file // sqlite3.c:84837:23 _ = _522_pVCur var _522_pVtab *Xsqlite3_vtab // sqlite3.c:84838:16 _ = _522_pVtab var _522_pCur *XVdbeCursor // sqlite3.c:84839:14 _ = _522_pCur var _522_res int32 // sqlite3.c:84840:7 _ = _522_res var _522_i int32 // sqlite3.c:84841:7 _ = _522_i var _522_apArg **XMem // sqlite3.c:84842:7 _ = _522_apArg var _524_pVtab *Xsqlite3_vtab // sqlite3.c:84885:16 _ = _524_pVtab var _524_pModule *Xsqlite3_module // sqlite3.c:84886:24 _ = _524_pModule var _524_pDest *XMem // sqlite3.c:84887:7 _ = _524_pDest var _524_sContext Xsqlite3_context // sqlite3.c:84888:19 _ = _524_sContext var _524_pCur *XVdbeCursor // sqlite3.c:84890:14 _ = _524_pCur var _528_pVtab *Xsqlite3_vtab // sqlite3.c:84930:16 _ = _528_pVtab var _528_pModule *Xsqlite3_module // sqlite3.c:84931:24 _ = _528_pModule var _528_res int32 // sqlite3.c:84932:7 _ = _528_res var _528_pCur *XVdbeCursor // sqlite3.c:84933:14 _ = _528_pCur var _531_pVtab *Xsqlite3_vtab // sqlite3.c:84972:16 _ = _531_pVtab var _531_pName *XMem // sqlite3.c:84973:7 _ = _531_pName var _532_pVtab *Xsqlite3_vtab // sqlite3.c:85024:16 _ = _532_pVtab var _532_pModule *Xsqlite3_module // sqlite3.c:85025:24 _ = _532_pModule var _532_nArg int32 // sqlite3.c:85026:7 _ = _532_nArg var _532_i int32 // sqlite3.c:85027:7 _ = _532_i var _532_rowid int64 // sqlite3.c:85028:16 _ = _532_rowid var _532_apArg **XMem // sqlite3.c:85029:7 _ = _532_apArg var _532_pX *XMem // sqlite3.c:85030:7 _ = _532_pX var _534_vtabOnConflict uint8 // sqlite3.c:85045:8 _ = _534_vtabOnConflict var _542_newMax uint32 // sqlite3.c:85100:16 _ = _542_newMax var _542_pBt *XBtree // sqlite3.c:85101:9 _ = _542_pBt var _544_zTrace *int8 // sqlite3.c:85132:8 _ = _544_zTrace var _544_i int32 // sqlite3.c:85133:7 _ = _544_i var _546_x func(*crt.TLS, unsafe.Pointer, *int8) // sqlite3.c:85154:12 _ = _546_x var _546_z *int8 // sqlite3.c:85155:12 _ = _546_z var _547_z *int8 // sqlite3.c:85161:12 _ = _547_z var _553_opProperty uint8 // sqlite3.c:85262:10 _ = _553_opProperty _aOp = (*XVdbeOp)(unsafe.Pointer(_p.X17)) _pOp = _aOp _nExtraDelete = i32(0) _rc = i32(0) _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _resetSchemaOnFault = u8(0) _encoding = _db.X14 _iCompare = i32(0) _nVmStep = u32(0) _nProgressLimit = u32(0) _aMem = (*XMem)(unsafe.Pointer(_p.X18)) _pIn1 = nil _pIn2 = nil _pIn3 = nil _pOut = nil func() int32 { if (_p.X5) == uint32(i32(770837923)) { return i32(0) } return func() int32 { 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(62664))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeEnter(tls, _p) if (_p.X10) != i32(7) { goto _2 } goto _no_mem _2: func() int32 { if ((_p.X10) == i32(0)) || (((_p.X10) & i32(255)) == i32(5)) { return i32(0) } return func() int32 { 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(62824))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0) || (int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) != i32(0)) { return i32(0) } return func() int32 { 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(62872))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X13 */))) = int64(i32(0)) func() int32 { if int32((uint32((_p.X32)>>uint(i32(2)))<>uint(i32(30))) == i32(0) { return i32(0) } return func() int32 { 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(62904))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(136 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415638)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(536 /* X71 */))))) + uintptr(16 /* X2 */))) = i32(0) if (*(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */)))))) == 0 { goto _11 } goto _abort_due_to_interrupt _11: if (_db.X61) == nil { goto _12 } _2_iPrior = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(208 /* X35 */))))) + 4*uintptr(i32(4)))) func() int32 { if uint32(i32(0)) < (_db.X63) { return i32(0) } return func() int32 { 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(62920))) crt.X__builtin_abort(tls) return i32(0) }() }() _nProgressLimit = (_db.X63) - (_2_iPrior % (_db.X63)) _12: _sqlite3BeginBenignMalloc(tls) if (_p.X9) != i32(0) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6)&i32(134218753)) == i32(0) { goto _16 } _3_once = i32(1) _sqlite3VdbePrintSql(tls, _p) if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(1024)) == 0 { goto _17 } crt.Xprintf(tls, str(62944)) _3_i = i32(0) _18: if _3_i >= (_p.X27) { goto _21 } _sqlite3VdbePrintOp(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout)), _3_i, (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr(_3_i)))) _3_i += 1 goto _18 _21: _17: if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(134217728)) == 0 { goto _22 } _3_i = i32(0) _23: if _3_i >= (_p.X27) { goto _26 } if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr(_3_i))).X0) != i32(163) { goto _27 } if _3_once == 0 { goto _28 } crt.Xprintf(tls, str(62968)) _28: crt.Xprintf(tls, str(62988), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr(_3_i))))) + uintptr(16 /* X6 */))))))) _3_once = i32(0) _27: _3_i += 1 goto _23 _26: _22: if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(1)) == 0 { goto _29 } crt.Xprintf(tls, str(62992)) _29: _16: _sqlite3EndBenignMalloc(tls) _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(_p.X9))) _30: func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (uintptr(unsafe.Pointer(_pOp)) >= uintptr(unsafe.Pointer(_aOp))) && (uintptr(unsafe.Pointer(_pOp)) < uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr(_p.X27)))))) { return i32(0) } return func() int32 { 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(63008))) crt.X__builtin_abort(tls) return i32(0) }() }() _nVmStep += 1 if ((_db.X6) & i32(1)) == 0 { goto _39 } _sqlite3VdbePrintOp(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout)), int32(int64((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/32)), _pOp) _39: _11_opProperty = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_pOp.X0))) if (int32(_11_opProperty) & i32(2)) == i32(0) { goto _40 } func() int32 { if (_pOp.X3) > i32(0) { return i32(0) } return func() int32 { 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(63040))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X3))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(63088))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X3)))) != 0 { return i32(0) } return func() int32 { 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(63116))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _49 } _registerTrace(tls, _pOp.X3, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X3)))) _49: _40: if (int32(_11_opProperty) & i32(4)) == i32(0) { goto _50 } func() int32 { if (_pOp.X4) > i32(0) { return i32(0) } return func() int32 { 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(63164))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X4) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63176))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(63212))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4)))) != 0 { return i32(0) } return func() int32 { 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(63240))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _59 } _registerTrace(tls, _pOp.X4, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4)))) _59: _50: if (int32(_11_opProperty) & i32(8)) == i32(0) { goto _60 } func() int32 { if (_pOp.X5) > i32(0) { return i32(0) } return func() int32 { 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(63288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(63336))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5)))) != 0 { return i32(0) } return func() int32 { 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(63364))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _69 } _registerTrace(tls, _pOp.X5, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5)))) _69: _60: if (int32(_11_opProperty) & i32(16)) == i32(0) { goto _70 } func() int32 { if (_pOp.X4) > i32(0) { return i32(0) } return func() int32 { 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(63164))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X4) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63176))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemAboutToChange(tls, _p, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4)))) _70: if (int32(_11_opProperty) & i32(32)) == i32(0) { goto _75 } func() int32 { if (_pOp.X5) > i32(0) { return i32(0) } return func() int32 { 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(63288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63300))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemAboutToChange(tls, _p, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5)))) _75: _pOrigOp = _pOp switch int32(_pOp.X0) { case i32(0): goto _143 case i32(1): goto _144 case i32(2): goto _145 case i32(3): goto _182 case i32(4): goto _183 case i32(5): goto _184 case i32(6): goto _185 case i32(7): goto _186 case i32(8): goto _223 case i32(9): goto _224 case i32(10): goto _225 case i32(11): goto _233 case i32(12): goto _237 case i32(13): goto _81 case i32(14): goto _82 case i32(15): goto _84 case i32(16): goto _86 case i32(17): goto _117 case i32(18): goto _129 case i32(19): goto _132 case i32(20): goto _134 case i32(21): goto _135 case i32(22): goto _136 case i32(23): goto _157 case i32(24): goto _158 case i32(25): goto _159 case i32(26): goto _160 case i32(27): goto _131 case i32(28): goto _130 case i32(29): goto _161 case i32(30): goto _162 case i32(31): goto _163 case i32(32): goto _164 case i32(33): goto _165 case i32(34): goto _137 case i32(35): goto _138 case i32(36): goto _121 case i32(37): goto _120 case i32(38): goto _124 case i32(39): goto _123 case i32(40): goto _122 case i32(41): goto _125 case i32(42): goto _126 case i32(43): goto _112 case i32(44): goto _113 case i32(45): goto _114 case i32(46): goto _115 case i32(47): goto _104 case i32(48): goto _105 case i32(49): goto _106 case i32(50): goto _107 case i32(51): goto _108 case i32(52): goto _103 case i32(53): goto _177 case i32(54): goto _133 case i32(55): goto _178 case i32(56): goto _179 case i32(57): goto _180 case i32(58): goto _181 case i32(59): goto _192 case i32(60): goto _193 case i32(61): goto _194 case i32(62): goto _195 case i32(63): goto _209 case i32(64): goto _210 case i32(65): goto _211 case i32(66): goto _214 case i32(67): goto _216 case i32(68): goto _218 case i32(69): goto _219 case i32(70): goto _226 case i32(71): goto _235 case i32(72): goto _240 case i32(73): goto _83 case i32(74): goto _85 case i32(75): goto _87 case i32(76): goto _88 case i32(77): goto _89 case i32(78): goto _90 case i32(79): goto _93 case i32(80): goto _94 case i32(81): goto _95 case i32(82): goto _96 case i32(83): goto _97 case i32(84): goto _98 case i32(85): goto _99 case i32(86): goto _100 case i32(87): goto _101 case i32(88): goto _102 case i32(89): goto _109 case i32(90): goto _110 case i32(91): goto _111 case i32(92): goto _116 case i32(93): goto _118 case i32(94): goto _119 case i32(95): goto _127 case i32(96): goto _128 case i32(97): goto _92 case i32(98): goto _139 case i32(99): goto _140 case i32(100): goto _141 case i32(101): goto _142 case i32(102): goto _146 case i32(103): goto _147 case i32(104): goto _148 case i32(105): goto _149 case i32(106): goto _150 case i32(107): goto _151 case i32(108): goto _152 case i32(109): goto _153 case i32(110): goto _154 case i32(111): goto _155 case i32(112): goto _156 case i32(114): goto _166 case i32(115): goto _167 case i32(116): goto _168 case i32(117): goto _169 case i32(118): goto _170 case i32(119): goto _171 case i32(120): goto _172 case i32(121): goto _173 case i32(122): goto _174 case i32(123): goto _175 case i32(124): goto _176 case i32(125): goto _187 case i32(126): goto _188 case i32(127): goto _189 case i32(128): goto _190 case i32(129): goto _191 case i32(130): goto _196 case i32(131): goto _197 case i32(132): goto _91 case i32(133): goto _198 case i32(134): goto _199 case i32(135): goto _200 case i32(136): goto _201 case i32(137): goto _202 case i32(138): goto _203 case i32(139): goto _204 case i32(140): goto _205 case i32(141): goto _206 case i32(142): goto _207 case i32(143): goto _208 case i32(144): goto _212 case i32(145): goto _213 case i32(146): goto _215 case i32(147): goto _217 case i32(148): goto _220 case i32(149): goto _221 case i32(150): goto _222 case i32(151): goto _227 case i32(152): goto _228 case i32(153): goto _229 case i32(154): goto _230 case i32(155): goto _231 case i32(156): goto _232 case i32(157): goto _234 case i32(158): goto _236 case i32(159): goto _238 case i32(160): goto _239 default: goto _241 } _81: _jump_to_p2_and_check_for_interrupt: _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr((_pOp.X4)-i32(1)))) _check_for_interrupt: if (*(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */)))))) == 0 { goto _242 } goto _abort_due_to_interrupt _242: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_db.X61)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{nil})) || _nVmStep < _nProgressLimit { goto _244 } func() int32 { if (_db.X63) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(63412))) crt.X__builtin_abort(tls) return i32(0) }() }() _nProgressLimit = (_nVmStep + (_db.X63)) - (_nVmStep % (_db.X63)) if (_db.X61)(tls, _db.X62) == 0 { goto _247 } _rc = i32(9) goto _abort_due_to_error _247: _244: goto _248 _82: func() int32 { if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(63432))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if bool2int((int32(_pIn1.X1)&i32(9312)) != i32(0)) == i32(0) { return i32(0) } return func() int32 { 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(63480))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemAboutToChange(tls, _p, _pIn1) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) = int64(int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32))) if ((_db.X6) & i32(1)) == 0 { goto _254 } _registerTrace(tls, _pOp.X3, _pIn1) _254: _jump_to_p2: _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr((_pOp.X4)-i32(1)))) goto _248 _83: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if int32(_pIn1.X1) == i32(4) { return i32(0) } return func() int32 { 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(63504))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(128)) goto _248 _84: func() int32 { if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(63432))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X4) >= i32(0)) && ((_pOp.X4) < (_p.X27)) { return i32(0) } return func() int32 { 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(63528))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X5) >= i32(0)) && ((_pOp.X5) < (_p.X27)) { return i32(0) } return func() int32 { 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(63560))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (int32(_pOut.X1) & i32(9312)) == i32(0) { return i32(0) } return func() int32 { 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(63592))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64((_pOp.X5) - i32(1)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) if (_pOp.X4) == 0 { goto _268 } goto _jump_to_p2 _268: goto _248 _85: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if int32(_pIn1.X1) == i32(4) { return i32(0) } return func() int32 { 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(63504))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) >= int64(i32(0))) && ((*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) < int64(_p.X27)) { return i32(0) } return func() int32 { 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(63616))) crt.X__builtin_abort(tls) return i32(0) }() }() _24_pCaller = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))))) func() int32 { if int32(_24_pCaller.X0) == i32(16) { return i32(0) } return func() int32 { 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(63652))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_24_pCaller.X4) >= i32(0)) && ((_24_pCaller.X4) < (_p.X27)) { return i32(0) } return func() int32 { 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(63680))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr((_24_pCaller.X4)-i32(1)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(128)) goto _248 _86: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if bool2int((int32(_pIn1.X1)&i32(9312)) != i32(0)) == i32(0) { return i32(0) } return func() int32 { 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(63480))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(4)) _25_pcDest = int32(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) = int64(int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32))) if ((_db.X6) & i32(1)) == 0 { goto _281 } _registerTrace(tls, _pOp.X3, _pIn1) _281: _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(_25_pcDest))) goto _248 _87: _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if (int32(_pIn3.X1) & i32(1)) != i32(0) { goto _282 } goto _248 _282: _88: _27_pcx = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) if (_pOp.X3) != i32(0) || (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { goto _284 } _27_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(248 /* X38 */))))) = (*XVdbeFrame)(unsafe.Pointer(_27_pFrame.X1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(264 /* X40 */))) -= 1 _sqlite3VdbeSetChanges(tls, _db, _p.X11) _27_pcx = _sqlite3VdbeFrameRestore(tls, _27_pFrame) if (_pOp.X4) != i32(4) { goto _285 } _27_pcx = ((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_27_pcx))).X4) - i32(1) _285: _aOp = (*XVdbeOp)(unsafe.Pointer(_p.X17)) _aMem = (*XMem)(unsafe.Pointer(_p.X18)) _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(_27_pcx))) goto _248 _284: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _pOp.X3 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(194 /* X30 */))) = uint8(_pOp.X4) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = _27_pcx func() int32 { if int32(_pOp.X2) <= i32(4) { return i32(0) } return func() int32 { 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(63720))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X10) == 0 { goto _288 } if (_pOp.X2) == 0 { goto _289 } _sqlite3VdbeError(tls, _p, str(63732), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00azTypeØ001)) + 8*uintptr(int32(_pOp.X2)-i32(1)))))) if (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == nil { goto _290 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = _sqlite3MPrintf(tls, _db, str(63756), unsafe.Pointer(_p.X22), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _290: goto _291 _289: _sqlite3VdbeError(tls, _p, str(24304), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _291: Xsqlite3_log(tls, _pOp.X3, str(63764), _27_pcx, unsafe.Pointer(_p.X36), unsafe.Pointer(_p.X22)) _288: _rc = _sqlite3VdbeHalt(tls, _p) func() int32 { if ((_rc == i32(5)) || (_rc == i32(0))) || (_rc == i32(1)) { return i32(0) } return func() int32 { 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(63788))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(5) { goto _296 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(5) goto _297 _296: func() int32 { if (_rc == i32(0)) || (((_p.X10) & i32(255)) == i32(19)) { return i32(0) } return func() int32 { 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(63844))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_rc == i32(0)) || ((_db.X77) > int64(i32(0)))) || ((_db.X78) > int64(i32(0))) { return i32(0) } return func() int32 { 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(63896))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = func() int32 { if (_p.X10) != 0 { return i32(1) } return i32(101) }() _297: goto _vdbe_return _89: _pOut = _out2Prerelease(tls, _p, _pOp) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_pOp.X3) goto _248 _90: _pOut = _out2Prerelease(tls, _p, _pOp) func() int32 { if (*(**int64)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != (*int64)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(63960))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = *(*(**int64)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) goto _248 _91: _pOut = _out2Prerelease(tls, _p, _pOp) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(8)) func() int32 { if _sqlite3IsNaN(tls, *(*(**float64)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) == 0 { return i32(0) } return func() int32 { 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(63976))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = *(*(**float64)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) goto _248 _92: func() int32 { if (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(64008))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = _out2Prerelease(tls, _p, _pOp) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(79)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) if int32(_encoding) == i32(1) { goto _313 } _rc = _sqlite3VdbeMemSetStr(tls, _pOut, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), i32(-1), uint8(i32(1)), nil) func() int32 { if (_rc == i32(0)) || (_rc == i32(18)) { return i32(0) } return func() int32 { 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(64024))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == _sqlite3VdbeChangeEncoding(tls, _pOut, int32(_encoding)) { goto _317 } goto _no_mem _317: func() int32 { if ((_pOut.X7) > i32(0)) && ((_pOut.X6) == (_pOut.X5)) { return i32(0) } return func() int32 { 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(64060))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if bool2int((int32(_pOut.X1)&i32(9312)) != i32(0)) == i32(0) { return i32(0) } return func() int32 { 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(64104))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(32 /* X7 */))) = i32(0) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(2048)) sink4530 = *p } if int32(_pOp.X1) != i32(-1) { goto _323 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _323: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-1)) *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = _pOut.X5 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _pOut.X4 _313: if (_pOp.X3) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _324 } goto _too_big _324: func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _93: func() int32 { if (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(64008))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = _out2Prerelease(tls, _p, _pOp) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(2562)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X5 */))) = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = _pOp.X3 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = _encoding if (_pOp.X5) <= i32(0) { goto _329 } func() int32 { if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63300))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if (int32(_pIn3.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(64128))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) != int64(_pOp.X2) { goto _334 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(2576)) _334: _329: goto _248 _94: _pOut = _out2Prerelease(tls, _p, _pOp) _45_cnt = (_pOp.X5) - (_pOp.X4) func() int32 { if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63300))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = store4530(&_45_nullFlag, uint16(func() int32 { if (_pOp.X3) != 0 { return i32(257) } return i32(1) }())) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = i32(0) _339: if _45_cnt <= i32(0) { goto _340 } *(*uintptr)(unsafe.Pointer(&_pOut)) += uintptr(72) _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) _sqlite3VdbeMemSetNull(tls, _pOut) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = _45_nullFlag *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = i32(0) _45_cnt -= 1 goto _339 _340: goto _248 _95: func() int32 { if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(63432))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) | i32(1)) & i32(-129)) goto _248 _96: func() int32 { if (_pOp.X3) <= i32(1000000000) { return i32(0) } return func() int32 { 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(64152))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = _out2Prerelease(tls, _p, _pOp) _sqlite3VdbeMemSetStr(tls, _pOut, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), _pOp.X3, uint8(i32(0)), nil) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = _encoding goto _248 _97: func() int32 { if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= int32(_p.X4)) { return i32(0) } return func() int32 { 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(64184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == _sqlite3VListNumToName(tls, _p.X25, _pOp.X3)) { return i32(0) } return func() int32 { 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(64216))) crt.X__builtin_abort(tls) return i32(0) }() }() _49_pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 72*uintptr((_pOp.X3)-i32(1)))) if _sqlite3VdbeMemTooBig(tls, _49_pVar) == 0 { goto _352 } goto _too_big _352: _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _sqlite3VdbeMemShallowCopy(tls, _pOut, _49_pVar, i32(2048)) goto _248 _98: _51_n = _pOp.X5 _51_p1 = _pOp.X3 _51_p2 = _pOp.X4 func() int32 { if ((_51_n > i32(0)) && (_51_p1 > i32(0))) && (_51_p2 > i32(0)) { return i32(0) } return func() int32 { 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(64284))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_51_p1 + _51_n) <= _51_p2) || ((_51_p2 + _51_n) <= _51_p1) { return i32(0) } return func() int32 { 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(64304))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_51_p1))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_51_p2))) _360: func() int32 { if uintptr(unsafe.Pointer(_pOut)) <= uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(((_p.X6)+i32(1))-(_p.X7)))))) { return i32(0) } return func() int32 { 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(64328))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if uintptr(unsafe.Pointer(_pIn1)) <= uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(((_p.X6)+i32(1))-(_p.X7)))))) { return i32(0) } return func() int32 { 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(64368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pIn1.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(64408))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) _sqlite3VdbeMemMove(tls, _pOut, _pIn1) if uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(_pOut.X11)))) < uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_51_p1))))) || uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(_pOut.X11)))) >= uintptr(unsafe.Pointer(_pOut)) { goto _368 } { p := (**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(56 /* X11 */))))) *p = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 72*uintptr((_pOp.X4)-_51_p1))) sink5448613 = *p } _368: if (int32(_pOut.X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, _pOut) == 0 { goto _370 } goto _no_mem _370: if ((_db.X6) & i32(1)) == 0 { goto _371 } _registerTrace(tls, postInc961(&_51_p2, int32(1)), _pOut) _371: *(*uintptr)(unsafe.Pointer(&_pIn1)) += uintptr(72) *(*uintptr)(unsafe.Pointer(&_pOut)) += uintptr(72) if preInc961(&_51_n, -1) != 0 { goto _360 } goto _248 _99: _55_n = _pOp.X5 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) func() int32 { if _pOut != _pIn1 { return i32(0) } return func() int32 { 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(64428))) crt.X__builtin_abort(tls) return i32(0) }() }() _374: _sqlite3VdbeMemShallowCopy(tls, _pOut, _pIn1, i32(4096)) if (int32(_pOut.X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, _pOut) == 0 { goto _377 } goto _no_mem _377: *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(56 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) if ((_db.X6) & i32(1)) == 0 { goto _378 } _registerTrace(tls, ((_pOp.X4)+(_pOp.X5))-_55_n, _pOut) _378: if postInc961(&_55_n, int32(-1)) != i32(0) { goto _379 } goto _375 _379: *(*uintptr)(unsafe.Pointer(&_pOut)) += uintptr(72) *(*uintptr)(unsafe.Pointer(&_pIn1)) += uintptr(72) goto _374 _375: goto _248 _100: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) func() int32 { if _pOut != _pIn1 { return i32(0) } return func() int32 { 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(64428))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemShallowCopy(tls, _pOut, _pIn1, i32(4096)) if (*XMem)(unsafe.Pointer(_pOut.X11)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _382 } *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(56 /* X11 */))))) = _pIn1 _382: goto _248 _101: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (int32(_pIn1.X1) & i32(4)) != i32(0) { return i32(0) } return func() int32 { 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(64440))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _sqlite3VdbeMemSetInt64(tls, _pOut, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) goto _248 _102: func() int32 { if int32(_p.X29) == (_pOp.X4) { return i32(0) } return func() int32 { 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(64468))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X3) > i32(0) { return i32(0) } return func() int32 { 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(63040))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) + (_pOp.X4)) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1)) { return i32(0) } return func() int32 { 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(64492))) crt.X__builtin_abort(tls) return i32(0) }() }() if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_db.X61)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{nil})) || _nVmStep < _nProgressLimit || (_db.X61)(tls, _db.X62) == i32(0) { goto _393 } _rc = i32(9) goto _abort_due_to_error _393: if i32(0) == store961(&_rc, _sqlite3VdbeCheckFk(tls, _p, i32(0))) { goto _394 } func() int32 { if ((_db.X6) & i32(128)) != 0 { return i32(0) } return func() int32 { 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(64536))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((uint32((_p.X32)>>uint(i32(6))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(64564))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _abort_due_to_error _394: func() int32 { if ((_p.X12) == i32(0)) || ((_db.X6)&i32(128)) != 0 { return i32(0) } return func() int32 { 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(64584))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeCloseStatement(tls, _p, i32(1)) func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))) = ((_p.X8) + uint32(i32(2))) | uint32(i32(1)) _60_pMem = store5448613((**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(136 /* X21 */))))), (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X3)))) _60_i = i32(0) _404: if _60_i >= (_pOp.X4) { goto _407 } func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(64632))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i))).X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i)))) == 0 { goto _411 } goto _no_mem _411: func() int32 { if ((int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i))).X1) & i32(4096)) == i32(0)) || ((int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i))).X1) & i32(18)) == i32(0)) { return i32(0) } return func() int32 { 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(64656))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemNulTerminate(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i)))) if ((_db.X6) & i32(1)) == 0 { goto _415 } _registerTrace(tls, (_pOp.X3)+_60_i, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+72*uintptr(_60_i)))) _415: _60_i += 1 goto _404 _407: if (_db.X17) == 0 { goto _416 } goto _no_mem _416: if (int32(_db.X24) & i32(4)) == 0 { goto _417 } (_db.X41)(tls, uint32(i32(4)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(uintptr(i32(0)))) _417: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/32)) + i32(1) _rc = i32(100) goto _vdbe_return _103: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if _pIn1 != _pOut { return i32(0) } return func() int32 { 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(64732))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((int32(_pIn1.X1) | int32(_pIn2.X1)) & i32(1)) == 0 { goto _420 } _sqlite3VdbeMemSetNull(tls, _pOut) goto _248 _420: if func() int32 { if (int32(_pIn1.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pIn1) } return i32(0) }() == 0 && func() int32 { if (int32(_pIn2.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pIn2) } return i32(0) }() == 0 { goto _426 } goto _no_mem _426: if (int32(_pIn1.X1)&i32(18)) != i32(0) || _sqlite3VdbeMemStringify(tls, _pIn1, _encoding, uint8(i32(0))) == 0 { goto _428 } goto _no_mem _428: if (int32(_pIn2.X1)&i32(18)) != i32(0) || _sqlite3VdbeMemStringify(tls, _pIn2, _encoding, uint8(i32(0))) == 0 { goto _430 } goto _no_mem _430: _66_nByte = int64((_pIn1.X4) + (_pIn2.X4)) if _66_nByte <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _431 } goto _too_big _431: if _sqlite3VdbeMemGrow(tls, _pOut, int32(_66_nByte)+i32(2), bool2int(_pOut == _pIn2)) == 0 { goto _432 } goto _no_mem _432: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(2)) if _pOut == _pIn2 { goto _433 } crt.Xmemcpy(tls, (unsafe.Pointer)(_pOut.X5), (unsafe.Pointer)(_pIn2.X5), uint64(_pIn2.X4)) _433: crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut.X5))+1*uintptr(_pIn2.X4)))), (unsafe.Pointer)(_pIn1.X5), uint64(_pIn1.X4)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut.X5)) + 1*uintptr(_66_nByte))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut.X5)) + 1*uintptr(_66_nByte+int64(i32(1))))) = int8(i32(0)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(512)) sink4530 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = int32(_66_nByte) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = _encoding goto _248 _104: _105: _106: _107: _108: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _73_type1 = _numericType(tls, _pIn1) _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _73_type2 = _numericType(tls, _pIn2) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _73_flags = uint16(int32(_pIn1.X1) | int32(_pIn2.X1)) if (int32(_73_flags) & i32(1)) == i32(0) { goto _434 } goto _arithmetic_result_is_null _434: if ((int32(_73_type1) & int32(_73_type2)) & i32(4)) == i32(0) { goto _435 } _73_iA = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) _73_iB = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */))))) _73_bIntint = int8(i32(1)) switch int32(_pOp.X0) { case i32(47): goto _437 case i32(48): goto _438 case i32(49): goto _439 case i32(50): goto _440 default: goto _441 } _437: if _sqlite3AddInt64(tls, &_73_iB, _73_iA) == 0 { goto _442 } goto _fp_math _442: goto _443 _438: if _sqlite3SubInt64(tls, &_73_iB, _73_iA) == 0 { goto _444 } goto _fp_math _444: goto _443 _439: if _sqlite3MulInt64(tls, &_73_iB, _73_iA) == 0 { goto _445 } goto _fp_math _445: goto _443 _440: if _73_iA != int64(i32(0)) { goto _446 } goto _arithmetic_result_is_null _446: if _73_iA != int64(i32(-1)) || _73_iB != i64(-9223372036854775808) { goto _448 } goto _fp_math _448: { p := &_73_iB *p = (*p) / _73_iA sink967 = *p } goto _443 _441: if _73_iA != int64(i32(0)) { goto _449 } goto _arithmetic_result_is_null _449: if _73_iA != int64(i32(-1)) { goto _450 } _73_iA = int64(i32(1)) _450: { p := &_73_iB *p = (*p) % _73_iA sink967 = *p } goto _443 _443: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _73_iB *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) goto _451 _435: _73_bIntint = int8(i32(0)) _fp_math: _73_rA = _sqlite3VdbeRealValue(tls, _pIn1) _73_rB = _sqlite3VdbeRealValue(tls, _pIn2) switch int32(_pOp.X0) { case i32(47): goto _453 case i32(48): goto _454 case i32(49): goto _455 case i32(50): goto _456 default: goto _457 } _453: { p := &_73_rB *p = (*p) + _73_rA sink4517 = *p } goto _458 _454: { p := &_73_rB *p = (*p) - _73_rA sink4517 = *p } goto _458 _455: { p := &_73_rB *p = (*p) * _73_rA sink4517 = *p } goto _458 _456: if _73_rA != float64(0) { goto _459 } goto _arithmetic_result_is_null _459: { p := &_73_rB *p = (*p) / _73_rA sink4517 = *p } goto _458 _457: _73_iA = int64(_73_rA) _73_iB = int64(_73_rB) if _73_iA != int64(i32(0)) { goto _460 } goto _arithmetic_result_is_null _460: if _73_iA != int64(i32(-1)) { goto _461 } _73_iA = int64(i32(1)) _461: _73_rB = float64(_73_iB % _73_iA) goto _458 _458: if _sqlite3IsNaN(tls, _73_rB) == 0 { goto _462 } goto _arithmetic_result_is_null _462: *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _73_rB *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(8)) if ((int32(_73_type1)|int32(_73_type2))&i32(8)) != i32(0) || _73_bIntint != 0 { goto _464 } _sqlite3VdbeIntegerAffinity(tls, _pOut) _464: _451: goto _248 _arithmetic_result_is_null: _sqlite3VdbeMemSetNull(tls, _pOut) goto _248 _109: func() int32 { if int32(_pOp.X1) == i32(-3) { return i32(0) } return func() int32 { 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(64744))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOp.X3) == 0 { goto _467 } _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X3))), int64(i32(0))) _467: goto _248 _110: func() int32 { if int32(_pOp.X1) == i32(-4) { return i32(0) } return func() int32 { 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(64768))) crt.X__builtin_abort(tls) return i32(0) }() }() _86_n = int32(_pOp.X2) func() int32 { if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(64792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_86_n == i32(0)) || (((_pOp.X4) > i32(0)) && (((_pOp.X4) + _86_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1)))) { return i32(0) } return func() int32 { 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(64840))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X5) < (_pOp.X4)) || ((_pOp.X5) >= ((_pOp.X4) + _86_n)) { return i32(0) } return func() int32 { 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(64904))) crt.X__builtin_abort(tls) return i32(0) }() }() _86_pCtx = (*Xsqlite3_context)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(56)+(uint64(_86_n-i32(1))*u64(8))))) if _86_pCtx != (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0)))) { goto _480 } goto _no_mem _480: *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(0 /* X0 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(8 /* X1 */))))) = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(32 /* X4 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(24 /* X3 */))))) = _p *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(42 /* X8 */))) = uint8(_86_n) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-16)) *(**Xsqlite3_context)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _86_pCtx *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(91)) _111: func() int32 { if int32(_pOp.X1) == i32(-16) { return i32(0) } return func() int32 { 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(64944))) crt.X__builtin_abort(tls) return i32(0) }() }() _87_pCtx = (*Xsqlite3_context)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if (*XMem)(unsafe.Pointer(_87_pCtx.X0)) == _pOut { goto _483 } *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx)) + uintptr(0 /* X0 */))))) = _pOut _87_i = int32(_87_pCtx.X8) - i32(1) _484: if _87_i < i32(0) { goto _487 } *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(48 /* X9 */))))) + 8*uintptr(_87_i))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr((_pOp.X4)+_87_i))) _87_i -= 1 goto _484 _487: _483: _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) _87_i = i32(0) _488: if _87_i >= int32(_87_pCtx.X8) { goto _491 } func() int32 { if (int32((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(48 /* X9 */))))) + 8*uintptr(_87_i)))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(64968))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _494 } _registerTrace(tls, (_pOp.X4)+_87_i, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(48 /* X9 */))))) + 8*uintptr(_87_i)))) _494: _87_i += 1 goto _488 _491: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(0)) (*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) }{((*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(48 /* X9 */)))))) if (_87_pCtx.X7) == 0 { goto _495 } if (_87_pCtx.X5) == 0 { goto _496 } _sqlite3VdbeError(tls, _p, str(24304), unsafe.Pointer(Xsqlite3_value_text(tls, _pOut))) _rc = _87_pCtx.X5 _496: _sqlite3VdbeDeleteAuxData(tls, _db, (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(280 /* X43 */))))), _87_pCtx.X4, _pOp.X3) if _rc == 0 { goto _497 } goto _abort_due_to_error _497: _495: if (int32(_pOut.X1) & i32(18)) == 0 { goto _498 } _sqlite3VdbeChangeEncoding(tls, _pOut, int32(_encoding)) if _sqlite3VdbeMemTooBig(tls, _pOut) == 0 { goto _499 } goto _too_big _499: _498: if ((_db.X6) & i32(1)) == 0 { goto _500 } _registerTrace(tls, _pOp.X5, _pOut) _500: goto _248 _112: _113: _114: _115: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if ((int32(_pIn1.X1) | int32(_pIn2.X1)) & i32(1)) == 0 { goto _501 } _sqlite3VdbeMemSetNull(tls, _pOut) goto _248 _501: _93_iA = _sqlite3VdbeIntValue(tls, _pIn2) _93_iB = _sqlite3VdbeIntValue(tls, _pIn1) _93_op = _pOp.X0 if int32(_93_op) != i32(43) { goto _502 } { p := &_93_iA *p = (*p) & _93_iB sink967 = *p } goto _503 _502: if int32(_93_op) != i32(44) { goto _504 } { p := &_93_iA *p = (*p) | _93_iB sink967 = *p } goto _505 _504: if _93_iB == int64(i32(0)) { goto _506 } func() int32 { if (int32(_93_op) == i32(46)) || (int32(_93_op) == i32(45)) { return i32(0) } return func() int32 { 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(64996))) crt.X__builtin_abort(tls) return i32(0) }() }() if _93_iB >= int64(i32(0)) { goto _510 } i32(0) _93_op = uint8(i32(91) - int32(_93_op)) _93_iB = func() int64 { if _93_iB > int64(i32(-64)) { return (-_93_iB) } return int64(i32(64)) }() _510: if _93_iB < int64(i32(64)) { goto _513 } _93_iA = int64(func() int32 { if (_93_iA >= int64(i32(0))) || (int32(_93_op) == i32(45)) { return i32(0) } return i32(-1) }()) goto _517 _513: crt.Xmemcpy(tls, (unsafe.Pointer)(&_93_uA), (unsafe.Pointer)(&_93_iA), u64(8)) if int32(_93_op) != i32(45) { goto _518 } { p := &_93_uA *p = (*p) << uint(int32(_93_iB)) sink992 = *p } goto _519 _518: { p := &_93_uA *p = (*p) >> uint(int32(_93_iB)) sink992 = *p } if _93_iA >= int64(i32(0)) { goto _520 } { p := &_93_uA *p = (*p) | (u64(18446744073709551615) << uint(int32(int64(i32(64))-_93_iB))) sink992 = *p } _520: _519: crt.Xmemcpy(tls, (unsafe.Pointer)(&_93_iA), (unsafe.Pointer)(&_93_uA), u64(8)) _517: _506: _505: _503: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _93_iA *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) goto _248 _116: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _sqlite3VdbeMemAboutToChange(tls, _p, _pIn1) _sqlite3VdbeMemIntegerify(tls, _pIn1) { p := (*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) *p = (*p) + int64(_pOp.X4) sink967 = *p } goto _248 _117: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1) & i32(4)) != i32(0) { goto _521 } _applyAffinity(tls, _pIn1, int8(i32(67)), _encoding) if (int32(_pIn1.X1) & i32(4)) != i32(0) { goto _522 } if (_pOp.X4) != i32(0) { goto _523 } _rc = i32(20) goto _abort_due_to_error _523: goto _jump_to_p2 _522: _521: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16((int32(_pIn1.X1) & i32(-49664)) | i32(4)) goto _248 _118: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1) & i32(4)) == 0 { goto _525 } _sqlite3VdbeMemRealify(tls, _pIn1) _525: goto _248 _119: func() int32 { if ((_pOp.X4) >= i32(65)) && ((_pOp.X4) <= i32(69)) { return i32(0) } return func() int32 { 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(65036))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _sqlite3VdbeMemAboutToChange(tls, _p, _pIn1) _rc = func() int32 { if (int32(_pIn1.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pIn1) } return i32(0) }() _sqlite3VdbeMemCast(tls, _pIn1, uint8(_pOp.X4), _encoding) if _rc == 0 { goto _531 } goto _abort_due_to_error _531: goto _248 _120: _121: _122: _123: _124: _125: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _112_flags1 = _pIn1.X1 _112_flags3 = _pIn3.X1 if ((int32(_112_flags1) | int32(_112_flags3)) & i32(1)) == 0 { goto _532 } if (int32(_pOp.X2) & i32(128)) == 0 { goto _533 } func() int32 { if (int32(_pOp.X0) == i32(37)) || (int32(_pOp.X0) == i32(36)) { return i32(0) } return func() int32 { 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(65092))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_112_flags1) & i32(256)) == i32(0) { return i32(0) } return func() int32 { 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(65136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X2) & i32(16)) == i32(0) { return i32(0) } return func() int32 { 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(65164))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((int32(_112_flags1)&int32(_112_flags3))&i32(1)) == i32(0) || (int32(_112_flags3)&i32(256)) != i32(0) { goto _542 } _112_res = i32(0) goto _543 _542: _112_res = i32(1) _543: goto _544 _533: if (int32(_pOp.X2) & i32(32)) == 0 { goto _545 } _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _iCompare = i32(1) _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(1)) if ((_db.X6) & i32(1)) == 0 { goto _546 } _registerTrace(tls, _pOp.X4, _pOut) _546: goto _547 _545: if (int32(_pOp.X2) & i32(16)) == 0 { goto _548 } goto _jump_to_p2 _548: _547: goto _248 _544: goto _549 _532: _112_affinity = int8(int32(_pOp.X2) & i32(71)) if int32(_112_affinity) < i32(67) { goto _550 } if ((int32(_112_flags1) | int32(_112_flags3)) & i32(2)) == 0 { goto _551 } if (int32(_112_flags1) & i32(14)) != i32(2) { goto _552 } _applyNumericAffinity(tls, _pIn1, i32(0)) _112_flags3 = _pIn3.X1 _552: if (int32(_112_flags3) & i32(14)) != i32(2) { goto _553 } _applyNumericAffinity(tls, _pIn3, i32(0)) _553: _551: if ((int32(_pIn1.X1) & int32(_pIn3.X1)) & i32(4)) == i32(0) { goto _554 } if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) <= (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) { goto _555 } _112_res = i32(1) goto _compare_op _555: if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) >= (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) { goto _556 } _112_res = i32(-1) goto _compare_op _556: _112_res = i32(0) goto _compare_op _554: goto _557 _550: if int32(_112_affinity) != i32(66) { goto _558 } if (int32(_112_flags1)&i32(2)) != i32(0) || (int32(_112_flags1)&i32(12)) == i32(0) { goto _560 } _sqlite3VdbeMemStringify(tls, _pIn1, _encoding, uint8(i32(1))) _112_flags1 = uint16((int32(_pIn1.X1) & i32(-33280)) | (int32(_112_flags1) & i32(33279))) func() int32 { if _pIn1 != _pIn3 { return i32(0) } return func() int32 { 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(65200))) crt.X__builtin_abort(tls) return i32(0) }() }() _560: if (int32(_112_flags3)&i32(2)) != i32(0) || (int32(_112_flags3)&i32(12)) == i32(0) { goto _564 } _sqlite3VdbeMemStringify(tls, _pIn3, _encoding, uint8(i32(1))) _112_flags3 = uint16((int32(_pIn3.X1) & i32(-33280)) | (int32(_112_flags3) & i32(33279))) _564: _558: _557: func() int32 { if (int32(_pOp.X1) == i32(-3)) || ((*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(65212))) crt.X__builtin_abort(tls) return i32(0) }() }() _112_res = _sqlite3MemCompare(tls, _pIn3, _pIn1, (*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))))) _549: _compare_op: switch int32(_pOp.X0) { case i32(36): goto _570 case i32(37): goto _569 case i32(38): goto _573 case i32(39): goto _572 case i32(40): goto _571 default: goto _574 } _569: _112_res2 = bool2int(_112_res == i32(0)) goto _575 _570: _112_res2 = _112_res goto _575 _571: _112_res2 = bool2int(_112_res < i32(0)) goto _575 _572: _112_res2 = bool2int(_112_res <= i32(0)) goto _575 _573: _112_res2 = bool2int(_112_res > i32(0)) goto _575 _574: _112_res2 = bool2int(_112_res >= i32(0)) goto _575 _575: func() int32 { if (int32(_pIn1.X1) & i32(1024)) == (int32(_112_flags1) & i32(1024)) { return i32(0) } return func() int32 { 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(65256))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = _112_flags1 func() int32 { if (int32(_pIn3.X1) & i32(1024)) == (int32(_112_flags3) & i32(1024)) { return i32(0) } return func() int32 { 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(65304))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(8 /* X1 */))) = _112_flags3 if (int32(_pOp.X2) & i32(32)) == 0 { goto _580 } _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _iCompare = _112_res _112_res2 = bool2int(_112_res2 != i32(0)) if (int32(_pOp.X2) & i32(8)) == i32(0) { goto _581 } func() int32 { if (int32(_pOp.X0) == i32(36)) || (int32(_pOp.X0) == i32(37)) { return i32(0) } return func() int32 { 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(65352))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_112_res2 == i32(0)) || (_112_res2 == i32(1)) { return i32(0) } return func() int32 { 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(65396))) crt.X__builtin_abort(tls) return i32(0) }() }() if bool2int(int32(_pOp.X0) == i32(37)) != _112_res2 { goto _588 } goto _248 _588: _581: _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_112_res2) if ((_db.X6) & i32(1)) == 0 { goto _589 } _registerTrace(tls, _pOp.X4, _pOut) _589: goto _590 _580: if _112_res2 == 0 { goto _591 } goto _jump_to_p2 _591: _590: goto _248 _126: func() int32 { if uintptr(unsafe.Pointer(_pOp)) > uintptr(unsafe.Pointer(_aOp)) { return i32(0) } return func() int32 { 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(65416))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X0) == i32(40)) || (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X0) == i32(38)) { return i32(0) } return func() int32 { 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(65424))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X2) & i32(32)) != 0 { return i32(0) } return func() int32 { 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(65472))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iCompare == i32(0) { goto _599 } goto _jump_to_p2 _599: goto _248 _127: func() int32 { if int32(_pOp.X1) == i32(-12) { return i32(0) } return func() int32 { 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(65500))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(**int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != nil { return i32(0) } return func() int32 { 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(65528))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))).X0) == i32(96) { return i32(0) } return func() int32 { 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(65540))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))).X2) & i32(1)) != 0 { return i32(0) } return func() int32 { 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(65568))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _248 _128: if (int32(_pOp.X2) & i32(1)) != i32(0) { goto _608 } _139_aPermute = (*int32)(unsafe.Pointer(uintptr(i32(0)))) goto _609 _608: func() int32 { if uintptr(unsafe.Pointer(_pOp)) > uintptr(unsafe.Pointer(_aOp)) { return i32(0) } return func() int32 { 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(65416))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X0) == i32(95) { return i32(0) } return func() int32 { 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(65596))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X1) == i32(-12) { return i32(0) } return func() int32 { 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(65628))) crt.X__builtin_abort(tls) return i32(0) }() }() _139_aPermute = (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(*(**int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*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))))))))))) func() int32 { if _139_aPermute != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65656))) crt.X__builtin_abort(tls) return i32(0) }() }() _609: _139_n = _pOp.X5 _139_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) func() int32 { if _139_n > i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _139_pKeyInfo != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46212))) crt.X__builtin_abort(tls) return i32(0) }() }() _139_p1 = _pOp.X3 _139_p2 = _pOp.X4 if _139_aPermute == nil { goto _622 } _142_mx = i32(0) _142_k = i32(0) _623: if _142_k >= _139_n { goto _626 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aPermute)) + 4*uintptr(_142_k)))) <= _142_mx { goto _627 } _142_mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aPermute)) + 4*uintptr(_142_k))) _627: _142_k += 1 goto _623 _626: func() int32 { if (_139_p1 > i32(0)) && ((_139_p1 + _142_mx) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { return i32(0) } return func() int32 { 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(65668))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_139_p2 > i32(0)) && ((_139_p2 + _142_mx) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { return i32(0) } return func() int32 { 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(65712))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _634 _622: func() int32 { if (_139_p1 > i32(0)) && ((_139_p1 + _139_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { return i32(0) } return func() int32 { 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(65756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_139_p2 > i32(0)) && ((_139_p2 + _139_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { return i32(0) } return func() int32 { 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(65800))) crt.X__builtin_abort(tls) return i32(0) }() }() _634: _139_i = i32(0) _641: if _139_i >= _139_n { goto _644 } _139_idx = func() int32 { if _139_aPermute != nil { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aPermute)) + 4*uintptr(_139_i)))) } return _139_i }() func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_139_p1+_139_idx))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(65844))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_139_p2+_139_idx))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(65872))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _651 } _registerTrace(tls, _139_p1+_139_idx, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_139_p1+_139_idx)))) _651: if ((_db.X6) & i32(1)) == 0 { goto _652 } _registerTrace(tls, _139_p2+_139_idx, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_139_p2+_139_idx)))) _652: func() int32 { if _139_i < int32(_139_pKeyInfo.X2) { return i32(0) } return func() int32 { 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(65900))) crt.X__builtin_abort(tls) return i32(0) }() }() _139_pColl = *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_139_i))) _139_bRev = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_pKeyInfo.X5)) + 1*uintptr(_139_i)))) _iCompare = _sqlite3MemCompare(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_139_p1+_139_idx))), (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_139_p2+_139_idx))), _139_pColl) if _iCompare == 0 { goto _655 } if _139_bRev == 0 { goto _656 } _iCompare = -_iCompare _656: goto _644 _655: _139_i += 1 goto _641 _644: goto _248 _129: if _iCompare >= i32(0) { goto _657 } _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr((_pOp.X3)-i32(1)))) goto _658 _657: if _iCompare != i32(0) { goto _659 } _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr((_pOp.X4)-i32(1)))) goto _660 _659: _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr((_pOp.X5)-i32(1)))) _660: _658: goto _248 _130: _131: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1) & i32(1)) == 0 { goto _661 } _150_v1 = i32(2) goto _662 _661: _150_v1 = bool2int(_sqlite3VdbeIntValue(tls, _pIn1) != int64(i32(0))) _662: _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) if (int32(_pIn2.X1) & i32(1)) == 0 { goto _663 } _150_v2 = i32(2) goto _664 _663: _150_v2 = bool2int(_sqlite3VdbeIntValue(tls, _pIn2) != int64(i32(0))) _664: if int32(_pOp.X0) != i32(28) { goto _665 } _150_v1 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00and_logicØ002)) + 1*uintptr((_150_v1*i32(3))+_150_v2)))) goto _666 _665: _150_v1 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00or_logicØ003)) + 1*uintptr((_150_v1*i32(3))+_150_v2)))) _666: _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if _150_v1 != i32(2) { goto _667 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(1)) goto _668 _667: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_150_v1) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) _668: goto _248 _132: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _sqlite3VdbeMemSetNull(tls, _pOut) if (int32(_pIn1.X1) & i32(1)) != i32(0) { goto _669 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(bool2int(_sqlite3VdbeIntValue(tls, _pIn1) == 0)) _669: goto _248 _133: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _sqlite3VdbeMemSetNull(tls, _pOut) if (int32(_pIn1.X1) & i32(1)) != i32(0) { goto _670 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = ^_sqlite3VdbeIntValue(tls, _pIn1) _670: goto _248 _134: func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(i32(0)))).X0) == i32(72) { return i32(0) } return func() int32 { 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(65920))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { goto _673 } _163_iAddr = uint32(int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(_p.X17))))) / 32))) 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) { goto _674 } goto _jump_to_p2 _674: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeFrame)(unsafe.Pointer(_p.X38)).X6)) + 1*uintptr(_163_iAddr/uint32(i32(8))))) *p = uint8(int32(*p) | (i32(1) << uint(int32(_163_iAddr&uint32(i32(7)))))) sink4537 = *p } goto _675 _673: if ((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(i32(0)))).X3) != (_pOp.X3) { goto _676 } goto _jump_to_p2 _676: _675: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(i32(0)))).X3 goto _248 _135: _136: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1) & i32(1)) == 0 { goto _677 } _168_c = _pOp.X5 goto _678 _677: _168_c = bool2int(_sqlite3VdbeRealValue(tls, _pIn1) != float64(0)) if int32(_pOp.X0) != i32(22) { goto _679 } _168_c = bool2int(_168_c == 0) _679: _678: if _168_c == 0 { goto _680 } goto _jump_to_p2 _680: goto _248 _137: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1) & i32(1)) == i32(0) { goto _681 } goto _jump_to_p2 _681: goto _248 _138: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1) & i32(1)) != i32(0) { goto _682 } goto _jump_to_p2 _682: goto _248 _139: _176_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) _176_p2 = _pOp.X4 _rc = _sqlite3VdbeCursorMoveto(tls, &_176_pC, &_176_p2) if _rc == 0 { goto _683 } goto _abort_due_to_error _683: func() int32 { if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(64792))) crt.X__builtin_abort(tls) return i32(0) }() }() _176_pDest = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _sqlite3VdbeMemAboutToChange(tls, _p, _176_pDest) func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _176_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _176_p2 < int32(_176_pC.X18) { return i32(0) } return func() int32 { 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(65992))) crt.X__builtin_abort(tls) return i32(0) }() }() _176_aOffset = _176_pC.X21 func() int32 { if int32(_176_pC.X0) != i32(2) { return i32(0) } return func() int32 { 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(66008))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_176_pC.X0) != i32(3)) || ((_176_pC.X2) != 0) { return i32(0) } return func() int32 { 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(66036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_176_pC.X0) != i32(1) { return i32(0) } return func() int32 { 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(66080))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_176_pC.X11) == (_p.X8) { goto _701 } if (_176_pC.X2) == 0 { goto _702 } if int32(_176_pC.X0) != i32(3) { goto _703 } func() int32 { if (*(*int32)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(48 /* X14 */)))))) > i32(0) { return i32(0) } return func() int32 { 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(66112))) crt.X__builtin_abort(tls) return i32(0) }() }() _176_pReg = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(*(*int32)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(48 /* X14 */)))))))) func() int32 { if (int32(_176_pReg.X1) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(66136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_176_pReg.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(66160))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(104 /* X23 */))) = store985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(108 /* X24 */))), store985(&_176_avail, uint32(_176_pReg.X4))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(96 /* X22 */))) = (*uint8)(unsafe.Pointer(_176_pReg.X5)) goto _710 _703: _sqlite3VdbeMemSetNull(tls, _176_pDest) goto _op_column_out _710: goto _711 _702: _176_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if int32(_176_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _176_pCrsr != nil { return i32(0) } return func() int32 { 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(66208))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeCursorIsValid(tls, _176_pCrsr) != 0 { return i32(0) } return func() int32 { 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(66216))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(104 /* X23 */))) = _sqlite3BtreePayloadSize(tls, _176_pCrsr) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(96 /* X22 */))) = (*uint8)(unsafe.Pointer(_sqlite3BtreePayloadFetch(tls, _176_pCrsr, &_176_avail))) func() int32 { if _176_avail <= uint32(i32(65536)) { return i32(0) } return func() int32 { 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(66252))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_176_pC.X23) > _176_avail { goto _720 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(108 /* X24 */))) = _176_pC.X23 goto _721 _720: if (_176_pC.X23) <= uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _722 } goto _too_big _722: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(108 /* X24 */))) = _176_avail _721: _711: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(32 /* X11 */))) = _p.X8 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(64 /* X16 */))) = uint32(uint8(func() int32 { if int32(*(_176_pC.X22)) < int32(u8(128)) { return func() int32 { _176_offset = uint32(*(_176_pC.X22)); return i32(1) }() } return int32(_sqlite3GetVarint32(tls, _176_pC.X22, &_176_offset)) }())) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(74 /* X19 */))) = uint16(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0)))) = _176_offset if _176_avail >= _176_offset { goto _726 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(96 /* X22 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(108 /* X24 */))) = uint32(i32(0)) if _176_offset <= uint32(i32(98307)) && _176_offset <= (_176_pC.X23) { goto _728 } _rc = _sqlite3CorruptError(tls, i32(80730)) goto _abort_due_to_error _728: goto _729 _726: if _176_offset <= uint32(i32(0)) { goto _730 } _176_zData = _176_pC.X22 func() int32 { if int32(_176_pC.X19) <= _176_p2 { return i32(0) } return func() int32 { 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(66268))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _op_column_read_header _730: _729: _701: if int32(_176_pC.X19) > _176_p2 { goto _733 } if (_176_pC.X16) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0))))) { goto _734 } if (_176_pC.X22) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _735 } crt.Xmemset(tls, (unsafe.Pointer)(&_176_sMem), i32(0), u64(72)) _rc = _sqlite3VdbeMemFromBtree(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(48 /* X14 */))))))), uint32(i32(0)), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0)))), &_176_sMem) if _rc == i32(0) { goto _736 } goto _abort_due_to_error _736: _176_zData = (*uint8)(unsafe.Pointer(_176_sMem.X5)) goto _737 _735: _176_zData = _176_pC.X22 _737: _op_column_read_header: _176_i = int32(_176_pC.X19) _176_offset64 = uint64(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_i)))) _176_zHdr = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_176_zData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_176_pC.X16))))))) _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))))))))))) _738: if store985(&_176_t, uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_zHdr)) + 1*uintptr(i32(0)))))) >= uint32(i32(128)) { goto _739 } *(*uintptr)(unsafe.Pointer(&_176_zHdr)) += uintptr(1) { p := &_176_offset64 *p = (*p) + uint64(_sqlite3VdbeOneByteSerialTypeLen(tls, uint8(_176_t))) sink992 = *p } goto _740 _739: { p := &_176_zHdr *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3GetVarint32(tls, _176_zHdr, &_176_t)))) sink4543 = *p } { p := &_176_offset64 *p = (*p) + uint64(_sqlite3VdbeSerialTypeLen(tls, _176_t)) sink992 = *p } _740: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(112 /* X25 */))))) + 4*uintptr(postInc961(&_176_i, int32(1))))) = _176_t *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_i))) = uint32(_176_offset64 & uint64(u32(4294967295))) if (_176_i <= _176_p2) && (uintptr(unsafe.Pointer(_176_zHdr)) < uintptr(unsafe.Pointer(_176_zEndHdr))) { goto _738 } 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) { goto _745 } if (_176_pC.X22) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _746 } _sqlite3VdbeMemRelease(tls, &_176_sMem) _746: _rc = _sqlite3CorruptError(tls, i32(80789)) goto _abort_due_to_error _745: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(74 /* X19 */))) = uint16(_176_i) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(64 /* X16 */))) = uint32(int64((uintptr(unsafe.Pointer(_176_zHdr)) - uintptr(unsafe.Pointer(_176_zData))) / 1)) if (_176_pC.X22) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _747 } _sqlite3VdbeMemRelease(tls, &_176_sMem) _747: goto _748 _734: _176_t = uint32(i32(0)) _748: if int32(_176_pC.X19) > _176_p2 { goto _749 } if int32(_pOp.X1) != i32(-7) { goto _750 } _sqlite3VdbeMemShallowCopy(tls, _176_pDest, (*XMem)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))), i32(2048)) goto _751 _750: _sqlite3VdbeMemSetNull(tls, _176_pDest) _751: goto _op_column_out _749: goto _752 _733: _176_t = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(112 /* X25 */))))) + 4*uintptr(_176_p2))) _752: func() int32 { if _176_p2 < int32(_176_pC.X19) { return i32(0) } return func() int32 { 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(66288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3VdbeCheckMemInvariants(tls, _176_pDest) != 0 { return i32(0) } return func() int32 { 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(66308))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_176_pDest.X1) & i32(9312)) == i32(0) { goto _759 } _sqlite3VdbeMemSetNull(tls, _176_pDest) _759: func() int32 { if _176_t == (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(112 /* X25 */))))) + 4*uintptr(_176_p2)))) { return i32(0) } return func() int32 { 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(66348))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_176_pC.X24) < (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_p2+i32(1))))) { goto _762 } _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)))))))))) if _176_t >= uint32(i32(12)) { goto _763 } _sqlite3VdbeSerialGet(tls, _176_zData, _176_t, _176_pDest) goto _764 _763: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(12 /* X4 */))) = store961(&_176_len, int32((_176_t-uint32(i32(12)))/uint32(i32(2)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(10 /* X2 */))) = _encoding if (_176_pDest.X7) >= (_176_len + i32(2)) { goto _765 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(8 /* X1 */))) = uint16(i32(1)) if _sqlite3VdbeMemGrow(tls, _176_pDest, _176_len+i32(2), i32(0)) == 0 { goto _766 } goto _no_mem _766: goto _767 _765: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(16 /* X5 */))) = _176_pDest.X6 _767: crt.Xmemcpy(tls, (unsafe.Pointer)(_176_pDest.X5), (unsafe.Pointer)(_176_zData), uint64(_176_len)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest.X5)) + 1*uintptr(_176_len))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest.X5)) + 1*uintptr(_176_len+i32(1)))) = int8(i32(0)) *(*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))))) _764: goto _768 _762: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(10 /* X2 */))) = _encoding 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) { goto _773 } _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(&_sqlite3VdbeExecØ00aZeroØ005)), _176_t, _176_pDest) goto _774 _773: _rc = _sqlite3VdbeMemFromBtree(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(48 /* X14 */))))))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_p2))), uint32(_176_len), _176_pDest) if _rc == i32(0) { goto _775 } goto _abort_due_to_error _775: _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(_176_pDest.X5)), _176_t, _176_pDest) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-4097)) sink4530 = *p } _774: _768: _op_column_out: if ((_db.X6) & i32(1)) == 0 { goto _776 } _registerTrace(tls, _pOp.X5, _176_pDest) _776: goto _248 _140: _210_zAffinity = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) func() int32 { if _210_zAffinity != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(66368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_210_zAffinity)) + 1*uintptr(_pOp.X4)))) == i32(0) { return i32(0) } return func() int32 { 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(66384))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _781: if int32(store973(&_210_cAff, *postInc1025(&_210_zAffinity, 1))) == i32(0) { goto _782 } func() int32 { if uintptr(unsafe.Pointer(_pIn1)) <= uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(_p.X18)+72*uintptr(((_p.X6)+i32(1))-(_p.X7)))))) { return i32(0) } return func() int32 { 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(66408))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pIn1.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(64408))) crt.X__builtin_abort(tls) return i32(0) }() }() _applyAffinity(tls, _pIn1, _210_cAff, _encoding) *(*uintptr)(unsafe.Pointer(&_pIn1)) += uintptr(72) goto _781 _782: goto _248 _141: _212_nData = uint64(i32(0)) _212_nHdr = i32(0) _212_nZero = int64(i32(0)) _212_nField = _pOp.X3 _212_zAffinity = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) func() int32 { if ((_212_nField > i32(0)) && ((_pOp.X4) > i32(0))) && (((_pOp.X4) + _212_nField) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { return i32(0) } return func() int32 { 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(66452))) crt.X__builtin_abort(tls) return i32(0) }() }() _212_pData0 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_212_nField))) _212_nField = _pOp.X4 _212_pLast = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pData0)) + 72*uintptr(_212_nField-i32(1)))) _212_file_format = int32(_p.X31) func() int32 { if ((_pOp.X5) < (_pOp.X3)) || ((_pOp.X5) >= ((_pOp.X3) + (_pOp.X4))) { return i32(0) } return func() int32 { 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(66520))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) func() int32 { if uintptr(unsafe.Pointer(_212_pData0)) <= uintptr(unsafe.Pointer(_212_pLast)) { return i32(0) } return func() int32 { 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(66564))) crt.X__builtin_abort(tls) return i32(0) }() }() if _212_zAffinity == nil { goto _796 } _212_pRec = _212_pData0 _797: _applyAffinity(tls, postInc5448613(&_212_pRec, 72), *postInc1025(&_212_zAffinity, 1), _encoding) func() int32 { 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))) { return i32(0) } return func() int32 { 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(66580))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zAffinity)) + 1*uintptr(i32(0))))) != 0 { goto _797 } _796: _212_pRec = _212_pLast _801: func() int32 { if (int32(_212_pRec.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(66612))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pRec)) + uintptr(36 /* X8 */))) = store985(&_212_serial_type, _sqlite3VdbeSerialType(tls, _212_pRec, _212_file_format, &_212_len)) if (int32(_212_pRec.X1) & i32(16384)) == 0 { goto _804 } if _212_nData == 0 { goto _805 } if _sqlite3VdbeMemExpandBlob(tls, _212_pRec) == 0 { goto _806 } goto _no_mem _806: goto _807 _805: { p := &_212_nZero *p = (*p) + int64(*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pRec)) + uintptr(0 /* X0 */)))))) sink967 = *p } { p := &_212_len *p = (*p) - uint32(*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pRec)) + uintptr(0 /* X0 */)))))) sink985 = *p } _807: _804: { p := &_212_nData *p = (*p) + uint64(_212_len) sink992 = *p } { p := &_212_nHdr *p = (*p) + func() int32 { if _212_serial_type <= uint32(i32(127)) { return i32(1) } return _sqlite3VarintLen(tls, uint64(_212_serial_type)) }() sink961 = *p } if _212_pRec != _212_pData0 { goto _810 } goto _811 _810: *(*uintptr)(unsafe.Pointer(&_212_pRec)) += uintptr(18446744073709551544) goto _801 _811: if _212_nHdr > i32(126) { goto _812 } { p := &_212_nHdr *p = (*p) + i32(1) sink961 = *p } goto _813 _812: _212_nVarint = _sqlite3VarintLen(tls, uint64(_212_nHdr)) { p := &_212_nHdr *p = (*p) + _212_nVarint sink961 = *p } if _212_nVarint >= _sqlite3VarintLen(tls, uint64(_212_nHdr)) { goto _814 } _212_nHdr += 1 _814: _813: _212_nByte = int64(uint64(_212_nHdr) + _212_nData) if (_212_nByte + _212_nZero) <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _815 } goto _too_big _815: if _sqlite3VdbeMemClearAndResize(tls, _pOut, int32(_212_nByte)) == 0 { goto _816 } goto _no_mem _816: _212_zNewRecord = (*uint8)(unsafe.Pointer(_pOut.X5)) _212_i = int32(uint8(func() int32 { if uint32(_212_nHdr) < u32(128) { return func() int32 { *_212_zNewRecord = uint8(_212_nHdr); return i32(1) }() } return _sqlite3PutVarint(tls, _212_zNewRecord, uint64(_212_nHdr)) }())) _212_j = _212_nHdr func() int32 { if uintptr(unsafe.Pointer(_212_pData0)) <= uintptr(unsafe.Pointer(_212_pLast)) { return i32(0) } return func() int32 { 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(66564))) crt.X__builtin_abort(tls) return i32(0) }() }() _212_pRec = _212_pData0 _821: _212_serial_type = _212_pRec.X8 { p := &_212_i *p = (*p) + int32(uint8(func() int32 { if _212_serial_type < u32(128) { return func() int32 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zNewRecord)) + 1*uintptr(_212_i))) = uint8(_212_serial_type) return i32(1) }() } return _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zNewRecord))+1*uintptr(_212_i))), uint64(_212_serial_type)) }())) sink961 = *p } { p := &_212_j *p = int32(uint32(*p) + _sqlite3VdbeSerialPut(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zNewRecord))+1*uintptr(_212_j))), _212_pRec, _212_serial_type)) sink961 = *p } if uintptr(unsafe.Pointer(preInc5448613(&_212_pRec, 72))) <= uintptr(unsafe.Pointer(_212_pLast)) { goto _821 } func() int32 { if _212_i == _212_nHdr { return i32(0) } return func() int32 { 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(66632))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int64(_212_j) == _212_nByte { return i32(0) } return func() int32 { 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(66640))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(64792))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = int32(_212_nByte) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(16)) if _212_nZero == 0 { goto _831 } *(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int32(_212_nZero) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(16384)) sink4530 = *p } _831: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = uint8(i32(1)) if ((_db.X6) & i32(1)) == 0 { goto _832 } _registerTrace(tls, _pOp.X5, _pOut) _832: goto _248 _142: func() int32 { if int32((*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3)))).X0) == i32(0) { return i32(0) } return func() int32 { 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(66652))) crt.X__builtin_abort(tls) return i32(0) }() }() _225_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))))) + uintptr(48 /* X14 */))))))) func() int32 { if _225_pCrsr != nil { return i32(0) } return func() int32 { 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(66208))) crt.X__builtin_abort(tls) return i32(0) }() }() _225_nEntry = int64(i32(0)) _rc = _sqlite3BtreeCount(tls, _225_pCrsr, &_225_nEntry) if _rc == 0 { goto _837 } goto _abort_due_to_error _837: _pOut = _out2Prerelease(tls, _p, _pOp) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _225_nEntry goto _248 _143: _226_p1 = _pOp.X3 _226_zName = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) func() int32 { if ((*XSavepoint)(unsafe.Pointer(_db.X73)) == (*XSavepoint)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_db.X15) == i32(0)) { return i32(0) } return func() int32 { 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(66696))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_226_p1 == i32(0)) || (_226_p1 == i32(1))) || (_226_p1 == i32(2)) { return i32(0) } return func() int32 { 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(66736))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XSavepoint)(unsafe.Pointer(_db.X73)) != nil) || (int32(_db.X23) == i32(0)) { return i32(0) } return func() int32 { 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(66804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _checkSavepointCount(tls, _db) != 0 { return i32(0) } return func() int32 { 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(66852))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() if _226_p1 != i32(0) { goto _852 } if (_db.X36) <= i32(0) { goto _853 } _sqlite3VdbeError(tls, _p, str(66892)) _rc = i32(5) goto _854 _853: _226_nName = _sqlite3Strlen30(tls, _226_zName) func() int32 { if (int32(_db.X15) == i32(0)) || ((_db.X64) == i32(0)) { return i32(0) } return func() int32 { 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(66944))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VtabSavepoint(tls, _db, i32(0), (_db.X76)+(_db.X75)) if _rc == i32(0) { goto _858 } goto _abort_due_to_error _858: _226_pNew = (*XSavepoint)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, (u64(32)+uint64(_226_nName))+uint64(i32(1))))) if _226_pNew == nil { goto _859 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + 32*uintptr(i32(1)))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_226_pNew.X0), (unsafe.Pointer)(_226_zName), uint64(_226_nName+i32(1))) if (_db.X15) == 0 { goto _860 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(91 /* X23 */))) = uint8(i32(1)) goto _861 _860: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(636 /* X75 */))) += 1 _861: *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(24 /* X3 */))))) = (*XSavepoint)(unsafe.Pointer(_db.X73)) *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(624 /* X73 */))))) = _226_pNew *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(8 /* X1 */))) = _db.X77 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(16 /* X2 */))) = _db.X78 _859: _854: goto _862 _852: _226_iSavepoint = i32(0) _226_pSavepoint = (*XSavepoint)(unsafe.Pointer(_db.X73)) _863: if _226_pSavepoint == nil || _sqlite3StrICmp(tls, _226_pSavepoint.X0, _226_zName) == 0 { goto _867 } _226_iSavepoint += 1 _226_pSavepoint = (*XSavepoint)(unsafe.Pointer(_226_pSavepoint.X3)) goto _863 _867: if _226_pSavepoint != nil { goto _868 } _sqlite3VdbeError(tls, _p, str(66980), unsafe.Pointer(_226_zName)) _rc = i32(1) goto _869 _868: if (_db.X36) <= i32(0) || _226_p1 != i32(1) { goto _871 } _sqlite3VdbeError(tls, _p, str(67004)) _rc = i32(5) goto _872 _871: _237_isTransaction = bool2int(((*XSavepoint)(unsafe.Pointer(_226_pSavepoint.X3)) == (*XSavepoint)(unsafe.Pointer(uintptr(i32(0))))) && ((_db.X23) != 0)) if _237_isTransaction == 0 || _226_p1 != i32(1) { goto _875 } if store961(&_rc, _sqlite3VdbeCheckFk(tls, _p, i32(1))) == i32(0) { goto _876 } goto _vdbe_return _876: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) if _sqlite3VdbeHalt(tls, _p) != i32(5) { goto _877 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = store961(&_rc, i32(5)) goto _vdbe_return _877: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(91 /* X23 */))) = uint8(i32(0)) _rc = _p.X10 goto _878 _875: _226_iSavepoint = ((_db.X75) - _226_iSavepoint) - i32(1) if _226_p1 != i32(2) { goto _879 } _241_isSchemaChange = bool2int(((_db.X6) & i32(2)) != i32(0)) _226_ii = i32(0) _880: if _226_ii >= (_db.X5) { goto _883 } _rc = _sqlite3BtreeTripAllCursors(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_226_ii))).X1)), i32(516), bool2int(_241_isSchemaChange == i32(0))) if _rc == i32(0) { goto _884 } goto _abort_due_to_error _884: _226_ii += 1 goto _880 _883: goto _885 _879: _241_isSchemaChange = i32(0) _885: _226_ii = i32(0) _886: if _226_ii >= (_db.X5) { goto _889 } _rc = _sqlite3BtreeSavepoint(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_226_ii))).X1)), _226_p1, _226_iSavepoint) if _rc == i32(0) { goto _890 } goto _abort_due_to_error _890: _226_ii += 1 goto _886 _889: if _241_isSchemaChange == 0 { goto _891 } _sqlite3ExpirePreparedStatements(tls, _db) _sqlite3ResetAllSchemasOfConnection(tls, _db) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) = (_db.X6) | i32(2) _891: _878: _892: if (*XSavepoint)(unsafe.Pointer(_db.X73)) == _226_pSavepoint { goto _893 } _226_pTmp = (*XSavepoint)(unsafe.Pointer(_db.X73)) *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(624 /* X73 */))))) = (*XSavepoint)(unsafe.Pointer(_226_pTmp.X3)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_226_pTmp)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(636 /* X75 */))) -= 1 goto _892 _893: if _226_p1 != i32(1) { goto _894 } func() int32 { if _226_pSavepoint == (*XSavepoint)(unsafe.Pointer(_db.X73)) { return i32(0) } return func() int32 { 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(67060))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(624 /* X73 */))))) = (*XSavepoint)(unsafe.Pointer(_226_pSavepoint.X3)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_226_pSavepoint)) if _237_isTransaction != 0 { goto _897 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(636 /* X75 */))) -= 1 _897: goto _898 _894: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(648 /* X77 */))) = _226_pSavepoint.X1 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(656 /* X78 */))) = _226_pSavepoint.X2 _898: if _237_isTransaction != 0 && _226_p1 != i32(2) { goto _900 } _rc = _sqlite3VtabSavepoint(tls, _db, _226_p1, _226_iSavepoint) if _rc == i32(0) { goto _901 } goto _abort_due_to_error _901: _900: _872: _869: _862: if _rc == 0 { goto _902 } goto _abort_due_to_error _902: goto _248 _144: _253_desiredAutoCommit = _pOp.X3 _253_iRollback = _pOp.X4 func() int32 { if (_253_desiredAutoCommit == i32(1)) || (_253_desiredAutoCommit == i32(0)) { return i32(0) } return func() int32 { 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(67088))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_253_desiredAutoCommit == i32(1)) || (_253_iRollback == i32(0)) { return i32(0) } return func() int32 { 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(67136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_db.X34) > i32(0) { return i32(0) } return func() int32 { 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(67176))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() if _253_desiredAutoCommit == int32(_db.X15) { goto _913 } if _253_iRollback == 0 { goto _914 } func() int32 { if _253_desiredAutoCommit == i32(1) { return i32(0) } return func() int32 { 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(67196))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3RollbackAll(tls, _db, i32(516)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) goto _917 _914: if _253_desiredAutoCommit == 0 || (_db.X36) <= i32(0) { goto _919 } _sqlite3VdbeError(tls, _p, str(67220)) _rc = i32(5) goto _abort_due_to_error _919: if store961(&_rc, _sqlite3VdbeCheckFk(tls, _p, i32(1))) == i32(0) { goto _921 } goto _vdbe_return _921: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(_253_desiredAutoCommit) _917: if _sqlite3VdbeHalt(tls, _p) != i32(5) { goto _923 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1) - _253_desiredAutoCommit) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = store961(&_rc, i32(5)) goto _vdbe_return _923: func() int32 { if (_db.X76) == i32(0) { return i32(0) } return func() int32 { 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(67276))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3CloseSavepoints(tls, _db) if (_p.X10) != i32(0) { goto _926 } _rc = i32(101) goto _927 _926: _rc = i32(1) _927: goto _vdbe_return _913: _sqlite3VdbeError(tls, _p, func() *int8 { if _253_desiredAutoCommit == 0 { return str(67296) } return func() *int8 { if _253_iRollback != 0 { return str(67344) } return str(67388) }() }()) _rc = i32(1) goto _abort_due_to_error _145: func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0)) || ((_pOp.X4) == i32(0)) { return i32(0) } return func() int32 { 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(67432))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { return i32(0) } return func() int32 { 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(67464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67496))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOp.X4) == 0 || ((_db.X6)&i32(67108864)) == i32(0) { goto _944 } _rc = i32(8) goto _abort_due_to_error _944: _263_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))).X1)) if _263_pBt == nil { goto _945 } _rc = _sqlite3BtreeBeginTrans(tls, _263_pBt, _pOp.X4) if _rc == i32(0) { goto _946 } if (_rc & i32(255)) != i32(5) { goto _947 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _rc goto _vdbe_return _947: goto _abort_due_to_error _946: if (_pOp.X4) == 0 || ((uint32((_p.X32)>>uint(i32(6)))<>uint(i32(31))) == 0 || int32(_db.X15) != i32(0) && (_db.X35) <= i32(1) { goto _951 } func() int32 { if _sqlite3BtreeIsInTrans(tls, _263_pBt) != 0 { return i32(0) } return func() int32 { 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(67532))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X12) != i32(0) { goto _954 } func() int32 { if ((_db.X76) >= i32(0)) && ((_db.X75) >= i32(0)) { return i32(0) } return func() int32 { 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(67560))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(640 /* X76 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X12 */))) = (_db.X75) + (_db.X76) _954: _rc = _sqlite3VtabSavepoint(tls, _db, i32(0), (_p.X12)-i32(1)) if _rc != i32(0) { goto _958 } _rc = _sqlite3BtreeBeginStmt(tls, _263_pBt, _p.X12) _958: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X15 */))) = _db.X77 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X16 */))) = _db.X78 _951: _sqlite3BtreeGetMeta(tls, _263_pBt, i32(1), (*uint32)(unsafe.Pointer(&_263_iMeta))) _263_iGen = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))).X4)).X1 goto _959 _945: _263_iGen = store961(&_263_iMeta, i32(0)) _959: func() int32 { if (int32(_pOp.X2) == i32(0)) || (int32(_pOp.X1) == i32(-11)) { return i32(0) } return func() int32 { 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(67600))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOp.X2) == 0 || _263_iMeta == (_pOp.X5) && _263_iGen == (*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) { goto _965 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) = _sqlite3DbStrDup(tls, _db, str(61652)) if ((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))).X4)).X0) == _263_iMeta { goto _966 } _sqlite3ResetOneSchema(tls, _db, _pOp.X3) _966: storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _rc = i32(17) _965: if _rc == 0 { goto _967 } goto _abort_due_to_error _967: goto _248 _146: func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() _274_iDb = _pOp.X3 _274_iCookie = _pOp.X5 func() int32 { if (_pOp.X5) < i32(16) { return i32(0) } return func() int32 { 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(67636))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_274_iDb >= i32(0)) && (_274_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_274_iDb))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(67664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_274_iDb))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67684))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeGetMeta(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_274_iDb))).X1)), _274_iCookie, (*uint32)(unsafe.Pointer(&_274_iMeta))) _pOut = _out2Prerelease(tls, _p, _pOp) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_274_iMeta) goto _248 _147: func() int32 { if (_pOp.X4) < i32(16) { return i32(0) } return func() int32 { 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(67716))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { return i32(0) } return func() int32 { 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(67464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67496))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() _275_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))) func() int32 { if (*XBtree)(unsafe.Pointer(_275_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(67760))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _pOp.X3, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(67772))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeUpdateMeta(tls, (*XBtree)(unsafe.Pointer(_275_pDb.X1)), _pOp.X4, uint32(_pOp.X5)) if (_pOp.X4) != i32(1) { goto _992 } *(*int32)(unsafe.Pointer(uintptr(_275_pDb.X4) + uintptr(0 /* X0 */))) = _pOp.X5 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2) sink961 = *p } goto _993 _992: if (_pOp.X4) != i32(2) { goto _994 } *(*uint8)(unsafe.Pointer(uintptr(_275_pDb.X4) + uintptr(112 /* X7 */))) = uint8(_pOp.X5) _994: _993: if (_pOp.X3) != i32(1) { goto _995 } _sqlite3ExpirePreparedStatements(tls, _db) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 1, 0) _995: if _rc == 0 { goto _996 } goto _abort_due_to_error _996: goto _248 _148: func() int32 { if (int32(_pOp.X2) == i32(0)) || (int32(_pOp.X2) == i32(2)) { return i32(0) } return func() int32 { 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(67812))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X1) == i32(-5) { return i32(0) } return func() int32 { 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(67852))) crt.X__builtin_abort(tls) return i32(0) }() }() _279_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) if _279_pCur == nil || (_279_pCur.X17) != uint32(_pOp.X4) { goto _1003 } func() int32 { if int32(_279_pCur.X1) == (_pOp.X5) { return i32(0) } return func() int32 { 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(67876))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _open_cursor_set_hints _1003: _149: _150: func() int32 { if ((int32(_pOp.X0) == i32(106)) || (int32(_pOp.X2) == i32(0))) || (int32(_pOp.X2) == i32(2)) { return i32(0) } return func() int32 { 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(67896))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pOp.X0) == i32(105)) || (int32(_pOp.X0) == i32(104))) || (int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0)) { return i32(0) } return func() int32 { 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(67964))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((uint32(_p.X32) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _1016 } _rc = i32(516) goto _abort_due_to_error _1016: _279_nField = i32(0) _279_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) _279_p2 = _pOp.X4 _279_iDb = _pOp.X5 func() int32 { if (_279_iDb >= i32(0)) && (_279_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_279_iDb))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67684))) crt.X__builtin_abort(tls) return i32(0) }() }() _279_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_279_iDb))) _279_pX = (*XBtree)(unsafe.Pointer(_279_pDb.X1)) func() int32 { if _279_pX != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68036))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pOp.X0) != i32(106) { goto _1024 } i32(0) _279_wrFlag = i32(4) | (int32(_pOp.X2) & i32(8)) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _279_iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32((*XSchema)(unsafe.Pointer(_279_pDb.X4)).X7) >= int32(_p.X31) { goto _1027 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(195 /* X31 */))) = (*XSchema)(unsafe.Pointer(_279_pDb.X4)).X7 _1027: goto _1028 _1024: _279_wrFlag = i32(0) _1028: if (int32(_pOp.X2) & i32(16)) == 0 { goto _1029 } func() int32 { if _279_p2 > i32(0) { return i32(0) } return func() int32 { 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(68044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _279_p2 <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(68052))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_279_p2))) func() int32 { if (int32(_pIn2.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(68084))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pIn2.X1) & i32(4)) != i32(0) { return i32(0) } return func() int32 { 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(68104))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemIntegerify(tls, _pIn2) _279_p2 = int32(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */)))))) func() int32 { if _279_p2 >= i32(2) { return i32(0) } return func() int32 { 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(68132))) crt.X__builtin_abort(tls) return i32(0) }() }() _1029: if int32(_pOp.X1) != i32(-5) { goto _1040 } _279_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) func() int32 { if int32(_279_pKeyInfo.X1) == int32(_db.X14) { return i32(0) } return func() int32 { 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(68140))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_279_pKeyInfo.X4)) == _db { return i32(0) } return func() int32 { 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(68164))) crt.X__builtin_abort(tls) return i32(0) }() }() _279_nField = int32(_279_pKeyInfo.X2) + int32(_279_pKeyInfo.X3) goto _1045 _1040: if int32(_pOp.X1) != i32(-11) { goto _1046 } _279_nField = *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) _1046: _1045: func() int32 { if (_pOp.X3) >= i32(0) { return i32(0) } return func() int32 { 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(68184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _279_nField >= i32(0) { return i32(0) } return func() int32 { 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(68196))) crt.X__builtin_abort(tls) return i32(0) }() }() _279_pCur = _allocateCursor(tls, _p, _pOp.X3, _279_nField, _279_iDb, uint8(i32(0))) if _279_pCur != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _1051 } goto _no_mem _1051: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(2 /* X2 */))) = uint8(i32(1)) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur))+uintptr(7 /* X7 */))), int8(i32(1)), 4, 2) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(68 /* X17 */))) = uint32(_279_p2) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(6 /* X6 */))) = uint8(_279_wrFlag) _rc = _sqlite3BtreeCursor(tls, _279_pX, _279_p2, _279_wrFlag, _279_pKeyInfo, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(48 /* X14 */)))))))) *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(56 /* X15 */))))) = _279_pKeyInfo *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(4 /* X4 */))) = uint8(bool2int(int32(_pOp.X1) != i32(-5))) _open_cursor_set_hints: i32(0) i32(0) _sqlite3BtreeCursorHintFlags(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(48 /* X14 */))))))), uint32(int32(_pOp.X2)&i32(3))) if _rc == 0 { goto _1052 } goto _abort_due_to_error _1052: goto _248 _151: _152: func() int32 { if (_pOp.X3) >= i32(0) { return i32(0) } return func() int32 { 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(68184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X4) >= i32(0) { return i32(0) } return func() int32 { 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(68208))) crt.X__builtin_abort(tls) return i32(0) }() }() _288_pCx = _allocateCursor(tls, _p, _pOp.X3, _pOp.X4, i32(-1), uint8(i32(0))) if _288_pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _1057 } goto _no_mem _1057: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(2 /* X2 */))) = uint8(i32(1)) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(7 /* X7 */))), int8(i32(1)), 1, 0) _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) if _rc != i32(0) { goto _1058 } _rc = _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), i32(1)) _1058: if _rc != i32(0) { goto _1059 } if store5669397((**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(56 /* X15 */))))), store5669397(&_288_pKeyInfo, (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))))) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _1060 } func() int32 { if int32(_pOp.X1) == i32(-5) { return i32(0) } return func() int32 { 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(67852))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeCreateTable(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), &_291_pgno, i32(2)|int32(_pOp.X2)) if _rc != i32(0) { goto _1063 } func() int32 { if _291_pgno == i32(2) { return i32(0) } return func() int32 { 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(68220))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_288_pKeyInfo.X4)) == _db { return i32(0) } return func() int32 { 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(68164))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_288_pKeyInfo.X1) == int32(_db.X14) { return i32(0) } return func() int32 { 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(68140))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeCursor(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), _291_pgno, i32(4), _288_pKeyInfo, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(48 /* X14 */)))))))) _1063: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(4 /* X4 */))) = uint8(i32(0)) goto _1070 _1060: _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((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(48 /* X14 */)))))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(4 /* X4 */))) = uint8(i32(1)) _1070: _1059: if _rc == 0 { goto _1071 } goto _abort_due_to_error _1071: storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(7 /* X7 */))), int8(bool2int(int32(_pOp.X2) != i32(8))), 4, 2) goto _248 _153: func() int32 { if (_pOp.X3) >= i32(0) { return i32(0) } return func() int32 { 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(68184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X4) >= i32(0) { return i32(0) } return func() int32 { 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(68208))) crt.X__builtin_abort(tls) return i32(0) }() }() _294_pCx = _allocateCursor(tls, _p, _pOp.X3, _pOp.X4, i32(-1), uint8(i32(1))) if _294_pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _1076 } goto _no_mem _1076: *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_294_pCx)) + uintptr(56 /* X15 */))))) = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) func() int32 { if (*Xsqlite3)(unsafe.Pointer((*XKeyInfo)(unsafe.Pointer(_294_pCx.X15)).X4)) == _db { return i32(0) } return func() int32 { 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(68240))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XKeyInfo)(unsafe.Pointer(_294_pCx.X15)).X1) == int32(_db.X14) { return i32(0) } return func() int32 { 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(68264))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeSorterInit(tls, _db, _pOp.X5, _294_pCx) if _rc == 0 { goto _1081 } goto _abort_due_to_error _1081: goto _248 _154: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _295_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if int32(_295_pC.X0) == i32(1) { return i32(0) } return func() int32 { 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(68292))) crt.X__builtin_abort(tls) return i32(0) }() }() if postInc967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_295_pC))+uintptr(16 /* X9 */))), int64(1)) != int64(i32(0)) { goto _1087 } goto _jump_to_p2 _1087: goto _248 _155: func() int32 { if (_pOp.X3) >= i32(0) { return i32(0) } return func() int32 { 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(68184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X5) >= i32(0) { return i32(0) } return func() int32 { 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(68308))) crt.X__builtin_abort(tls) return i32(0) }() }() _297_pCx = _allocateCursor(tls, _p, _pOp.X3, _pOp.X5, i32(-1), uint8(i32(3))) if _297_pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _1092 } goto _no_mem _1092: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_297_pCx)) + uintptr(2 /* X2 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_297_pCx)) + uintptr(48 /* X14 */))))) = _pOp.X4 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_297_pCx)) + uintptr(4 /* X4 */))) = uint8(i32(1)) func() int32 { if int32(_pOp.X2) == i32(0) { return i32(0) } return func() int32 { 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(68320))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _248 _156: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeFreeCursor(tls, _p, *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3)))) *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) goto _248 _157: _158: _159: _160: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X4) != i32(0) { return i32(0) } return func() int32 { 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(68332))) crt.X__builtin_abort(tls) return i32(0) }() }() _299_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _299_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_299_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) i32(0) func() int32 { if ((uint32((_299_pC.X7)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(68344))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() _299_oc = int32(_pOp.X0) _299_eqOnly = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(2 /* X2 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(5 /* X5 */))) = _pOp.X0 if (_299_pC.X4) == 0 { goto _1111 } func() int32 { if (_sqlite3BtreeCursorHasHint(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))), uint32(i32(2))) == i32(0)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(68380))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if (int32(_pIn3.X1) & i32(14)) != i32(2) { goto _1115 } _applyNumericAffinity(tls, _pIn3, i32(0)) _1115: _299_iKey = _sqlite3VdbeIntValue(tls, _pIn3) if (int32(_pIn3.X1) & i32(4)) != i32(0) { goto _1116 } if (int32(_pIn3.X1) & i32(8)) != i32(0) { goto _1117 } goto _jump_to_p2 _1117: if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) >= float64(_299_iKey) { goto _1118 } i32(0) i32(0) i32(0) if (_299_oc & i32(1)) != i32(0) { goto _1119 } _299_oc -= 1 _1119: goto _1120 _1118: if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) <= float64(_299_iKey) { goto _1121 } i32(0) i32(0) i32(0) if (_299_oc & i32(1)) != i32(1) { goto _1122 } _299_oc += 1 _1122: _1121: _1120: _1116: _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))), (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), int64(uint64(_299_iKey)), i32(0), &_299_res) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(80 /* X20 */))) = _299_iKey if _rc == i32(0) { goto _1123 } goto _abort_due_to_error _1123: goto _1124 _1111: if _sqlite3BtreeCursorHasHint(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))), uint32(i32(2))) == 0 { goto _1125 } _299_eqOnly = i32(1) func() int32 { if (int32(_pOp.X0) == i32(25)) || (int32(_pOp.X0) == i32(24)) { return i32(0) } return func() int32 { 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(68456))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))).X0) == i32(61)) || (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))).X0) == i32(60)) { return i32(0) } return func() int32 { 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(68508))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(1)))).X3) == ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(0)))).X3) { return i32(0) } return func() int32 { 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(68560))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(1)))).X4) == ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(0)))).X4) { return i32(0) } return func() int32 { 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(68584))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(1)))).X5) == ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(0)))).X5) { return i32(0) } return func() int32 { 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(68608))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))))) + uintptr(16 /* X6 */)))))) == (*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(0)))))) + uintptr(16 /* X6 */)))))) { return i32(0) } return func() int32 { 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(68632))) crt.X__builtin_abort(tls) return i32(0) }() }() _1125: _299_nField = *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) func() int32 { if int32(_pOp.X1) == i32(-11) { return i32(0) } return func() int32 { 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(68660))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _299_nField > i32(0) { return i32(0) } return func() int32 { 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(68684))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_299_pC.X15)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(16 /* X2 */))) = uint16(_299_nField) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(18 /* X3 */))) = int8(func() int32 { if (i32(1) & (_299_oc - i32(23))) != 0 { return i32(-1) } return i32(1) }()) func() int32 { if (_299_oc != i32(26)) || (int32(_299_r.X3) == i32(-1)) { return i32(0) } return func() int32 { 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(68696))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_299_oc != i32(24)) || (int32(_299_r.X3) == i32(-1)) { return i32(0) } return func() int32 { 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(68732))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_299_oc != i32(25)) || (int32(_299_r.X3) == i32(1)) { return i32(0) } return func() int32 { 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(68768))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_299_oc != i32(23)) || (int32(_299_r.X3) == i32(1)) { return i32(0) } return func() int32 { 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(68804))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(8 /* X1 */))))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _309_i = i32(0) _1158: if _309_i >= int32(_299_r.X2) { goto _1161 } func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr(_299_r.X1)+72*uintptr(_309_i))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(68840))) crt.X__builtin_abort(tls) return i32(0) }() }() _309_i += 1 goto _1158 _1161: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(22 /* X7 */))) = uint8(i32(0)) _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))), &_299_r, int64(i32(0)), i32(0), &_299_res) if _rc == i32(0) { goto _1164 } goto _abort_due_to_error _1164: if _299_eqOnly == 0 || int32(_299_r.X7) != i32(0) { goto _1166 } func() int32 { if _299_res != i32(0) { return i32(0) } return func() int32 { 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(68864))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _seek_not_found _1166: _1124: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if _299_oc < i32(25) { goto _1169 } func() int32 { if (_299_oc == i32(25)) || (_299_oc == i32(26)) { return i32(0) } return func() int32 { 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(68872))) crt.X__builtin_abort(tls) return i32(0) }() }() if _299_res >= i32(0) && (_299_res != i32(0) || _299_oc != i32(26)) { goto _1175 } _299_res = i32(0) _rc = _sqlite3BtreeNext(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))), &_299_res) if _rc == i32(0) { goto _1176 } goto _abort_due_to_error _1176: goto _1177 _1175: _299_res = i32(0) _1177: goto _1178 _1169: func() int32 { if (_299_oc == i32(23)) || (_299_oc == i32(24)) { return i32(0) } return func() int32 { 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(68904))) crt.X__builtin_abort(tls) return i32(0) }() }() if _299_res <= i32(0) && (_299_res != i32(0) || _299_oc != i32(23)) { goto _1184 } _299_res = i32(0) _rc = _sqlite3BtreePrevious(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */))))))), &_299_res) if _rc == i32(0) { goto _1185 } goto _abort_due_to_error _1185: goto _1186 _1184: _299_res = _sqlite3BtreeEof(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(48 /* X14 */)))))))) _1186: _1178: _seek_not_found: func() int32 { if (_pOp.X4) > i32(0) { return i32(0) } return func() int32 { 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(63164))) crt.X__builtin_abort(tls) return i32(0) }() }() if _299_res == 0 { goto _1189 } goto _jump_to_p2 _1189: if _299_eqOnly == 0 { goto _1191 } func() int32 { if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))).X0) == i32(61)) || (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(1)))).X0) == i32(60)) { return i32(0) } return func() int32 { 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(68508))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uintptr)(unsafe.Pointer(&_pOp)) += uintptr(32) _1191: goto _248 _161: _162: _163: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X1) == i32(-11) { return i32(0) } return func() int32 { 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(68660))) crt.X__builtin_abort(tls) return i32(0) }() }() _320_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _320_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(5 /* X5 */))) = _pOp.X0 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if int32(_320_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_320_pC.X4) == i32(0) { return i32(0) } return func() int32 { 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(68936))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) <= i32(0) { goto _1208 } *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_320_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_320_pC.X15)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_320_r)) + uintptr(16 /* X2 */))) = uint16(*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_320_r)) + uintptr(8 /* X1 */))))) = _pIn3 _320_ii = i32(0) _1209: if _320_ii >= int32(_320_r.X2) { goto _1212 } func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr(_320_r.X1)+72*uintptr(_320_ii))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(68952))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32((*XMem)(unsafe.Pointer(uintptr(_320_r.X1)+72*uintptr(_320_ii))).X1) & i32(16384)) == i32(0)) || (((*XMem)(unsafe.Pointer(uintptr(_320_r.X1) + 72*uintptr(_320_ii))).X4) == i32(0)) { return i32(0) } return func() int32 { 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(68976))) crt.X__builtin_abort(tls) return i32(0) }() }() if _320_ii == 0 { goto _1218 } if ((_db.X6) & i32(1)) == 0 { goto _1219 } _registerTrace(tls, (_pOp.X5)+_320_ii, (*XMem)(unsafe.Pointer(uintptr(_320_r.X1)+72*uintptr(_320_ii)))) _1219: _1218: _320_ii += 1 goto _1209 _1212: _320_pIdxKey = &_320_r _320_pFree = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) goto _1220 _1208: _320_pFree = store5668990(&_320_pIdxKey, _sqlite3VdbeAllocUnpackedRecord(tls, (*XKeyInfo)(unsafe.Pointer(_320_pC.X15)))) if _320_pIdxKey != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _1221 } goto _no_mem _1221: func() int32 { if (int32(_pIn3.X1) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(69028))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pIn3.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pIn3) } return i32(0) }() _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer(_320_pC.X15)), _pIn3.X4, (unsafe.Pointer)(_pIn3.X5), _320_pIdxKey) _1220: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pIdxKey)) + uintptr(18 /* X3 */))) = int8(i32(0)) _320_takeJump = i32(0) if int32(_pOp.X0) != i32(29) { goto _1226 } _320_ii = i32(0) _1227: if _320_ii >= int32(_320_pIdxKey.X2) { goto _1230 } if (int32((*XMem)(unsafe.Pointer(uintptr(_320_pIdxKey.X1)+72*uintptr(_320_ii))).X1) & i32(1)) == 0 { goto _1231 } _320_takeJump = i32(1) goto _1230 _1231: _320_ii += 1 goto _1227 _1230: _1226: _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(48 /* X14 */))))))), _320_pIdxKey, int64(i32(0)), i32(0), &_320_res) if _320_pFree == nil { goto _1232 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_320_pFree)) _1232: if _rc == i32(0) { goto _1233 } goto _abort_due_to_error _1233: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(36 /* X12 */))) = _320_res _320_alreadyExists = bool2int(_320_res == i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(2 /* X2 */))) = uint8(i32(1) - _320_alreadyExists) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if int32(_pOp.X0) != i32(31) { goto _1234 } if _320_alreadyExists == 0 { goto _1235 } goto _jump_to_p2 _1235: goto _1236 _1234: if _320_takeJump == 0 && _320_alreadyExists != 0 { goto _1238 } goto _jump_to_p2 _1238: _1236: goto _248 _164: _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if (int32(_pIn3.X1) & i32(4)) != i32(0) { goto _1239 } _applyAffinity(tls, _pIn3, int8(i32(67)), _encoding) if (int32(_pIn3.X1) & i32(4)) != i32(0) { goto _1240 } goto _jump_to_p2 _1240: _1239: _165: _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if (int32(_pIn3.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(64128))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _330_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _330_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(5 /* X5 */))) = uint8(i32(0)) func() int32 { if (_330_pC.X4) != 0 { return i32(0) } return func() int32 { 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(69052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_330_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() _330_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if _330_pCrsr != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(69064))) crt.X__builtin_abort(tls) return i32(0) }() }() _330_res = i32(0) _330_iKey = uint64(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) _rc = _sqlite3BtreeMovetoUnpacked(tls, _330_pCrsr, (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), int64(_330_iKey), i32(0), &_330_res) func() int32 { if (_rc == i32(0)) || (_330_res == i32(0)) { return i32(0) } return func() int32 { 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(69076))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(80 /* X20 */))) = int64(_330_iKey) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(2 /* X2 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(36 /* X12 */))) = _330_res if _330_res == i32(0) { goto _1257 } func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOp.X4) != i32(0) { goto _1260 } _rc = _sqlite3CorruptError(tls, i32(82368)) goto _1261 _1260: goto _jump_to_p2 _1261: _1257: if _rc == 0 { goto _1262 } goto _abort_due_to_error _1262: goto _248 _166: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3)))) != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(69100))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3)))).X0) != i32(2) { return i32(0) } return func() int32 { 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(69124))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = _out2Prerelease(tls, _p, _pOp) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = postInc967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3)))))+uintptr(16 /* X9 */))), int64(1)) goto _248 _167: _336_v = int64(i32(0)) _336_res = i32(0) _pOut = _out2Prerelease(tls, _p, _pOp) func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _336_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _336_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_336_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_336_pC.X4) != 0 { return i32(0) } return func() int32 { 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(69052))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((uint32((_336_pC.X7)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) != 0 { goto _1281 } _rc = _sqlite3BtreeLast(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(48 /* X14 */))))))), &_336_res) if _rc == i32(0) { goto _1282 } goto _abort_due_to_error _1282: if _336_res == 0 { goto _1283 } _336_v = int64(i32(1)) goto _1284 _1283: func() int32 { if _sqlite3BtreeCursorIsValid(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(48 /* X14 */)))))))) != 0 { return i32(0) } return func() int32 { 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(69168))) crt.X__builtin_abort(tls) return i32(0) }() }() _336_v = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(48 /* X14 */)))))))) if _336_v < i64(9223372036854775807) { goto _1287 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC))+uintptr(7 /* X7 */))), int8(i32(1)), 2, 1) goto _1288 _1287: _336_v += 1 _1288: _1284: _1281: if (_pOp.X5) == 0 { goto _1289 } func() int32 { if (_pOp.X5) > i32(0) { return i32(0) } return func() int32 { 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(63288))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { goto _1292 } _336_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) _1293: if (*XVdbeFrame)(unsafe.Pointer(_336_pFrame.X1)) == nil { goto _1296 } _336_pFrame = (*XVdbeFrame)(unsafe.Pointer(_336_pFrame.X1)) goto _1293 _1296: func() int32 { if (_pOp.X5) <= (_336_pFrame.X13) { return i32(0) } return func() int32 { 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(69212))) crt.X__builtin_abort(tls) return i32(0) }() }() _336_pMem = (*XMem)(unsafe.Pointer(uintptr(_336_pFrame.X4) + 72*uintptr(_pOp.X5))) goto _1299 _1292: func() int32 { if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63300))) crt.X__builtin_abort(tls) return i32(0) }() }() _336_pMem = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _sqlite3VdbeMemAboutToChange(tls, _p, _336_pMem) _1299: func() int32 { if (int32(_336_pMem.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(69236))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _1304 } _registerTrace(tls, _pOp.X5, _336_pMem) _1304: _sqlite3VdbeMemIntegerify(tls, _336_pMem) func() int32 { if (int32(_336_pMem.X1) & i32(4)) != i32(0) { return i32(0) } return func() int32 { 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(69256))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */)))))) != i64(9223372036854775807) && ((uint32((_336_pC.X7)>>uint(i32(1)))<>uint(i32(31))) == 0 { goto _1308 } _rc = i32(13) goto _abort_due_to_error _1308: if _336_v >= ((*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */)))))) + int64(i32(1))) { goto _1309 } _336_v = (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */)))))) + int64(i32(1)) _1309: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */))))) = _336_v _1289: if ((uint32((_336_pC.X7)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _1310 } func() int32 { if (_pOp.X5) == i32(0) { return i32(0) } return func() int32 { 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(69284))) crt.X__builtin_abort(tls) return i32(0) }() }() _336_cnt = i32(0) _1313: Xsqlite3_randomness(tls, int32(u64(8)), (unsafe.Pointer)(&_336_v)) { p := &_336_v *p = (*p) & i64(4611686018427387903) sink967 = *p } _336_v += 1 if ((store961(&_rc, _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(48 /* 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)) { goto _1313 } if _rc == 0 { goto _1316 } goto _abort_due_to_error _1316: if _336_res != i32(0) { goto _1317 } _rc = i32(13) goto _abort_due_to_error _1317: func() int32 { if _336_v > int64(i32(0)) { return i32(0) } return func() int32 { 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(69296))) crt.X__builtin_abort(tls) return i32(0) }() }() _1310: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _336_v goto _248 _168: _169: _352_op = i32(0) _352_pData = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_352_pData.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(69300))) crt.X__builtin_abort(tls) return i32(0) }() }() _352_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _352_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_352_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X2)&i32(64)) != 0 || ((_352_pC.X4) != 0) { return i32(0) } return func() int32 { 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(69320))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X1) == i32(-15)) || (int32(_pOp.X1) >= i32(-2)) { return i32(0) } return func() int32 { 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(69364))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _1337 } _registerTrace(tls, _pOp.X4, _352_pData) _1337: if int32(_pOp.X0) != i32(116) { goto _1338 } _352_pKey = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if (int32(_352_pKey.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(69412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_352_pKey.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(69436))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _1343 } _registerTrace(tls, _pOp.X5, _352_pKey) _1343: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(8 /* X1 */))) = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pKey)) + uintptr(0 /* X0 */))))) goto _1344 _1338: func() int32 { if int32(_pOp.X0) == i32(117) { return i32(0) } return func() int32 { 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(69456))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(8 /* X1 */))) = int64(_pOp.X5) _1344: if int32(_pOp.X1) != i32(-15) || (_db.X50) == nil { goto _1348 } func() int32 { if int32(_352_pC.X1) >= i32(0) { return i32(0) } return func() int32 { 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(69484))) crt.X__builtin_abort(tls) return i32(0) }() }() _352_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_352_pC.X1))).X0 _352_pTab = (*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) func() int32 { if (int32(_pOp.X2)&i32(64)) != 0 || (((_352_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(69496))) crt.X__builtin_abort(tls) return i32(0) }() }() _352_op = func() int32 { if (int32(_pOp.X2) & i32(4)) != 0 { return i32(23) } return i32(18) }() goto _1356 _1348: _352_pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _352_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _1356: if (int32(_pOp.X2) & i32(1)) == 0 { goto _1357 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) += 1 _1357: if (int32(_pOp.X2) & i32(32)) == 0 { goto _1358 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X7 */))) = _352_x.X1 _1358: if (int32(_352_pData.X1) & i32(1)) == 0 { goto _1359 } *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(16 /* X2 */))) = (unsafe.Pointer)(uintptr(i32(0))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(36 /* X5 */))) = i32(0) goto _1360 _1359: func() int32 { if (int32(_352_pData.X1) & i32(18)) != 0 { return i32(0) } return func() int32 { 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(69540))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(16 /* X2 */))) = (unsafe.Pointer)(_352_pData.X5) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(36 /* X5 */))) = _352_pData.X4 _1360: _352_seekResult = func() int32 { if (int32(_pOp.X2) & i32(16)) != 0 { return (_352_pC.X12) } return i32(0) }() if (int32(_352_pData.X1) & i32(16384)) == 0 { goto _1365 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(40 /* X6 */))) = *(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pData)) + uintptr(0 /* X0 */))))) goto _1366 _1365: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(40 /* X6 */))) = i32(0) _1366: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(0 /* X0 */))) = (unsafe.Pointer)(uintptr(i32(0))) _rc = _sqlite3BtreeInsert(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(48 /* X14 */))))))), &_352_x, int32(_pOp.X2)&i32(10), _352_seekResult) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if _rc == 0 { goto _1367 } goto _abort_due_to_error _1367: if (_db.X50) == nil || _352_op == 0 { goto _1369 } (_db.X50)(tls, _db.X49, _352_op, _352_zDb, _352_pTab.X0, _352_x.X1) _1369: goto _248 _170: _362_opflags = _pOp.X4 func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _362_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _362_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_362_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_362_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pOp.X1) != i32(-15) || (((*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X9)&uint32(i32(32))) != uint32(i32(0)) || int32(_pOp.X2) != i32(0) { goto _1383 } _363_iKey = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(48 /* X14 */)))))))) func() int32 { if (_362_pC.X20) == _363_iKey { return i32(0) } return func() int32 { 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(69600))) crt.X__builtin_abort(tls) return i32(0) }() }() _1383: if int32(_pOp.X1) != i32(-15) || (_db.X50) == nil { goto _1387 } func() int32 { if int32(_362_pC.X1) >= i32(0) { return i32(0) } return func() int32 { 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(69484))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(69624))) crt.X__builtin_abort(tls) return i32(0) }() }() _362_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_362_pC.X1))).X0 _362_pTab = (*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) if (int32(_pOp.X2)&i32(2)) == i32(0) || (_362_pC.X4) == 0 { goto _1393 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(80 /* X20 */))) = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(48 /* X14 */)))))))) _1393: goto _1394 _1387: _362_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _362_pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _1394: func() int32 { if (int32(_pOp.X2) & i32(-7)) == i32(0) { return i32(0) } return func() int32 { 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(69640))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) != (*XVdbeFrame)(unsafe.Pointer(uintptr(i32(0)))) { goto _1397 } if int32((uint32(_362_pC.X7)<>uint(i32(31))) != i32(0) || (int32(_pOp.X2)&i32(4)) != i32(0) || (int32(_362_pC.X6)&i32(8)) != i32(0) { goto _1400 } _nExtraDelete += 1 _1400: if ((_pOp.X4) & i32(1)) == 0 { goto _1401 } _nExtraDelete -= 1 _1401: _1397: _rc = _sqlite3BtreeDelete(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(48 /* X14 */))))))), uint8(_pOp.X2)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(36 /* X12 */))) = i32(0) if _rc == 0 { goto _1402 } goto _abort_due_to_error _1402: if (_362_opflags & i32(1)) == 0 { goto _1403 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) += 1 if (_db.X50) == nil || ((_362_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) { goto _1405 } (_db.X50)(tls, _db.X49, i32(9), _362_zDb, _362_pTab.X0, _362_pC.X20) func() int32 { if int32(_362_pC.X1) >= i32(0) { return i32(0) } return func() int32 { 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(69484))) crt.X__builtin_abort(tls) return i32(0) }() }() _1405: _1403: goto _248 _171: _sqlite3VdbeSetChanges(tls, _db, _p.X11) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) goto _248 _172: _373_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if int32(_373_pC.X0) == i32(1) { return i32(0) } return func() int32 { 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(68292))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X1) == i32(-11) { return i32(0) } return func() int32 { 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(68660))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _373_nKeyCol = *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) _373_res = i32(0) _rc = _sqlite3VdbeSorterCompare(tls, _373_pC, _pIn3, _373_nKeyCol, &_373_res) if _rc == 0 { goto _1412 } goto _abort_due_to_error _1412: if _373_res == 0 { goto _1413 } goto _jump_to_p2 _1413: goto _248 _173: _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _374_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if int32(_374_pC.X0) == i32(1) { return i32(0) } return func() int32 { 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(68292))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeSorterRowkey(tls, _374_pC, _pOut) func() int32 { if (_rc != i32(0)) || (int32(_pOut.X1)&i32(16)) != 0 { return i32(0) } return func() int32 { 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(69696))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc == 0 { goto _1422 } goto _abort_due_to_error _1422: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X5))))) + uintptr(32 /* X11 */))) = uint32(i32(0)) goto _248 _174: _pOut = _out2Prerelease(tls, _p, _pOp) func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _375_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _375_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_375_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if bool2int(int32(_375_pC.X0) == i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(69740))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_375_pC.X2) == i32(0) { return i32(0) } return func() int32 { 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(69756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_375_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() _375_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_375_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if int32(_375_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeCursorIsValid(tls, _375_pCrsr) != 0 { return i32(0) } return func() int32 { 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(66216))) crt.X__builtin_abort(tls) return i32(0) }() }() _375_n = _sqlite3BtreePayloadSize(tls, _375_pCrsr) if _375_n <= uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _1440 } goto _too_big _1440: _rc = _sqlite3VdbeMemFromBtree(tls, _375_pCrsr, uint32(i32(0)), _375_n, _pOut) if _rc == 0 { goto _1441 } goto _abort_due_to_error _1441: if (_pOp.X5) != 0 { goto _1442 } if (int32(_pOut.X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, _pOut) == 0 { goto _1444 } goto _no_mem _1444: _1442: if ((_db.X6) & i32(1)) == 0 { goto _1445 } _registerTrace(tls, _pOp.X4, _pOut) _1445: goto _248 _175: _pOut = _out2Prerelease(tls, _p, _pOp) func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _378_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _378_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_378_pC.X0) != i32(3)) || ((_378_pC.X2) != 0) { return i32(0) } return func() int32 { 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(66036))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_378_pC.X2) == 0 { goto _1454 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(1)) goto _248 _1454: if (_378_pC.X3) == 0 { goto _1456 } _378_v = _378_pC.X20 goto _1457 _1456: if int32(_378_pC.X0) != i32(2) { goto _1458 } func() int32 { if (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(48 /* X14 */))))))) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(69772))) crt.X__builtin_abort(tls) return i32(0) }() }() _378_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(48 /* X14 */))))))).X0)) _378_pModule = (*Xsqlite3_module)(unsafe.Pointer(_378_pVtab.X0)) func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_file, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int64) int32 }{(_378_pModule.X12)}))) != nil { return i32(0) } return func() int32 { 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(69788))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = (*(*func(*crt.TLS, *Xsqlite3_file, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int64) int32 }{(_378_pModule.X12)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(48 /* X14 */))))))), &_378_v) _sqlite3VtabImportErrmsg(tls, _p, _378_pVtab) if _rc == 0 { goto _1463 } goto _abort_due_to_error _1463: goto _1464 _1458: func() int32 { if int32(_378_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeCursorRestore(tls, _378_pC) if _rc == 0 { goto _1469 } goto _abort_due_to_error _1469: if (_378_pC.X2) == 0 { goto _1470 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(1)) goto _248 _1470: _378_v = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(48 /* X14 */)))))))) _1464: _1457: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _378_v goto _248 _176: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _384_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _384_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(2 /* X2 */))) = uint8(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if int32(_384_pC.X0) != i32(0) { goto _1476 } func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeClearCursor(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(48 /* X14 */)))))))) _1476: goto _248 _177: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _386_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _386_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_386_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() _386_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(48 /* X14 */))))))) _386_res = i32(0) func() int32 { if _386_pCrsr != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(69064))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(36 /* X12 */))) = _pOp.X5 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(5 /* X5 */))) = uint8(i32(53)) if (_pOp.X5) != i32(0) && _sqlite3BtreeCursorIsValidNN(tls, _386_pCrsr) != 0 { goto _1489 } _rc = _sqlite3BtreeLast(tls, _386_pCrsr, &_386_res) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(2 /* X2 */))) = uint8(_386_res) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if _rc == 0 { goto _1490 } goto _abort_due_to_error _1490: if (_pOp.X4) <= i32(0) { goto _1491 } if _386_res == 0 { goto _1492 } goto _jump_to_p2 _1492: _1491: goto _1493 _1489: func() int32 { if (_pOp.X4) == i32(0) { return i32(0) } return func() int32 { 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(69804))) crt.X__builtin_abort(tls) return i32(0) }() }() _1493: goto _248 _178: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _390_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _390_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() _390_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_390_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if _390_pCrsr != nil { return i32(0) } return func() int32 { 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(66208))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeFirst(tls, _390_pCrsr, &_390_res) if _rc == 0 { goto _1503 } goto _abort_due_to_error _1503: if _390_res != i32(0) { goto _1504 } _390_sz = _sqlite3BtreeRowCountEst(tls, _390_pCrsr) if func() int32 { if _390_sz >= int64(i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || int32(_sqlite3LogEst(tls, uint64(_390_sz))) >= (_pOp.X5) { goto _1508 } _390_res = i32(1) _1508: _1504: if _390_res == 0 { goto _1509 } goto _jump_to_p2 _1509: goto _248 _179: _180: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(208 /* X35 */))))) + 4*uintptr(i32(2)))) += 1 _181: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _393_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _393_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_393_pC.X0) == i32(1)) == (int32(_pOp.X0) == i32(56)) { return i32(0) } return func() int32 { 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(69816))) crt.X__builtin_abort(tls) return i32(0) }() }() _393_res = i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(5 /* X5 */))) = uint8(i32(58)) if int32(_393_pC.X0) != i32(1) { goto _1517 } _rc = _sqlite3VdbeSorterRewind(tls, _393_pC, &_393_res) goto _1518 _1517: func() int32 { if int32(_393_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() _393_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if _393_pCrsr != nil { return i32(0) } return func() int32 { 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(66208))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeFirst(tls, _393_pCrsr, &_393_res) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) _1518: if _rc == 0 { goto _1523 } goto _abort_due_to_error _1523: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(2 /* X2 */))) = uint8(_393_res) func() int32 { if ((_pOp.X4) > i32(0)) && ((_pOp.X4) < (_p.X27)) { return i32(0) } return func() int32 { 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(69860))) crt.X__builtin_abort(tls) return i32(0) }() }() if _393_res == 0 { goto _1527 } goto _jump_to_p2 _1527: goto _248 _182: _396_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if int32(_396_pC.X0) == i32(1) { return i32(0) } return func() int32 { 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(68292))) crt.X__builtin_abort(tls) return i32(0) }() }() _396_res = i32(0) _rc = _sqlite3VdbeSorterNext(tls, _db, _396_pC, &_396_res) goto _next_tail _183: _184: if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3)))) != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _1530 } goto _248 _1530: _185: _186: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X2) < i32(5) { return i32(0) } return func() int32 { 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(69888))) crt.X__builtin_abort(tls) return i32(0) }() }() _396_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) _396_res = _pOp.X5 func() int32 { if _396_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_396_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_396_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_396_res == i32(0)) || ((_396_res == i32(1)) && (int32(_396_pC.X4) == i32(0))) { return i32(0) } return func() int32 { 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(69920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X0) != i32(7)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32) int32 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{_sqlite3BtreeNext}))) { return i32(0) } return func() int32 { 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(69960))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X0) != i32(6)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32) int32 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{_sqlite3BtreePrevious}))) { return i32(0) } return func() int32 { 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(70020))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X0) != i32(5)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32) int32 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{_sqlite3BtreeNext}))) { return i32(0) } return func() int32 { 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(70084))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X0) != i32(4)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32) int32 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *XBtCursor, *int32) int32 }{_sqlite3BtreePrevious}))) { return i32(0) } return func() int32 { 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(70152))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(70224))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(70376))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = (*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32) int32 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(48 /* X14 */))))))), &_396_res) _next_tail: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if _rc == 0 { goto _1571 } goto _abort_due_to_error _1571: if _396_res != i32(0) { goto _1572 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(2 /* X2 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(208 /* X35 */))))) + 4*uintptr(_pOp.X2))) += 1 goto _jump_to_p2_and_check_for_interrupt _1572: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(2 /* X2 */))) = uint8(i32(1)) goto _check_for_interrupt _187: _188: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _399_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _399_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_399_pC.X0) == i32(1)) == (int32(_pOp.X0) == i32(125)) { return i32(0) } return func() int32 { 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(70500))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) func() int32 { if (int32(_pIn2.X1) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(70548))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pOp.X2) & i32(1)) == 0 { goto _1583 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) += 1 _1583: func() int32 { if (int32(_399_pC.X0) == i32(0)) || (int32(_pOp.X0) == i32(125)) { return i32(0) } return func() int32 { 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(70572))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_399_pC.X4) == i32(0) { return i32(0) } return func() int32 { 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(68936))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = func() int32 { if (int32(_pIn2.X1) & i32(16384)) != 0 { return _sqlite3VdbeMemExpandBlob(tls, _pIn2) } return i32(0) }() if _rc == 0 { goto _1591 } goto _abort_due_to_error _1591: if int32(_pOp.X0) != i32(125) { goto _1592 } _rc = _sqlite3VdbeSorterWrite(tls, _399_pC, _pIn2) goto _1593 _1592: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(8 /* X1 */))) = int64(_pIn2.X4) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(0 /* X0 */))) = (unsafe.Pointer)(_pIn2.X5) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(24 /* 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(72))))))))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(32 /* X4 */))) = uint16(*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) _rc = _sqlite3BtreeInsert(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_399_pC)) + uintptr(48 /* X14 */))))))), &_399_x, int32(_pOp.X2)&i32(10), func() int32 { if (int32(_pOp.X2) & i32(16)) != 0 { return (_399_pC.X12) } return i32(0) }()) func() int32 { if int32(_399_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_399_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) _1593: if _rc == 0 { goto _1598 } goto _abort_due_to_error _1598: goto _248 _189: func() int32 { if (_pOp.X5) > i32(0) { return i32(0) } return func() int32 { 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(63288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X4) > i32(0)) && (((_pOp.X4) + (_pOp.X5)) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { return i32(0) } return func() int32 { 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(70632))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _402_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _402_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_402_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() _402_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_402_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if _402_pCrsr != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(69064))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X2) == i32(0) { return i32(0) } return func() int32 { 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(68320))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_402_pC.X15)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(16 /* X2 */))) = uint16(_pOp.X5) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(18 /* X3 */))) = int8(i32(0)) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(8 /* X1 */))))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _rc = _sqlite3BtreeMovetoUnpacked(tls, _402_pCrsr, &_402_r, int64(i32(0)), i32(0), &_402_res) if _rc == 0 { goto _1615 } goto _abort_due_to_error _1615: if _402_res != i32(0) { goto _1616 } _rc = _sqlite3BtreeDelete(tls, _402_pCrsr, uint8(i32(4))) if _rc == 0 { goto _1617 } goto _abort_due_to_error _1617: _1616: func() int32 { if int32(_402_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_402_pC)) + uintptr(32 /* X11 */))) = uint32(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_402_pC)) + uintptr(36 /* X12 */))) = i32(0) goto _248 _190: _191: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _404_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _404_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_404_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_404_pC.X4) == i32(0) { return i32(0) } return func() int32 { 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(68936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_404_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_404_pC.X2) == 0) || (int32(_pOp.X0) == i32(129)) { return i32(0) } return func() int32 { 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(70692))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeCursorRestore(tls, _404_pC) if func() int32 { if _rc != i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _1638 } goto _abort_due_to_error _1638: if (_404_pC.X2) != 0 { goto _1639 } _404_rowid = int64(i32(0)) _rc = _sqlite3VdbeIdxRowid(tls, _db, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pC)) + uintptr(48 /* X14 */))))))), &_404_rowid) if _rc == i32(0) { goto _1640 } goto _abort_due_to_error _1640: if int32(_pOp.X0) != i32(128) { goto _1641 } func() int32 { if ((_pOp.X5) >= i32(0)) && ((_pOp.X5) < (_p.X7)) { return i32(0) } return func() int32 { 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(70736))) crt.X__builtin_abort(tls) return i32(0) }() }() _404_pTabCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X5))) func() int32 { if _404_pTabCur != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(70772))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_404_pTabCur.X0) == i32(0) { return i32(0) } return func() int32 { 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(70784))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(70820))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_404_pTabCur.X4) != 0 { return i32(0) } return func() int32 { 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(70844))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(2 /* X2 */))) = uint8(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(80 /* X20 */))) = _404_rowid *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(3 /* X3 */))) = uint8(i32(1)) func() int32 { if (int32(_pOp.X1) == i32(-12)) || ((*(**int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == (*int32)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(70864))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(24 /* X10 */))) = *(**int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) *(**XVdbeCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(40 /* X13 */))))) = _404_pC goto _1656 _1641: _pOut = _out2Prerelease(tls, _p, _pOp) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _404_rowid _1656: goto _1657 _1639: func() int32 { if int32(_pOp.X0) == i32(129) { return i32(0) } return func() int32 { 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(70908))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetNull(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4)))) _1657: goto _248 _192: _193: _194: _195: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _410_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _410_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((uint32((_410_pC.X7)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(68344))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_410_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_410_pC)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_410_pC.X3) == i32(0) { return i32(0) } return func() int32 { 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(69576))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pOp.X2) == i32(0)) || (int32(_pOp.X2) == i32(1)) { return i32(0) } return func() int32 { 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(70936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X1) == i32(-11) { return i32(0) } return func() int32 { 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(68660))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_410_pC.X15)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(16 /* X2 */))) = uint16(*(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) if int32(_pOp.X0) >= i32(61) { goto _1678 } func() int32 { if (int32(_pOp.X0) == i32(59)) || (int32(_pOp.X0) == i32(60)) { return i32(0) } return func() int32 { 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(70964))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(18 /* X3 */))) = int8(i32(-1)) goto _1682 _1678: func() int32 { if (int32(_pOp.X0) == i32(62)) || (int32(_pOp.X0) == i32(61)) { return i32(0) } return func() int32 { 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(71012))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(18 /* X3 */))) = int8(i32(0)) _1682: *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(8 /* X1 */))))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _413_i = i32(0) _1686: if _413_i >= int32(_410_r.X2) { goto _1689 } func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr(_410_r.X1)+72*uintptr(_413_i))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(68840))) crt.X__builtin_abort(tls) return i32(0) }() }() _413_i += 1 goto _1686 _1689: _410_res = i32(0) _rc = _sqlite3VdbeIdxKeyCompare(tls, _db, _410_pC, &_410_r, &_410_res) i32(0) if (int32(_pOp.X0) & i32(1)) != i32(1) { goto _1692 } func() int32 { if (int32(_pOp.X0) == i32(59)) || (int32(_pOp.X0) == i32(61)) { return i32(0) } return func() int32 { 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(71060))) crt.X__builtin_abort(tls) return i32(0) }() }() _410_res = -_410_res goto _1696 _1692: func() int32 { if (int32(_pOp.X0) == i32(62)) || (int32(_pOp.X0) == i32(60)) { return i32(0) } return func() int32 { 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(71108))) crt.X__builtin_abort(tls) return i32(0) }() }() _410_res += 1 _1696: if _rc == 0 { goto _1700 } goto _abort_due_to_error _1700: if _410_res <= i32(0) { goto _1701 } goto _jump_to_p2 _1701: goto _248 _196: func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X3) > i32(1) { return i32(0) } return func() int32 { 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(71156))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = _out2Prerelease(tls, _p, _pOp) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(1)) if (_db.X35) <= ((_db.X38) + i32(1)) { goto _1706 } _rc = i32(6) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(194 /* X30 */))) = uint8(i32(2)) goto _abort_due_to_error _1706: _416_iDb = _pOp.X5 func() int32 { if ((_p.X33) & (u32(1) << uint(_416_iDb))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67684))) crt.X__builtin_abort(tls) return i32(0) }() }() _416_iMoved = i32(0) _rc = _sqlite3BtreeDropTable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_416_iDb))).X1)), _pOp.X3, &_416_iMoved) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_416_iMoved) if _rc == 0 { goto _1710 } goto _abort_due_to_error _1710: if _416_iMoved == i32(0) { goto _1711 } _sqlite3RootPageMoved(tls, _db, _416_iDb, _416_iMoved, _pOp.X3) func() int32 { if (int32(_resetSchemaOnFault) == i32(0)) || (int32(_resetSchemaOnFault) == (_416_iDb + i32(1))) { return i32(0) } return func() int32 { 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(71168))) crt.X__builtin_abort(tls) return i32(0) }() }() _resetSchemaOnFault = uint8(_416_iDb + i32(1)) _1711: goto _248 _197: _420_nChange = i32(0) func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_pOp.X4))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(71220))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeClearTable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_pOp.X4))).X1)), _pOp.X3, func() *int32 { if (_pOp.X5) != 0 { return &_420_nChange } return (*int32)(unsafe.Pointer(uintptr(i32(0)))) }()) if (_pOp.X5) == 0 { goto _1721 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) *p = (*p) + _420_nChange sink961 = *p } if (_pOp.X5) <= i32(0) { goto _1722 } func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(63336))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemAboutToChange(tls, _p, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5)))) { p := (*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5))))) + uintptr(0 /* X0 */))))) *p = (*p) + int64(_420_nChange) sink967 = *p } _1722: _1721: if _rc == 0 { goto _1725 } goto _abort_due_to_error _1725: goto _248 _198: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { return i32(0) } return func() int32 { 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(65948))) crt.X__builtin_abort(tls) return i32(0) }() }() _423_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if _423_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(65984))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_423_pC.X0) != i32(1) { goto _1731 } _sqlite3VdbeSorterReset(tls, _db, (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_423_pC)) + uintptr(48 /* X14 */)))))))) goto _1732 _1731: func() int32 { if int32(_423_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((uint32(_423_pC.X7) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(71256))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeClearTableOfCursor(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_423_pC)) + uintptr(48 /* X14 */)))))))) if _rc == 0 { goto _1737 } goto _abort_due_to_error _1737: _1732: goto _248 _199: _200: _pOut = _out2Prerelease(tls, _p, _pOp) _426_pgno = i32(0) func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { return i32(0) } return func() int32 { 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(67464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67496))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() _426_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))) func() int32 { if (*XBtree)(unsafe.Pointer(_426_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(67760))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pOp.X0) != i32(135) { goto _1747 } _426_flags = i32(1) goto _1748 _1747: _426_flags = i32(2) _1748: _rc = _sqlite3BtreeCreateTable(tls, (*XBtree)(unsafe.Pointer(_426_pDb.X1)), &_426_pgno, _426_flags) if _rc == 0 { goto _1749 } goto _abort_due_to_error _1749: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_426_pgno) goto _248 _201: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(94 /* X26 */))) += 1 _rc = Xsqlite3_exec(tls, _db, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), nil, (unsafe.Pointer)(uintptr(i32(0))), (**int8)(unsafe.Pointer(uintptr(i32(0))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(94 /* X26 */))) -= 1 if _rc == 0 { goto _1750 } goto _abort_due_to_error _1750: goto _248 _202: _430_iDb = i32(0) _1751: if _430_iDb >= (_db.X5) { goto _1754 } func() int32 { if (_430_iDb == i32(1)) || _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_430_iDb))).X1))) != 0 { return i32(0) } return func() int32 { 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(51436))) crt.X__builtin_abort(tls) return i32(0) }() }() _430_iDb += 1 goto _1751 _1754: _430_iDb = _pOp.X3 func() int32 { if (_430_iDb >= i32(0)) && (_430_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_430_iDb))).X4)).X9) & i32(1)) == i32(1) { return i32(0) } return func() int32 { 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(71272))) crt.X__builtin_abort(tls) return i32(0) }() }() _430_zMaster = str(51508) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(0 /* X0 */))))) = _db *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(16 /* X2 */))) = _pOp.X3 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(8 /* X1 */))) = (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X22 */))) _430_zSql = _sqlite3MPrintf(tls, _db, str(71312), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_430_iDb))).X0), unsafe.Pointer(_430_zMaster), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) if _430_zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1763 } _rc = _sqlite3NomemError(tls, i32(83774)) goto _1764 _1763: func() int32 { if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == i32(0) { return i32(0) } return func() int32 { 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(51368))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(20 /* X3 */))) = i32(0) func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = Xsqlite3_exec(tls, _db, _430_zSql, _sqlite3InitCallback, (unsafe.Pointer)(&_430_initData), (**int8)(unsafe.Pointer(uintptr(i32(0))))) if _rc != i32(0) { goto _1769 } _rc = _430_initData.X3 _1769: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_430_zSql)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(0)) _1764: if _rc == 0 { goto _1770 } _sqlite3ResetAllSchemasOfConnection(tls, _db) if _rc != i32(7) { goto _1771 } goto _no_mem _1771: goto _abort_due_to_error _1770: goto _248 _203: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { return i32(0) } return func() int32 { 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(67464))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3AnalysisLoad(tls, _db, _pOp.X3) if _rc == 0 { goto _1775 } goto _abort_due_to_error _1775: goto _248 _204: _sqlite3UnlinkAndDeleteTable(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) goto _248 _205: _sqlite3UnlinkAndDeleteIndex(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) goto _248 _206: _sqlite3UnlinkAndDeleteTrigger(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) goto _248 _207: func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() _441_nRoot = _pOp.X4 _441_aRoot = *(**int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) func() int32 { if _441_nRoot > i32(0) { return i32(0) } return func() int32 { 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(71376))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_441_aRoot)) + 4*uintptr(_441_nRoot)))) == i32(0) { return i32(0) } return func() int32 { 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(71384))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(64792))) crt.X__builtin_abort(tls) return i32(0) }() }() _441_pnErr = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if (int32(_441_pnErr.X1) & i32(4)) != i32(0) { return i32(0) } return func() int32 { 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(71400))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_441_pnErr.X1) & i32(18)) == i32(0) { return i32(0) } return func() int32 { 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(71428))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if int32(_pOp.X2) < (_db.X5) { return i32(0) } return func() int32 { 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(71468))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(int32(_pOp.X2)))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(71484))) crt.X__builtin_abort(tls) return i32(0) }() }() _441_z = _sqlite3BtreeIntegrityCheck(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_pOp.X2))).X1)), _441_aRoot, _441_nRoot, int32(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_441_pnErr)) + uintptr(0 /* X0 */))))))+i32(1), &_441_nErr) _sqlite3VdbeMemSetNull(tls, _pIn1) if _441_nErr != i32(0) { goto _1793 } func() int32 { if _441_z == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(71520))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _1796 _1793: if _441_z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1797 } goto _no_mem _1797: { p := (*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_441_pnErr)) + uintptr(0 /* X0 */))))) *p = (*p) - int64(_441_nErr-i32(1)) sink967 = *p } _sqlite3VdbeMemSetStr(tls, _pIn1, _441_z, i32(-1), uint8(i32(1)), Xsqlite3_free) _1796: _sqlite3VdbeChangeEncoding(tls, _pIn1, int32(_encoding)) goto _248 _208: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) func() int32 { if (int32(_pIn2.X1) & i32(4)) != i32(0) { return i32(0) } return func() int32 { 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(68104))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pIn1.X1) & i32(32)) != i32(0) { goto _1801 } _sqlite3VdbeMemSetRowSet(tls, _pIn1) if (int32(_pIn1.X1) & i32(32)) != i32(0) { goto _1802 } goto _no_mem _1802: _1801: _sqlite3RowSetInsert(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */)))))) goto _248 _209: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) if (int32(_pIn1.X1)&i32(32)) != i32(0) && _sqlite3RowSetNext(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), &_447_val) != i32(0) { goto _1804 } _sqlite3VdbeMemSetNull(tls, _pIn1) goto _jump_to_p2_and_check_for_interrupt _1804: _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X5))), _447_val) goto _check_for_interrupt _210: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _450_iSet = *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) func() int32 { if (int32(_pIn3.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(71528))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pIn1.X1) & i32(32)) != i32(0) { goto _1808 } _sqlite3VdbeMemSetRowSet(tls, _pIn1) if (int32(_pIn1.X1) & i32(32)) != i32(0) { goto _1809 } goto _no_mem _1809: _1808: func() int32 { if int32(_pOp.X1) == i32(-11) { return i32(0) } return func() int32 { 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(68660))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_450_iSet == i32(-1)) || (_450_iSet >= i32(0)) { return i32(0) } return func() int32 { 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(71548))) crt.X__builtin_abort(tls) return i32(0) }() }() if _450_iSet == 0 { goto _1815 } _450_exists = _sqlite3RowSetTest(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), _450_iSet, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) if _450_exists == 0 { goto _1816 } goto _jump_to_p2 _1816: _1815: if _450_iSet < i32(0) { goto _1817 } _sqlite3RowSetInsert(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) _1817: goto _248 _211: _454_pProgram = (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _454_pRt = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) func() int32 { if (_454_pProgram.X1) > i32(0) { return i32(0) } return func() int32 { 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(71568))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOp.X2) == 0 { goto _1820 } _454_t = _454_pProgram.X5 _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) _1821: if _454_pFrame == nil || (_454_pFrame.X7) == _454_t { goto _1825 } _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(_454_pFrame.X1)) goto _1821 _1825: if _454_pFrame == nil { goto _1826 } goto _248 _1826: _1820: if (_p.X40) < (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(10))))) { goto _1827 } _rc = i32(1) _sqlite3VdbeError(tls, _p, str(71584)) goto _abort_due_to_error _1827: if (int32(_454_pRt.X1) & i32(64)) != i32(0) { goto _1828 } _454_nMem = (_454_pProgram.X2) + (_454_pProgram.X3) func() int32 { if _454_nMem > i32(0) { return i32(0) } return func() int32 { 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(71624))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_454_pProgram.X3) != i32(0) { goto _1831 } _454_nMem += 1 _1831: _454_nByte = int32(((u64(112) + (uint64(_454_nMem) * u64(72))) + (uint64(_454_pProgram.X3) * u64(8))) + uint64(((_454_pProgram.X1)+i32(7))/i32(8))) _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_454_nByte)))) if _454_pFrame != nil { goto _1832 } goto _no_mem _1832: _sqlite3VdbeMemRelease(tls, _454_pRt) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pRt)) + uintptr(8 /* X1 */))) = uint16(i32(64)) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pRt)) + uintptr(0 /* X0 */))))))) = _454_pFrame *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(0 /* X0 */))))) = _p *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(96 /* X14 */))) = _454_nMem *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(100 /* X15 */))) = _454_pProgram.X3 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(84 /* X11 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(32 /* X4 */))))) = (*XMem)(unsafe.Pointer(_p.X18)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(92 /* X13 */))) = _p.X6 *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(40 /* X5 */))))) = (**XVdbeCursor)(unsafe.Pointer(_p.X23)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(80 /* X10 */))) = _p.X7 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(16 /* X2 */))))) = (*XVdbeOp)(unsafe.Pointer(_p.X17)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(88 /* X12 */))) = _p.X27 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(56 /* X7 */))) = _454_pProgram.X5 _454_pEnd = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame))+1*uintptr(u64(112)))))) + 72*uintptr(_454_pFrame.X14))) _454_pMem = (*XMem)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + 1*uintptr(u64(112)))))) _1833: if _454_pMem == _454_pEnd { goto _1836 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(128)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pMem)) + uintptr(40 /* X9 */))))) = _db *(*uintptr)(unsafe.Pointer(&_454_pMem)) += uintptr(72) goto _1833 _1836: goto _1837 _1828: _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pRt)) + uintptr(0 /* X0 */))))))) func() int32 { if (((_454_pProgram.X2) + (_454_pProgram.X3)) == (_454_pFrame.X14)) || (((_454_pProgram.X3) == i32(0)) && (((_454_pProgram.X2) + i32(1)) == (_454_pFrame.X14))) { return i32(0) } return func() int32 { 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(71632))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_454_pProgram.X3) == (_454_pFrame.X15) { return i32(0) } return func() int32 { 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(71744))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(int64((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/32)) == (_454_pFrame.X11) { return i32(0) } return func() int32 { 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(71780))) crt.X__builtin_abort(tls) return i32(0) }() }() _1837: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(264 /* X40 */))) += 1 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(8 /* X1 */))))) = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(64 /* X8 */))) = _db.X7 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(104 /* X16 */))) = _p.X11 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(108 /* X17 */))) = (*Xsqlite3)(unsafe.Pointer(_p.X0)).X29 func() int32 { if (*XAuxData)(unsafe.Pointer(_454_pFrame.X9)) == (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(71812))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(72 /* X9 */))))) = (*XAuxData)(unsafe.Pointer(_p.X43)) *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(280 /* X43 */))))) = (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) = i32(0) *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(248 /* X38 */))))) = _454_pFrame *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X18 */))))) = store5448613(&_aMem, (*XMem)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame))+1*uintptr(u64(112))))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X6 */))) = _454_pFrame.X14 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X7 */))) = int32(uint16(_454_pFrame.X15)) *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(152 /* X23 */))))) = (**XVdbeCursor)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_p.X6))))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(48 /* X6 */))) = (*uint8)(unsafe.Pointer((**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_454_pProgram.X3))))) crt.Xmemset(tls, (unsafe.Pointer)(_454_pFrame.X6), i32(0), uint64(((_454_pProgram.X1)+i32(7))/i32(8))) *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X17 */))))) = store5776833(&_aOp, (*XVdbeOp)(unsafe.Pointer(_454_pProgram.X0))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(184 /* X27 */))) = _454_pProgram.X1 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 32*uintptr(i32(-1)))) goto _248 _212: _pOut = _out2Prerelease(tls, _p, _pOp) _461_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) _461_pIn = (*XMem)(unsafe.Pointer(uintptr(_461_pFrame.X4) + 72*uintptr((_pOp.X3)+((*XVdbeOp)(unsafe.Pointer(uintptr(_461_pFrame.X2)+32*uintptr(_461_pFrame.X11))).X3)))) _sqlite3VdbeMemShallowCopy(tls, _pOut, _461_pIn, i32(4096)) goto _248 _213: if ((_db.X6) & i32(33554432)) == 0 { goto _1848 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(656 /* X78 */))) *p = (*p) + int64(_pOp.X4) sink967 = *p } goto _1849 _1848: if (_pOp.X3) == 0 { goto _1850 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(648 /* X77 */))) *p = (*p) + int64(_pOp.X4) sink967 = *p } goto _1851 _1850: { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X14 */))) *p = (*p) + int64(_pOp.X4) sink967 = *p } _1851: _1849: goto _248 _214: if (_pOp.X3) == 0 { goto _1852 } if (_db.X77) != int64(i32(0)) || (_db.X78) != int64(i32(0)) { goto _1854 } goto _jump_to_p2 _1854: goto _1855 _1852: if (_p.X14) != int64(i32(0)) || (_db.X78) != int64(i32(0)) { goto _1857 } goto _jump_to_p2 _1857: _1855: goto _248 _215: if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { goto _1858 } _469_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) _1859: if (*XVdbeFrame)(unsafe.Pointer(_469_pFrame.X1)) == nil { goto _1862 } _469_pFrame = (*XVdbeFrame)(unsafe.Pointer(_469_pFrame.X1)) goto _1859 _1862: _pIn1 = (*XMem)(unsafe.Pointer(uintptr(_469_pFrame.X4) + 72*uintptr(_pOp.X3))) goto _1863 _1858: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _1863: func() int32 { if (int32(_pIn1.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(64408))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemIntegerify(tls, _pIn1) _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X4))) _sqlite3VdbeMemIntegerify(tls, _pIn2) if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) >= (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */)))))) { goto _1866 } *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */))))) _1866: goto _248 _216: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (int32(_pIn1.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(71832))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) <= int64(i32(0)) { goto _1869 } { p := (*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) *p = (*p) - int64(_pOp.X5) sink967 = *p } goto _jump_to_p2 _1869: goto _248 _217: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _pOut = _out2Prerelease(tls, _p, _pOp) func() int32 { if (int32(_pIn1.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(71852))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pIn3.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(64128))) crt.X__builtin_abort(tls) return i32(0) }() }() _475_x = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) if _475_x > int64(i32(0)) && _sqlite3AddInt64(tls, &_475_x, func() int64 { if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) > int64(i32(0)) { return (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) } return int64(i32(0)) }()) == 0 { goto _1877 } *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(i32(-1)) goto _1878 _1877: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _475_x _1878: goto _248 _218: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (int32(_pIn1.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(71832))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) == 0 { goto _1881 } if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) <= int64(i32(0)) { goto _1882 } *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) -= 1 _1882: goto _jump_to_p2 _1881: goto _248 _219: _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (int32(_pIn1.X1) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(71832))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) <= i64(-9223372036854775808) { goto _1885 } *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) -= 1 _1885: if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) != int64(i32(0)) { goto _1886 } goto _jump_to_p2 _1886: goto _248 _220: func() int32 { if int32(_pOp.X1) == i32(-4) { return i32(0) } return func() int32 { 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(64768))) crt.X__builtin_abort(tls) return i32(0) }() }() _481_n = int32(_pOp.X2) func() int32 { if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(64792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_481_n == i32(0)) || (((_pOp.X4) > i32(0)) && (((_pOp.X4) + _481_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1)))) { return i32(0) } return func() int32 { 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(64840))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X5) < (_pOp.X4)) || ((_pOp.X5) >= ((_pOp.X4) + _481_n)) { return i32(0) } return func() int32 { 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(64904))) crt.X__builtin_abort(tls) return i32(0) }() }() _481_pCtx = (*Xsqlite3_context)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(56)+(uint64(_481_n-i32(1))*u64(8))))) if _481_pCtx != (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0)))) { goto _1899 } goto _no_mem _1899: *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(16 /* X2 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(8 /* X1 */))))) = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(32 /* X4 */))) = int32(int64((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 32)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(24 /* X3 */))))) = _p *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(42 /* X8 */))) = uint8(_481_n) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-16)) *(**Xsqlite3_context)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _481_pCtx *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(149)) _221: func() int32 { if int32(_pOp.X1) == i32(-16) { return i32(0) } return func() int32 { 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(64944))) crt.X__builtin_abort(tls) return i32(0) }() }() _482_pCtx = (*Xsqlite3_context)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _482_pMem = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) if (*XMem)(unsafe.Pointer(_482_pCtx.X2)) == _482_pMem { goto _1902 } *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(16 /* X2 */))))) = _482_pMem _482_i = int32(_482_pCtx.X8) - i32(1) _1903: if _482_i < i32(0) { goto _1906 } *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(48 /* X9 */))))) + 8*uintptr(_482_i))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr((_pOp.X4)+_482_i))) _482_i -= 1 goto _1903 _1906: _1902: _482_i = i32(0) _1907: if _482_i >= int32(_482_pCtx.X8) { goto _1910 } func() int32 { if (int32((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(48 /* X9 */))))) + 8*uintptr(_482_i)))).X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(64968))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _1913 } _registerTrace(tls, (_pOp.X4)+_482_i, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(48 /* X9 */))))) + 8*uintptr(_482_i)))) _1913: _482_i += 1 goto _1907 _1910: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pMem)) + uintptr(12 /* X4 */))) += 1 _sqlite3VdbeMemInit(tls, &_482_t, _db, uint16(i32(1))) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(0 /* X0 */))))) = &_482_t *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(40 /* X6 */))) = uint8(i32(0)) (*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) }{((*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(48 /* X9 */)))))) if (_482_pCtx.X7) == 0 { goto _1914 } if (_482_pCtx.X5) == 0 { goto _1915 } _sqlite3VdbeError(tls, _p, str(24304), unsafe.Pointer(Xsqlite3_value_text(tls, &_482_t))) _rc = _482_pCtx.X5 _1915: _sqlite3VdbeMemRelease(tls, &_482_t) if _rc == 0 { goto _1916 } goto _abort_due_to_error _1916: goto _1917 _1914: func() int32 { if int32(_482_t.X1) == i32(1) { return i32(0) } return func() int32 { 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(71876))) crt.X__builtin_abort(tls) return i32(0) }() }() _1917: if (_482_pCtx.X6) == 0 { goto _1920 } func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X0) == i32(89) { return i32(0) } return func() int32 { 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(71896))) crt.X__builtin_abort(tls) return i32(0) }() }() _482_i = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(-1)))).X3 if _482_i == 0 { goto _1923 } _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_482_i))), int64(i32(1))) _1923: _1920: goto _248 _222: func() int32 { if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(63432))) crt.X__builtin_abort(tls) return i32(0) }() }() _489_pMem = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (int32(_489_pMem.X1) & i32(-8194)) == i32(0) { return i32(0) } return func() int32 { 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(71924))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeMemFinalize(tls, _489_pMem, (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))))) if _rc == 0 { goto _1929 } _sqlite3VdbeError(tls, _p, str(24304), unsafe.Pointer(Xsqlite3_value_text(tls, _489_pMem))) goto _abort_due_to_error _1929: _sqlite3VdbeChangeEncoding(tls, _489_pMem, int32(_encoding)) if _sqlite3VdbeMemTooBig(tls, _489_pMem) == 0 { goto _1930 } goto _too_big _1930: goto _248 _223: func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(i32(0)))) = i32(0) *(*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)) func() int32 { if ((((_pOp.X4) == i32(0)) || ((_pOp.X4) == i32(1))) || ((_pOp.X4) == i32(2))) || ((_pOp.X4) == i32(3)) { return i32(0) } return func() int32 { 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(71964))) crt.X__builtin_abort(tls) return i32(0) }() }() _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))))) if _rc == 0 { goto _1938 } if _rc == i32(5) { goto _1939 } goto _abort_due_to_error _1939: _rc = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(i32(0)))) = i32(1) _1938: *func() **XMem { _492_i = i32(0); return &_492_pMem }() = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _1940: if _492_i >= i32(3) { goto _1943 } _sqlite3VdbeMemSetInt64(tls, _492_pMem, int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(_492_i))))) *(*uintptr)(unsafe.Pointer(func() **XMem { _492_i += 1; return &_492_pMem }())) += uintptr(72) goto _1940 _1943: goto _248 _224: _pOut = _out2Prerelease(tls, _p, _pOp) _495_eNew = _pOp.X5 func() int32 { 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)) { return i32(0) } return func() int32 { 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(72112))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { return i32(0) } return func() int32 { 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(67464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() _495_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))).X1)) _495_pPager = _sqlite3BtreePager(tls, _495_pBt) _495_eOld = _sqlite3PagerGetJournalMode(tls, _495_pPager) if _495_eNew != i32(-1) { goto _1957 } _495_eNew = _495_eOld _1957: if _sqlite3PagerOkToChangeJournalMode(tls, _495_pPager) != 0 { goto _1958 } _495_eNew = _495_eOld _1958: _495_zFilename = _sqlite3PagerFilename(tls, _495_pPager, i32(1)) if _495_eNew != i32(5) || _sqlite3Strlen30(tls, _495_zFilename) != i32(0) && _sqlite3PagerWalSupported(tls, _495_pPager) != 0 { goto _1961 } _495_eNew = _495_eOld _1961: if _495_eNew == _495_eOld || _495_eOld != i32(5) && _495_eNew != i32(5) { goto _1964 } if (_db.X15) != 0 && (_db.X35) <= i32(1) { goto _1966 } _rc = i32(1) _sqlite3VdbeError(tls, _p, str(72344), unsafe.Pointer(func() *int8 { if _495_eNew == i32(5) { return str(72396) } return str(72404) }())) goto _abort_due_to_error _1966: if _495_eOld != i32(5) { goto _1970 } _rc = _sqlite3PagerCloseWal(tls, _495_pPager, _db) if _rc != i32(0) { goto _1971 } _sqlite3PagerSetJournalMode(tls, _495_pPager, _495_eNew) _1971: goto _1972 _1970: if _495_eOld != i32(4) { goto _1973 } _sqlite3PagerSetJournalMode(tls, _495_pPager, i32(2)) _1973: _1972: func() int32 { if _sqlite3BtreeIsInTrans(tls, _495_pBt) == i32(0) { return i32(0) } return func() int32 { 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(72412))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) { goto _1976 } _rc = _sqlite3BtreeSetVersion(tls, _495_pBt, func() int32 { if _495_eNew == i32(5) { return i32(2) } return i32(1) }()) _1976: _1964: if _rc == 0 { goto _1979 } _495_eNew = _495_eOld _1979: _495_eNew = _sqlite3PagerSetJournalMode(tls, _495_pPager, _495_eNew) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(2562)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X5 */))) = _sqlite3JournalModename(tls, _495_eNew) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pOut.X5) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = uint8(i32(1)) _sqlite3VdbeChangeEncoding(tls, _pOut, int32(_encoding)) if _rc == 0 { goto _1980 } goto _abort_due_to_error _1980: goto _248 _225: func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3RunVacuum(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(144 /* X22 */))), _db, _pOp.X3) if _rc == 0 { goto _1983 } goto _abort_due_to_error _1983: goto _248 _226: func() int32 { if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { return i32(0) } return func() int32 { 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(67464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(67496))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() _505_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))).X1)) _rc = _sqlite3BtreeIncrVacuum(tls, _505_pBt) if _rc == 0 { goto _1991 } if _rc == i32(101) { goto _1992 } goto _abort_due_to_error _1992: _rc = i32(0) goto _jump_to_p2 _1991: goto _248 _227: if (_pOp.X3) != 0 { goto _1993 } _sqlite3ExpirePreparedStatements(tls, _db) goto _1994 _1993: storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _1994: goto _248 _228: _510_isWriteLock = uint8(_pOp.X5) if _510_isWriteLock == 0 && i32(0) != ((_db.X6)&i32(16384)) { goto _1996 } _511_p1 = _pOp.X3 func() int32 { if (_511_p1 >= i32(0)) && (_511_p1 < (_db.X5)) { return i32(0) } return func() int32 { 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(72444))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X33) & (u32(1) << uint(_511_p1))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(72464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_510_isWriteLock) == i32(0)) || (int32(_510_isWriteLock) == i32(1)) { return i32(0) } return func() int32 { 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(72496))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeLockTable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_511_p1))).X1)), _pOp.X4, _510_isWriteLock) if _rc == 0 { goto _2005 } if (_rc & i32(255)) != i32(6) { goto _2006 } _513_z = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) _sqlite3VdbeError(tls, _p, str(72532), unsafe.Pointer(_513_z)) _2006: goto _abort_due_to_error _2005: _1996: goto _248 _229: _514_pVTab = (*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) _rc = _sqlite3VtabBegin(tls, _db, _514_pVTab) if _514_pVTab == nil { goto _2007 } _sqlite3VtabImportErrmsg(tls, _p, (*Xsqlite3_vtab)(unsafe.Pointer(_514_pVTab.X2))) _2007: if _rc == 0 { goto _2008 } goto _abort_due_to_error _2008: goto _248 _230: crt.Xmemset(tls, (unsafe.Pointer)(&_515_sMem), i32(0), u64(72)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_515_sMem)) + uintptr(40 /* X9 */))))) = _db func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4))).X1) & i32(2)) != i32(0) { return i32(0) } return func() int32 { 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(72564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4))).X1) & i32(2048)) != i32(0) { return i32(0) } return func() int32 { 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(72600))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeMemCopy(tls, &_515_sMem, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOp.X4)))) func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _515_zTab = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, &_515_sMem))) func() int32 { if (_515_zTab != nil) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(72640))) crt.X__builtin_abort(tls) return i32(0) }() }() if _515_zTab == nil { goto _2018 } _rc = _sqlite3VtabCallCreate(tls, _db, _pOp.X3, _515_zTab, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(144 /* X22 */)))) _2018: _sqlite3VdbeMemRelease(tls, &_515_sMem) if _rc == 0 { goto _2019 } goto _abort_due_to_error _2019: goto _248 _231: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(188 /* X38 */))) += 1 _rc = _sqlite3VtabCallDestroy(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(188 /* X38 */))) -= 1 if _rc == 0 { goto _2020 } goto _abort_due_to_error _2020: goto _248 _232: func() int32 { if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(0) } return func() int32 { 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(66876))) crt.X__builtin_abort(tls) return i32(0) }() }() _518_pCur = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) _518_pVCur = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) _518_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) if _518_pVtab != (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { if (*Xsqlite3_module)(unsafe.Pointer(_518_pVtab.X0)) == (*Xsqlite3_module)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2026 } _rc = i32(6) goto _abort_due_to_error _2026: _518_pModule = (*Xsqlite3_module)(unsafe.Pointer(_518_pVtab.X0)) _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, **Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 }{(_518_pModule.X6)})))(tls, _518_pVtab, &_518_pVCur) _sqlite3VtabImportErrmsg(tls, _p, _518_pVtab) if _rc == 0 { goto _2027 } goto _abort_due_to_error _2027: *(**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_518_pVCur)) + uintptr(0 /* X0 */))))) = _518_pVtab _518_pCur = _allocateCursor(tls, _p, _pOp.X3, i32(0), i32(-1), uint8(i32(2))) if _518_pCur == nil { goto _2028 } *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_518_pCur)) + uintptr(48 /* X14 */))))))) = _518_pVCur *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_518_pVtab)) + uintptr(8 /* X1 */))) += 1 goto _2029 _2028: func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_518_pModule.X7)})))(tls, _518_pVCur) goto _no_mem _2029: goto _248 _233: _522_pQuery = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _522_pArgc = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pQuery)) + 72*uintptr(i32(1)))) _522_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if (int32(_522_pQuery.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(72668))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _2034 } _registerTrace(tls, _pOp.X5, _522_pQuery) _2034: func() int32 { if int32(_522_pCur.X0) == i32(2) { return i32(0) } return func() int32 { 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(72688))) crt.X__builtin_abort(tls) return i32(0) }() }() _522_pVCur = (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pCur)) + uintptr(48 /* X14 */))))))) _522_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_522_pVCur.X0)) _522_pModule = (*Xsqlite3_module)(unsafe.Pointer(_522_pVtab.X0)) func() int32 { if ((int32(_522_pQuery.X1) & i32(4)) != i32(0)) && (int32(_522_pArgc.X1) == i32(4)) { return i32(0) } return func() int32 { 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(72720))) crt.X__builtin_abort(tls) return i32(0) }() }() _522_nArg = int32(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pArgc)) + uintptr(0 /* X0 */)))))) _522_iQuery = int32(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pQuery)) + uintptr(0 /* X0 */)))))) _522_res = i32(0) _522_apArg = (**XMem)(unsafe.Pointer(_p.X19)) _522_i = i32(0) _2040: if _522_i >= _522_nArg { goto _2043 } *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_apArg)) + 8*uintptr(_522_i))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pArgc)) + 72*uintptr(_522_i+i32(1)))) _522_i += 1 goto _2040 _2043: _rc = (*(*func(*crt.TLS, *Xsqlite3_file, int32, *int8, int32, **XMem) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, *unsafe.Pointer) int32 }{(_522_pModule.X8)})))(tls, _522_pVCur, _522_iQuery, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), _522_nArg, _522_apArg) _sqlite3VtabImportErrmsg(tls, _p, _522_pVtab) if _rc == 0 { goto _2044 } goto _abort_due_to_error _2044: _522_res = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_522_pModule.X10)})))(tls, _522_pVCur) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pCur)) + uintptr(2 /* X2 */))) = uint8(i32(0)) if _522_res == 0 { goto _2045 } goto _jump_to_p2 _2045: goto _248 _234: _524_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if int32(_524_pCur.X0) == i32(2) { return i32(0) } return func() int32 { 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(72688))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { return i32(0) } return func() int32 { 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(64792))) crt.X__builtin_abort(tls) return i32(0) }() }() _524_pDest = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _sqlite3VdbeMemAboutToChange(tls, _p, _524_pDest) if (_524_pCur.X2) == 0 { goto _2051 } _sqlite3VdbeMemSetNull(tls, _524_pDest) goto _248 _2051: _524_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_524_pCur)) + uintptr(48 /* X14 */))))))).X0)) _524_pModule = (*Xsqlite3_module)(unsafe.Pointer(_524_pVtab.X0)) func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_file, *Xsqlite3_context, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32 }{(_524_pModule.X11)}))) != nil { return i32(0) } return func() int32 { 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(72772))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_524_sContext), i32(0), u64(56)) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_524_sContext)) + uintptr(0 /* X0 */))))) = _524_pDest *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_524_pDest)) + uintptr(8 /* X1 */))) = uint16((int32(_524_pDest.X1) & i32(-49664)) | i32(1)) _rc = (*(*func(*crt.TLS, *Xsqlite3_file, *Xsqlite3_context, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32 }{(_524_pModule.X11)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_524_pCur)) + uintptr(48 /* X14 */))))))), &_524_sContext, _pOp.X4) _sqlite3VtabImportErrmsg(tls, _p, _524_pVtab) if (_524_sContext.X5) == 0 { goto _2054 } _rc = _524_sContext.X5 _2054: _sqlite3VdbeChangeEncoding(tls, _524_pDest, int32(_encoding)) if ((_db.X6) & i32(1)) == 0 { goto _2055 } _registerTrace(tls, _pOp.X5, _524_pDest) _2055: if _sqlite3VdbeMemTooBig(tls, _524_pDest) == 0 { goto _2056 } goto _too_big _2056: if _rc == 0 { goto _2057 } goto _abort_due_to_error _2057: goto _248 _235: _528_res = i32(0) _528_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_pOp.X3))) func() int32 { if int32(_528_pCur.X0) == i32(2) { return i32(0) } return func() int32 { 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(72688))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_528_pCur.X2) == 0 { goto _2060 } goto _248 _2060: _528_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_528_pCur)) + uintptr(48 /* X14 */))))))).X0)) _528_pModule = (*Xsqlite3_module)(unsafe.Pointer(_528_pVtab.X0)) func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_528_pModule.X9)}))) != nil { return i32(0) } return func() int32 { 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(72792))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_528_pModule.X9)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_528_pCur)) + uintptr(48 /* X14 */)))))))) _sqlite3VtabImportErrmsg(tls, _p, _528_pVtab) if _rc == 0 { goto _2063 } goto _abort_due_to_error _2063: _528_res = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_528_pModule.X10)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_528_pCur)) + uintptr(48 /* X14 */)))))))) if _528_res != 0 { goto _2064 } goto _jump_to_p2_and_check_for_interrupt _2064: goto _check_for_interrupt _236: _531_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) _531_pName = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X3))) func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_vtab, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_531_pVtab.X0)).X19)}))) != nil { return i32(0) } return func() int32 { 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(72808))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_531_pName.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(72832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _2071 } _registerTrace(tls, _pOp.X3, _531_pName) _2071: func() int32 { if (int32(_531_pName.X1) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(72852))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3VdbeChangeEncoding(tls, _531_pName, i32(1)) if _rc == 0 { goto _2074 } goto _abort_due_to_error _2074: _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_531_pVtab.X0)).X19)})))(tls, _531_pVtab, _531_pName.X5) _sqlite3VtabImportErrmsg(tls, _p, _531_pVtab) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 1, 0) if _rc == 0 { goto _2075 } goto _abort_due_to_error _2075: goto _248 _237: func() int32 { 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)) { return i32(0) } return func() int32 { 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(72876))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32((_p.X32)>>uint(i32(7)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(67744))) crt.X__builtin_abort(tls) return i32(0) }() }() _532_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) if _532_pVtab != (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { if (*Xsqlite3_module)(unsafe.Pointer(_532_pVtab.X0)) == (*Xsqlite3_module)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2088 } _rc = i32(6) goto _abort_due_to_error _2088: _532_pModule = (*Xsqlite3_module)(unsafe.Pointer(_532_pVtab.X0)) _532_nArg = _pOp.X4 func() int32 { if int32(_pOp.X1) == i32(-8) { return i32(0) } return func() int32 { 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(73000))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 }{(_532_pModule.X13)}))) != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2093 } _534_vtabOnConflict = _db.X22 _532_apArg = (**XMem)(unsafe.Pointer(_p.X19)) _532_pX = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 72*uintptr(_pOp.X5))) _532_i = i32(0) _2094: if _532_i >= _532_nArg { goto _2097 } func() int32 { if (int32(_532_pX.X1) & i32(128)) == i32(0) { return i32(0) } return func() int32 { 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(73024))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemAboutToChange(tls, _p, _532_pX) *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_532_apArg)) + 8*uintptr(_532_i))) = _532_pX *(*uintptr)(unsafe.Pointer(&_532_pX)) += uintptr(72) _532_i += 1 goto _2094 _2097: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(90 /* X22 */))) = uint8(_pOp.X2) _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 }{(_532_pModule.X13)})))(tls, _532_pVtab, _532_nArg, _532_apArg, &_532_rowid) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(90 /* X22 */))) = _534_vtabOnConflict _sqlite3VtabImportErrmsg(tls, _p, _532_pVtab) if _rc != i32(0) || (_pOp.X3) == 0 { goto _2101 } func() int32 { if ((_532_nArg > i32(1)) && ((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_532_apArg)) + 8*uintptr(i32(0))))) != nil)) && (int32((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_532_apArg)) + 8*uintptr(i32(0))))).X1)&i32(1)) != 0 { return i32(0) } return func() int32 { 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(73040))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X7 */))) = _532_rowid _2101: if (_rc&i32(255)) != i32(19) || ((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X4) == 0 { goto _2107 } if int32(_pOp.X2) != i32(4) { goto _2108 } _rc = i32(0) goto _2109 _2108: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(194 /* X30 */))) = uint8(func() int32 { if int32(_pOp.X2) == i32(5) { return i32(2) } return int32(_pOp.X2) }()) _2109: goto _2112 _2107: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X11 */))) += 1 _2112: if _rc == 0 { goto _2113 } goto _abort_due_to_error _2113: _2093: goto _248 _238: _pOut = _out2Prerelease(tls, _p, _pOp) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_sqlite3BtreeLastPage(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_pOp.X3))).X1)))) goto _248 _239: _pOut = _out2Prerelease(tls, _p, _pOp) _542_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_pOp.X3))).X1)) _542_newMax = uint32(i32(0)) if (_pOp.X5) == 0 { goto _2114 } _542_newMax = _sqlite3BtreeLastPage(tls, _542_pBt) if _542_newMax >= uint32(_pOp.X5) { goto _2115 } _542_newMax = uint32(_pOp.X5) _2115: _2114: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_sqlite3BtreeMaxPageCount(tls, _542_pBt, int32(_542_newMax))) goto _248 _240: func() int32 { if ((*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (crt.Xstrncmp(tls, *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), str(73092), uint64(i32(3))) == i32(0)) { return i32(0) } return func() int32 { 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(73096))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pOp == (*XVdbeOp)(unsafe.Pointer(_p.X17)) { return i32(0) } return func() int32 { 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(73148))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_db.X24)&i32(129)) == i32(0) || ((uint32((_p.X32)>>uint(i32(1)))<>uint(i32(31))) != 0 || store1025(&_544_zTrace, func() *int8 { if (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != nil { return (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) } return (_p.X36) }()) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2125 } if (int32(_db.X24) & i32(128)) == 0 { goto _2126 } _546_x = *(*func(*crt.TLS, unsafe.Pointer, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 }{(_db.X41)})) _546_z = _sqlite3VdbeExpandSql(tls, _p, _544_zTrace) _546_x(tls, _db.X42, _546_z) Xsqlite3_free(tls, (unsafe.Pointer)(_546_z)) goto _2127 _2126: if (_db.X37) <= i32(1) { goto _2128 } _547_z = _sqlite3MPrintf(tls, _db, str(73160), unsafe.Pointer(_544_zTrace)) (_db.X41)(tls, uint32(i32(1)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(_547_z)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_547_z)) goto _2129 _2128: (_db.X41)(tls, uint32(i32(1)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(_544_zTrace)) _2129: _2127: _2125: if ((_db.X6)&i32(512)) == i32(0) || store1025(&_544_zTrace, func() *int8 { if (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != nil { return (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) } return (_p.X36) }()) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2133 } _sqlite3DebugPrintf(tls, str(73168), unsafe.Pointer(_544_zTrace)) _2133: func() int32 { if (_pOp.X4) > i32(0) { return i32(0) } return func() int32 { 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(63164))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOp.X3) < (_sqlite3Config.X39) { goto _2136 } _544_i = i32(1) _2137: if _544_i >= (_p.X27) { goto _2140 } if int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_544_i))).X0) != i32(20) { goto _2141 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_544_i))))) + uintptr(4 /* X3 */))) = i32(0) _2141: _544_i += 1 goto _2137 _2140: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = i32(0) _2136: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) += 1 goto _jump_to_p2 _241: func() int32 { if (int32(_pOp.X0) == i32(162)) || (int32(_pOp.X0) == i32(163)) { return i32(0) } return func() int32 { 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(73184))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _248 _248: func() int32 { if (uintptr(unsafe.Pointer(_pOp)) >= uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr(i32(-1))))))) && (uintptr(unsafe.Pointer(_pOp)) < uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+32*uintptr((_p.X27)-i32(1))))))) { return i32(0) } return func() int32 { 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(73232))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(1)) == 0 { goto _2148 } _553_opProperty = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_pOrigOp.X0))) if _rc == i32(0) { goto _2149 } crt.Xprintf(tls, str(73268), _rc) _2149: if (int32(_553_opProperty) & i32(16)) == 0 { goto _2150 } _registerTrace(tls, _pOrigOp.X4, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOrigOp.X4)))) _2150: if (int32(_553_opProperty) & i32(32)) == 0 { goto _2151 } _registerTrace(tls, _pOrigOp.X5, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+72*uintptr(_pOrigOp.X5)))) _2151: _2148: *(*uintptr)(unsafe.Pointer(&_pOp)) += uintptr(32) goto _30 _abort_due_to_error: if (_db.X17) == 0 { goto _2152 } _rc = _sqlite3NomemError(tls, i32(85279)) _2152: func() int32 { if _rc != 0 { return i32(0) } return func() int32 { 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(73276))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X22) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _rc == i32(3082) { goto _2156 } _sqlite3VdbeError(tls, _p, str(24304), unsafe.Pointer(_sqlite3ErrStr(tls, _rc))) _2156: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _rc _sqlite3SystemError(tls, _db, _rc) Xsqlite3_log(tls, _rc, str(73280), int32(int64((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/32)), unsafe.Pointer(_p.X36), unsafe.Pointer(_p.X22)) _sqlite3VdbeHalt(tls, _p) if _rc != i32(3082) { goto _2157 } _sqlite3OomFault(tls, _db) _2157: _rc = i32(1) if int32(_resetSchemaOnFault) <= i32(0) { goto _2158 } _sqlite3ResetOneSchema(tls, _db, int32(_resetSchemaOnFault)-i32(1)) _2158: _vdbe_return: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(208 /* X35 */))))) + 4*uintptr(i32(4)))) *p = (*p) + uint32(int32(_nVmStep)) sink985 = *p } _sqlite3VdbeLeave(tls, _p) func() int32 { if ((_rc != i32(0)) || (_nExtraDelete == i32(0))) || (Xsqlite3_strlike(tls, str(73312), _p.X36, uint32(i32(0))) != i32(0)) { return i32(0) } return func() int32 { 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(73320))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return _too_big: _sqlite3VdbeError(tls, _p, str(5140)) _rc = i32(18) goto _abort_due_to_error _no_mem: _sqlite3OomFault(tls, _db) _sqlite3VdbeError(tls, _p, str(61408)) _rc = _sqlite3NomemError(tls, i32(85321)) goto _abort_due_to_error _abort_due_to_interrupt: func() int32 { if (*(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */)))))) != 0 { return i32(0) } return func() int32 { 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(73396))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = func() int32 { if (_db.X17) != 0 { return _sqlite3NomemError(tls, i32(85329)) } return i32(9) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = _rc _sqlite3VdbeError(tls, _p, str(24304), unsafe.Pointer(_sqlite3ErrStr(tls, _rc))) goto _abort_due_to_error } var _sqlite3VdbeExecØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeExecØ00__func__Ø000[0], str(73420), 16) } func _sqlite3VdbePrintSql(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:73112:1 var _z *int8 // sqlite3.c:73113:14 _ = _z var _2_pOp *XVdbeOp // sqlite3.c:73117:18 _ = _2_pOp _z = nil if (_p.X36) == nil { goto _0 } _z = _p.X36 goto _1 _0: if (_p.X27) < i32(1) { goto _2 } _2_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(i32(0)))) if int32(_2_pOp.X0) != i32(72) || (*(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pOp)) + uintptr(16 /* X6 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _z = *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pOp)) + uintptr(16 /* X6 */))))) _5: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z))))) & i32(1)) == 0 { goto _6 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _5 _6: _4: _2: _1: if _z == nil { goto _7 } crt.Xprintf(tls, str(73436), unsafe.Pointer(_z)) _7: return } func _registerTrace(tls *crt.TLS, _iReg int32, _p *XMem) { // sqlite3.c:78580:1 crt.Xprintf(tls, str(73448), _iReg) _memTracePrint(tls, _p) crt.Xprintf(tls, str(38396)) return } func _memTracePrint(tls *crt.TLS, _p *XMem) { // sqlite3.c:78558:1 var _7_zBuf [200]int8 // sqlite3.c:78574:10 _ = _7_zBuf if (int32(_p.X1) & i32(128)) == 0 { goto _0 } crt.Xprintf(tls, str(73460)) goto _1 _0: if (int32(_p.X1) & i32(1)) == 0 { goto _2 } crt.Xprintf(tls, str(73472)) goto _3 _2: if (int32(_p.X1) & i32(6)) != i32(6) { goto _4 } crt.Xprintf(tls, str(73480), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) goto _5 _4: if (int32(_p.X1) & i32(4)) == 0 { goto _6 } crt.Xprintf(tls, str(73492), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) goto _7 _6: if (int32(_p.X1) & i32(8)) == 0 { goto _8 } crt.Xprintf(tls, str(73500), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) goto _9 _8: if (int32(_p.X1) & i32(32)) == 0 { goto _10 } crt.Xprintf(tls, str(73508)) goto _11 _10: _sqlite3VdbeMemPrettyPrint(tls, _p, (*int8)(unsafe.Pointer(&_7_zBuf))) crt.Xprintf(tls, str(48308), unsafe.Pointer((*int8)(unsafe.Pointer(&_7_zBuf)))) _11: _9: _7: _5: _3: _1: if (int32(_p.X1) & i32(32768)) == 0 { goto _12 } crt.Xprintf(tls, str(73520), int32(_p.X3)) _12: return } func _sqlite3VdbeMemPrettyPrint(tls *crt.TLS, _pMem *XMem, _zBuf *int8) { // sqlite3.c:78480:1 var _zCsr *int8 // sqlite3.c:78481:8 _ = _zCsr var _f int32 // sqlite3.c:78482:7 _ = _f var _1_i int32 // sqlite3.c:78487:9 _ = _1_i var _1_c int8 // sqlite3.c:78488:10 _ = _1_c var _7_z int8 // sqlite3.c:78509:12 _ = _7_z var _9_j int32 // sqlite3.c:78520:9 _ = _9_j var _9_k int32 // sqlite3.c:78520:12 _ = _9_k var _14_c uint8 // sqlite3.c:78539:10 _ = _14_c _zCsr = _zBuf _f = int32(_pMem.X1) if (_f & i32(16)) == 0 { goto _0 } if (_f & i32(1024)) == 0 { goto _1 } _1_c = int8(i32(122)) func() int32 { if (_f & i32(6144)) == i32(0) { return i32(0) } return func() int32 { 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(73536))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _4 _1: if (_f & i32(2048)) == 0 { goto _5 } _1_c = int8(i32(116)) func() int32 { if (_f & i32(5120)) == i32(0) { return i32(0) } return func() int32 { 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(73568))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _8 _5: if (_f & i32(4096)) == 0 { goto _9 } _1_c = int8(i32(101)) func() int32 { if (_f & i32(3072)) == i32(0) { return i32(0) } return func() int32 { 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(73600))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _12 _9: _1_c = int8(i32(115)) _12: _8: _4: *postInc1025(&_zCsr, 1) = _1_c Xsqlite3_snprintf(tls, i32(100), _zCsr, str(73632), _pMem.X4) { p := &_zCsr *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zCsr)))) sink1025 = *p } _1_i = i32(0) _13: if _1_i >= i32(16) || _1_i >= (_pMem.X4) { goto _17 } Xsqlite3_snprintf(tls, i32(100), _zCsr, str(73636), int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_1_i))))&i32(255)) { p := &_zCsr *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zCsr)))) sink1025 = *p } _1_i += 1 goto _13 _17: _1_i = i32(0) _18: if _1_i >= i32(16) || _1_i >= (_pMem.X4) { goto _22 } _7_z = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_1_i))) if int32(_7_z) >= i32(32) && int32(_7_z) <= i32(126) { goto _24 } *postInc1025(&_zCsr, 1) = int8(i32(46)) goto _25 _24: *postInc1025(&_zCsr, 1) = _7_z _25: _1_i += 1 goto _18 _22: *postInc1025(&_zCsr, 1) = int8(i32(93)) if (_f & i32(16384)) == 0 { goto _26 } Xsqlite3_snprintf(tls, i32(100), _zCsr, str(73644), *(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) { p := &_zCsr *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zCsr)))) sink1025 = *p } _26: *_zCsr = int8(i32(0)) goto _27 _0: if (_f & i32(2)) == 0 { goto _28 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(0)))) = int8(i32(32)) if (_f & i32(1024)) == 0 { goto _29 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(122)) func() int32 { if (_f & i32(6144)) == i32(0) { return i32(0) } return func() int32 { 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(73536))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _32 _29: if (_f & i32(2048)) == 0 { goto _33 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(116)) func() int32 { if (_f & i32(5120)) == i32(0) { return i32(0) } return func() int32 { 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(73568))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _36 _33: if (_f & i32(4096)) == 0 { goto _37 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(101)) func() int32 { if (_f & i32(3072)) == i32(0) { return i32(0) } return func() int32 { 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(73600))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _40 _37: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(115)) _40: _36: _32: _9_k = i32(2) Xsqlite3_snprintf(tls, i32(100), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k))), str(38632), _pMem.X4) { p := &_9_k *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k)))) sink961 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(91)) _9_j = i32(0) _41: if _9_j >= i32(15) || _9_j >= (_pMem.X4) { goto _45 } _14_c = uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_9_j)))) if int32(_14_c) < i32(32) || int32(_14_c) >= i32(127) { goto _47 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(_14_c) goto _48 _47: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(46)) _48: _9_j += 1 goto _41 _45: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(93)) 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)) + 8*uintptr(_pMem.X2)))) { p := &_9_k *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k)))) sink961 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(0)) _28: _27: return } var _sqlite3VdbeMemPrettyPrintØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemPrettyPrintØ00__func__Ø000[0], str(73652), 26) } var _sqlite3VdbeMemPrettyPrintØ00encnamesØ001 [4]*int8 // sqlite3.c:78484:21 func init() { _sqlite3VdbeMemPrettyPrintØ00encnamesØ001 = [4]*int8{str(73680), str(73684), str(73688), str(73696)} } func _sqlite3VdbeMemAboutToChange(tls *crt.TLS, _pVdbe *TVdbe, _pMem *XMem) { // sqlite3.c:70379:1 var _i int32 // sqlite3.c:70380:7 _ = _i var _pX *XMem // sqlite3.c:70381:7 _ = _pX *func() **XMem { _i = i32(0); return &_pX }() = (*XMem)(unsafe.Pointer(_pVdbe.X18)) _0: if _i >= (_pVdbe.X6) { goto _3 } if (*XMem)(unsafe.Pointer(_pX.X11)) != _pMem { goto _4 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(128)) sink4530 = *p } *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(56 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) _4: *(*uintptr)(unsafe.Pointer(func() **XMem { _i += 1; return &_pX }())) += uintptr(72) goto _0 _3: *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(56 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3VdbeExecØ00azTypeØ001 [4]*int8 // sqlite3.c:79159:25 func init() { _sqlite3VdbeExecØ00azTypeØ001 = [4]*int8{str(73704), str(25484), str(25492), str(73716)} } func _out2Prerelease(tls *crt.TLS, _p *TVdbe, _pOp *XVdbeOp) (r0 *XMem) { // sqlite3.c:78722:1 var _pOut *XMem // sqlite3.c:78723:7 _ = _pOut func() int32 { if (_pOp.X4) > i32(0) { return i32(0) } return func() int32 { 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(63164))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOp.X4) <= (((_p.X6) + i32(1)) - (_p.X7)) { return i32(0) } return func() int32 { 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(63176))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOut = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 72*uintptr(_pOp.X4))) _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) if (int32(_pOut.X1) & i32(9312)) == i32(0) { goto _4 } r0 = _out2PrereleaseWithClear(tls, _pOut) return _4: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) r0 = _pOut return } var _out2PrereleaseØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_out2PrereleaseØ00__func__Ø000[0], str(73728), 15) } func _out2PrereleaseWithClear(tls *crt.TLS, _pOut *XMem) (r0 *XMem) { // sqlite3.c:78717:1 _sqlite3VdbeMemSetNull(tls, _pOut) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) r0 = _pOut return } func _sqlite3VdbeMemTooBig(tls *crt.TLS, _p *XMem) (r0 int32) { // sqlite3.c:70358:1 var _1_n int32 // sqlite3.c:70361:9 _ = _1_n func() int32 { if (*Xsqlite3)(unsafe.Pointer(_p.X9)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(23364))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X1) & i32(18)) == 0 { goto _2 } _1_n = _p.X4 if (int32(_p.X1) & i32(16384)) == 0 { goto _3 } { p := &_1_n *p = (*p) + (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) sink961 = *p } _3: r0 = bool2int(_1_n > (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_p.X9)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0)))))) return _2: r0 = i32(0) return } var _sqlite3VdbeMemTooBigØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemTooBigØ00__func__Ø000[0], str(73744), 21) } func _sqlite3VdbeMemShallowCopy(tls *crt.TLS, _pTo *XMem, _pFrom *XMem, _srcType int32) { // sqlite3.c:70404:1 func() int32 { if (int32(_pFrom.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(73768))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pTo.X9)) == (*Xsqlite3)(unsafe.Pointer(_pFrom.X9)) { return i32(0) } return func() int32 { 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(73800))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pTo.X1) & i32(9312)) == i32(0) { goto _4 } _vdbeClrCopy(tls, _pTo, _pFrom, _srcType) return _4: crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u64(24)) if (int32(_pFrom.X1) & i32(2048)) != i32(0) { goto _5 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-7169)) sink4530 = *p } func() int32 { if (_srcType == i32(4096)) || (_srcType == i32(2048)) { return i32(0) } return func() int32 { 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(73820))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | _srcType) sink4530 = *p } _5: return } var _sqlite3VdbeMemShallowCopyØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemShallowCopyØ00__func__Ø000[0], str(73864), 26) } func _vdbeClrCopy(tls *crt.TLS, _pTo *XMem, _pFrom *XMem, _eType int32) { // sqlite3.c:70399:1 _vdbeMemClearExternAndSetNull(tls, _pTo) func() int32 { if (int32(_pTo.X1) & i32(9312)) == i32(0) { return i32(0) } return func() int32 { 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(73892))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemShallowCopy(tls, _pTo, _pFrom, _eType) return } var _vdbeClrCopyØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeClrCopyØ00__func__Ø000[0], str(73916), 12) } func _sqlite3VdbeMemMove(tls *crt.TLS, _pTo *XMem, _pFrom *XMem) { // sqlite3.c:70443:1 func() int32 { 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 { return i32(0) } return func() int32 { 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(73928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(73984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(74036))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemRelease(tls, _pTo) crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u64(72)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(8 /* X1 */))) = uint16(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(32 /* X7 */))) = i32(0) return } var _sqlite3VdbeMemMoveØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemMoveØ00__func__Ø000[0], str(74088), 19) } func _numericType(tls *crt.TLS, _pMem *XMem) (r0 uint16) { // sqlite3.c:78465:1 if (int32(_pMem.X1) & i32(12)) == 0 { goto _0 } r0 = uint16(int32(_pMem.X1) & i32(12)) return _0: if (int32(_pMem.X1) & i32(18)) == 0 { goto _1 } r0 = _computeNumericType(tls, _pMem) return _1: r0 = uint16(i32(0)) return } func _computeNumericType(tls *crt.TLS, _pMem *XMem) (r0 uint16) { // sqlite3.c:78446:1 func() int32 { if (int32(_pMem.X1) & i32(12)) == i32(0) { return i32(0) } return func() int32 { 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(74108))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(18)) != i32(0) { return i32(0) } return func() int32 { 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(74148))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AtoF(tls, _pMem.X5, (*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */))))), _pMem.X4, _pMem.X2) != i32(0) { goto _4 } r0 = uint16(i32(0)) return _4: if _sqlite3Atoi64(tls, _pMem.X5, (*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */))))), _pMem.X4, _pMem.X2) != i32(0) { goto _5 } r0 = uint16(i32(4)) return _5: r0 = uint16(i32(8)) return } var _computeNumericTypeØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_computeNumericTypeØ00__func__Ø000[0], str(74188), 19) } func _sqlite3AddInt64(tls *crt.TLS, _pA *int64, _iB int64) (r0 int32) { // sqlite3.c:28891:1 var _iA int64 // sqlite3.c:28895:7 _ = _iA _iA = *_pA if _iB < int64(i32(0)) { goto _0 } if _iA <= int64(i32(0)) || (i64(9223372036854775807)-_iA) >= _iB { goto _2 } r0 = i32(1) return _2: goto _3 _0: if _iA >= int64(i32(0)) || (-(_iA + i64(9223372036854775807))) <= (_iB+int64(i32(1))) { goto _5 } r0 = i32(1) return _5: _3: { p := _pA *p = (*p) + _iB sink967 = *p } r0 = i32(0) return } func _sqlite3SubInt64(tls *crt.TLS, _pA *int64, _iB int64) (r0 int32) { // sqlite3.c:28911:1 if _iB != i64(-9223372036854775808) { goto _0 } if (*_pA) < int64(i32(0)) { goto _1 } r0 = i32(1) return _1: { p := _pA *p = (*p) - _iB sink967 = *p } r0 = i32(0) return _0: r0 = _sqlite3AddInt64(tls, _pA, -_iB) return } func _sqlite3MulInt64(tls *crt.TLS, _pA *int64, _iB int64) (r0 int32) { // sqlite3.c:28926:1 var _iA int64 // sqlite3.c:28930:7 _ = _iA _iA = *_pA if _iB <= int64(i32(0)) { goto _0 } if _iA <= (i64(9223372036854775807) / _iB) { goto _1 } r0 = i32(1) return _1: if _iA >= (i64(-9223372036854775808) / _iB) { goto _2 } r0 = i32(1) return _2: goto _3 _0: if _iB >= int64(i32(0)) { goto _4 } if _iA <= int64(i32(0)) { goto _5 } if _iB >= (i64(-9223372036854775808) / _iA) { goto _6 } r0 = i32(1) return _6: goto _7 _5: if _iA >= int64(i32(0)) { goto _8 } if _iB != i64(-9223372036854775808) { goto _9 } r0 = i32(1) return _9: if _iA != i64(-9223372036854775808) { goto _10 } r0 = i32(1) return _10: if (-_iA) <= (i64(9223372036854775807) / (-_iB)) { goto _11 } r0 = i32(1) return _11: _8: _7: _4: _3: *_pA = _iA * _iB r0 = i32(0) return } func _sqlite3MemCompare(tls *crt.TLS, _pMem1 *XMem, _pMem2 *XMem, _pColl *XCollSeq) (r0 int32) { // sqlite3.c:75164:1 var _f1 int32 // sqlite3.c:75165:7 _ = _f1 var _f2 int32 // sqlite3.c:75165:11 _ = _f2 var _combined_flags int32 // sqlite3.c:75166:7 _ = _combined_flags _f1 = int32(_pMem1.X1) _f2 = int32(_pMem2.X1) _combined_flags = _f1 | _f2 func() int32 { if (_combined_flags & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(74208))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_combined_flags & i32(1)) == 0 { goto _2 } r0 = (_f2 & i32(1)) - (_f1 & i32(1)) return _2: if (_combined_flags & i32(12)) == 0 { goto _3 } if ((_f1 & _f2) & i32(4)) == i32(0) { goto _4 } if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) >= (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { goto _5 } r0 = i32(-1) return _5: if (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) <= (*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { goto _6 } r0 = i32(1) return _6: r0 = i32(0) return _4: if ((_f1 & _f2) & i32(8)) == i32(0) { goto _7 } if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) >= (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { goto _8 } r0 = i32(-1) return _8: if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) <= (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { goto _9 } r0 = i32(1) return _9: r0 = i32(0) return _7: if (_f1 & i32(4)) == i32(0) { goto _10 } if (_f2 & i32(8)) == i32(0) { goto _11 } r0 = _sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) return _11: r0 = i32(-1) return _10: if (_f1 & i32(8)) == i32(0) { goto _13 } if (_f2 & i32(4)) == i32(0) { goto _14 } r0 = -_sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) return _14: r0 = i32(-1) return _13: r0 = i32(1) return _3: if (_combined_flags & i32(2)) == 0 { goto _16 } if (_f1 & i32(2)) != i32(0) { goto _17 } r0 = i32(1) return _17: if (_f2 & i32(2)) != i32(0) { goto _18 } r0 = i32(-1) return _18: func() int32 { if (int32(_pMem1.X2) == int32(_pMem2.X2)) || (((*Xsqlite3)(unsafe.Pointer(_pMem1.X9)).X17) != 0) { return i32(0) } return func() int32 { 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(74244))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pMem1.X2) == i32(1)) || (int32(_pMem1.X2) == i32(2))) || (int32(_pMem1.X2) == i32(3)) { return i32(0) } return func() int32 { 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(74296))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pColl == nil) || ((_pColl.X3) != nil) { return i32(0) } return func() int32 { 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(74380))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pColl == nil { goto _29 } r0 = _vdbeCompareMemString(tls, _pMem1, _pMem2, _pColl, (*uint8)(unsafe.Pointer(uintptr(i32(0))))) return _29: _16: r0 = _sqlite3BlobCompare(tls, _pMem1, _pMem2) return } var _sqlite3MemCompareØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MemCompareØ00__func__Ø000[0], str(74404), 18) } func _sqlite3IntFloatCompare(tls *crt.TLS, _i int64, _r float64) (r0 int32) { // sqlite3.c:75131:1 var _1_x float64 // sqlite3.c:75133:21 _ = _1_x var _2_y int64 // sqlite3.c:75138:9 _ = _2_y var _2_s float64 // sqlite3.c:75139:12 _ = _2_s goto _0 _0: if _r >= (-9.223372036854776e+18) { goto _4 } r0 = i32(1) return _4: if _r <= (9.223372036854776e+18) { goto _5 } r0 = i32(-1) return _5: _2_y = int64(_r) if _i >= _2_y { goto _6 } r0 = i32(-1) return _6: if _i <= _2_y { goto _7 } if _2_y != i64(-9223372036854775808) || _r <= float64(0) { goto _9 } r0 = i32(-1) return _9: r0 = i32(1) return _7: _2_s = float64(_i) if _2_s >= _r { goto _10 } r0 = i32(-1) return _10: if _2_s <= _r { goto _11 } r0 = i32(1) return _11: r0 = i32(0) return } func _vdbeCompareMemString(tls *crt.TLS, _pMem1 *XMem, _pMem2 *XMem, _pColl *XCollSeq, _prcErr *uint8) (r0 int32) { // sqlite3.c:75049:1 var _2_rc int32 // sqlite3.c:75060:9 _ = _2_rc var _2_v1 unsafe.Pointer // sqlite3.c:75061:16 _ = _2_v1 var _2_v2 unsafe.Pointer // sqlite3.c:75061:21 _ = _2_v2 var _2_n1 int32 // sqlite3.c:75062:9 _ = _2_n1 var _2_n2 int32 // sqlite3.c:75062:13 _ = _2_n2 var _2_c1 XMem // sqlite3.c:75063:9 _ = _2_c1 var _2_c2 XMem // sqlite3.c:75064:9 _ = _2_c2 if int32(_pMem1.X2) != int32(_pColl.X1) { goto _0 } r0 = (_pColl.X3)(tls, _pColl.X2, _pMem1.X4, (unsafe.Pointer)(_pMem1.X5), _pMem2.X4, (unsafe.Pointer)(_pMem2.X5)) return _0: _sqlite3VdbeMemInit(tls, &_2_c1, (*Xsqlite3)(unsafe.Pointer(_pMem1.X9)), uint16(i32(1))) _sqlite3VdbeMemInit(tls, &_2_c2, (*Xsqlite3)(unsafe.Pointer(_pMem1.X9)), uint16(i32(1))) _sqlite3VdbeMemShallowCopy(tls, &_2_c1, _pMem1, i32(4096)) _sqlite3VdbeMemShallowCopy(tls, &_2_c2, _pMem2, i32(4096)) _2_v1 = _sqlite3ValueText(tls, &_2_c1, _pColl.X1) _2_n1 = func() int32 { if unsafe.Pointer(_2_v1) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return (_2_c1.X4) }() _2_v2 = _sqlite3ValueText(tls, &_2_c2, _pColl.X1) _2_n2 = func() int32 { if unsafe.Pointer(_2_v2) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return (_2_c2.X4) }() _2_rc = (_pColl.X3)(tls, _pColl.X2, _2_n1, _2_v1, _2_n2, _2_v2) if unsafe.Pointer(_2_v1) != (unsafe.Pointer)(uintptr(i32(0))) && unsafe.Pointer(_2_v2) != (unsafe.Pointer)(uintptr(i32(0))) || _prcErr == nil { goto _8 } *_prcErr = uint8(_sqlite3NomemError(tls, i32(75074))) _8: _sqlite3VdbeMemRelease(tls, &_2_c1) _sqlite3VdbeMemRelease(tls, &_2_c2) r0 = _2_rc return } func _sqlite3VdbeMemInit(tls *crt.TLS, _pMem *XMem, _db *Xsqlite3, _flags uint16) { // sqlite3.c:70249:1 func() int32 { if (int32(_flags) & i32(-33280)) == i32(0) { return i32(0) } return func() int32 { 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(74424))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = _flags *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(40 /* X9 */))))) = _db *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = i32(0) return } var _sqlite3VdbeMemInitØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemInitØ00__func__Ø000[0], str(74452), 19) } func _sqlite3BlobCompare(tls *crt.TLS, _pB1 *XMem, _pB2 *XMem) (r0 int32) { // sqlite3.c:75098:1 var _c int32 // sqlite3.c:75099:7 _ = _c var _n1 int32 // sqlite3.c:75100:7 _ = _n1 var _n2 int32 // sqlite3.c:75101:7 _ = _n2 _n1 = _pB1.X4 _n2 = _pB2.X4 func() int32 { if ((int32(_pB1.X1) & i32(16384)) == i32(0)) || (_n1 == i32(0)) { return i32(0) } return func() int32 { 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(74472))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pB2.X1) & i32(16384)) == i32(0)) || (_n2 == i32(0)) { return i32(0) } return func() int32 { 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(74508))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((int32(_pB1.X1) | int32(_pB2.X1)) & i32(16384)) == 0 { goto _6 } if ((int32(_pB1.X1) & int32(_pB2.X1)) & i32(16384)) == 0 { goto _7 } r0 = (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB1)) + uintptr(0 /* X0 */)))))) - (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB2)) + uintptr(0 /* X0 */)))))) return _7: if (int32(_pB1.X1) & i32(16384)) == 0 { goto _9 } if _isAllZero(tls, _pB2.X5, _pB2.X4) != 0 { goto _10 } r0 = i32(-1) return _10: r0 = (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB1)) + uintptr(0 /* X0 */)))))) - _n2 return _9: if _isAllZero(tls, _pB1.X5, _pB1.X4) != 0 { goto _12 } r0 = i32(1) return _12: r0 = _n1 - (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB2)) + uintptr(0 /* X0 */)))))) return _6: _c = crt.Xmemcmp(tls, (unsafe.Pointer)(_pB1.X5), (unsafe.Pointer)(_pB2.X5), uint64(func() int32 { if _n1 > _n2 { return _n2 } return _n1 }())) if _c == 0 { goto _15 } r0 = _c return _15: r0 = _n1 - _n2 return } var _sqlite3BlobCompareØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BlobCompareØ00__func__Ø000[0], str(74544), 19) } func _isAllZero(tls *crt.TLS, _z *int8, _n int32) (r0 int32) { // sqlite3.c:75085:1 var _i int32 // sqlite3.c:75086:7 _ = _i _i = i32(0) _0: if _i >= _n { goto _3 } if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == 0 { goto _4 } r0 = i32(0) return _4: _i += 1 goto _0 _3: r0 = i32(1) return } var _sqlite3VdbeExecØ00and_logicØ002 [9]uint8 // sqlite3.c:80465:32 func init() { _sqlite3VdbeExecØ00and_logicØ002 = [9]uint8{0, 0, 0, 0, 1, 2, 0, 2, 2} } var _sqlite3VdbeExecØ00or_logicØ003 [9]uint8 // sqlite3.c:80468:32 func init() { _sqlite3VdbeExecØ00or_logicØ003 = [9]uint8{0, 1, 2, 1, 1, 1, 2, 1, 2} } func _sqlite3VdbeCursorMoveto(tls *crt.TLS, _pp **XVdbeCursor, _piCol *int32) (r0 int32) { // sqlite3.c:74442:1 var _p *XVdbeCursor // sqlite3.c:74443:14 _ = _p var _2_iMap int32 // sqlite3.c:74446:11 _ = _2_iMap _p = *_pp if int32(_p.X0) != i32(0) { goto _0 } if (_p.X3) == 0 { goto _1 } if (_p.X10) == nil || store961(&_2_iMap, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X10)) + 4*uintptr(i32(1)+(*_piCol))))) <= i32(0) { goto _3 } *_pp = (*XVdbeCursor)(unsafe.Pointer(_p.X13)) *_piCol = _2_iMap - i32(1) r0 = i32(0) return _3: r0 = _handleDeferredMoveto(tls, _p) return _1: if _sqlite3BtreeCursorHasMoved(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X14 */)))))))) == 0 { goto _4 } r0 = _handleMovedCursor(tls, _p) return _4: _0: r0 = i32(0) return } func _handleDeferredMoveto(tls *crt.TLS, _p *XVdbeCursor) (r0 int32) { // sqlite3.c:74380:1 var _res int32 // sqlite3.c:74381:7 _ = _res var _rc int32 // sqlite3.c:74381:12 _ = _rc func() int32 { if (_p.X3) != 0 { return i32(0) } return func() int32 { 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(74564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X4) != 0 { return i32(0) } return func() int32 { 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(74584))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X0) == i32(0) { return i32(0) } return func() int32 { 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(74596))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X14 */))))))), (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), _p.X20, i32(0), &_res) if _rc == 0 { goto _6 } r0 = _rc return _6: if _res == i32(0) { goto _7 } r0 = _sqlite3CorruptError(tls, i32(74390)) return _7: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(3 /* X3 */))) = uint8(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X11 */))) = uint32(i32(0)) r0 = i32(0) return } var _handleDeferredMovetoØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_handleDeferredMovetoØ00__func__Ø000[0], str(74624), 21) } func _sqlite3BtreeMovetoUnpacked(tls *crt.TLS, _pCur *XBtCursor, _pIdxKey *XUnpackedRecord, _intKey int64, _biasRight int32, _pRes *int32) (r0 int32) { // sqlite3.c:64092:1 var _rc int32 // sqlite3.c:64099:7 _ = _rc var _xRecordCompare func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32 // sqlite3.c:64100:17 _ = _xRecordCompare var _12_lwr int32 // sqlite3.c:64166:9 _ = _12_lwr var _12_upr int32 // sqlite3.c:64166:14 _ = _12_upr var _12_idx int32 // sqlite3.c:64166:19 _ = _12_idx var _12_c int32 // sqlite3.c:64166:24 _ = _12_c var _12_chldPg uint32 // sqlite3.c:64167:10 _ = _12_chldPg var _12_pPage *XMemPage // sqlite3.c:64168:13 _ = _12_pPage var _12_pCell *uint8 // sqlite3.c:64169:8 _ = _12_pCell var _14_nCellKey int64 // sqlite3.c:64186:13 _ = _14_nCellKey var _25_nCell int32 // sqlite3.c:64219:13 _ = _25_nCell var _28_pCellKey unsafe.Pointer // sqlite3.c:64254:16 _ = _28_pCellKey var _28_pCellBody *uint8 // sqlite3.c:64255:14 _ = _28_pCellBody func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(74676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pRes != nil { return i32(0) } return func() int32 { 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(74720))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pIdxKey == (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0))))) == ((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(74728))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pCur.X12) != i32(1)) || ((_pIdxKey == (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0))))) == (int32(_pCur.X15) != i32(0))) { return i32(0) } return func() int32 { 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(74764))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pIdxKey != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pCur.X12) != i32(1) || (int32(_pCur.X10)&i32(2)) == i32(0) { goto _13 } if ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X0) != _intKey { goto _14 } *_pRes = i32(0) r0 = i32(0) return _14: if ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X0) >= _intKey { goto _15 } if (int32(_pCur.X10) & i32(8)) == i32(0) { goto _16 } *_pRes = i32(-1) r0 = i32(0) return _16: if (((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X0)+int64(i32(1))) != _intKey || (_pCur.X9) != 0 { goto _18 } *_pRes = i32(0) _rc = _sqlite3BtreeNext(tls, _pCur, _pRes) if _rc == 0 { goto _19 } r0 = _rc return _19: if (*_pRes) != i32(0) { goto _20 } _getCellInfo(tls, _pCur) if ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X0) != _intKey { goto _21 } r0 = i32(0) return _21: _20: _18: _15: _13: if _pIdxKey == nil { goto _22 } _xRecordCompare = _sqlite3VdbeFindCompare(tls, _pIdxKey) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxKey)) + uintptr(19 /* X4 */))) = uint8(i32(0)) func() int32 { if ((int32(_pIdxKey.X3) == i32(1)) || (int32(_pIdxKey.X3) == i32(0))) || (int32(_pIdxKey.X3) == i32(-1)) { return i32(0) } return func() int32 { 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(74832))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _27 _22: _xRecordCompare = nil _27: _rc = _moveToRoot(tls, _pCur) if _rc == 0 { goto _28 } r0 = _rc return _28: func() int32 { if ((_pCur.X7) == uint32(i32(0))) || ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))) != nil) { return i32(0) } return func() int32 { 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(74908))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pCur.X7) == uint32(i32(0))) || (((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X0) != 0) { return i32(0) } return func() int32 { 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(74956))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pCur.X12) == i32(0)) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) > i32(0)) { return i32(0) } return func() int32 { 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(75012))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCur.X12) != i32(0) { goto _38 } *_pRes = i32(-1) func() int32 { if ((_pCur.X7) == uint32(i32(0))) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) == i32(0)) { return i32(0) } return func() int32 { 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(75080))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return _38: func() int32 { if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(i32(0))))).X2) == int32(_pCur.X15) { return i32(0) } return func() int32 { 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(75140))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pCur.X15) != 0) || (_pIdxKey != nil) { return i32(0) } return func() int32 { 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(75184))) crt.X__builtin_abort(tls) return i32(0) }() }() _47: _12_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) func() int32 { if int32(_12_pPage.X14) > i32(0) { return i32(0) } return func() int32 { 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(75212))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_12_pPage.X2) == bool2int(_pIdxKey == (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(75228))) crt.X__builtin_abort(tls) return i32(0) }() }() _12_lwr = i32(0) _12_upr = int32(_12_pPage.X14) - i32(1) func() int32 { if (_biasRight == i32(0)) || (_biasRight == i32(1)) { return i32(0) } return func() int32 { 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(75256))) crt.X__builtin_abort(tls) return i32(0) }() }() _12_idx = _12_upr >> uint(i32(1)-_biasRight) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32 }{_xRecordCompare})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32 }{nil})) { goto _57 } _58: _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)))))< int32(*postInc4543(&_12_pCell, 1)) { goto _63 } if uintptr(unsafe.Pointer(_12_pCell)) < uintptr(unsafe.Pointer(_12_pPage.X20)) { goto _64 } r0 = _sqlite3CorruptError(tls, i32(64190)) return _64: goto _62 _63: _61: _sqlite3GetVarint(tls, _12_pCell, (*uint64)(unsafe.Pointer(&_14_nCellKey))) if _14_nCellKey >= _intKey { goto _65 } _12_lwr = _12_idx + i32(1) if _12_lwr <= _12_upr { goto _66 } _12_c = i32(-1) goto _60 _66: goto _67 _65: if _14_nCellKey <= _intKey { goto _68 } _12_upr = _12_idx - i32(1) if _12_lwr <= _12_upr { goto _69 } _12_c = i32(1) goto _60 _69: goto _70 _68: func() int32 { if _14_nCellKey == _intKey { return i32(0) } return func() int32 { 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(75288))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) if (_12_pPage.X5) != 0 { goto _73 } _12_lwr = _12_idx goto _moveto_next_layer _73: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(2)) sink4537 = *p } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(0 /* X0 */))) = _14_nCellKey *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(22 /* X4 */))) = uint16(i32(0)) *_pRes = i32(0) r0 = i32(0) return _70: _67: func() int32 { if (_12_lwr + _12_upr) >= i32(0) { return i32(0) } return func() int32 { 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(75308))) crt.X__builtin_abort(tls) return i32(0) }() }() _12_idx = (_12_lwr + _12_upr) >> uint(i32(1)) goto _58 _60: goto _77 _57: _78: _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)))))< int32(_12_pPage.X8) { goto _81 } _12_c = _xRecordCompare(tls, _25_nCell, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell))+1*uintptr(i32(1))))), _pIdxKey) goto _82 _81: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell)) + 1*uintptr(i32(1)))))&i32(128)) != 0 || store961(&_25_nCell, ((_25_nCell&i32(127))< int32(_12_pPage.X10) { goto _84 } _12_c = _xRecordCompare(tls, _25_nCell, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell))+1*uintptr(i32(2))))), _pIdxKey) goto _85 _84: _28_pCellBody = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_12_pCell)) - uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_12_pPage.X7))))))) (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_12_pPage.X25)})))(tls, _12_pPage, _28_pCellBody, (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */)))) _25_nCell = int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X0) if _25_nCell >= i32(2) { goto _86 } _rc = _sqlite3CorruptError(tls, i32(64263)) goto _moveto_finish _86: _28_pCellKey = _sqlite3Malloc(tls, uint64(_25_nCell+i32(18))) if unsafe.Pointer(_28_pCellKey) != (unsafe.Pointer)(uintptr(i32(0))) { goto _87 } _rc = _sqlite3NomemError(tls, i32(64268)) goto _moveto_finish _87: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) _rc = _accessPayload(tls, _pCur, uint32(i32(0)), uint32(_25_nCell), (*uint8)(unsafe.Pointer(_28_pCellKey)), i32(0)) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-5)) sink4537 = *p } if _rc == 0 { goto _88 } Xsqlite3_free(tls, _28_pCellKey) goto _moveto_finish _88: _12_c = _xRecordCompare(tls, _25_nCell, _28_pCellKey, _pIdxKey) Xsqlite3_free(tls, _28_pCellKey) _85: _82: func() int32 { 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)) { return i32(0) } return func() int32 { 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(75320))) crt.X__builtin_abort(tls) return i32(0) }() }() if _12_c >= i32(0) { goto _94 } _12_lwr = _12_idx + i32(1) goto _95 _94: if _12_c <= i32(0) { goto _96 } _12_upr = _12_idx - i32(1) goto _97 _96: func() int32 { if _12_c == i32(0) { return i32(0) } return func() int32 { 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(75436))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pRes = i32(0) _rc = i32(0) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) if (_pIdxKey.X4) == 0 { goto _100 } _rc = i32(11) _100: goto _moveto_finish _97: _95: if _12_lwr <= _12_upr { goto _101 } goto _80 _101: func() int32 { if (_12_lwr + _12_upr) >= i32(0) { return i32(0) } return func() int32 { 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(75308))) crt.X__builtin_abort(tls) return i32(0) }() }() _12_idx = (_12_lwr + _12_upr) >> uint(i32(1)) goto _78 _80: _77: func() int32 { if (_12_lwr == (_12_upr + i32(1))) || (((_12_pPage.X2) != 0) && ((_12_pPage.X5) == 0)) { return i32(0) } return func() int32 { 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(75444))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_12_pPage.X0) != 0 { return i32(0) } return func() int32 { 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(75492))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_12_pPage.X5) == 0 { goto _110 } func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) { return i32(0) } return func() int32 { 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(9392))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) *_pRes = _12_c _rc = i32(0) goto _moveto_finish _110: _moveto_next_layer: if _12_lwr < int32(_12_pPage.X14) { goto _113 } _12_chldPg = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X19))+1*uintptr(int32(_12_pPage.X6)+i32(8))))) goto _114 _113: _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)))))<= i32(3) { return _btreeRestoreCursorPosition(tls, _pCur) } return i32(0) }() if _rc == i32(0) { goto _12 } r0 = _rc return _12: if i32(0) != int32(_pCur.X12) { goto _13 } *_pRes = i32(1) r0 = i32(0) return _13: if (_pCur.X9) == 0 { goto _14 } func() int32 { if (int32(_pCur.X12) == i32(1)) || (int32(_pCur.X12) == i32(2)) { return i32(0) } return func() int32 { 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(75728))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(1)) if (_pCur.X9) <= i32(0) { goto _18 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(0) r0 = i32(0) return _18: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(0) _14: _7: _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) _idx = int32(preInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */)))))+2*uintptr(_pCur.X14))), uint16(1))) func() int32 { if (_pPage.X0) != 0 { return i32(0) } return func() int32 { 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(75492))) crt.X__builtin_abort(tls) return i32(0) }() }() if _idx < int32(_pPage.X14) { goto _21 } if (_pPage.X5) != 0 { goto _22 } _rc = _moveToChild(tls, _pCur, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8)))))) if _rc == 0 { goto _23 } r0 = _rc return _23: r0 = _moveToLeftmost(tls, _pCur) return _22: _24: if int32(_pCur.X14) != i32(0) { goto _25 } *_pRes = i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) r0 = i32(0) return _25: _moveToParent(tls, _pCur) _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) >= int32(_pPage.X14) { goto _24 } if (_pPage.X2) == 0 { goto _26 } r0 = _sqlite3BtreeNext(tls, _pCur, _pRes) return _26: r0 = i32(0) return _21: if (_pPage.X5) == 0 { goto _28 } r0 = i32(0) return _28: r0 = _moveToLeftmost(tls, _pCur) return } var _btreeNextØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_btreeNextØ00__func__Ø000[0], str(75788), 10) } func _btreeRestoreCursorPosition(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59752:1 var _rc int32 // sqlite3.c:59753:7 _ = _rc var _skipNext int32 // sqlite3.c:59754:7 _ = _skipNext func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) >= i32(3) { return i32(0) } return func() int32 { 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(75800))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCur.X12) != i32(4) { goto _4 } r0 = _pCur.X9 return _4: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) _rc = _btreeMoveto(tls, _pCur, _pCur.X6, _pCur.X5, i32(0), &_skipNext) if _rc != i32(0) { goto _5 } Xsqlite3_free(tls, _pCur.X6) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X6 */))) = (unsafe.Pointer)(uintptr(i32(0))) func() int32 { if (int32(_pCur.X12) == i32(1)) || (int32(_pCur.X12) == i32(0)) { return i32(0) } return func() int32 { 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(75836))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) *p = (*p) | _skipNext sink961 = *p } if (_pCur.X9) == 0 || int32(_pCur.X12) != i32(1) { goto _10 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(2)) _10: _5: r0 = _rc return } var _btreeRestoreCursorPositionØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_btreeRestoreCursorPositionØ00__func__Ø000[0], str(75896), 27) } func _btreeMoveto(tls *crt.TLS, _pCur *XBtCursor, _pKey unsafe.Pointer, _nKey int64, _bias int32, _pRes *int32) (r0 int32) { // sqlite3.c:59715:1 var _rc int32 // sqlite3.c:59722:7 _ = _rc var _pIdxKey *XUnpackedRecord // sqlite3.c:59723:18 _ = _pIdxKey if _pKey == nil { goto _0 } func() int32 { if _nKey == int64(int32(_nKey)) { return i32(0) } return func() int32 { 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(75924))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIdxKey = _sqlite3VdbeAllocUnpackedRecord(tls, (*XKeyInfo)(unsafe.Pointer(_pCur.X16))) if _pIdxKey != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = _sqlite3NomemError(tls, i32(59728)) return _3: _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer(_pCur.X16)), int32(_nKey), _pKey, _pIdxKey) if int32(_pIdxKey.X2) != i32(0) { goto _4 } _rc = _sqlite3CorruptError(tls, i32(59731)) goto _moveto_done _4: goto _5 _0: _pIdxKey = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) _5: _rc = _sqlite3BtreeMovetoUnpacked(tls, _pCur, _pIdxKey, _nKey, _bias, _pRes) _moveto_done: if _pIdxKey == nil { goto _6 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer((*XKeyInfo)(unsafe.Pointer(_pCur.X16)).X4)), (unsafe.Pointer)(_pIdxKey)) _6: r0 = _rc return } var _btreeMovetoØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_btreeMovetoØ00__func__Ø000[0], str(75948), 12) } func _sqlite3VdbeAllocUnpackedRecord(tls *crt.TLS, _pKeyInfo *XKeyInfo) (r0 *XUnpackedRecord) { // sqlite3.c:74847:1 var _p *XUnpackedRecord // sqlite3.c:74850:18 _ = _p var _nByte int32 // sqlite3.c:74851:7 _ = _nByte _nByte = int32(u64(24) + (u64(72) * uint64(int32(_pKeyInfo.X2)+i32(1)))) _p = (*XUnpackedRecord)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)), uint64(_nByte)))) if _p != nil { goto _0 } r0 = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) return _0: *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = (*XMem)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(u64(24)))))) func() int32 { if (_pKeyInfo.X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(38556))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pKeyInfo *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = uint16(int32(_pKeyInfo.X2) + i32(1)) r0 = _p return } var _sqlite3VdbeAllocUnpackedRecordØ00__func__Ø000 [31]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeAllocUnpackedRecordØ00__func__Ø000[0], str(75960), 31) } func _sqlite3VdbeRecordUnpack(tls *crt.TLS, _pKeyInfo *XKeyInfo, _nKey int32, _pKey unsafe.Pointer, _p *XUnpackedRecord) { // sqlite3.c:74867:1 var _aKey *uint8 // sqlite3.c:74873:23 _ = _aKey var _d int32 // sqlite3.c:74874:7 _ = _d var _idx uint32 // sqlite3.c:74875:7 _ = _idx var _u uint16 // sqlite3.c:74876:7 _ = _u var _szHdr uint32 // sqlite3.c:74877:7 _ = _szHdr var _pMem *XMem // sqlite3.c:74878:7 _ = _pMem var _1_serial_type uint32 // sqlite3.c:74886:9 _ = _1_serial_type _aKey = (*uint8)(unsafe.Pointer(_pKey)) _pMem = (*XMem)(unsafe.Pointer(_p.X1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(18 /* X3 */))) = int8(i32(0)) func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(4620))) crt.X__builtin_abort(tls) return i32(0) }() }() _idx = uint32(uint8(func() int32 { if int32(*_aKey) < int32(u8(128)) { return func() int32 { _szHdr = uint32(*_aKey); return i32(1) }() } return int32(_sqlite3GetVarint32(tls, _aKey, &_szHdr)) }())) _d = int32(_szHdr) _u = uint16(i32(0)) _4: if _idx >= _szHdr || _d > _nKey { goto _5 } { p := &_idx *p = (*p) + uint32(uint8(func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(_idx)))) < int32(u8(128)) { return func() int32 { _1_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(_idx)))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey))+1*uintptr(_idx))), &_1_serial_type)) }())) sink985 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _pKeyInfo.X1 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(40 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = i32(0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) { p := &_d *p = int32(uint32(*p) + _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey))+1*uintptr(_d))), _1_serial_type, _pMem)) sink961 = *p } *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(72) if int32(preInc4530(&_u, uint16(1))) < int32(_p.X2) { goto _9 } goto _5 _9: goto _4 _5: func() int32 { if int32(_u) <= (int32(_pKeyInfo.X2) + i32(1)) { return i32(0) } return func() int32 { 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(75992))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = _u return } var _sqlite3VdbeRecordUnpackØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeRecordUnpackØ00__func__Ø000[0], str(76016), 24) } func _sqlite3GetVarint32(tls *crt.TLS, _p *uint8, _v *uint32) (r0 uint8) { // sqlite3.c:28619:1 var _a uint32 // sqlite3.c:28620:7 _ = _a var _b uint32 // sqlite3.c:28620:9 _ = _b var _3_v64 uint64 // sqlite3.c:28674:9 _ = _3_v64 var _3_n uint8 // sqlite3.c:28675:8 _ = _3_n _a = uint32(*_p) *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _b = uint32(*_p) if (_b & uint32(i32(128))) != 0 { goto _0 } { p := &_a *p = (*p) & uint32(i32(127)) sink985 = *p } _a = _a << uint(i32(7)) *_v = _a | _b r0 = uint8(i32(2)) return _0: *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) _a = _a << uint(i32(14)) { p := &_a *p = (*p) | uint32(*_p) sink985 = *p } if (_a & uint32(i32(128))) != 0 { goto _1 } { p := &_a *p = (*p) & uint32(i32(2080895)) sink985 = *p } { p := &_b *p = (*p) & uint32(i32(127)) sink985 = *p } _b = _b << uint(i32(7)) *_v = _a | _b r0 = uint8(i32(3)) return _1: { p := &_p *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(2)))) sink4543 = *p } _3_n = _sqlite3GetVarint(tls, _p, &_3_v64) func() int32 { if (int32(_3_n) > i32(3)) && (int32(_3_n) <= i32(9)) { return i32(0) } return func() int32 { 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(76040))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_3_v64 & u64(4294967295)) == _3_v64 { goto _5 } *_v = u32(4294967295) goto _6 _5: *_v = uint32(_3_v64) _6: r0 = _3_n return } var _sqlite3GetVarint32Ø00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GetVarint32Ø00__func__Ø000[0], str(76052), 19) } func _sqlite3VdbeSerialGet(tls *crt.TLS, _buf *uint8, _serial_type uint32, _pMem *XMem) (r0 uint32) { // sqlite3.c:74748:1 switch _serial_type { case u32(0): goto _3 case u32(1): goto _4 case u32(2): goto _5 case u32(3): goto _6 case u32(4): goto _7 case u32(5): goto _8 case u32(6): goto _9 case u32(7): goto _10 case u32(8): goto _11 case u32(9): goto _12 case u32(10): goto _1 case u32(11): goto _2 default: goto _13 } _1: _2: _3: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) goto _14 _4: *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0)))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) r0 = uint32(i32(1)) return _5: *(*int64)(unsafe.Pointer((*T5448393)(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)))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) r0 = uint32(i32(2)) return _6: *(*int64)(unsafe.Pointer((*T5448393)(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)))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) r0 = uint32(i32(3)) return _7: *(*int64)(unsafe.Pointer((*T5448393)(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)))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) r0 = uint32(i32(4)) return _8: *(*int64)(unsafe.Pointer((*T5448393)(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)))))<= i32(0) { return i32(0) } return func() int32 { 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(76176))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCur.X14) < i32(19) { goto _8 } r0 = _sqlite3CorruptError(tls, i32(63790)) return _8: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(22 /* X4 */))) = uint16(i32(0)) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-7)) sink4537 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) += 1 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(i32(0)) r0 = _getAndInitPage(tls, _pBt, _newPgno, (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */)))))+8*uintptr(_pCur.X14))), _pCur, int32(_pCur.X11)) return } var _moveToChildØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_moveToChildØ00__func__Ø000[0], str(76192), 12) } func _getAndInitPage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _ppPage **XMemPage, _pCur *XBtCursor, _bReadOnly int32) (r0 int32) { // sqlite3.c:60995:1 var _rc int32 // sqlite3.c:61002:7 _ = _rc var _pDbPage *XPgHdr // sqlite3.c:61003:10 _ = _pDbPage func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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(152 /* X19 */)))))+8*uintptr(_pCur.X14)))) { return i32(0) } return func() int32 { 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(76204))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCur == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || (_bReadOnly == int32(_pCur.X11)) { return i32(0) } return func() int32 { 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(76252))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCur == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pCur.X14) > i32(0)) { return i32(0) } return func() int32 { 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(76296))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgno <= _btreePagecount(tls, _pBt) { goto _11 } _rc = _sqlite3CorruptError(tls, i32(61010)) goto _getAndInitPage_error _11: _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgno, &_pDbPage, _bReadOnly) if _rc == 0 { goto _12 } goto _getAndInitPage_error _12: *_ppPage = (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, _pDbPage))) if int32((*_ppPage).X0) != i32(0) { goto _13 } _btreePageFromDbPage(tls, _pDbPage, _pgno, _pBt) _rc = _btreeInitPage(tls, *_ppPage) if _rc == i32(0) { goto _14 } _releasePage(tls, *_ppPage) goto _getAndInitPage_error _14: _13: func() int32 { if ((*_ppPage).X4) == _pgno { return i32(0) } return func() int32 { 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(76324))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*_ppPage).X19) == (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) { return i32(0) } return func() int32 { 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(76348))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pCur == nil || int32((*_ppPage).X14) >= i32(1) && int32((*_ppPage).X2) == int32(_pCur.X15) { goto _21 } _rc = _sqlite3CorruptError(tls, i32(61032)) _releasePage(tls, *_ppPage) goto _getAndInitPage_error _21: r0 = i32(0) return _getAndInitPage_error: if _pCur == nil { goto _22 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) -= 1 _22: func() int32 { if (_pgno != uint32(i32(0))) || (_rc == i32(11)) { return i32(0) } return func() int32 { 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(76396))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _getAndInitPageØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_getAndInitPageØ00__func__Ø000[0], str(76428), 15) } func _moveToLeftmost(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63950:1 var _pgno uint32 // sqlite3.c:63951:8 _ = _pgno var _rc int32 // sqlite3.c:63952:7 _ = _rc var _pPage *XMemPage // sqlite3.c:63953:11 _ = _pPage _rc = i32(0) func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) == i32(1) { return i32(0) } return func() int32 { 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(9180))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: if _rc != i32(0) || (store5664445(&_pPage, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X5) != 0 { goto _5 } func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32(_pPage.X14) { return i32(0) } return func() int32 { 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(9500))) crt.X__builtin_abort(tls) return i32(0) }() }() _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(112 /* X18 */))))) + 2*uintptr(_pCur.X14))))))))) + 1*uintptr(i32(0)))))< i32(0) { return i32(0) } return func() int32 { 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(76460))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))) != nil { return i32(0) } return func() int32 { 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(76476))) crt.X__builtin_abort(tls) return i32(0) }() }() _assertParentIndex(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(int32(_pCur.X14)-i32(1)))), int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(int32(_pCur.X14)-i32(1))))), (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X4) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(22 /* X4 */))) = uint16(i32(0)) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-7)) sink4537 = *p } _releasePageNotNull(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(postInc973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(88 /* X14 */))), int8(-1)))))) return } var _moveToParentØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_moveToParentØ00__func__Ø000[0], str(76504), 13) } func _assertParentIndex(tls *crt.TLS, _pParent *XMemPage, _iIdx int32, _iChild uint32) { // sqlite3.c:63808:1 if (_sqlite3Config.X6) != i32(0) { goto _0 } return _0: func() int32 { if _iIdx <= int32(_pParent.X14) { return i32(0) } return func() int32 { 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(76520))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iIdx != int32(_pParent.X14) { goto _3 } func() int32 { if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X19))+1*uintptr(int32(_pParent.X6)+i32(8))))) == _iChild { return i32(0) } return func() int32 { 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(76544))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _6 _3: func() int32 { 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)))))< i32(13) { goto _0 } _1_flags = int32((*XMem)(unsafe.Pointer(uintptr(_p.X1) + 72*uintptr(i32(0)))).X1) if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer(_p.X0)).X5)) + 1*uintptr(i32(0))))) == 0 { goto _1 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = int8(i32(1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(21 /* X6 */))) = int8(i32(-1)) goto _2 _1: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = int8(i32(-1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(21 /* X6 */))) = int8(i32(1)) _2: if (_1_flags & i32(4)) == 0 { goto _3 } r0 = _vdbeRecordCompareInt return _3: if (_1_flags&i32(25)) != i32(0) || (*(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X0)+uintptr(32 /* X6 */))))) + 8*uintptr(i32(0))))) != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } func() int32 { if (_1_flags & i32(2)) != 0 { return i32(0) } return func() int32 { 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(76664))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _vdbeRecordCompareString return _5: _0: r0 = _sqlite3VdbeRecordCompare return } func _vdbeRecordCompareInt(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord) (r0 int32) { // sqlite3.c:75508:1 var _aKey *uint8 // sqlite3.c:75512:12 _ = _aKey var _serial_type int32 // sqlite3.c:75513:7 _ = _serial_type var _res int32 // sqlite3.c:75514:7 _ = _res var _y uint32 // sqlite3.c:75515:7 _ = _y var _x uint64 // sqlite3.c:75516:7 _ = _x var _v int64 // sqlite3.c:75517:7 _ = _v var _lhs int64 // sqlite3.c:75518:7 _ = _lhs _aKey = (*uint8)(unsafe.Pointer(uintptr(_pKey1) + 1*uintptr(int32(*(*uint8)(unsafe.Pointer(_pKey1)))&i32(63)))) _serial_type = int32(*(*uint8)(unsafe.Pointer(uintptr(_pKey1) + 1*uintptr(i32(1))))) _vdbeAssertFieldCountWithinLimits(tls, _nKey1, _pKey1, (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0))) func() int32 { if (int32(*(*uint8)(unsafe.Pointer(_pKey1))) <= i32(63)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(76680))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _serial_type { case i32(0): goto _12 case i32(1): goto _4 case i32(2): goto _5 case i32(3): goto _6 case i32(4): goto _7 case i32(5): goto _8 case i32(6): goto _9 case i32(7): goto _13 case i32(8): goto _10 case i32(9): goto _11 default: goto _14 } _4: _lhs = int64(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0)))))) goto _15 _5: _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)))))) goto _15 _6: _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)))))) goto _15 _7: _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)))))<= _lhs { goto _18 } _res = int32(_pPKey2.X6) goto _19 _18: if int32(_pPKey2.X2) <= i32(1) { goto _20 } _res = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _pPKey2, i32(1)) goto _21 _20: _res = int32(_pPKey2.X3) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(22 /* X7 */))) = uint8(i32(1)) _21: _19: _17: func() int32 { if _vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, _res) != 0 { return i32(0) } return func() int32 { 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(76716))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _res return } func _vdbeAssertFieldCountWithinLimits(tls *crt.TLS, _nKey int32, _pKey unsafe.Pointer, _pKeyInfo *XKeyInfo) { // sqlite3.c:75019:1 var _nField int32 // sqlite3.c:75023:7 _ = _nField var _szHdr uint32 // sqlite3.c:75024:7 _ = _szHdr var _idx uint32 // sqlite3.c:75025:7 _ = _idx var _notUsed uint32 // sqlite3.c:75026:7 _ = _notUsed var _aKey *uint8 // sqlite3.c:75027:23 _ = _aKey _nField = i32(0) _aKey = (*uint8)(unsafe.Pointer(_pKey)) if (_sqlite3Config.X6) != i32(0) { goto _0 } return _0: _idx = uint32(uint8(func() int32 { if int32(*_aKey) < int32(u8(128)) { return func() int32 { _szHdr = uint32(*_aKey); return i32(1) }() } return int32(_sqlite3GetVarint32(tls, _aKey, &_szHdr)) }())) func() int32 { if _nKey >= i32(0) { return i32(0) } return func() int32 { 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(76768))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _szHdr <= uint32(_nKey) { return i32(0) } return func() int32 { 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(76776))) crt.X__builtin_abort(tls) return i32(0) }() }() _7: if _idx >= _szHdr { goto _8 } { p := &_idx *p = (*p) + uint32(uint8(func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx)))))))) < int32(u8(128)) { return func() int32 { _notUsed = uint32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx)))))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx))))))), &_notUsed)) }())) sink985 = *p } _nField += 1 goto _7 _8: func() int32 { if _nField <= (int32(_pKeyInfo.X2) + int32(_pKeyInfo.X3)) { return i32(0) } return func() int32 { 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(76796))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _vdbeAssertFieldCountWithinLimitsØ00__func__Ø000 [33]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeAssertFieldCountWithinLimitsØ00__func__Ø000[0], str(76844), 33) } var _vdbeRecordCompareIntØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeRecordCompareIntØ00__func__Ø000[0], str(76880), 21) } func _sqlite3VdbeRecordCompare(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord) (r0 int32) { // sqlite3.c:75491:1 r0 = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _pPKey2, i32(0)) return } func _sqlite3VdbeRecordCompareWithSkip(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord, _bSkip int32) (r0 int32) { // sqlite3.c:75305:1 var _d1 uint32 // sqlite3.c:75310:7 _ = _d1 var _i int32 // sqlite3.c:75311:7 _ = _i var _szHdr1 uint32 // sqlite3.c:75312:7 _ = _szHdr1 var _idx1 uint32 // sqlite3.c:75313:7 _ = _idx1 var _rc int32 // sqlite3.c:75314:7 _ = _rc var _pRhs *XMem // sqlite3.c:75315:7 _ = _pRhs var _pKeyInfo *XKeyInfo // sqlite3.c:75316:11 _ = _pKeyInfo var _aKey1 *uint8 // sqlite3.c:75317:23 _ = _aKey1 var _mem1 XMem // sqlite3.c:75318:7 _ = _mem1 var _1_s1 uint32 // sqlite3.c:75324:9 _ = _1_s1 var _4_serial_type uint32 // sqlite3.c:75347:9 _ = _4_serial_type var _9_lhs int64 // sqlite3.c:75361:13 _ = _9_lhs var _9_rhs int64 // sqlite3.c:75362:13 _ = _9_rhs var _26_nCmp int32 // sqlite3.c:75420:15 _ = _26_nCmp var _29_nStr int32 // sqlite3.c:75435:13 _ = _29_nStr var _34_nCmp int32 // sqlite3.c:75448:15 _ = _34_nCmp _rc = i32(0) _pRhs = (*XMem)(unsafe.Pointer(_pPKey2.X1)) _pKeyInfo = (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)) _aKey1 = (*uint8)(unsafe.Pointer(_pKey1)) if _bSkip == 0 { goto _0 } _idx1 = uint32(i32(1) + int32(uint8(func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1))))) < int32(u8(128)) { return func() int32 { _1_s1 = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(i32(1)))), &_1_s1)) }()))) _szHdr1 = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(0))))) _d1 = _szHdr1 + _sqlite3VdbeSerialTypeLen(tls, _1_s1) _i = i32(1) *(*uintptr)(unsafe.Pointer(&_pRhs)) += uintptr(72) goto _3 _0: _idx1 = uint32(uint8(func() int32 { if int32(*_aKey1) < int32(u8(128)) { return func() int32 { _szHdr1 = uint32(*_aKey1); return i32(1) }() } return int32(_sqlite3GetVarint32(tls, _aKey1, &_szHdr1)) }())) _d1 = _szHdr1 if _d1 <= uint32(_nKey1) { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(19 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75334))) r0 = i32(0) return _6: _i = i32(0) _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(32 /* X7 */))) = i32(0) func() int32 { if ((int32((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X2) + int32((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X3)) >= int32(_pPKey2.X2)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(76904))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(76988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X2) > i32(0) { return i32(0) } return func() int32 { 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(77020))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_idx1 <= _szHdr1) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(77048))) crt.X__builtin_abort(tls) return i32(0) }() }() _17: if (int32(_pRhs.X1) & i32(4)) == 0 { goto _18 } _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) if _4_serial_type < uint32(i32(10)) { goto _19 } _rc = i32(1) goto _20 _19: if _4_serial_type != uint32(i32(0)) { goto _21 } _rc = i32(-1) goto _22 _21: if _4_serial_type != uint32(i32(7)) { goto _23 } _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))), _4_serial_type, &_mem1) _rc = -_sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */)))))) goto _24 _23: _9_lhs = _vdbeRecordDecodeInt(tls, _4_serial_type, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1)))) _9_rhs = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */))))) if _9_lhs >= _9_rhs { goto _25 } _rc = i32(-1) goto _26 _25: if _9_lhs <= _9_rhs { goto _27 } _rc = i32(1) _27: _26: _24: _22: _20: goto _28 _18: if (int32(_pRhs.X1) & i32(8)) == 0 { goto _29 } _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) if _4_serial_type < uint32(i32(10)) { goto _30 } _rc = i32(1) goto _31 _30: if _4_serial_type != uint32(i32(0)) { goto _32 } _rc = i32(-1) goto _33 _32: _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))), _4_serial_type, &_mem1) if _4_serial_type != uint32(i32(7)) { goto _34 } if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */)))))) >= (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) { goto _35 } _rc = i32(-1) goto _36 _35: if (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */)))))) <= (*(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) { goto _37 } _rc = i32(1) _37: _36: goto _38 _34: _rc = _sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) _38: _33: _31: goto _39 _29: if (int32(_pRhs.X1) & i32(2)) == 0 { goto _40 } func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) < int32(u8(128)) { return func() int32 { _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_idx1))), &_4_serial_type)) }() if _4_serial_type >= uint32(i32(12)) { goto _43 } _rc = i32(-1) goto _44 _43: if (_4_serial_type & uint32(i32(1))) != 0 { goto _45 } _rc = i32(1) goto _46 _45: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(12 /* X4 */))) = int32((_4_serial_type - uint32(i32(12))) / uint32(i32(2))) if (_d1 + uint32(_mem1.X4)) <= uint32(_nKey1) { goto _47 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(19 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75409))) r0 = i32(0) return _47: if (*(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_i)))) == nil { goto _49 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(10 /* X2 */))) = _pKeyInfo.X1 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(40 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(8 /* X1 */))) = uint16(i32(2)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_d1))))) _rc = _vdbeCompareMemString(tls, &_mem1, _pRhs, *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_i))), (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2))+uintptr(19 /* X4 */)))) goto _50 _49: _26_nCmp = func() int32 { if (_mem1.X4) < (_pRhs.X4) { return (_mem1.X4) } return (_pRhs.X4) }() _rc = crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1)))), (unsafe.Pointer)(_pRhs.X5), uint64(_26_nCmp)) if _rc != i32(0) { goto _53 } _rc = (_mem1.X4) - (_pRhs.X4) _53: _50: _46: _44: goto _54 _40: if (int32(_pRhs.X1) & i32(16)) == 0 { goto _55 } func() int32 { if ((int32(_pRhs.X1) & i32(16384)) == i32(0)) || ((_pRhs.X4) == i32(0)) { return i32(0) } return func() int32 { 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(77076))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) < int32(u8(128)) { return func() int32 { _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_idx1))), &_4_serial_type)) }() if _4_serial_type >= uint32(i32(12)) && (_4_serial_type&uint32(i32(1))) == 0 { goto _62 } _rc = i32(-1) goto _63 _62: _29_nStr = int32((_4_serial_type - uint32(i32(12))) / uint32(i32(2))) if (_d1 + uint32(_29_nStr)) <= uint32(_nKey1) { goto _64 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(19 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75439))) r0 = i32(0) return _64: if (int32(_pRhs.X1) & i32(16384)) == 0 { goto _66 } if _isAllZero(tls, (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))))), _29_nStr) != 0 { goto _67 } _rc = i32(1) goto _68 _67: _rc = _29_nStr - (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) _68: goto _69 _66: _34_nCmp = func() int32 { if _29_nStr < (_pRhs.X4) { return _29_nStr } return (_pRhs.X4) }() _rc = crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1)))), (unsafe.Pointer)(_pRhs.X5), uint64(_34_nCmp)) if _rc != i32(0) { goto _72 } _rc = _29_nStr - (_pRhs.X4) _72: _69: _63: goto _73 _55: _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) _rc = bool2int(_4_serial_type != uint32(i32(0))) _73: _54: _39: _28: if _rc == i32(0) { goto _74 } if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo.X5)) + 1*uintptr(_i)))) == 0 { goto _75 } _rc = -_rc _75: func() int32 { if _vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, _rc) != 0 { return i32(0) } return func() int32 { 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(77120))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_mem1.X7) == i32(0) { return i32(0) } return func() int32 { 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(77172))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return _74: _i += 1 *(*uintptr)(unsafe.Pointer(&_pRhs)) += uintptr(72) { p := &_d1 *p = (*p) + _sqlite3VdbeSerialTypeLen(tls, _4_serial_type) sink985 = *p } { p := &_idx1 *p = (*p) + uint32(_sqlite3VarintLen(tls, uint64(_4_serial_type))) sink985 = *p } if ((_idx1 < _szHdr1) && (_i < int32(_pPKey2.X2))) && (_d1 <= uint32(_nKey1)) { goto _17 } func() int32 { if (_mem1.X7) == i32(0) { return i32(0) } return func() int32 { 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(77172))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_sqlite3Config.X6) == i32(0)) || _vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, int32(_pPKey2.X3)) != 0) || (((*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)).X17) != 0) { return i32(0) } return func() int32 { 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(77192))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(22 /* X7 */))) = uint8(i32(1)) r0 = int32(_pPKey2.X3) return } func _sqlite3VdbeSerialTypeLen(tls *crt.TLS, _serial_type uint32) (r0 uint32) { // sqlite3.c:74578:1 if _serial_type < uint32(i32(128)) { goto _0 } r0 = (_serial_type - uint32(i32(12))) / uint32(i32(2)) return _0: func() int32 { 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)))) { return i32(0) } return func() int32 { 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(77304))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type)))) return } var _sqlite3SmallTypeSizes [128]uint8 // sqlite3.c:74558:17 func init() { _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} } var _sqlite3VdbeSerialTypeLenØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSerialTypeLenØ00__func__Ø000[0], str(77380), 25) } var _sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000 [33]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000[0], str(77408), 33) } func _vdbeRecordDecodeInt(tls *crt.TLS, _serial_type uint32, _aKey *uint8) (r0 int64) { // sqlite3.c:75250:1 var _y uint32 // sqlite3.c:75251:7 _ = _y var _4_x uint64 // sqlite3.c:75274:11 _ = _4_x func() int32 { if ((_sqlite3Config.X6) == i32(0)) || (((_serial_type >= uint32(i32(1))) && (_serial_type <= uint32(i32(9)))) && (_serial_type != uint32(i32(7)))) { return i32(0) } return func() int32 { 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(77444))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _serial_type { case u32(0): goto _6 case u32(1): goto _7 case u32(2): goto _8 case u32(3): goto _9 case u32(4): goto _10 case u32(5): goto _11 case u32(6): goto _12 default: goto _13 } _6: _7: r0 = int64(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0)))))) return _8: 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)))))) return _9: 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)))))) return _10: _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)))))<= int32(_pPKey2.X2)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(77532))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pKeyInfo.X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(38556))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pKeyInfo.X2) > i32(0) { return i32(0) } return func() int32 { 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(77600))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_idx1 <= _szHdr1) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(77048))) crt.X__builtin_abort(tls) return i32(0) }() }() _14: { p := &_idx1 *p = (*p) + uint32(uint8(func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey1)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx1)))))))) < int32(u8(128)) { return func() int32 { _1_serial_type1 = uint32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey1)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx1)))))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey1))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx1))))))), &_1_serial_type1)) }())) sink985 = *p } if ((_d1+_1_serial_type1)+uint32(i32(2))) <= uint32(_nKey1) || (_d1+_sqlite3VdbeSerialTypeLen(tls, _1_serial_type1)) <= uint32(_nKey1) { goto _18 } goto _19 _18: { p := &_d1 *p = (*p) + _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))), _1_serial_type1, &_mem1) sink985 = *p } _rc = _sqlite3MemCompare(tls, &_mem1, (*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1)+72*uintptr(_i))), *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_i)))) if _rc == i32(0) { goto _20 } func() int32 { if (_mem1.X7) == i32(0) { return i32(0) } return func() int32 { 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(77172))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo.X5)) + 1*uintptr(_i)))) == 0 { goto _23 } _rc = -_rc _23: goto _debugCompareEnd _20: _i += 1 if (_idx1 < _szHdr1) && (_i < int32(_pPKey2.X2)) { goto _14 } _19: func() int32 { if (_mem1.X7) == i32(0) { return i32(0) } return func() int32 { 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(77172))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = int32(_pPKey2.X3) _debugCompareEnd: if _desiredResult != i32(0) || _rc != i32(0) { goto _28 } r0 = i32(1) return _28: if _desiredResult >= i32(0) || _rc >= i32(0) { goto _30 } r0 = i32(1) return _30: if _desiredResult <= i32(0) || _rc <= i32(0) { goto _32 } r0 = i32(1) return _32: if (_sqlite3Config.X6) != i32(0) { goto _33 } r0 = i32(1) return _33: if ((*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)).X17) == 0 { goto _34 } r0 = i32(1) return _34: r0 = i32(0) return } var _vdbeRecordCompareDebugØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeRecordCompareDebugØ00__func__Ø000[0], str(77620), 23) } func _sqlite3VarintLen(tls *crt.TLS, _v uint64) (r0 int32) { // sqlite3.c:28742:1 var _i int32 // sqlite3.c:28743:7 _ = _i _i = i32(1) _0: if store992(func() (*uint64, uint64) { p := &_v; return p, ((*p) >> uint(i32(7))) }()) == uint64(i32(0)) { goto _3 } func() int32 { if _i < i32(10) { return i32(0) } return func() int32 { 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(77644))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _0 _3: r0 = _i return } var _sqlite3VarintLenØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VarintLenØ00__func__Ø000[0], str(77652), 17) } var _sqlite3VdbeFindCompareØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeFindCompareØ00__func__Ø000[0], str(77672), 23) } func _vdbeRecordCompareString(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord) (r0 int32) { // sqlite3.c:75602:1 var _aKey1 *uint8 // sqlite3.c:75606:12 _ = _aKey1 var _serial_type int32 // sqlite3.c:75607:7 _ = _serial_type var _res int32 // sqlite3.c:75608:7 _ = _res var _3_nCmp int32 // sqlite3.c:75618:9 _ = _3_nCmp var _3_nStr int32 // sqlite3.c:75619:9 _ = _3_nStr var _3_szHdr int32 // sqlite3.c:75620:9 _ = _3_szHdr _aKey1 = (*uint8)(unsafe.Pointer(_pKey1)) func() int32 { if (int32((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1)+72*uintptr(i32(0)))).X1) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(77696))) crt.X__builtin_abort(tls) return i32(0) }() }() _vdbeAssertFieldCountWithinLimits(tls, _nKey1, _pKey1, (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0))) func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1))))) < int32(u8(128)) { return func() int32 { _serial_type = int32(uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1)))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(i32(1)))), (*uint32)(unsafe.Pointer(&_serial_type)))) }() if _serial_type >= i32(12) { goto _4 } _res = int32(_pPKey2.X5) goto _5 _4: if (_serial_type & i32(1)) != 0 { goto _6 } _res = int32(_pPKey2.X6) goto _7 _6: _3_szHdr = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(0))))) _3_nStr = (_serial_type - i32(12)) / i32(2) if (_3_szHdr + _3_nStr) <= _nKey1 { goto _8 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(19 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75624))) r0 = i32(0) return _8: _3_nCmp = func() int32 { if ((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1) + 72*uintptr(i32(0)))).X4) < _3_nStr { return ((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1) + 72*uintptr(i32(0)))).X4) } return _3_nStr }() _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)+72*uintptr(i32(0)))).X5), uint64(_3_nCmp)) if _res != i32(0) { goto _11 } _res = _3_nStr - ((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1) + 72*uintptr(i32(0)))).X4) if _res != i32(0) { goto _12 } if int32(_pPKey2.X2) <= i32(1) { goto _13 } _res = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _pPKey2, i32(1)) goto _14 _13: _res = int32(_pPKey2.X3) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(22 /* X7 */))) = uint8(i32(1)) _14: goto _15 _12: if _res <= i32(0) { goto _16 } _res = int32(_pPKey2.X6) goto _17 _16: _res = int32(_pPKey2.X5) _17: _15: goto _18 _11: if _res <= i32(0) { goto _19 } _res = int32(_pPKey2.X6) goto _20 _19: _res = int32(_pPKey2.X5) _20: _18: _7: _5: func() int32 { if (_vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, _res) != 0 || ((_sqlite3Config.X6) == i32(0))) || (((*Xsqlite3)(unsafe.Pointer((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X4)).X17) != 0) { return i32(0) } return func() int32 { 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(77728))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _res return } var _vdbeRecordCompareStringØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeRecordCompareStringØ00__func__Ø000[0], str(77832), 24) } func _moveToRoot(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63867:1 var _pRoot *XMemPage // sqlite3.c:63868:11 _ = _pRoot var _rc int32 // sqlite3.c:63869:7 _ = _rc var _11_subpage uint32 // sqlite3.c:63932:10 _ = _11_subpage _rc = i32(0) func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) i32(0) if int32(_pCur.X12) < i32(3) { goto _2 } if int32(_pCur.X12) != i32(4) { goto _3 } func() int32 { if (_pCur.X9) != i32(0) { return i32(0) } return func() int32 { 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(77856))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pCur.X9 return _3: _sqlite3BtreeClearCursor(tls, _pCur) _2: if int32(_pCur.X14) < i32(0) { goto _6 } if (_pCur.X14) == 0 { goto _7 } _8: func() int32 { if (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))) != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(77884))) crt.X__builtin_abort(tls) return i32(0) }() }() _releasePageNotNull(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(postInc973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(88 /* X14 */))), int8(-1)))))) if (_pCur.X14) != 0 { goto _8 } goto _skip_init _7: goto _11 _6: if (_pCur.X7) != uint32(i32(0)) { goto _12 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) r0 = i32(0) return _12: func() int32 { if int32(_pCur.X14) == i32(-1) { return i32(0) } return func() int32 { 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(77916))) crt.X__builtin_abort(tls) return i32(0) }() }() _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(152 /* X19 */)))))+8*uintptr(i32(0)))), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))), int32(_pCur.X11)) if _rc == i32(0) { goto _16 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) r0 = _rc return _16: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) = int8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(89 /* X15 */))) = (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(i32(0))))).X2 _11: _pRoot = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(i32(0)))) func() int32 { if (_pRoot.X4) == (_pCur.X7) { return i32(0) } return func() int32 { 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(77936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pRoot.X2) == i32(1)) || (int32(_pRoot.X2) == i32(0)) { return i32(0) } return func() int32 { 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(77964))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pRoot.X0) != i32(0) && bool2int((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) == int32(_pRoot.X2) { goto _23 } r0 = _sqlite3CorruptError(tls, i32(63920)) return _23: _skip_init: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(i32(0)))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(22 /* X4 */))) = uint16(i32(0)) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-15)) sink4537 = *p } _pRoot = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(i32(0)))) if int32(_pRoot.X14) <= i32(0) { goto _24 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(1)) goto _25 _24: if (_pRoot.X5) != 0 { goto _26 } if (_pRoot.X4) == uint32(i32(1)) { goto _27 } r0 = _sqlite3CorruptError(tls, i32(63933)) return _27: _11_subpage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot.X19))+1*uintptr(int32(_pRoot.X6)+i32(8))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(1)) _rc = _moveToChild(tls, _pCur, _11_subpage) goto _28 _26: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) _28: _25: r0 = _rc return } var _moveToRootØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_moveToRootØ00__func__Ø000[0], str(78004), 11) } func _sqlite3BtreeCursorHasMoved(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59791:1 r0 = bool2int(int32(_pCur.X12) != i32(1)) return } func _handleMovedCursor(tls *crt.TLS, _p *XVdbeCursor) (r0 int32) { // sqlite3.c:74406:1 var _isDifferentRow int32 // sqlite3.c:74407:7 _ = _isDifferentRow var _rc int32 // sqlite3.c:74407:23 _ = _rc func() int32 { if int32(_p.X0) == i32(0) { return i32(0) } return func() int32 { 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(74596))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(78016))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeCursorHasMoved(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X14 */)))))))) != 0 { return i32(0) } return func() int32 { 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(78036))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeCursorRestore(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X14 */))))))), &_isDifferentRow) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X11 */))) = uint32(i32(0)) if _isDifferentRow == 0 { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(2 /* X2 */))) = uint8(i32(1)) _6: r0 = _rc return } var _handleMovedCursorØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_handleMovedCursorØ00__func__Ø000[0], str(78080), 18) } func _sqlite3BtreeCursorRestore(tls *crt.TLS, _pCur *XBtCursor, _pDifferentRow *int32) (r0 int32) { // sqlite3.c:59808:1 var _rc int32 // sqlite3.c:59809:7 _ = _rc func() int32 { if _pCur != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(78100))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) != i32(1) { return i32(0) } return func() int32 { 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(78108))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = func() int32 { if int32(_pCur.X12) >= i32(3) { return _btreeRestoreCursorPosition(tls, _pCur) } return i32(0) }() if _rc == 0 { goto _6 } *_pDifferentRow = i32(1) r0 = _rc return _6: if int32(_pCur.X12) == i32(1) { goto _7 } *_pDifferentRow = i32(1) goto _8 _7: func() int32 { if (_pCur.X9) == i32(0) { return i32(0) } return func() int32 { 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(78136))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pDifferentRow = i32(0) _8: r0 = i32(0) return } var _sqlite3BtreeCursorRestoreØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCursorRestoreØ00__func__Ø000[0], str(78156), 26) } func _sqlite3BtreeCursorIsValid(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63299:1 r0 = bool2int((_pCur != nil) && (int32(_pCur.X12) == i32(1))) return } func _sqlite3BtreePayloadFetch(tls *crt.TLS, _pCur *XBtCursor, _pAmt *uint32) (r0 unsafe.Pointer) { // sqlite3.c:63768:1 r0 = _fetchPayload(tls, _pCur, _pAmt) return } func _fetchPayload(tls *crt.TLS, _pCur *XBtCursor, _pAmt *uint32) (r0 unsafe.Pointer) { // sqlite3.c:63734:1 var _amt uint32 // sqlite3.c:63738:7 _ = _amt func() int32 { 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(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))) != nil) { return i32(0) } return func() int32 { 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(78184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) == i32(1) { return i32(0) } return func() int32 { 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(9180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(74676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) { return i32(0) } return func() int32 { 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(9392))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X4) > i32(0) { return i32(0) } return func() int32 { 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(78240))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (uintptr(unsafe.Pointer((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X1)) > uintptr(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X19))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(78260))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (uintptr(unsafe.Pointer((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X1)) < uintptr(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X20))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(78328))) crt.X__builtin_abort(tls) return i32(0) }() }() _amt = uint32(int32(int64((uintptr(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X20)) - uintptr(unsafe.Pointer((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X1))) / 1))) if uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X3) >= _amt { goto _20 } _amt = uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X3) _20: *_pAmt = _amt r0 = (unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X1) return } var _fetchPayloadØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_fetchPayloadØ00__func__Ø000[0], str(78400), 13) } func _sqlite3VdbeMemFromBtree(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pMem *XMem) (r0 int32) { // sqlite3.c:70589:1 var _zData *int8 // sqlite3.c:70595:8 _ = _zData var _available uint32 // sqlite3.c:70596:7 _ = _available var _rc int32 // sqlite3.c:70597:7 _ = _rc _available = u32(0) _rc = i32(0) func() int32 { if _sqlite3BtreeCursorIsValid(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(78416))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(9312)) == i32(0) { return i32(0) } return func() int32 { 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(78448))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(5052))) crt.X__builtin_abort(tls) return i32(0) }() }() _zData = (*int8)(unsafe.Pointer(_sqlite3BtreePayloadFetch(tls, _pCur, &_available))) func() int32 { if _zData != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(78472))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_offset + _amt) > _available { goto _8 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zData)) + 1*uintptr(_offset))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4112)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32(_amt) goto _9 _8: _rc = _vdbeMemFromBtreeResize(tls, _pCur, _offset, _amt, _pMem) _9: r0 = _rc return } var _sqlite3VdbeMemFromBtreeØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemFromBtreeØ00__func__Ø000[0], str(78484), 24) } func _vdbeMemFromBtreeResize(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pMem *XMem) (r0 int32) { // sqlite3.c:70568:1 var _rc int32 // sqlite3.c:70574:7 _ = _rc *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) if i32(0) != store961(&_rc, _sqlite3VdbeMemClearAndResize(tls, _pMem, int32(_amt+uint32(i32(2))))) { goto _0 } _rc = _sqlite3BtreePayload(tls, _pCur, _offset, _amt, (unsafe.Pointer)(_pMem.X5)) if _rc != i32(0) { goto _1 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_amt))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_amt+uint32(i32(1))))) = int8(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(528)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32(_amt) goto _2 _1: _sqlite3VdbeMemRelease(tls, _pMem) _2: _0: r0 = _rc return } func _sqlite3VdbeOneByteSerialTypeLen(tls *crt.TLS, _serial_type uint8) (r0 uint8) { // sqlite3.c:74587:1 func() int32 { if int32(_serial_type) < i32(128) { return i32(0) } return func() int32 { 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(78508))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type))) return } var _sqlite3VdbeOneByteSerialTypeLenØ00__func__Ø000 [32]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeOneByteSerialTypeLenØ00__func__Ø000[0], str(78524), 32) } var _sqlite3VdbeExecØ00aFlagØ004 [2]uint16 // sqlite3.c:80838:24 func init() { _sqlite3VdbeExecØ00aFlagØ004 = [2]uint16{u16(16), u16(514)} } var _sqlite3VdbeExecØ00aZeroØ005 [16]uint8 // sqlite3.c:80870:17 func _sqlite3VdbeSerialType(tls *crt.TLS, _pMem *XMem, _file_format int32, _pLen *uint32) (r0 uint32) { // sqlite3.c:74506:1 var _flags int32 // sqlite3.c:74507:7 _ = _flags var _n uint32 // sqlite3.c:74508:7 _ = _n var _2_i int64 // sqlite3.c:74518:9 _ = _2_i var _2_u uint64 // sqlite3.c:74519:9 _ = _2_u _flags = int32(_pMem.X1) func() int32 { if _pLen != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(78556))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_flags & i32(1)) == 0 { goto _2 } *_pLen = uint32(i32(0)) r0 = uint32(i32(0)) return _2: if (_flags & i32(4)) == 0 { goto _3 } _2_i = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) if _2_i >= int64(i32(0)) { goto _4 } _2_u = uint64(^_2_i) goto _5 _4: _2_u = uint64(_2_i) _5: if _2_u > uint64(i32(127)) { goto _6 } if (_2_i&int64(i32(1))) != _2_i || _file_format < i32(4) { goto _8 } *_pLen = uint32(i32(0)) r0 = uint32(i32(8)) + uint32(_2_u) return _8: *_pLen = uint32(i32(1)) r0 = uint32(i32(1)) return _6: if _2_u > uint64(i32(32767)) { goto _10 } *_pLen = uint32(i32(2)) r0 = uint32(i32(2)) return _10: if _2_u > uint64(i32(8388607)) { goto _11 } *_pLen = uint32(i32(3)) r0 = uint32(i32(3)) return _11: if _2_u > uint64(i32(2147483647)) { goto _12 } *_pLen = uint32(i32(4)) r0 = uint32(i32(4)) return _12: if _2_u > uint64(i64(140737488355327)) { goto _13 } *_pLen = uint32(i32(6)) r0 = uint32(i32(5)) return _13: *_pLen = uint32(i32(8)) r0 = uint32(i32(6)) return _3: if (_flags & i32(8)) == 0 { goto _14 } *_pLen = uint32(i32(8)) r0 = uint32(i32(7)) return _14: func() int32 { if (((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X17) != 0) || (_flags&i32(18)) != 0 { return i32(0) } return func() int32 { 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(78564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pMem.X4) >= i32(0) { return i32(0) } return func() int32 { 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(4280))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = uint32(_pMem.X4) if (_flags & i32(16384)) == 0 { goto _20 } { p := &_n *p = (*p) + uint32(*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) sink985 = *p } _20: *_pLen = _n r0 = ((_n * uint32(i32(2))) + uint32(i32(12))) + uint32(bool2int((_flags&i32(2)) != i32(0))) return } var _sqlite3VdbeSerialTypeØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSerialTypeØ00__func__Ø000[0], str(78616), 22) } func _sqlite3PutVarint(tls *crt.TLS, _p *uint8, _v uint64) (r0 int32) { // sqlite3.c:28418:1 if _v > uint64(i32(127)) { goto _0 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0)))) = uint8(_v & uint64(i32(127))) r0 = i32(1) return _0: if _v > uint64(i32(16383)) { goto _1 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0)))) = uint8(((_v >> uint(i32(7))) & uint64(i32(127))) | uint64(i32(128))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(1)))) = uint8(_v & uint64(i32(127))) r0 = i32(2) return _1: r0 = _putVarint64(tls, _p, _v) return } func _putVarint64(tls *crt.TLS, _p *uint8, _v uint64) (r0 int32) { // sqlite3.c:28394:1 var _i int32 // sqlite3.c:28395:7 _ = _i var _j int32 // sqlite3.c:28395:10 _ = _j var _n int32 // sqlite3.c:28395:13 _ = _n var _buf [10]uint8 // sqlite3.c:28396:6 _ = _buf if (_v & u64(18374686479671623680)) == 0 { goto _0 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(8)))) = uint8(_v) { p := &_v *p = (*p) >> uint(i32(8)) sink992 = *p } _i = i32(7) _1: if _i < i32(0) { goto _4 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(_i))) = uint8((_v & uint64(i32(127))) | uint64(i32(128))) { p := &_v *p = (*p) >> uint(i32(7)) sink992 = *p } _i -= 1 goto _1 _4: r0 = i32(9) return _0: _n = i32(0) _5: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(postInc961(&_n, int32(1))))) = uint8((_v & uint64(i32(127))) | uint64(i32(128))) { p := &_v *p = (*p) >> uint(i32(7)) sink992 = *p } if _v != uint64(i32(0)) { goto _5 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) *p = uint8(int32(*p) & i32(127)) sink4537 = *p } func() int32 { if _n <= i32(9) { return i32(0) } return func() int32 { 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(78640))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() *int32 { _i = i32(0); return &_j }() = _n - i32(1) _8: if _j < i32(0) { goto _11 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(_i))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(_j))) *func() *int32 { _j -= 1; return &_i }() += 1 goto _8 _11: r0 = _n return } var _putVarint64Ø00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_putVarint64Ø00__func__Ø000[0], str(78648), 12) } func _sqlite3VdbeSerialPut(tls *crt.TLS, _buf *uint8, _pMem *XMem, _serial_type uint32) (r0 uint32) { // sqlite3.c:74658:1 var _len uint32 // sqlite3.c:74659:7 _ = _len var _1_v uint64 // sqlite3.c:74663:9 _ = _1_v var _1_i uint32 // sqlite3.c:74664:9 _ = _1_i if _serial_type > uint32(i32(7)) || _serial_type <= uint32(i32(0)) { goto _1 } if _serial_type != uint32(i32(7)) { goto _2 } i32(0) crt.Xmemcpy(tls, (unsafe.Pointer)(&_1_v), (unsafe.Pointer)((*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */)))))), u64(8)) goto _3 _2: _1_v = uint64(*(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) _3: _len = store985(&_1_i, uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type))))) func() int32 { if _1_i > uint32(i32(0)) { return i32(0) } return func() int32 { 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(11900))) crt.X__builtin_abort(tls) return i32(0) }() }() _6: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(preInc985(&_1_i, uint32(4294967295))))) = uint8(_1_v & uint64(i32(255))) { p := &_1_v *p = (*p) >> uint(i32(8)) sink992 = *p } if _1_i != 0 { goto _6 } r0 = _len return _1: if _serial_type < uint32(i32(12)) { goto _7 } func() int32 { if ((_pMem.X4) + func() int32 { if (int32(_pMem.X1) & i32(16384)) != 0 { return (*(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) } return i32(0) }()) == int32(_sqlite3VdbeSerialTypeLen(tls, _serial_type)) { return i32(0) } return func() int32 { 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(78660))) crt.X__builtin_abort(tls) return i32(0) }() }() _len = uint32(_pMem.X4) if _len <= uint32(i32(0)) { goto _12 } crt.Xmemcpy(tls, (unsafe.Pointer)(_buf), (unsafe.Pointer)(_pMem.X5), uint64(_len)) _12: r0 = _len return _7: r0 = uint32(i32(0)) return } var _sqlite3VdbeSerialPutØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSerialPutØ00__func__Ø000[0], str(78760), 21) } func _sqlite3BtreeCount(tls *crt.TLS, _pCur *XBtCursor, _pnEntry *int64) (r0 int32) { // sqlite3.c:67838:1 var _nEntry int64 // sqlite3.c:67839:7 _ = _nEntry var _rc int32 // sqlite3.c:67840:7 _ = _rc var _2_iIdx int32 // sqlite3.c:67852:9 _ = _2_iIdx var _2_pPage *XMemPage // sqlite3.c:67853:13 _ = _2_pPage _nEntry = i64(0) if (_pCur.X7) != uint32(i32(0)) { goto _0 } *_pnEntry = int64(i32(0)) r0 = i32(0) return _0: _rc = _moveToRoot(tls, _pCur) _1: if _rc != i32(0) { goto _2 } _2_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) if (_2_pPage.X5) == 0 && (_2_pPage.X2) != 0 { goto _4 } { p := &_nEntry *p = (*p) + int64(_2_pPage.X14) sink967 = *p } _4: if (_2_pPage.X5) == 0 { goto _5 } _6: if int32(_pCur.X14) != i32(0) { goto _7 } *_pnEntry = _nEntry r0 = _moveToRoot(tls, _pCur) return _7: _moveToParent(tls, _pCur) if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) >= int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) { goto _6 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) += 1 _2_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) _5: _2_iIdx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) if _2_iIdx != int32(_2_pPage.X14) { goto _8 } _rc = _moveToChild(tls, _pCur, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pPage.X19))+1*uintptr(int32(_2_pPage.X6)+i32(8)))))) goto _9 _8: _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)))))< i32(0) { return i32(0) } return func() int32 { 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(78916))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iStatement > ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X75) { return i32(0) } return func() int32 { 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(78932))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pBt.X8) == i32(2) { return i32(0) } return func() int32 { 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(58756))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerOpenSavepoint(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _iStatement) _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeBeginStmtØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeBeginStmtØ00__func__Ø000[0], str(78964), 22) } func _sqlite3BtreeUpdateMeta(tls *crt.TLS, _p *XBtree, _idx int32, _iMeta uint32) (r0 int32) { // sqlite3.c:67805:1 var _pBt *XBtShared // sqlite3.c:67806:12 _ = _pBt var _pP1 *uint8 // sqlite3.c:67807:17 _ = _pP1 var _rc int32 // sqlite3.c:67808:7 _ = _rc _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if (_idx >= i32(1)) && (_idx <= i32(15)) { return i32(0) } return func() int32 { 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(78988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) func() int32 { if int32(_p.X2) == i32(2) { return i32(0) } return func() int32 { 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(78856))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XMemPage)(unsafe.Pointer(_pBt.X3)) != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(79008))) crt.X__builtin_abort(tls) return i32(0) }() }() _pP1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)).X19 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) if _rc != i32(0) { goto _7 } _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pP1))+1*uintptr(i32(36)+(_idx*i32(4))))), _iMeta) if _idx != i32(7) { goto _8 } func() int32 { if ((_pBt.X5) != 0) || (_iMeta == uint32(i32(0))) { return i32(0) } return func() int32 { 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(79024))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iMeta == uint32(i32(0))) || (_iMeta == uint32(i32(1))) { return i32(0) } return func() int32 { 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(79052))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(34 /* X6 */))) = uint8(_iMeta) _8: _7: _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeUpdateMetaØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeUpdateMetaØ00__func__Ø000[0], str(79076), 23) } func _allocateCursor(tls *crt.TLS, _p *TVdbe, _iCur int32, _nField int32, _iDb int32, _eCurType uint8) (r0 *XVdbeCursor) { // sqlite3.c:78279:1 var _pMem *XMem // sqlite3.c:78304:7 _ = _pMem var _nByte int32 // sqlite3.c:78306:7 _ = _nByte var _pCx *XVdbeCursor // sqlite3.c:78307:14 _ = _pCx _pMem = func() *XMem { if _iCur > i32(0) { return (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 72*uintptr((_p.X6)-_iCur))) } return (*XMem)(unsafe.Pointer(_p.X18)) }() _pCx = nil _nByte = int32((u64(120) + (u64(8) * uint64(_nField))) + uint64(func() int32 { if int32(_eCurType) == i32(0) { return _sqlite3BtreeCursorSize(tls) } return i32(0) }())) func() int32 { if (_iCur >= i32(0)) && (_iCur < (_p.X7)) { return i32(0) } return func() int32 { 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(79100))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_iCur)))) == nil { goto _7 } _sqlite3VdbeFreeCursor(tls, _p, *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_iCur)))) *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_iCur))) = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) _7: if i32(0) != _sqlite3VdbeMemClearAndResize(tls, _pMem, _nByte) { goto _8 } *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 8*uintptr(_iCur))) = store5823988(&_pCx, (*XVdbeCursor)(unsafe.Pointer(_pMem.X5))) crt.Xmemset(tls, (unsafe.Pointer)(_pCx), i32(0), u64(40)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(0 /* X0 */))) = _eCurType *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(1 /* X1 */))) = int8(_iDb) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(72 /* X18 */))) = int16(_nField) *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(88 /* X21 */))) = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx))+uintptr(112 /* X25 */))))) + 4*uintptr(_nField))) if int32(_eCurType) != i32(0) { goto _9 } *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(48 /* X14 */))))))) = (*XBtCursor)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(u64(120)+(u64(8)*uint64(_nField))))))) _sqlite3BtreeCursorZero(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(48 /* X14 */)))))))) _9: _8: r0 = _pCx return } func _sqlite3BtreeCursorSize(tls *crt.TLS) (r0 int32) { // sqlite3.c:63213:1 r0 = int32(u64(312)) return } var _allocateCursorØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_allocateCursorØ00__func__Ø000[0], str(79128), 15) } func _sqlite3BtreeCursorZero(tls *crt.TLS, _p *XBtCursor) { // sqlite3.c:63225:1 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(88)) return } func _sqlite3BtreeCursor(tls *crt.TLS, _p *XBtree, _iTable int32, _wrFlag int32, _pKeyInfo *XKeyInfo, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63187:1 var _rc int32 // sqlite3.c:63194:7 _ = _rc if _iTable >= i32(1) { goto _0 } _rc = _sqlite3CorruptError(tls, i32(63196)) goto _1 _0: _sqlite3BtreeEnter(tls, _p) _rc = _btreeCursor(tls, _p, _iTable, _wrFlag, _pKeyInfo, _pCur) _sqlite3BtreeLeave(tls, _p) _1: r0 = _rc return } func _btreeCursor(tls *crt.TLS, _p *XBtree, _iTable int32, _wrFlag int32, _pKeyInfo *XKeyInfo, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63127:1 var _pBt *XBtShared // sqlite3.c:63134:12 _ = _pBt var _pX *XBtCursor // sqlite3.c:63135:12 _ = _pX _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_wrFlag == i32(0)) || (_wrFlag == i32(4))) || (_wrFlag == i32(12)) { return i32(0) } return func() int32 { 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(79144))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _hasSharedCacheTableLock(tls, _p, uint32(_iTable), bool2int(_pKeyInfo != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))), func() int32 { if _wrFlag != 0 { return i32(2) } return i32(1) }()) != 0 { return i32(0) } return func() int32 { 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(79220))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_wrFlag == i32(0)) || (_hasReadConflicts(tls, _p, uint32(_iTable)) == 0) { return i32(0) } return func() int32 { 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(79284))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X2) > i32(0) { return i32(0) } return func() int32 { 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(55820))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_wrFlag == i32(0)) || (int32(_p.X2) == i32(2)) { return i32(0) } return func() int32 { 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(79328))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XMemPage)(unsafe.Pointer(_pBt.X3)) != nil) && (((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19) != nil) { return i32(0) } return func() int32 { 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(79368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_wrFlag == i32(0)) || ((int32(_pBt.X10) & i32(1)) == i32(0)) { return i32(0) } return func() int32 { 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(79404))) crt.X__builtin_abort(tls) return i32(0) }() }() if _wrFlag == 0 { goto _24 } _allocateTempSpace(tls, _pBt) if (_pBt.X27) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _25 } r0 = _sqlite3NomemError(tls, i32(63158)) return _25: _24: if _iTable != i32(1) || _btreePagecount(tls, _pBt) != uint32(i32(0)) { goto _27 } func() int32 { if _wrFlag == i32(0) { return i32(0) } return func() int32 { 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(79452))) crt.X__builtin_abort(tls) return i32(0) }() }() _iTable = i32(0) _27: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(72 /* X7 */))) = uint32(_iTable) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) = int8(i32(-1)) *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(96 /* X16 */))))) = _pKeyInfo *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(0 /* X0 */))))) = _p *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(8 /* X1 */))))) = _pBt *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) = uint8(func() int32 { if _wrFlag != 0 { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(85 /* X11 */))) = uint8(func() int32 { if _wrFlag != 0 { return i32(0) } return i32(2) }()) _pX = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) _34: if _pX == nil { goto _37 } if (_pX.X7) != uint32(_iTable) { goto _38 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(32)) sink4537 = *p } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(32)) sink4537 = *p } _38: _pX = (*XBtCursor)(unsafe.Pointer(_pX.X2)) goto _34 _37: *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(16 /* X2 */))))) = _pCur *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) r0 = i32(0) return } var _btreeCursorØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_btreeCursorØ00__func__Ø000[0], str(79464), 12) } func _hasSharedCacheTableLock(tls *crt.TLS, _pBtree *XBtree, _iRoot uint32, _isIndex int32, _eLockType int32) (r0 int32) { // sqlite3.c:59098:1 var _pSchema *XSchema // sqlite3.c:59104:10 _ = _pSchema var _iTab uint32 // sqlite3.c:59105:8 _ = _iTab var _pLock *XBtLock // sqlite3.c:59106:10 _ = _pLock var _3_p *XHashElem // sqlite3.c:59132:14 _ = _3_p var _4_pIdx *XIndex // sqlite3.c:59134:13 _ = _4_pIdx _pSchema = (*XSchema)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X19)) _iTab = u32(0) if int32(_pBtree.X3) != i32(0) && (_eLockType != i32(1) || (((*Xsqlite3)(unsafe.Pointer(_pBtree.X0)).X6)&i32(16384)) == 0) { goto _2 } r0 = i32(1) return _2: if _isIndex == 0 || _pSchema != nil && (int32(_pSchema.X9)&i32(1)) != i32(0) { goto _5 } r0 = i32(1) return _5: if _isIndex == 0 { goto _6 } _3_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(32 /* X3 */))).X2)) _7: if _3_p == nil { goto _10 } _4_pIdx = (*XIndex)(unsafe.Pointer(_3_p.X2)) if (_4_pIdx.X11) != int32(_iRoot) { goto _11 } if _iTab == 0 { goto _12 } r0 = i32(1) return _12: _iTab = uint32((*XTable)(unsafe.Pointer(_4_pIdx.X3)).X7) _11: _3_p = (*XHashElem)(unsafe.Pointer(_3_p.X0)) goto _7 _10: goto _13 _6: _iTab = _iRoot _13: _pLock = (*XBtLock)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X25)) _14: if _pLock == nil { goto _17 } if (*XBtree)(unsafe.Pointer(_pLock.X0)) != _pBtree || (_pLock.X1) != _iTab && (int32(_pLock.X2) != i32(2) || (_pLock.X1) != uint32(i32(1))) || int32(_pLock.X2) < _eLockType { goto _22 } r0 = i32(1) return _22: _pLock = (*XBtLock)(unsafe.Pointer(_pLock.X3)) goto _14 _17: r0 = i32(0) return } func _hasReadConflicts(tls *crt.TLS, _pBtree *XBtree, _iRoot uint32) (r0 int32) { // sqlite3.c:59185:1 var _p *XBtCursor // sqlite3.c:59186:12 _ = _p _p = (*XBtCursor)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X2)) _0: if _p == nil { goto _3 } if (_p.X7) != _iRoot || (*XBtree)(unsafe.Pointer(_p.X0)) == _pBtree || i32(0) != (((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X0)).X0)).X6)&i32(16384)) { goto _6 } r0 = i32(1) return _6: _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) goto _0 _3: r0 = i32(0) return } func _allocateTempSpace(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:61481:1 if (_pBt.X27) != nil { goto _0 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(128 /* X27 */))) = (*uint8)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32(_pBt.X15)))) if (_pBt.X27) == nil { goto _1 } crt.Xmemset(tls, (unsafe.Pointer)(_pBt.X27), i32(0), uint64(i32(8))) { p := (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(128 /* X27 */))) *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(4)))) sink4543 = *p } _1: _0: return } func _sqlite3BtreeCursorHintFlags(tls *crt.TLS, _pCur *XBtCursor, _x uint32) { // sqlite3.c:59841:1 func() int32 { if ((_x == uint32(i32(2))) || (_x == uint32(i32(1)))) || (_x == uint32(i32(0))) { return i32(0) } return func() int32 { 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(79476))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(87 /* X13 */))) = uint8(_x) return } var _sqlite3BtreeCursorHintFlagsØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCursorHintFlagsØ00__func__Ø000[0], str(79524), 28) } func _sqlite3BtreeOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFilename *int8, _db *Xsqlite3, _ppBtree **XBtree, _flags int32, _vfsFlags int32) (r0 int32) { // sqlite3.c:61150:1 var _pBt *XBtShared // sqlite3.c:61158:12 _ = _pBt var _p *XBtree // sqlite3.c:61159:9 _ = _p var _mutexOpen *Xsqlite3_mutex // sqlite3.c:61160:17 _ = _mutexOpen var _rc int32 // sqlite3.c:61161:7 _ = _rc var _nReserve uint8 // sqlite3.c:61162:6 _ = _nReserve var _zDbHeader [100]uint8 // sqlite3.c:61163:17 _ = _zDbHeader var _isTempDb int32 // sqlite3.c:61166:13 _ = _isTempDb var _isMemdb int32 // sqlite3.c:61174:13 _ = _isMemdb var _5_nFilename int32 // sqlite3.c:61214:11 _ = _5_nFilename var _5_nFullPathname int32 // sqlite3.c:61215:11 _ = _5_nFullPathname var _5_zFullPathname *int8 // sqlite3.c:61216:12 _ = _5_zFullPathname var _5_mutexShared *Xsqlite3_mutex // sqlite3.c:61217:34 _ = _5_mutexShared var _11_iDb int32 // sqlite3.c:61245:15 _ = _11_iDb var _12_pExisting *XBtree // sqlite3.c:61247:19 _ = _12_pExisting var _22_mutexShared *Xsqlite3_mutex // sqlite3.c:61354:34 _ = _22_mutexShared var _25_i int32 // sqlite3.c:61377:9 _ = _25_i var _25_pSib *XBtree // sqlite3.c:61378:11 _ = _25_pSib var _35_pFile *Xsqlite3_file // sqlite3.c:61413:18 _ = _35_pFile _pBt = nil _mutexOpen = nil _rc = i32(0) _isTempDb = bool2int((_zFilename == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == i32(0))) _isMemdb = bool2int((((_zFilename != nil) && (crt.Xstrcmp(tls, _zFilename, str(79552)) == i32(0))) || (_isTempDb != 0 && _sqlite3TempInMemory(tls, _db) != 0)) || ((_vfsFlags & i32(128)) != i32(0))) func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(79564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_flags & i32(255)) == _flags { return i32(0) } return func() int32 { 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(79572))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_flags & i32(8)) == i32(0)) || ((_flags & i32(4)) != i32(0)) { return i32(0) } return func() int32 { 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(79592))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_flags & i32(4)) == i32(0)) || _isTempDb != 0 { return i32(0) } return func() int32 { 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(79652))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isMemdb == 0 { goto _19 } { p := &_flags *p = (*p) | i32(2) sink961 = *p } _19: if (_vfsFlags&i32(256)) == i32(0) || _isMemdb == 0 && _isTempDb == 0 { goto _22 } _vfsFlags = (_vfsFlags & i32(-257)) | i32(512) _22: _p = (*XBtree)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(72)))) if _p != nil { goto _23 } r0 = _sqlite3NomemError(tls, i32(61198)) return _23: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = uint8(i32(0)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _db *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X11 */))))) + uintptr(0 /* X0 */))))) = _p *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X11 */))))) + uintptr(8 /* X1 */))) = uint32(i32(1)) if _isTempDb != i32(0) || _isMemdb != i32(0) && (_vfsFlags&i32(64)) == i32(0) { goto _26 } if (_vfsFlags & i32(131072)) == 0 { goto _27 } _5_nFilename = _sqlite3Strlen30(tls, _zFilename) + i32(1) _5_nFullPathname = (_pVfs.X2) + i32(1) _5_zFullPathname = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(func() int32 { if _5_nFullPathname > _5_nFilename { return _5_nFullPathname } return _5_nFilename }())))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(17 /* X3 */))) = uint8(i32(1)) if _5_zFullPathname != nil { goto _30 } Xsqlite3_free(tls, (unsafe.Pointer)(_p)) r0 = _sqlite3NomemError(tls, i32(61222)) return _30: if _isMemdb == 0 { goto _31 } crt.Xmemcpy(tls, (unsafe.Pointer)(_5_zFullPathname), (unsafe.Pointer)(_zFilename), uint64(_5_nFilename)) goto _32 _31: _rc = _sqlite3OsFullPathname(tls, _pVfs, _zFilename, _5_nFullPathname, _5_zFullPathname) if _rc == 0 { goto _33 } Xsqlite3_free(tls, (unsafe.Pointer)(_5_zFullPathname)) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) r0 = _rc return _33: _32: _mutexOpen = _sqlite3MutexAlloc(tls, i32(4)) Xsqlite3_mutex_enter(tls, _mutexOpen) _5_mutexShared = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _5_mutexShared) _pBt = _sqlite3SharedCacheList _34: if _pBt == nil { goto _37 } func() int32 { if (_pBt.X23) > i32(0) { return i32(0) } return func() int32 { 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(79692))) crt.X__builtin_abort(tls) return i32(0) }() }() 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 { goto _41 } _11_iDb = (_db.X5) - i32(1) _42: if _11_iDb < i32(0) { goto _45 } _12_pExisting = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_11_iDb))).X1)) if _12_pExisting == nil || (*XBtShared)(unsafe.Pointer(_12_pExisting.X1)) != _pBt { goto _47 } Xsqlite3_mutex_leave(tls, _5_mutexShared) Xsqlite3_mutex_leave(tls, _mutexOpen) Xsqlite3_free(tls, (unsafe.Pointer)(_5_zFullPathname)) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) r0 = i32(19) return _47: _11_iDb -= 1 goto _42 _45: *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _pBt *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(96 /* X23 */))) += 1 goto _37 _41: _pBt = (*XBtShared)(unsafe.Pointer(_pBt.X24)) goto _34 _37: Xsqlite3_mutex_leave(tls, _5_mutexShared) Xsqlite3_free(tls, (unsafe.Pointer)(_5_zFullPathname)) goto _48 _27: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(17 /* X3 */))) = uint8(i32(1)) _48: _26: if _pBt != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { goto _49 } i32(0) i32(0) i32(0) i32(0) i32(0) _pBt = (*XBtShared)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(136)))) if _pBt != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { goto _50 } _rc = _sqlite3NomemError(tls, i32(61290)) goto _btree_open_out _50: _rc = _sqlite3PagerOpen(tls, _pVfs, (**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(0 /* X0 */))))), _zFilename, int32(u64(136)), _flags, _vfsFlags, _pageReinit) if _rc != i32(0) { goto _51 } _sqlite3PagerSetMmapLimit(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _db.X8) _rc = _sqlite3PagerReadFileheader(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), int32(u64(100)), (*uint8)(unsafe.Pointer(&_zDbHeader))) _51: if _rc == i32(0) { goto _52 } goto _btree_open_out _52: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(32 /* X4 */))) = uint8(_flags) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(8 /* X1 */))))) = _db _sqlite3PagerSetBusyhandler(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _btreeInvokeBusyHandler, (unsafe.Pointer)(_pBt)) *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _pBt *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(16 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(24 /* X3 */))))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) if _sqlite3PagerIsreadonly(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) == 0 { goto _53 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _53: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(48 /* 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)))) if (_pBt.X15) >= uint32(i32(512)) && (_pBt.X15) <= uint32(i32(65536)) && (((_pBt.X15)-uint32(i32(1)))&(_pBt.X15)) == uint32(i32(0)) { goto _56 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(48 /* X15 */))) = uint32(i32(0)) if _zFilename == nil || _isMemdb != 0 { goto _58 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(33 /* X5 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(34 /* X6 */))) = uint8(i32(0)) _58: _nReserve = uint8(i32(0)) goto _59 _56: _nReserve = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader)) + 1*uintptr(i32(20)))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(2)) sink4530 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(33 /* X5 */))) = uint8(func() int32 { if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader))+1*uintptr(i32(52))))) != 0 { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(34 /* X6 */))) = uint8(func() int32 { if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader))+1*uintptr(i32(64))))) != 0 { return i32(1) } return i32(0) }()) _59: _rc = _sqlite3PagerSetPagesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(48 /* X15 */))), int32(_nReserve)) if _rc == 0 { goto _64 } goto _btree_open_out _64: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(52 /* X16 */))) = (_pBt.X15) - uint32(_nReserve) func() int32 { if ((_pBt.X15) & uint32(i32(7))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(79704))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(96 /* X23 */))) = i32(1) if (_p.X3) == 0 { goto _67 } _22_mutexShared = _sqlite3MutexAlloc(tls, i32(2)) if i32(1) == 0 || (_sqlite3Config.X1) == 0 { goto _69 } *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(80 /* X21 */))))) = _sqlite3MutexAlloc(tls, i32(0)) if (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { goto _70 } _rc = _sqlite3NomemError(tls, i32(61359)) goto _btree_open_out _70: _69: Xsqlite3_mutex_enter(tls, _22_mutexShared) *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(104 /* X24 */))))) = _sqlite3SharedCacheList _sqlite3SharedCacheList = _pBt bug20530(_sqlite3SharedCacheList) Xsqlite3_mutex_leave(tls, _22_mutexShared) _67: _49: if (_p.X3) == 0 { goto _71 } _25_i = i32(0) _72: if _25_i >= (_db.X5) { goto _75 } if store5423115(&_25_pSib, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_25_i))).X1))) == (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) || (_25_pSib.X3) == 0 { goto _77 } _78: if (*XBtree)(unsafe.Pointer(_25_pSib.X10)) == nil { goto _79 } _25_pSib = (*XBtree)(unsafe.Pointer(_25_pSib.X10)) goto _78 _79: if uint64(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1))))) >= uint64(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_25_pSib.X1))))) { goto _80 } *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X9 */))))) = _25_pSib *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_25_pSib)) + uintptr(40 /* X10 */))))) = _p goto _81 _80: _82: if (*XBtree)(unsafe.Pointer(_25_pSib.X9)) == nil || uint64(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_25_pSib.X9)).X1))))) >= uint64(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1))))) { goto _83 } _25_pSib = (*XBtree)(unsafe.Pointer(_25_pSib.X9)) goto _82 _83: *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X9 */))))) = (*XBtree)(unsafe.Pointer(_25_pSib.X9)) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))))) = _25_pSib if (*XBtree)(unsafe.Pointer(_p.X9)) == nil { goto _85 } *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X9) + uintptr(40 /* X10 */))))) = _p _85: *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_25_pSib)) + uintptr(32 /* X9 */))))) = _p _81: goto _75 _77: _25_i += 1 goto _72 _75: _71: *_ppBtree = _p _btree_open_out: if _rc == i32(0) { goto _86 } if _pBt == nil || (*XPager)(unsafe.Pointer(_pBt.X0)) == nil { goto _88 } _sqlite3PagerClose(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) _88: Xsqlite3_free(tls, (unsafe.Pointer)(_pBt)) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) *_ppBtree = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) goto _89 _86: if unsafe.Pointer(_sqlite3BtreeSchema(tls, _p, i32(0), nil)) != (unsafe.Pointer)(uintptr(i32(0))) { goto _90 } _sqlite3PagerSetCachesize(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)), i32(-2000)) _90: _35_pFile = _sqlite3PagerFile(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) if (*Xsqlite3_io_methods)(unsafe.Pointer(_35_pFile.X0)) == nil { goto _91 } _sqlite3OsFileControlHint(tls, _35_pFile, i32(30), (unsafe.Pointer)((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(8 /* X1 */))))) _91: _89: if _mutexOpen == nil { goto _92 } func() int32 { if Xsqlite3_mutex_held(tls, _mutexOpen) != 0 { return i32(0) } return func() int32 { 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(79728))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, _mutexOpen) _92: func() int32 { if (_rc != i32(0)) || (_sqlite3BtreeConnectionCount(tls, *_ppBtree) > i32(0)) { return i32(0) } return func() int32 { 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(79760))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3BtreeOpenØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeOpenØ00__func__Ø000[0], str(79820), 17) } func _sqlite3OsFullPathname(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _nPathOut int32, _zPathOut *int8) (r0 int32) { // sqlite3.c:20282:1 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathOut)) + 1*uintptr(i32(0)))) = int8(i32(0)) r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32 }{(_pVfs.X9)})))(tls, _pVfs, _zPath, _nPathOut, _zPathOut) return } func _sqlite3PagerVfs(tls *crt.TLS, _pPager *XPager) (r0 *Xsqlite3_vfs) { // sqlite3.c:53702:1 r0 = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) return } 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 var _pPtr *uint8 // sqlite3.c:51498:6 _ = _pPtr var _pPager *XPager // sqlite3.c:51499:9 _ = _pPager var _rc int32 // sqlite3.c:51500:7 _ = _rc var _tempFile int32 // sqlite3.c:51501:7 _ = _tempFile var _memDb int32 // sqlite3.c:51502:7 _ = _memDb var _readOnly int32 // sqlite3.c:51503:7 _ = _readOnly var _journalFileSize int32 // sqlite3.c:51504:7 _ = _journalFileSize var _zPathname *int8 // sqlite3.c:51505:8 _ = _zPathname var _nPathname int32 // sqlite3.c:51506:7 _ = _nPathname var _useJournal int32 // sqlite3.c:51507:7 _ = _useJournal var _pcacheSize int32 // sqlite3.c:51508:7 _ = _pcacheSize var _szPageDflt uint32 // sqlite3.c:51509:7 _ = _szPageDflt var _zUri *int8 // sqlite3.c:51510:14 _ = _zUri var _nUri int32 // sqlite3.c:51511:7 _ = _nUri var _3_z *int8 // sqlite3.c:51537:16 _ = _3_z var _10_fout int32 // sqlite3.c:51627:9 _ = _10_fout var _11_iDc int32 // sqlite3.c:51641:11 _ = _11_iDc _pPager = nil _rc = i32(0) _tempFile = i32(0) _memDb = i32(0) _readOnly = i32(0) _zPathname = nil _nPathname = i32(0) _useJournal = bool2int((_flags & i32(1)) == i32(0)) _pcacheSize = _sqlite3PcacheSize(tls) _szPageDflt = u32(4096) _zUri = nil _nUri = i32(0) _journalFileSize = (_sqlite3JournalSize(tls, _pVfs) + i32(7)) & i32(-8) *_ppPager = (*XPager)(unsafe.Pointer(uintptr(i32(0)))) if (_flags & i32(2)) == 0 { goto _0 } _memDb = i32(1) if _zFilename == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { goto _2 } _zPathname = _sqlite3DbStrDup(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _zFilename) if _zPathname != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = _sqlite3NomemError(tls, i32(51525)) return _3: _nPathname = _sqlite3Strlen30(tls, _zPathname) _zFilename = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _2: _0: if _zFilename == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { goto _5 } _nPathname = (_pVfs.X2) + i32(1) _zPathname = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(_nPathname*i32(2))))) if _zPathname != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } r0 = _sqlite3NomemError(tls, i32(51541)) return _6: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathname)) + 1*uintptr(i32(0)))) = int8(i32(0)) _rc = _sqlite3OsFullPathname(tls, _pVfs, _zFilename, _nPathname, _zPathname) _nPathname = _sqlite3Strlen30(tls, _zPathname) _3_z = store1025(&_zUri, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename))+1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1))))) _7: if (*_3_z) == 0 { goto _8 } { p := &_3_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _3_z)+i32(1)))) sink1025 = *p } { p := &_3_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _3_z)+i32(1)))) sink1025 = *p } goto _7 _8: _nUri = int32(int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_z))+1*uintptr(i32(1)))))) - uintptr(unsafe.Pointer(_zUri))) / 1)) func() int32 { if _nUri >= i32(0) { return i32(0) } return func() int32 { 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(79840))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || (_nPathname+i32(8)) <= (_pVfs.X2) { goto _12 } _rc = _sqlite3CantopenError(tls, i32(51560)) _12: if _rc == i32(0) { goto _13 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_zPathname)) r0 = _rc return _13: _5: _pPtr = (*uint8)(unsafe.Pointer(_sqlite3MallocZero(tls, (((((((((((u64(304)+uint64((_pcacheSize+i32(7))&i32(-8)))+uint64(((_pVfs.X1)+i32(7))&i32(-8)))+uint64(_journalFileSize*i32(2)))+uint64(_nPathname))+uint64(i32(1)))+uint64(_nUri))+uint64(_nPathname))+uint64(i32(8)))+uint64(i32(2)))+uint64(_nPathname))+uint64(i32(4)))+uint64(i32(2))))) func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((unsafe.Pointer)(uintptr(int64(_journalFileSize)))))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(79848))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pPtr != nil { goto _16 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_zPathname)) r0 = _sqlite3NomemError(tls, i32(51594)) return _16: _pPager = (*XPager)(unsafe.Pointer(_pPtr)) *(**XPCache)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(280 /* X59 */))))) = (*XPCache)(unsafe.Pointer(store4543(func() (**uint8, *uint8) { p := &_pPtr return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u64(304)))) }()))) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(72 /* X31 */))))) = (*Xsqlite3_file)(unsafe.Pointer(store4543(func() (**uint8, *uint8) { p := &_pPtr return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr((_pcacheSize+i32(7))&i32(-8)))) }()))) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(88 /* X33 */))))) = (*Xsqlite3_file)(unsafe.Pointer(store4543(func() (**uint8, *uint8) { p := &_pPtr return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(((_pVfs.X1)+i32(7))&i32(-8)))) }()))) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(80 /* X32 */))))) = (*Xsqlite3_file)(unsafe.Pointer(store4543(func() (**uint8, *uint8) { p := &_pPtr return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_journalFileSize))) }()))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(208 /* X51 */))) = (*int8)(unsafe.Pointer(store4543(func() (**uint8, *uint8) { p := &_pPtr return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_journalFileSize))) }()))) func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(79908))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zPathname == nil { goto _19 } func() int32 { if _nPathname > i32(0) { return i32(0) } return func() int32 { 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(79944))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(216 /* X52 */))) = (*int8)(unsafe.Pointer(store4543(func() (**uint8, *uint8) { p := &_pPtr return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr((_nPathname+i32(1))+_nUri))) }()))) crt.Xmemcpy(tls, (unsafe.Pointer)(_pPager.X51), (unsafe.Pointer)(_zPathname), uint64(_nPathname)) if _nUri == 0 { goto _22 } crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X51))+1*uintptr(_nPathname+i32(1))))), (unsafe.Pointer)(_zUri), uint64(_nUri)) _22: crt.Xmemcpy(tls, (unsafe.Pointer)(_pPager.X52), (unsafe.Pointer)(_zPathname), uint64(_nPathname)) crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X52))+1*uintptr(_nPathname)))), (unsafe.Pointer)(str(79956)), uint64(i32(10))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(296 /* X61 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X52)) + 1*uintptr((_nPathname+i32(8))+i32(1)))) crt.Xmemcpy(tls, (unsafe.Pointer)(_pPager.X61), (unsafe.Pointer)(_zPathname), uint64(_nPathname)) crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X61))+1*uintptr(_nPathname)))), (unsafe.Pointer)(str(79968)), uint64(i32(5))) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_zPathname)) _19: *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(0 /* X0 */))))) = _pVfs *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(180 /* X46 */))) = uint32(_vfsFlags) if _zFilename == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { goto _24 } _10_fout = i32(0) _rc = _sqlite3OsOpen(tls, _pVfs, _pPager.X51, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _vfsFlags, &_10_fout) func() int32 { if _memDb == 0 { return i32(0) } return func() int32 { 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(79976))) crt.X__builtin_abort(tls) return i32(0) }() }() _readOnly = _10_fout & i32(1) if _rc != i32(0) { goto _27 } _11_iDc = _sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) if _readOnly != 0 { goto _28 } _setSectorSize(tls, _pPager) i32(0) if _szPageDflt >= (_pPager.X47) { goto _29 } if (_pPager.X47) <= uint32(i32(8192)) { goto _30 } _szPageDflt = uint32(i32(8192)) goto _31 _30: _szPageDflt = _pPager.X47 _31: _29: _28: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(18 /* X11 */))) = uint8(Xsqlite3_uri_boolean(tls, _zFilename, str(79984), i32(0))) if (_11_iDc&i32(8192)) == i32(0) && Xsqlite3_uri_boolean(tls, _zFilename, str(79992), i32(0)) == 0 { goto _33 } { p := &_vfsFlags *p = (*p) | i32(1) sink961 = *p } goto _act_like_temp_file _33: _27: goto _34 _24: _act_like_temp_file: _tempFile = i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X14 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(22 /* X15 */))) = uint8(i32(4)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(18 /* X11 */))) = uint8(i32(1)) _readOnly = _vfsFlags & i32(1) _34: if _rc != i32(0) { goto _35 } func() int32 { if int32(_pPager.X13) == i32(0) { return i32(0) } return func() int32 { 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(80004))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerSetPagesize(tls, _pPager, &_szPageDflt, i32(-1)) _35: if _rc != i32(0) { goto _38 } _nExtra = (_nExtra + i32(7)) & i32(-8) func() int32 { if (_nExtra >= i32(8)) && (_nExtra < i32(1000)) { return i32(0) } return func() int32 { 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(80024))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PcacheOpen(tls, int32(_szPageDflt), _nExtra, bool2int(_memDb == 0), func() func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32 { if _memDb == 0 { return _pagerStress } return nil }(), (unsafe.Pointer)(_pPager), (*XPCache)(unsafe.Pointer(_pPager.X59))) _38: if _rc == i32(0) { goto _44 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) _sqlite3PageFree(tls, (unsafe.Pointer)(_pPager.X58)) Xsqlite3_free(tls, (unsafe.Pointer)(_pPager)) r0 = _rc return _44: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(10 /* X3 */))) = uint8(_useJournal) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(192 /* X49 */))) = uint32(i32(1073741823)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X10 */))) = uint8(_tempFile) func() int32 { if (_tempFile == i32(0)) || (_tempFile == i32(1)) { return i32(0) } return func() int32 { 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(80052))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(8 /* X1 */))) = uint8(_tempFile) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X16 */))) = _pPager.X10 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(20 /* X13 */))) = uint8(_memDb) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X12 */))) = uint8(_readOnly) func() int32 { if _useJournal != 0 || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(80128))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(11 /* X4 */))) = _pPager.X10 if (_pPager.X4) == 0 { goto _51 } func() int32 { if int32(_pPager.X5) == i32(0) { return i32(0) } return func() int32 { 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(80160))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X6) == i32(0) { return i32(0) } return func() int32 { 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(80180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X9) == i32(0) { return i32(0) } return func() int32 { 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(80204))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X8) == i32(0) { return i32(0) } return func() int32 { 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(80228))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPager.X7) == i32(0) { return i32(0) } return func() int32 { 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(80252))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _62 _51: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X5 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(13 /* X6 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(16 /* X9 */))) = uint8(i32(2)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(15 /* X8 */))) = uint8(i32(34)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X7 */))) = uint8(i32(2)) _62: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(176 /* X44 */))) = uint16(_nExtra) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(200 /* X50 */))) = int64(i32(-1)) func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || _tempFile != 0 { return i32(0) } return func() int32 { 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(80280))) crt.X__builtin_abort(tls) return i32(0) }() }() _setSectorSize(tls, _pPager) if _useJournal != 0 { goto _66 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X2 */))) = uint8(i32(2)) goto _67 _66: if _memDb == 0 { goto _68 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X2 */))) = uint8(i32(4)) _68: _67: *(*func(*crt.TLS, *XPgHdr))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(256 /* X56 */))))) = _xReinit _setGetterMethod(tls, _pPager) *_ppPager = _pPager r0 = i32(0) return } func _sqlite3PcacheSize(tls *crt.TLS) (r0 int32) { // sqlite3.c:44358:1 r0 = int32(u64(72)) return } func _sqlite3JournalSize(tls *crt.TLS, _pVfs *Xsqlite3_vfs) (r0 int32) { // sqlite3.c:89017:1 r0 = func() int32 { if (_pVfs.X1) > i32(88) { return (_pVfs.X1) } return i32(88) }() return } var _sqlite3PagerOpenØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerOpenØ00__func__Ø000[0], str(80312), 17) } func Xsqlite3_uri_boolean(tls *crt.TLS, _zFilename *int8, _zParam *int8, _bDflt int32) (r0 int32) { // sqlite3.c:143823:12 var _z *int8 // sqlite3.c:143824:14 _ = _z _z = Xsqlite3_uri_parameter(tls, _zFilename, _zParam) _bDflt = bool2int(_bDflt != i32(0)) r0 = func() int32 { if _z != nil { return int32(_sqlite3GetBoolean(tls, _z, uint8(_bDflt))) } return _bDflt }() return } func Xsqlite3_uri_parameter(tls *crt.TLS, _zFilename *int8, _zParam *int8) (r0 *int8) { // sqlite3.c:143808:12 var _1_x int32 // sqlite3.c:143812:9 _ = _1_x if _zFilename != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _zParam != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _1: { p := &_zFilename *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1)))) sink1025 = *p } _2: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { goto _3 } _1_x = crt.Xstrcmp(tls, _zFilename, _zParam) { p := &_zFilename *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1)))) sink1025 = *p } if _1_x != i32(0) { goto _4 } r0 = _zFilename return _4: { p := &_zFilename *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1)))) sink1025 = *p } goto _2 _3: r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } func _sqlite3GetBoolean(tls *crt.TLS, _z *int8, _dflt uint8) (r0 uint8) { // sqlite3.c:113029:1 r0 = uint8(bool2int(int32(_getSafetyLevel(tls, _z, i32(1), _dflt)) != i32(0))) return } func _getSafetyLevel(tls *crt.TLS, _z *int8, _omitFull int32, _dflt uint8) (r0 uint8) { // sqlite3.c:113004:1 var _i int32 // sqlite3.c:113011:7 _ = _i var _n int32 // sqlite3.c:113011:10 _ = _n if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z))))) & i32(4)) == 0 { goto _0 } r0 = uint8(_sqlite3Atoi(tls, _z)) return _0: _n = _sqlite3Strlen30(tls, _z) _i = i32(0) _1: if _i >= i32(8) { goto _4 } 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) { goto _8 } r0 = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getSafetyLevelØ00iValueØ004)) + 1*uintptr(_i))) return _8: _i += 1 goto _1 _4: r0 = _dflt return } var _getSafetyLevelØ00iLengthØ003 [8]uint8 // sqlite3.c:113008:19 func init() { _getSafetyLevelØ00iLengthØ003 = [8]uint8{2, 2, 3, 5, 3, 4, 5, 4} } var _getSafetyLevelØ00zTextØ001 [25]int8 // sqlite3.c:113006:21 func init() { crt.Xstrncpy(nil, &_getSafetyLevelØ00zTextØ001[0], str(80332), 25) } var _getSafetyLevelØ00iOffsetØ002 [8]uint8 // sqlite3.c:113007:19 func init() { _getSafetyLevelØ00iOffsetØ002 = [8]uint8{0, 1, 2, 4, 9, 12, 15, 20} } var _getSafetyLevelØ00iValueØ004 [8]uint8 // sqlite3.c:113009:19 func init() { _getSafetyLevelØ00iValueØ004 = [8]uint8{1, 0, 0, 0, 1, 1, 3, 2} } 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 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(72)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X6 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X7 */))) = _szExtra func() int32 { if _szExtra >= i32(8) { return i32(0) } return func() int32 { 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(80360))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X8 */))) = uint8(_bPurgeable) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X9 */))) = uint8(i32(2)) *(*func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X10 */))))) = _xStress *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X11 */))) = _pStress *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X4 */))) = i32(100) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))) = i32(1) r0 = _sqlite3PcacheSetPageSize(tls, _p, _szPage) return } var _sqlite3PcacheOpenØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheOpenØ00__func__Ø000[0], str(80372), 18) } func _pagerStress(tls *crt.TLS, _p unsafe.Pointer, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:51371:1 var _pPager *XPager // sqlite3.c:51372:9 _ = _pPager var _rc int32 // sqlite3.c:51373:7 _ = _rc _pPager = (*XPager)(unsafe.Pointer(_p)) _rc = i32(0) func() int32 { if (*XPager)(unsafe.Pointer(_pPg.X4)) == _pPager { return i32(0) } return func() int32 { 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(17868))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPg.X6) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(55708))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (_pPager.X26) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _6 } r0 = i32(0) return _6: if (_pPager.X18) == 0 || (int32(_pPager.X18)&i32(3)) == i32(0) && (int32(_pPg.X6)&i32(8)) == i32(0) { goto _9 } r0 = i32(0) return _9: *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } _rc = _subjournalPageIfRequired(tls, _pPg) if _rc != i32(0) { goto _11 } _rc = _pagerWalFrames(tls, _pPager, _pPg, uint32(i32(0)), i32(0)) _11: goto _12 _10: if (int32(_pPg.X6)&i32(8)) == 0 && int32(_pPager.X14) != i32(3) { goto _14 } _rc = _syncJournal(tls, _pPager, i32(1)) _14: if _rc != i32(0) { goto _15 } func() int32 { if (int32(_pPg.X6) & i32(8)) == i32(0) { return i32(0) } return func() int32 { 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(80392))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _pager_write_pagelist(tls, _pPager, _pPg) _15: _12: if _rc != i32(0) { goto _18 } _sqlite3PcacheMakeClean(tls, _pPg) _18: r0 = _pager_error(tls, _pPager, _rc) return } var _pagerStressØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_pagerStressØ00__func__Ø000[0], str(80424), 12) } func _pageReinit(tls *crt.TLS, _pData *XPgHdr) { // sqlite3.c:61100:1 var _pPage *XMemPage // sqlite3.c:61101:11 _ = _pPage _pPage = (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, _pData))) func() int32 { if _sqlite3PagerPageRefcount(tls, _pData) > i32(0) { return i32(0) } return func() int32 { 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(80436))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPage.X0) == 0 { goto _2 } func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) if _sqlite3PagerPageRefcount(tls, _pData) <= i32(1) { goto _5 } _btreeInitPage(tls, _pPage) _5: _2: return } var _pageReinitØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_pageReinitØ00__func__Ø000[0], str(80472), 11) } func _sqlite3PagerSetMmapLimit(tls *crt.TLS, _pPager *XPager, _szMmap int64) { // sqlite3.c:50358:1 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(160 /* X42 */))) = _szMmap _pagerFixMaplimit(tls, _pPager) return } func _sqlite3PagerReadFileheader(tls *crt.TLS, _pPager *XPager, _N int32, _pDest *uint8) (r0 int32) { // sqlite3.c:50691:1 var _rc int32 // sqlite3.c:50692:7 _ = _rc _rc = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(_pDest), i32(0), uint64(_N)) func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(18996))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(11056))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_pDest), _N, int64(i32(0))) if _rc != i32(522) { goto _6 } _rc = i32(0) _6: _5: r0 = _rc return } var _sqlite3PagerReadFileheaderØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerReadFileheaderØ00__func__Ø000[0], str(80484), 27) } func _sqlite3PagerSetBusyhandler(tls *crt.TLS, _pPager *XPager, _xBusyHandler func(*crt.TLS, unsafe.Pointer) int32, _pBusyHandlerArg unsafe.Pointer) { // sqlite3.c:50524:1 var _1_ap *unsafe.Pointer // sqlite3.c:50533:10 _ = _1_ap *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(224 /* X53 */))) = _xBusyHandler *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(232 /* X54 */))) = _pBusyHandlerArg if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _1_ap = (*unsafe.Pointer)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(224 /* X53 */))))) func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f unsafe.Pointer }{(*(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ap)) + 8*uintptr(i32(0)))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_xBusyHandler})) { return i32(0) } return func() int32 { 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(80512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ap)) + 8*uintptr(i32(1))))) == _pBusyHandlerArg { return i32(0) } return func() int32 { 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(80552))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(15), (unsafe.Pointer)(_1_ap)) _0: return } var _sqlite3PagerSetBusyhandlerØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerSetBusyhandlerØ00__func__Ø000[0], str(80576), 27) } func _sqlite3PagerIsreadonly(tls *crt.TLS, _pPager *XPager) (r0 uint8) { // sqlite3.c:53438:1 r0 = _pPager.X12 return } func _sqlite3BtreeSchema(tls *crt.TLS, _p *XBtree, _nBytes int32, _xFree func(*crt.TLS, unsafe.Pointer)) (r0 unsafe.Pointer) { // sqlite3.c:68622:1 var _pBt *XBtShared // sqlite3.c:68623:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _sqlite3BtreeEnter(tls, _p) if (_pBt.X19) != nil || _nBytes == 0 { goto _1 } *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(64 /* X19 */))) = _sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(_nBytes)) *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(72 /* X20 */))) = _xFree _1: _sqlite3BtreeLeave(tls, _p) r0 = _pBt.X19 return } func _sqlite3PagerFile(tls *crt.TLS, _pPager *XPager) (r0 *Xsqlite3_file) { // sqlite3.c:53711:1 r0 = (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)) return } func _sqlite3BtreeConnectionCount(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68808:1 r0 = (*XBtShared)(unsafe.Pointer(_p.X1)).X23 return } var _sqlite3VdbeExecØ00vfsFlagsØ006 int32 // sqlite3.c:81740:20 func init() { _sqlite3VdbeExecØ00vfsFlagsØ006 = i32(1054) } func _sqlite3BtreeCreateTable(tls *crt.TLS, _p *XBtree, _piTable *int32, _flags int32) (r0 int32) { // sqlite3.c:67537:1 var _rc int32 // sqlite3.c:67538:7 _ = _rc _sqlite3BtreeEnter(tls, _p) _rc = _btreeCreateTable(tls, _p, _piTable, _flags) _sqlite3BtreeLeave(tls, _p) r0 = _rc return } func _btreeCreateTable(tls *crt.TLS, _p *XBtree, _piTable *int32, _createTabFlags int32) (r0 int32) { // sqlite3.c:67394:1 var _pBt *XBtShared // sqlite3.c:67395:12 _ = _pBt var _pRoot *XMemPage // sqlite3.c:67396:11 _ = _pRoot var _pgnoRoot uint32 // sqlite3.c:67397:8 _ = _pgnoRoot var _rc int32 // sqlite3.c:67398:7 _ = _rc var _ptfFlags int32 // sqlite3.c:67399:7 _ = _ptfFlags var _1_pgnoMove uint32 // sqlite3.c:67412:10 _ = _1_pgnoMove var _1_pPageMove *XMemPage // sqlite3.c:67413:13 _ = _1_pPageMove var _4_eType uint8 // sqlite3.c:67455:10 _ = _4_eType var _4_iPtrPage uint32 // sqlite3.c:67456:12 _ = _4_iPtrPage _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pBt.X8) == i32(2) { return i32(0) } return func() int32 { 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(58756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pBt.X10) & i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(78880))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pBt.X5) == 0 { goto _6 } _invalidateAllOverflowCache(tls, _pBt) _sqlite3BtreeGetMeta(tls, _p, i32(4), &_pgnoRoot) _pgnoRoot += 1 _7: if _pgnoRoot != _ptrmapPageno(tls, _pBt, _pgnoRoot) && _pgnoRoot != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { goto _8 } _pgnoRoot += 1 goto _7 _8: func() int32 { if (_pgnoRoot >= uint32(i32(3))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(80604))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _allocateBtreePage(tls, _pBt, &_1_pPageMove, &_1_pgnoMove, _pgnoRoot, uint8(i32(1))) if _rc == i32(0) { goto _13 } r0 = _rc return _13: if _1_pgnoMove == _pgnoRoot { goto _14 } _4_eType = u8(0) _4_iPtrPage = u32(0) _rc = _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) _releasePage(tls, _1_pPageMove) if _rc == i32(0) { goto _15 } r0 = _rc return _15: _rc = _btreeGetPage(tls, _pBt, _pgnoRoot, &_pRoot, i32(0)) if _rc == i32(0) { goto _16 } r0 = _rc return _16: _rc = _ptrmapGet(tls, _pBt, _pgnoRoot, &_4_eType, &_4_iPtrPage) if int32(_4_eType) != i32(1) && int32(_4_eType) != i32(2) { goto _18 } _rc = _sqlite3CorruptError(tls, i32(67474)) _18: if _rc == i32(0) { goto _19 } _releasePage(tls, _pRoot) r0 = _rc return _19: func() int32 { if int32(_4_eType) != i32(1) { return i32(0) } return func() int32 { 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(80632))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_4_eType) != i32(2) { return i32(0) } return func() int32 { 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(80656))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _relocatePage(tls, _pBt, _pRoot, _4_eType, _4_iPtrPage, _1_pgnoMove, i32(0)) _releasePage(tls, _pRoot) if _rc == i32(0) { goto _24 } r0 = _rc return _24: _rc = _btreeGetPage(tls, _pBt, _pgnoRoot, &_pRoot, i32(0)) if _rc == i32(0) { goto _25 } r0 = _rc return _25: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) if _rc == i32(0) { goto _26 } _releasePage(tls, _pRoot) r0 = _rc return _26: goto _27 _14: _pRoot = _1_pPageMove _27: _ptrmapPut(tls, _pBt, _pgnoRoot, uint8(i32(1)), uint32(i32(0)), &_rc) if _rc == 0 { goto _28 } _releasePage(tls, _pRoot) r0 = _rc return _28: func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) != 0 { return i32(0) } return func() int32 { 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(80680))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeUpdateMeta(tls, _p, i32(4), _pgnoRoot) if func() int32 { if _rc != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _33 } _releasePage(tls, _pRoot) r0 = _rc return _33: goto _34 _6: _rc = _allocateBtreePage(tls, _pBt, &_pRoot, &_pgnoRoot, uint32(i32(1)), uint8(i32(0))) if _rc == 0 { goto _35 } r0 = _rc return _35: _34: func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) != 0 { return i32(0) } return func() int32 { 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(80728))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_createTabFlags & i32(1)) == 0 { goto _38 } _ptfFlags = i32(13) goto _39 _38: _ptfFlags = i32(10) _39: _zeroPage(tls, _pRoot, _ptfFlags) _sqlite3PagerUnref(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) func() int32 { if ((int32(_pBt.X4) & i32(4)) == i32(0)) || (_pgnoRoot == uint32(i32(2))) { return i32(0) } return func() int32 { 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(80768))) crt.X__builtin_abort(tls) return i32(0) }() }() *_piTable = int32(_pgnoRoot) r0 = i32(0) return } var _btreeCreateTableØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_btreeCreateTableØ00__func__Ø000[0], str(80820), 17) } func _sqlite3VdbeSorterInit(tls *crt.TLS, _db *Xsqlite3, _nField int32, _pCsr *XVdbeCursor) (r0 int32) { // sqlite3.c:86776:1 var _pgsz int32 // sqlite3.c:86781:7 _ = _pgsz var _i int32 // sqlite3.c:86782:7 _ = _i var _pSorter *XVdbeSorter // sqlite3.c:86783:14 _ = _pSorter var _pKeyInfo *XKeyInfo // sqlite3.c:86784:11 _ = _pKeyInfo var _szKeyInfo int32 // sqlite3.c:86785:7 _ = _szKeyInfo var _sz int32 // sqlite3.c:86786:7 _ = _sz var _rc int32 // sqlite3.c:86787:7 _ = _rc var _nWorker int32 // sqlite3.c:86791:7 _ = _nWorker var _6_pTask *XSortSubtask // sqlite3.c:86834:19 _ = _6_pTask var _7_mxCache int64 // sqlite3.c:86839:11 _ = _7_mxCache var _7_szPma uint32 // sqlite3.c:86840:11 _ = _7_szPma _rc = i32(0) if _sqlite3TempInMemory(tls, _db) == 0 && (_sqlite3Config.X1) != i32(0) { goto _1 } _nWorker = i32(0) goto _2 _1: _nWorker = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(11)))) _2: func() int32 { if ((*XKeyInfo)(unsafe.Pointer(_pCsr.X15)) != nil) && ((*XBtree)(unsafe.Pointer(_pCsr.X8)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(80840))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _szKeyInfo = int32(u64(40) + (uint64(int32((*XKeyInfo)(unsafe.Pointer(_pCsr.X15)).X2)-i32(1)) * u64(8))) _sz = int32(u64(200) + (uint64(_nWorker) * u64(104))) _pSorter = (*XVdbeSorter)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_sz+_szKeyInfo)))) *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) = _pSorter if _pSorter != (*XVdbeSorter)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } _rc = _sqlite3NomemError(tls, i32(86819)) goto _9 _8: *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(40 /* X7 */))))) = store5669397(&_pKeyInfo, (*XKeyInfo)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_pSorter))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_sz)))))))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_pKeyInfo), _pCsr.X15, uint64(_szKeyInfo)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo)) + uintptr(16 /* X4 */))))) = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) if _nField == 0 || _nWorker != i32(0) { goto _11 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo)) + uintptr(8 /* X3 */))) *p = uint16(int32(*p) + (int32(_pKeyInfo.X2) - _nField)) sink4530 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo)) + uintptr(6 /* X2 */))) = uint16(_nField) _11: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(12 /* X3 */))) = store961(&_pgsz, _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(91 /* X15 */))) = uint8(_nWorker + i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(90 /* X14 */))) = uint8(_nWorker - i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(89 /* X13 */))) = uint8(bool2int(int32(_pSorter.X15) > i32(1))) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(32 /* X6 */))))) = _db _i = i32(0) _12: if _i >= int32(_pSorter.X15) { goto _15 } _6_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(_i))) *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pTask)) + uintptr(16 /* X2 */))))) = _pSorter _i += 1 goto _12 _15: if _sqlite3TempInMemory(tls, _db) != 0 { goto _16 } _7_szPma = _sqlite3Config.X27 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(0 /* X0 */))) = int32(_7_szPma * uint32(_pgsz)) _7_mxCache = int64((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(i32(0)))).X4)).X10) if _7_mxCache >= int64(i32(0)) { goto _17 } _7_mxCache = _7_mxCache * int64(i32(-1024)) goto _18 _17: _7_mxCache = _7_mxCache * int64(_pgsz) _18: _7_mxCache = func() int64 { if _7_mxCache < int64(i32(536870912)) { return _7_mxCache } return int64(i32(536870912)) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(4 /* X1 */))) = func() int32 { if (_pSorter.X0) > int32(_7_mxCache) { return (_pSorter.X0) } return int32(_7_mxCache) }() if unsafe.Pointer(_sqlite3Config.X19) != (unsafe.Pointer)(uintptr(i32(0))) { goto _23 } func() int32 { if (_pSorter.X10) == i32(0) { return i32(0) } return func() int32 { 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(80872))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(84 /* X11 */))) = _pgsz *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(8 /* X1 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_pgsz)))) if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) != nil { goto _26 } _rc = _sqlite3NomemError(tls, i32(86862)) _26: _23: _16: 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(32 /* X6 */))))) + 8*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(32 /* X6 */))))) + 8*uintptr(i32(0))))) != (*XCollSeq)(unsafe.Pointer(_db.X2)) { goto _29 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(92 /* X16 */))) = uint8(i32(3)) _29: _9: r0 = _rc return } var _sqlite3VdbeSorterInitØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterInitØ00__func__Ø000[0], str(80892), 22) } func _sqlite3BtreeCursorHasHint(tls *crt.TLS, _pCsr *XBtCursor, _mask uint32) (r0 int32) { // sqlite3.c:68779:1 r0 = bool2int((uint32(_pCsr.X13) & _mask) != uint32(i32(0))) return } func _sqlite3BtreePrevious(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64557:1 func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pRes != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(75616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*_pRes) == i32(0)) || ((*_pRes) == i32(1)) { return i32(0) } return func() int32 { 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(75624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pCur.X9) == i32(0)) || (int32(_pCur.X12) != i32(1)) { return i32(0) } return func() int32 { 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(75648))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pRes = i32(0) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-15)) sink4537 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(22 /* X4 */))) = uint16(i32(0)) if int32(_pCur.X12) == i32(1) && int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) != i32(0) && int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X5) != i32(0) { goto _12 } r0 = _btreePrevious(tls, _pCur, _pRes) return _12: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14))) -= 1 r0 = i32(0) return } var _sqlite3BtreePreviousØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreePreviousØ00__func__Ø000[0], str(80916), 21) } func _btreePrevious(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64498:1 var _rc int32 // sqlite3.c:64499:7 _ = _rc var _pPage *XMemPage // sqlite3.c:64500:11 _ = _pPage var _6_idx int32 // sqlite3.c:64531:9 _ = _6_idx func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pRes != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(75616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*_pRes) == i32(0) { return i32(0) } return func() int32 { 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(75716))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pCur.X9) == i32(0)) || (int32(_pCur.X12) != i32(1)) { return i32(0) } return func() int32 { 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(75648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pCur.X10) & i32(14)) == i32(0) { return i32(0) } return func() int32 { 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(80940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X4) == i32(0) { return i32(0) } return func() int32 { 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(81008))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCur.X12) == i32(1) { goto _13 } _rc = func() int32 { if int32(_pCur.X12) >= i32(3) { return _btreeRestoreCursorPosition(tls, _pCur) } return i32(0) }() if _rc == i32(0) { goto _16 } r0 = _rc return _16: if i32(0) != int32(_pCur.X12) { goto _17 } *_pRes = i32(1) r0 = i32(0) return _17: if (_pCur.X9) == 0 { goto _18 } func() int32 { if (int32(_pCur.X12) == i32(1)) || (int32(_pCur.X12) == i32(2)) { return i32(0) } return func() int32 { 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(75728))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(1)) if (_pCur.X9) >= i32(0) { goto _22 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(0) r0 = i32(0) return _22: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(0) _18: _13: _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) func() int32 { if (_pPage.X0) != 0 { return i32(0) } return func() int32 { 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(75492))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPage.X5) != 0 { goto _25 } _6_idx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) _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)))))<= int32(_pCur.X14) { goto _9 } func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_1_ii)))) == int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_1_ii)))).X14) { return i32(0) } return func() int32 { 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(81140))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_ii += 1 goto _6 _9: func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) == (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) - i32(1)) { return i32(0) } return func() int32 { 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(81184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X5) != 0 { return i32(0) } return func() int32 { 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(81248))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return _5: _rc = _moveToRoot(tls, _pCur) if _rc != i32(0) { goto _16 } if i32(0) != int32(_pCur.X12) { goto _17 } func() int32 { if ((_pCur.X7) == uint32(i32(0))) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) == i32(0)) { return i32(0) } return func() int32 { 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(75080))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pRes = i32(1) goto _21 _17: func() int32 { if int32(_pCur.X12) == i32(1) { return i32(0) } return func() int32 { 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(9180))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pRes = i32(0) _rc = _moveToRightmost(tls, _pCur) if _rc != i32(0) { goto _24 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(8)) sink4537 = *p } goto _25 _24: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-9)) sink4537 = *p } _25: _21: _16: r0 = _rc return } var _sqlite3BtreeLastØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeLastØ00__func__Ø000[0], str(81280), 17) } func _sqlite3BtreeInsert(tls *crt.TLS, _pCur *XBtCursor, _pX *XBtreePayload, _flags int32, _seekResult int32) (r0 int32) { // sqlite3.c:67015:1 var _rc int32 // sqlite3.c:67021:7 _ = _rc var _loc int32 // sqlite3.c:67022:7 _ = _loc var _szNew int32 // sqlite3.c:67023:7 _ = _szNew var _idx int32 // sqlite3.c:67024:7 _ = _idx var _pPage *XMemPage // sqlite3.c:67025:11 _ = _pPage var _p *XBtree // sqlite3.c:67026:9 _ = _p var _pBt *XBtShared // sqlite3.c:67027:12 _ = _pBt var _oldCell *uint8 // sqlite3.c:67028:17 _ = _oldCell var _newCell *uint8 // sqlite3.c:67029:17 _ = _newCell var _8_r XUnpackedRecord // sqlite3.c:67092:22 _ = _8_r var _10_info XCellInfo // sqlite3.c:67125:14 _ = _10_info _loc = _seekResult _szNew = i32(0) _p = (*XBtree)(unsafe.Pointer(_pCur.X0)) _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _newCell = nil func() int32 { if (_flags & i32(10)) == _flags { return i32(0) } return func() int32 { 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(81300))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCur.X12) != i32(4) { goto _2 } func() int32 { if (_pCur.X9) != i32(0) { return i32(0) } return func() int32 { 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(77856))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pCur.X9 return _2: func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((int32(_pCur.X10) & i32(1)) != i32(0)) && (int32(_pBt.X8) == i32(2))) && ((int32(_pBt.X10) & i32(1)) == i32(0)) { return i32(0) } return func() int32 { 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(81352))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _hasSharedCacheTableLock(tls, _p, _pCur.X7, bool2int((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))), i32(2)) != 0 { return i32(0) } return func() int32 { 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(81464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (unsafe.Pointer(_pX.X0) == (unsafe.Pointer)(uintptr(i32(0)))) == ((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(81532))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pCur.X10) & i32(32)) == 0 { goto _15 } _rc = _saveAllCursors(tls, _pBt, _pCur.X7, _pCur) if _rc == 0 { goto _16 } r0 = _rc return _16: _15: if (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } func() int32 { if unsafe.Pointer(_pX.X0) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(81568))) crt.X__builtin_abort(tls) return i32(0) }() }() _invalidateIncrblobCursors(tls, _p, _pX.X1, i32(0)) func() int32 { if ((_flags & i32(2)) == i32(0)) || (((int32(_pCur.X10) & i32(2)) != i32(0)) && ((_pX.X1) == ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(32 /* X4 */))).X0))) { return i32(0) } return func() int32 { 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(81580))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pCur.X10)&i32(2)) == i32(0) || (_pX.X1) != ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X0) { goto _25 } _loc = i32(0) goto _26 _25: if (int32(_pCur.X10)&i32(2)) == i32(0) || (_pX.X1) <= int64(i32(0)) || ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))).X0) != ((_pX.X1)-int64(i32(1))) { goto _29 } _loc = i32(-1) goto _30 _29: if _loc != i32(0) { goto _31 } _rc = _sqlite3BtreeMovetoUnpacked(tls, _pCur, (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), _pX.X1, bool2int(_flags != i32(0)), &_loc) if _rc == 0 { goto _32 } r0 = _rc return _32: _31: _30: _26: goto _33 _17: if _loc != i32(0) || (_flags&i32(2)) != i32(0) { goto _35 } if (_pX.X4) == 0 { goto _36 } *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(8 /* X1 */))))) = (*XMem)(unsafe.Pointer(_pX.X3)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(16 /* X2 */))) = _pX.X4 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(18 /* X3 */))) = int8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(19 /* X4 */))) = uint8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(20 /* X5 */))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(21 /* X6 */))) = int8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(22 /* X7 */))) = uint8(i32(0)) _rc = _sqlite3BtreeMovetoUnpacked(tls, _pCur, &_8_r, int64(i32(0)), bool2int(_flags != i32(0)), &_loc) goto _37 _36: _rc = _btreeMoveto(tls, _pCur, _pX.X0, _pX.X1, bool2int(_flags != i32(0)), &_loc) _37: if _rc == 0 { goto _38 } r0 = _rc return _38: _35: _33: func() int32 { if (int32(_pCur.X12) == i32(1)) || ((int32(_pCur.X12) == i32(0)) && _loc != 0) { return i32(0) } return func() int32 { 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(81684))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))) func() int32 { if ((_pPage.X2) != 0) || ((_pX.X1) >= int64(i32(0))) { return i32(0) } return func() int32 { 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(81752))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pPage.X5) != 0) || ((_pPage.X2) == 0) { return i32(0) } return func() int32 { 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(81784))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPage.X0) != 0 { return i32(0) } return func() int32 { 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(75492))) crt.X__builtin_abort(tls) return i32(0) }() }() _newCell = _pBt.X27 func() int32 { if _newCell != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(81816))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _fillInCell(tls, _pPage, _newCell, _pX, &_szNew) if _rc == 0 { goto _53 } goto _end_insert _53: func() int32 { if _szNew == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pPage.X24)})))(tls, _pPage, _newCell)) { return i32(0) } return func() int32 { 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(81828))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _szNew <= int32((_pBt.X15)-uint32(i32(8))) { return i32(0) } return func() int32 { 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(81868))) crt.X__builtin_abort(tls) return i32(0) }() }() _idx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) if _loc != i32(0) { goto _58 } func() int32 { if _idx < int32(_pPage.X14) { return i32(0) } return func() int32 { 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(81896))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) if _rc == 0 { goto _61 } goto _end_insert _61: _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)))))<= i32(0) || int32(_pPage.X14) <= i32(0) { goto _71 } func() int32 { if (_pPage.X5) != 0 { return i32(0) } return func() int32 { 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(81916))) crt.X__builtin_abort(tls) return i32(0) }() }() _idx = int32(preInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */)))))+2*uintptr(_pCur.X14))), uint16(1))) goto _74 _71: func() int32 { if (_pPage.X5) != 0 { return i32(0) } return func() int32 { 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(81916))) crt.X__builtin_abort(tls) return i32(0) }() }() _74: _69: _insertCell(tls, _pPage, _idx, _newCell, _szNew, (*uint8)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(0)), &_rc) func() int32 { if (int32(_pPage.X9) == i32(0)) || (_rc == i32(0)) { return i32(0) } return func() int32 { 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(81928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_rc != i32(0)) || (int32(_pPage.X14) > i32(0))) || (int32(_pPage.X9) > i32(0)) { return i32(0) } return func() int32 { 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(81968))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(32 /* X4 */))))) + uintptr(22 /* X4 */))) = uint16(i32(0)) if (_pPage.X9) == 0 { goto _84 } func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) & i32(-3)) sink4537 = *p } _rc = _balance(tls, _pCur) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))))) + uintptr(12 /* X9 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(0)) if (_flags&i32(2)) == 0 || _rc != i32(0) { goto _88 } _rc = _moveToRoot(tls, _pCur) if (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == nil { goto _89 } func() int32 { if unsafe.Pointer(_pCur.X6) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(82024))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X6 */))) = _sqlite3Malloc(tls, uint64(_pX.X1)) if unsafe.Pointer(_pCur.X6) != (unsafe.Pointer)(uintptr(i32(0))) { goto _92 } _rc = i32(7) goto _93 _92: crt.Xmemcpy(tls, _pCur.X6, _pX.X0, uint64(_pX.X1)) _93: _89: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(3)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X5 */))) = _pX.X1 _88: _84: func() int32 { if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X9) == i32(0) { return i32(0) } return func() int32 { 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(82040))) crt.X__builtin_abort(tls) return i32(0) }() }() _end_insert: r0 = _rc return } var _sqlite3BtreeInsertØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeInsertØ00__func__Ø000[0], str(82080), 19) } func _invalidateIncrblobCursors(tls *crt.TLS, _pBtree *XBtree, _iRow int64, _isClearTable int32) { // sqlite3.c:59458:1 var _p *XBtCursor // sqlite3.c:59463:12 _ = _p if int32(_pBtree.X5) != i32(0) { goto _0 } return _0: func() int32 { if _sqlite3BtreeHoldsMutex(tls, _pBtree) != 0 { return i32(0) } return func() int32 { 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(82100))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBtree)) + uintptr(19 /* X5 */))) = uint8(i32(0)) _p = (*XBtCursor)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X2)) _3: if _p == nil { goto _6 } if (int32(_p.X10) & i32(16)) == i32(0) { goto _7 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBtree)) + uintptr(19 /* X5 */))) = uint8(i32(1)) if _isClearTable == 0 && ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X4 */))).X0) != _iRow { goto _9 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(86 /* X12 */))) = uint8(i32(0)) _9: _7: _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) goto _3 _6: return } var _invalidateIncrblobCursorsØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_invalidateIncrblobCursorsØ00__func__Ø000[0], str(82132), 26) } func _fillInCell(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pX *XBtreePayload, _pnSize *int32) (r0 int32) { // sqlite3.c:65137:1 var _nPayload int32 // sqlite3.c:65143:7 _ = _nPayload var _pSrc *uint8 // sqlite3.c:65144:12 _ = _pSrc var _nSrc int32 // sqlite3.c:65145:7 _ = _nSrc var _n int32 // sqlite3.c:65145:13 _ = _n var _rc int32 // sqlite3.c:65145:16 _ = _rc var _spaceLeft int32 // sqlite3.c:65146:7 _ = _spaceLeft var _pOvfl *XMemPage // sqlite3.c:65147:11 _ = _pOvfl var _pToRelease *XMemPage // sqlite3.c:65148:11 _ = _pToRelease var _pPrior *uint8 // sqlite3.c:65149:17 _ = _pPrior var _pPayload *uint8 // sqlite3.c:65150:17 _ = _pPayload var _pBt *XBtShared // sqlite3.c:65151:12 _ = _pBt var _pgnoOvfl uint32 // sqlite3.c:65152:8 _ = _pgnoOvfl var _nHeader int32 // sqlite3.c:65153:7 _ = _nHeader var _4_mn int32 // sqlite3.c:65188:9 _ = _4_mn var _5_info XCellInfo // sqlite3.c:65213:14 _ = _5_info var _7_pgnoPtrmap uint32 // sqlite3.c:65226:12 _ = _7_pgnoPtrmap var _10_eType uint8 // sqlite3.c:65248:12 _ = _10_eType _pOvfl = nil _pToRelease = nil _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) _pgnoOvfl = u32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(82160))) crt.X__builtin_abort(tls) return i32(0) }() }() _nHeader = int32(_pPage.X7) if (_pPage.X2) == 0 { goto _6 } _nPayload = (_pX.X5) + (_pX.X6) _pSrc = (*uint8)(unsafe.Pointer(_pX.X2)) _nSrc = _pX.X5 func() int32 { if (_pPage.X3) != 0 { return i32(0) } return func() int32 { 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(55212))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_nHeader *p = (*p) + int32(uint8(func() int32 { if uint32(_nPayload) < u32(128) { return func() int32 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader))) = uint8(_nPayload) return i32(1) }() } return _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(_nHeader))), uint64(_nPayload)) }())) sink961 = *p } { p := &_nHeader *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(8 /* X1 */)))))) sink961 = *p } goto _11 _6: func() int32 { if ((_pX.X1) <= int64(i32(2147483647))) && ((_pX.X0) != (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(82264))) crt.X__builtin_abort(tls) return i32(0) }() }() _nSrc = store961(&_nPayload, int32(_pX.X1)) _pSrc = (*uint8)(unsafe.Pointer(_pX.X0)) { p := &_nHeader *p = (*p) + int32(uint8(func() int32 { if uint32(_nPayload) < u32(128) { return func() int32 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader))) = uint8(_nPayload) return i32(1) }() } return _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(_nHeader))), uint64(_nPayload)) }())) sink961 = *p } _11: if _nPayload > int32(_pPage.X10) { goto _17 } _n = _nHeader + _nPayload if _n >= i32(4) { goto _18 } _n = i32(4) _18: *_pnSize = _n _spaceLeft = _nPayload _pPrior = _pCell goto _19 _17: _4_mn = int32(_pPage.X11) _n = int32(uint32(_4_mn) + (uint32(_nPayload-_4_mn) % (((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4))))) if _n <= int32(_pPage.X10) { goto _20 } _n = _4_mn _20: _spaceLeft = _n *_pnSize = (_n + _nHeader) + i32(4) _pPrior = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader+_n))) _19: _pPayload = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader))) (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_pPage.X25)})))(tls, _pPage, _pCell, &_5_info) func() int32 { if _nHeader == int32(int64((uintptr(unsafe.Pointer(_5_info.X1))-uintptr(unsafe.Pointer(_pCell)))/1)) { return i32(0) } return func() int32 { 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(82300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_5_info.X0) == (_pX.X1) { return i32(0) } return func() int32 { 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(82340))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*_pnSize) == int32(_5_info.X4) { return i32(0) } return func() int32 { 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(82360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _spaceLeft == int32(_5_info.X3) { return i32(0) } return func() int32 { 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(82384))) crt.X__builtin_abort(tls) return i32(0) }() }() _29: if _nPayload <= i32(0) { goto _30 } if _spaceLeft != i32(0) { goto _31 } _7_pgnoPtrmap = _pgnoOvfl if (_pBt.X5) == 0 { goto _32 } _33: _pgnoOvfl += 1 if (_ptrmapPageno(tls, _pBt, _pgnoOvfl) == _pgnoOvfl) || (_pgnoOvfl == ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1)))) { goto _33 } _32: _rc = _allocateBtreePage(tls, _pBt, &_pOvfl, &_pgnoOvfl, _pgnoOvfl, uint8(i32(0))) if (_pBt.X5) == 0 || _rc != i32(0) { goto _36 } _10_eType = uint8(func() int32 { if _7_pgnoPtrmap != 0 { return i32(4) } return i32(3) }()) _ptrmapPut(tls, _pBt, _pgnoOvfl, _10_eType, _7_pgnoPtrmap, &_rc) if _rc == 0 { goto _39 } _releasePage(tls, _pOvfl) _39: _36: if _rc == 0 { goto _40 } _releasePage(tls, _pToRelease) r0 = _rc return _40: func() int32 { if (_pToRelease == (*XMemPage)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pToRelease.X23))) != 0 { return i32(0) } return func() int32 { 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(82412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(82476))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3Put4byte(tls, _pPrior, _pgnoOvfl) _releasePage(tls, _pToRelease) _pToRelease = _pOvfl _pPrior = _pOvfl.X19 _sqlite3Put4byte(tls, _pPrior, uint32(i32(0))) _pPayload = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOvfl.X19)) + 1*uintptr(i32(4)))) _spaceLeft = int32((_pBt.X16) - uint32(i32(4))) _31: _n = _nPayload if _n <= _spaceLeft { goto _48 } _n = _spaceLeft _48: func() int32 { if (_pToRelease == (*XMemPage)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pToRelease.X23))) != 0 { return i32(0) } return func() int32 { 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(82412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(82580))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nSrc <= i32(0) { goto _56 } if _n <= _nSrc { goto _57 } _n = _nSrc _57: func() int32 { if _pSrc != nil { return i32(0) } return func() int32 { 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(82688))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)(_pPayload), (unsafe.Pointer)(_pSrc), uint64(_n)) goto _60 _56: crt.Xmemset(tls, (unsafe.Pointer)(_pPayload), i32(0), uint64(_n)) _60: { p := &_nPayload *p = (*p) - _n sink961 = *p } { p := &_pPayload *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink4543 = *p } { p := &_pSrc *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink4543 = *p } { p := &_nSrc *p = (*p) - _n sink961 = *p } { p := &_spaceLeft *p = (*p) - _n sink961 = *p } goto _29 _30: _releasePage(tls, _pToRelease) r0 = i32(0) return } var _fillInCellØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_fillInCellØ00__func__Ø000[0], str(82696), 11) } func _clearCell(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) (r0 int32) { // sqlite3.c:65058:1 var _pBt *XBtShared // sqlite3.c:65063:12 _ = _pBt var _ovflPgno uint32 // sqlite3.c:65064:8 _ = _ovflPgno var _rc int32 // sqlite3.c:65065:7 _ = _rc var _nOvfl int32 // sqlite3.c:65066:7 _ = _nOvfl var _ovflPageSize uint32 // sqlite3.c:65067:7 _ = _ovflPageSize var _3_iNext uint32 // sqlite3.c:65085:10 _ = _3_iNext var _3_pOvfl *XMemPage // sqlite3.c:65086:13 _ = _3_pOvfl _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_pPage.X25)})))(tls, _pPage, _pCell, _pInfo) if uint32(_pInfo.X3) != (_pInfo.X2) { goto _2 } r0 = i32(0) return _2: 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))))))))) { goto _3 } r0 = _sqlite3CorruptError(tls, i32(65075)) return _3: _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))))))))) func() int32 { if (_pBt.X16) > uint32(i32(4)) { return i32(0) } return func() int32 { 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(82708))) crt.X__builtin_abort(tls) return i32(0) }() }() _ovflPageSize = (_pBt.X16) - uint32(i32(4)) _nOvfl = int32(((((_pInfo.X2) - uint32(_pInfo.X3)) + _ovflPageSize) - uint32(i32(1))) / _ovflPageSize) func() int32 { if (_nOvfl > i32(0)) || (((_sqlite3Config.X6) == i32(0)) && (((_pInfo.X2) + _ovflPageSize) < _ovflPageSize)) { return i32(0) } return func() int32 { 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(82728))) crt.X__builtin_abort(tls) return i32(0) }() }() _10: if postInc961(&_nOvfl, int32(-1)) == 0 { goto _11 } _3_iNext = uint32(i32(0)) _3_pOvfl = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) if _ovflPgno >= uint32(i32(2)) && _ovflPgno <= _btreePagecount(tls, _pBt) { goto _13 } r0 = _sqlite3CorruptError(tls, i32(65091)) return _13: if _nOvfl == 0 { goto _14 } _rc = _getOverflowPage(tls, _pBt, _ovflPgno, &_3_pOvfl, &_3_iNext) if _rc == 0 { goto _15 } r0 = _rc return _15: _14: if _3_pOvfl == nil && store5664445(&_3_pOvfl, _btreePageLookup(tls, _pBt, _ovflPgno)) == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3PagerPageRefcount(tls, (*XPgHdr)(unsafe.Pointer(_3_pOvfl.X23))) == i32(1) { goto _18 } _rc = _sqlite3CorruptError(tls, i32(65111)) goto _19 _18: _rc = _freePage2(tls, _pBt, _3_pOvfl, _ovflPgno) _19: if _3_pOvfl == nil { goto _20 } _sqlite3PagerUnref(tls, (*XPgHdr)(unsafe.Pointer(_3_pOvfl.X23))) _20: if _rc == 0 { goto _21 } r0 = _rc return _21: _ovflPgno = _3_iNext goto _10 _11: r0 = i32(0) return } var _clearCellØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_clearCellØ00__func__Ø000[0], str(82804), 10) } func _btreePageLookup(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 *XMemPage) { // sqlite3.c:60959:1 var _pDbPage *XPgHdr // sqlite3.c:60960:10 _ = _pDbPage func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() _pDbPage = _sqlite3PagerLookup(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgno) if _pDbPage == nil { goto _2 } r0 = _btreePageFromDbPage(tls, _pDbPage, _pgno, _pBt) return _2: r0 = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) return } var _btreePageLookupØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_btreePageLookupØ00__func__Ø000[0], str(82816), 16) } func _freePage2(tls *crt.TLS, _pBt *XBtShared, _pMemPage *XMemPage, _iPage uint32) (r0 int32) { // sqlite3.c:64919:1 var _pTrunk *XMemPage // sqlite3.c:64920:11 _ = _pTrunk var _iTrunk uint32 // sqlite3.c:64921:8 _ = _iTrunk var _pPage1 *XMemPage // sqlite3.c:64922:11 _ = _pPage1 var _pPage *XMemPage // sqlite3.c:64923:11 _ = _pPage var _rc int32 // sqlite3.c:64924:7 _ = _rc var _nFree int32 // sqlite3.c:64925:7 _ = _nFree var _6_nLeaf uint32 // sqlite3.c:64973:9 _ = _6_nLeaf _pTrunk = nil _iTrunk = u32(0) _pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_sqlite3Config.X6) == i32(0)) || (_iPage > uint32(i32(1))) { return i32(0) } return func() int32 { 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(82832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pMemPage == nil) || ((_pMemPage.X4) == _iPage) { return i32(0) } return func() int32 { 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(82856))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iPage >= uint32(i32(2)) { goto _8 } r0 = _sqlite3CorruptError(tls, i32(64931)) return _8: if _pMemPage == nil { goto _9 } _pPage = _pMemPage _sqlite3PagerRef(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) goto _10 _9: _pPage = _btreePageLookup(tls, _pBt, _iPage) _10: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage1.X23))) if _rc == 0 { goto _11 } goto _freepage_out _11: _nFree = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36)))))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36)))), uint32(_nFree+i32(1))) if (int32(_pBt.X10) & i32(4)) == 0 { goto _12 } 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) { goto _15 } goto _freepage_out _15: crt.Xmemset(tls, (unsafe.Pointer)(_pPage.X19), i32(0), uint64((*XBtShared)(unsafe.Pointer(_pPage.X18)).X15)) _12: if (_pBt.X5) == 0 { goto _16 } _ptrmapPut(tls, _pBt, _iPage, uint8(i32(2)), uint32(i32(0)), &_rc) if _rc == 0 { goto _17 } goto _freepage_out _17: _16: if _nFree == i32(0) { goto _18 } _iTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32))))) _rc = _btreeGetPage(tls, _pBt, _iTrunk, &_pTrunk, i32(0)) if _rc == i32(0) { goto _19 } goto _freepage_out _19: _6_nLeaf = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(4))))) func() int32 { if (_pBt.X16) > uint32(i32(32)) { return i32(0) } return func() int32 { 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(82892))) crt.X__builtin_abort(tls) return i32(0) }() }() if _6_nLeaf <= (((_pBt.X16) / uint32(i32(4))) - uint32(i32(2))) { goto _22 } _rc = _sqlite3CorruptError(tls, i32(64984)) goto _freepage_out _22: if _6_nLeaf >= (((_pBt.X16) / uint32(i32(4))) - uint32(i32(8))) { goto _23 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) if _rc != i32(0) { goto _24 } _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(4)))), _6_nLeaf+uint32(i32(1))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(uint32(i32(8))+(_6_nLeaf*uint32(i32(4)))))), _iPage) if _pPage == nil || (int32(_pBt.X10)&i32(4)) != i32(0) { goto _26 } _sqlite3PagerDontWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) _26: _rc = _btreeSetHasContent(tls, _pBt, _iPage) _24: goto _freepage_out _23: _18: if _pPage != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) == store961(&_rc, _btreeGetPage(tls, _pBt, _iPage, &_pPage, i32(0))) { goto _28 } goto _freepage_out _28: _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) if _rc == i32(0) { goto _29 } goto _freepage_out _29: _sqlite3Put4byte(tls, _pPage.X19, _iTrunk) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(i32(4)))), uint32(i32(0))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32)))), _iPage) _freepage_out: if _pPage == nil { goto _30 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) _30: _releasePage(tls, _pPage) _releasePage(tls, _pTrunk) r0 = _rc return } var _freePage2Ø00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_freePage2Ø00__func__Ø000[0], str(82912), 10) } func _sqlite3PagerRef(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:51007:1 _sqlite3PcacheRef(tls, _pPg) return } func _sqlite3PcacheRef(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44607:1 func() int32 { if int32(_p.X7) > i32(0) { return i32(0) } return func() int32 { 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(12832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PcachePageSanity(tls, _p) != 0 { return i32(0) } return func() int32 { 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(12844))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(46 /* X7 */))) += 1 *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(24 /* X3 */))) += 1 return } var _sqlite3PcacheRefØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheRefØ00__func__Ø000[0], str(82924), 17) } func _sqlite3PagerDontWrite(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:52960:1 var _pPager *XPager // sqlite3.c:52961:9 _ = _pPager _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) if (_pPager.X10) != 0 || (int32(_pPg.X6)&i32(2)) == 0 || (_pPager.X38) != i32(0) { goto _2 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) *p = uint16(int32(*p) & i32(-5)) sink4530 = *p } _2: return } func _btreeSetHasContent(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 int32) { // sqlite3.c:59517:1 var _rc int32 // sqlite3.c:59518:7 _ = _rc _rc = i32(0) if (*XBitvec)(unsafe.Pointer(_pBt.X22)) != nil { goto _0 } func() int32 { if _pgno <= (_pBt.X18) { return i32(0) } return func() int32 { 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(82944))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(88 /* X22 */))))) = _sqlite3BitvecCreate(tls, _pBt.X18) if (*XBitvec)(unsafe.Pointer(_pBt.X22)) != nil { goto _3 } _rc = _sqlite3NomemError(tls, i32(59523)) _3: _0: if _rc != i32(0) || _pgno > _sqlite3BitvecSize(tls, (*XBitvec)(unsafe.Pointer(_pBt.X22))) { goto _5 } _rc = _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_pBt.X22)), _pgno) _5: r0 = _rc return } var _btreeSetHasContentØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_btreeSetHasContentØ00__func__Ø000[0], str(82964), 19) } func _dropCell(tls *crt.TLS, _pPage *XMemPage, _idx int32, _sz int32, _pRC *int32) { // sqlite3.c:65314:1 var _pc uint32 // sqlite3.c:65315:7 _ = _pc var _data *uint8 // sqlite3.c:65316:6 _ = _data var _ptr *uint8 // sqlite3.c:65317:6 _ = _ptr var _rc int32 // sqlite3.c:65318:7 _ = _rc var _hdr int32 // sqlite3.c:65319:7 _ = _hdr if (*_pRC) == 0 { goto _0 } return _0: func() int32 { if (_idx >= i32(0)) && (_idx < int32(_pPage.X14)) { return i32(0) } return func() int32 { 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(82984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_sqlite3Config.X6) == i32(0)) || (_sz == int32(_cellSize(tls, _pPage, _idx))) { return i32(0) } return func() int32 { 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(83012))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() _data = _pPage.X19 _ptr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21)) + 1*uintptr(i32(2)*_idx))) _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)))))) _hdr = int32(_pPage.X6) 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))) return _data }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) *(*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))) goto _15 _14: crt.Xmemmove(tls, (unsafe.Pointer)(_ptr), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_ptr))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2))))))))), uint64(i32(2)*(int32(_pPage.X14)-_idx))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))) = uint8(_pPage.X14) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) *p = uint16(int32(*p) + i32(2)) sink4530 = *p } _15: return } var _dropCellØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_dropCellØ00__func__Ø000[0], str(83052), 9) } func _cellSize(tls *crt.TLS, _pPage *XMemPage, _iCell int32) (r0 uint16) { // sqlite3.c:60253:1 r0 = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_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)))))<= ((int32(_pPage.X6) + i32(6)) + int32(_pPage.X7))) { return i32(0) } return func() int32 { 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(83064))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_sqlite3Config.X6) == i32(0)) || (_iEnd <= ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16)) { return i32(0) } return func() int32 { 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(83128))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_iSize) >= i32(4) { return i32(0) } return func() int32 { 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(83176))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if uint32(_iStart) <= _iLast { return i32(0) } return func() int32 { 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(83188))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X10) & i32(4)) == 0 { goto _16 } crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iStart)))), i32(0), uint64(_iSize)) _16: _hdr = _pPage.X6 _iPtr = uint16(int32(_hdr) + i32(1)) 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) { goto _18 } _iFreeBlk = uint16(i32(0)) goto _19 _18: _20: if int32(store4530(&_iFreeBlk, uint16((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iPtr))))) + 1*uintptr(i32(0)))))<= int32(_iStart) { goto _21 } if int32(_iFreeBlk) >= (int32(_iPtr) + i32(4)) { goto _22 } if int32(_iFreeBlk) != i32(0) { goto _23 } goto _21 _23: r0 = _sqlite3CorruptError(tls, i32(60615)) return _22: _iPtr = _iFreeBlk goto _20 _21: if uint32(_iFreeBlk) <= _iLast { goto _24 } r0 = _sqlite3CorruptError(tls, i32(60619)) return _24: func() int32 { if (int32(_iFreeBlk) > int32(_iPtr)) || (int32(_iFreeBlk) == i32(0)) { return i32(0) } return func() int32 { 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(83204))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iFreeBlk == 0 || (_iEnd+uint32(i32(3))) < uint32(_iFreeBlk) { goto _29 } _nFrag = uint8(uint32(_iFreeBlk) - _iEnd) if _iEnd <= uint32(_iFreeBlk) { goto _30 } r0 = _sqlite3CorruptError(tls, i32(60630)) return _30: _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))))))) if _iEnd <= ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { goto _31 } r0 = _sqlite3CorruptError(tls, i32(60632)) return _31: _iSize = uint16(_iEnd - uint32(_iStart)) _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)))))) _29: if int32(_iPtr) <= (int32(_hdr) + i32(1)) { goto _32 } _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)))))) if (_7_iPtrEnd + i32(3)) < int32(_iStart) { goto _33 } if _7_iPtrEnd <= int32(_iStart) { goto _34 } r0 = _sqlite3CorruptError(tls, i32(60644)) return _34: { p := &_nFrag *p = uint8(int32(*p) + (int32(_iStart) - _7_iPtrEnd)) sink4537 = *p } _iSize = uint16(_iEnd - uint32(_iPtr)) _iStart = _iPtr _33: _32: if int32(_nFrag) <= int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_hdr)+i32(7))))) { goto _35 } r0 = _sqlite3CorruptError(tls, i32(60650)) return _35: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_hdr)+i32(7)))) *p = uint8(int32(*p) - int32(_nFrag)) sink4537 = *p } _19: 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)))))) { goto _36 } if int32(_iPtr) == (int32(_hdr) + i32(1)) { goto _37 } r0 = _sqlite3CorruptError(tls, i32(60657)) return _37: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(int32(_hdr)+i32(1)))))) + 1*uintptr(i32(1)))) = uint8(_iFreeBlk) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_iEnd) goto _38 _36: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(_iPtr))))) + 1*uintptr(i32(1)))) = uint8(_iStart) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(_iStart))))) + 1*uintptr(i32(1)))) = uint8(_iFreeBlk) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(int32(_iStart)+i32(2)))))) + 1*uintptr(i32(1)))) = uint8(_iSize) _38: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) *p = uint16(int32(*p) + int32(_iOrigSize)) sink4530 = *p } r0 = i32(0) return } var _freeSpaceØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_freeSpaceØ00__func__Ø000[0], str(83236), 10) } func _insertCell(tls *crt.TLS, _pPage *XMemPage, _i int32, _pCell *uint8, _sz int32, _pTemp *uint8, _iChild uint32, _pRC *int32) { // sqlite3.c:65369:1 var _idx int32 // sqlite3.c:65378:7 _ = _idx var _j int32 // sqlite3.c:65379:7 _ = _j var _data *uint8 // sqlite3.c:65380:6 _ = _data var _pIns *uint8 // sqlite3.c:65381:6 _ = _pIns var _4_rc int32 // sqlite3.c:65420:9 _ = _4_rc _idx = i32(0) func() int32 { if (*_pRC) == i32(0) { return i32(0) } return func() int32 { 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(83248))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_i >= i32(0)) && (_i <= (int32(_pPage.X14) + int32(_pPage.X9))) { return i32(0) } return func() int32 { 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(83264))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((((*XBtShared)(unsafe.Pointer(_pPage.X18)).X15) - uint32(i32(8))) / uint32(i32(6))) <= uint32(i32(10921)) { return i32(0) } return func() int32 { 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(83308))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (uint32(_pPage.X14) <= ((((*XBtShared)(unsafe.Pointer(_pPage.X18)).X15) - uint32(i32(8))) / uint32(i32(6)))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(83336))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X9) <= i32(4) { return i32(0) } return func() int32 { 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(83384))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_sz == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pPage.X24)})))(tls, _pPage, _pCell))) || ((_sz == i32(8)) && (_iChild > uint32(i32(0)))) { return i32(0) } return func() int32 { 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(83428))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPage.X9) == 0 && (_sz+i32(2)) <= int32(_pPage.X13) { goto _19 } if _pTemp == nil { goto _20 } crt.Xmemcpy(tls, (unsafe.Pointer)(_pTemp), (unsafe.Pointer)(_pCell), uint64(_sz)) _pCell = _pTemp _20: if _iChild == 0 { goto _21 } _sqlite3Put4byte(tls, _pCell, _iChild) _21: _j = int32(postInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(12 /* X9 */))), uint8(1))) func() int32 { if _j < i32(3) { return i32(0) } return func() int32 { 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(83488))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(40 /* X17 */))))) + 8*uintptr(_j))) = _pCell *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(26 /* X16 */))))) + 2*uintptr(_j))) = uint16(_i) func() int32 { 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))) { return i32(0) } return func() int32 { 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(83520))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(83556))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _30 _19: _4_rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) if _4_rc == i32(0) { goto _31 } *_pRC = _4_rc return _31: func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() _data = _pPage.X19 func() int32 { if (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_pPage.X12))) == (_pPage.X21) { return i32(0) } return func() int32 { 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(83588))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_rc = _allocateSpace(tls, _pPage, _sz, &_idx) if _4_rc == 0 { goto _36 } *_pRC = _4_rc return _36: func() int32 { if _idx >= i32(0) { return i32(0) } return func() int32 { 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(83632))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_idx >= ((int32(_pPage.X12) + (i32(2) * int32(_pPage.X14))) + i32(2))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(83644))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_idx + _sz) <= int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { return i32(0) } return func() int32 { 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(83700))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) *p = uint16(int32(*p) - int32(uint16(i32(2)+_sz))) sink4530 = *p } crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_idx)))), (unsafe.Pointer)(_pCell), uint64(_sz)) if _iChild == 0 { goto _44 } _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_idx))), _iChild) _44: _pIns = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X21)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_i*i32(2)))))))) crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pIns))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2))))))))), (unsafe.Pointer)(_pIns), uint64(i32(2)*(int32(_pPage.X14)-_i))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIns)) + 1*uintptr(i32(0)))) = uint8(_idx >> uint(i32(8))) return _pIns }())) + 1*uintptr(i32(1)))) = uint8(_idx) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(22 /* X14 */))) += 1 if int32(preInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_pPage.X6)+i32(4)))), byte(1))) != i32(0) { goto _45 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_pPage.X6)+i32(3)))) += 1 _45: func() int32 { 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) { return i32(0) } return func() int32 { 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(83740))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X5) == 0 { goto _48 } _ptrmapPutOvflPtr(tls, _pPage, _pCell, _pRC) _48: _30: return } var _insertCellØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_insertCellØ00__func__Ø000[0], str(83792), 11) } func _allocateSpace(tls *crt.TLS, _pPage *XMemPage, _nByte int32, _pIdx *int32) (r0 int32) { // sqlite3.c:60490:1 var _hdr int32 // sqlite3.c:60491:13 _ = _hdr var _data *uint8 // sqlite3.c:60492:6 _ = _data var _top int32 // sqlite3.c:60493:7 _ = _top var _rc int32 // sqlite3.c:60494:7 _ = _rc var _gap int32 // sqlite3.c:60495:7 _ = _gap var _4_pSpace *uint8 // sqlite3.c:60531:8 _ = _4_pSpace _hdr = int32(_pPage.X6) _data = _pPage.X19 _rc = i32(0) func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != nil { return i32(0) } return func() int32 { 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(19780))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nByte >= i32(0) { return i32(0) } return func() int32 { 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(83804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X13) >= _nByte { return i32(0) } return func() int32 { 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(83816))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X9) == i32(0) { return i32(0) } return func() int32 { 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(83836))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nByte < int32(((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16)-uint32(i32(8))) { return i32(0) } return func() int32 { 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(83856))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X12) == ((_hdr + i32(12)) - (i32(4) * int32(_pPage.X5))) { return i32(0) } return func() int32 { 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(83896))) crt.X__builtin_abort(tls) return i32(0) }() }() _gap = int32(_pPage.X12) + (i32(2) * int32(_pPage.X14)) func() int32 { if _gap <= i32(65536) { return i32(0) } return func() int32 { 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(83944))) crt.X__builtin_abort(tls) return i32(0) }() }() _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))))) func() int32 { if _top <= int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { return i32(0) } return func() int32 { 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(83956))) crt.X__builtin_abort(tls) return i32(0) }() }() if _gap <= _top { goto _20 } if _top != i32(0) || ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) != uint32(i32(65536)) { goto _22 } _top = i32(65536) goto _23 _22: r0 = _sqlite3CorruptError(tls, i32(60519)) return _23: _20: 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 { goto _26 } _4_pSpace = _pageFindSlot(tls, _pPage, _nByte, &_rc) if _4_pSpace == nil { goto _27 } func() int32 { if (uintptr(unsafe.Pointer(_4_pSpace)) >= uintptr(unsafe.Pointer(_data))) && (int64((uintptr(unsafe.Pointer(_4_pSpace))-uintptr(unsafe.Pointer(_data)))/1) < int64(i32(65536))) { return i32(0) } return func() int32 { 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(83992))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pIdx = int32(int64((uintptr(unsafe.Pointer(_4_pSpace)) - uintptr(unsafe.Pointer(_data))) / 1)) r0 = i32(0) return _27: if _rc == 0 { goto _32 } r0 = _rc return _32: _26: if ((_gap + i32(2)) + _nByte) <= _top { goto _33 } func() int32 { if (int32(_pPage.X14) > i32(0)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(84032))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _defragmentPage(tls, _pPage, func() int32 { if i32(4) < (int32(_pPage.X13) - (i32(2) + _nByte)) { return i32(4) } return (int32(_pPage.X13) - (i32(2) + _nByte)) }()) if _rc == 0 { goto _39 } r0 = _rc return _39: _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) func() int32 { if ((_gap + i32(2)) + _nByte) <= _top { return i32(0) } return func() int32 { 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(84064))) crt.X__builtin_abort(tls) return i32(0) }() }() _33: { p := &_top *p = (*p) - _nByte sink961 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_top) func() int32 { if (_top + _nByte) <= int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { return i32(0) } return func() int32 { 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(84084))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pIdx = _top r0 = i32(0) return } var _allocateSpaceØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_allocateSpaceØ00__func__Ø000[0], str(84128), 14) } func _pageFindSlot(tls *crt.TLS, _pPg *XMemPage, _nByte int32, _pRc *int32) (r0 *uint8) { // sqlite3.c:60427:1 var _hdr int32 // sqlite3.c:60428:13 _ = _hdr var _aData *uint8 // sqlite3.c:60429:6 _ = _aData var _iAddr int32 // sqlite3.c:60430:7 _ = _iAddr var _pc int32 // sqlite3.c:60431:7 _ = _pc var _x int32 // sqlite3.c:60432:7 _ = _x var _usableSize int32 // sqlite3.c:60433:7 _ = _usableSize var _1_size int32 // sqlite3.c:60437:9 _ = _1_size _hdr = int32(_pPg.X6) _aData = _pPg.X19 _iAddr = _hdr + i32(1) _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))))) _usableSize = int32((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16) func() int32 { if _pc > i32(0) { return i32(0) } return func() int32 { 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(84144))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: if _pc <= (_usableSize-i32(4)) && _pc >= (_iAddr+i32(4)) { goto _4 } *_pRc = _sqlite3CorruptError(tls, i32(60441)) r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) return _4: _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))))) if store961(&_x, _1_size-_nByte) < i32(0) { goto _5 } if _pc >= (int32(_pPg.X12)+(i32(2)*int32(_pPg.X14))) && (_1_size+_pc) <= _usableSize { goto _7 } *_pRc = _sqlite3CorruptError(tls, i32(60452)) r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) return _7: if _x >= i32(4) { goto _9 } if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_hdr+i32(7))))) <= i32(57) { goto _10 } r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) return _10: 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)))), uint64(i32(2))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_hdr+i32(7)))) *p = uint8(int32(*p) + int32(uint8(_x))) sink4537 = *p } goto _11 _9: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _aData }()))+1*uintptr(_pc+i32(2)))))) + 1*uintptr(i32(1)))) = uint8(_x) _11: r0 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_pc+_x))) return _5: _iAddr = _pc _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))))) if _pc != 0 { goto _2 } r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) return } var _pageFindSlotØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pageFindSlotØ00__func__Ø000[0], str(84152), 13) } func _defragmentPage(tls *crt.TLS, _pPage *XMemPage, _nMaxFrag int32) (r0 int32) { // sqlite3.c:60289:1 var _i int32 // sqlite3.c:60290:7 _ = _i var _pc int32 // sqlite3.c:60291:7 _ = _pc var _hdr int32 // sqlite3.c:60292:7 _ = _hdr var _size int32 // sqlite3.c:60293:7 _ = _size var _usableSize int32 // sqlite3.c:60294:7 _ = _usableSize var _cellOffset int32 // sqlite3.c:60295:7 _ = _cellOffset var _cbrk int32 // sqlite3.c:60296:7 _ = _cbrk var _nCell int32 // sqlite3.c:60297:7 _ = _nCell var _data *uint8 // sqlite3.c:60298:17 _ = _data var _temp *uint8 // sqlite3.c:60299:17 _ = _temp var _src *uint8 // sqlite3.c:60300:17 _ = _src var _iCellFirst int32 // sqlite3.c:60301:7 _ = _iCellFirst var _iCellLast int32 // sqlite3.c:60302:7 _ = _iCellLast var _1_iFree int32 // sqlite3.c:60324:9 _ = _1_iFree var _2_iFree2 int32 // sqlite3.c:60326:11 _ = _2_iFree2 var _3_pEnd *uint8 // sqlite3.c:60339:12 _ = _3_pEnd var _3_pAddr *uint8 // sqlite3.c:60340:12 _ = _3_pAddr var _3_sz2 int32 // sqlite3.c:60341:13 _ = _3_sz2 var _3_sz int32 // sqlite3.c:60342:13 _ = _3_sz var _3_top int32 // sqlite3.c:60343:13 _ = _3_top var _8_pAddr *uint8 // sqlite3.c:60367:8 _ = _8_pAddr var _11_x int32 // sqlite3.c:60389:11 _ = _11_x func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(57104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) <= uint32(i32(65536)) { return i32(0) } return func() int32 { 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(84168))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X9) == i32(0) { return i32(0) } return func() int32 { 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(83836))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() _temp = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) _src = store4543(&_data, _pPage.X19) _hdr = int32(_pPage.X6) _cellOffset = int32(_pPage.X12) _nCell = int32(_pPage.X14) func() int32 { 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)))))) { return i32(0) } return func() int32 { 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(84216))) crt.X__builtin_abort(tls) return i32(0) }() }() _iCellFirst = _cellOffset + (i32(2) * _nCell) _usableSize = int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))) > _nMaxFrag { goto _12 } _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))))) if _1_iFree == 0 { goto _13 } _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))))) func() int32 { if (_2_iFree2 == i32(0)) || (_2_iFree2 > _1_iFree) { return i32(0) } return func() int32 { 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(84248))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 { return i32(0) } return func() int32 { 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(84276))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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) { return i32(0) } return func() int32 { 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(84324))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)) { goto _24 } _3_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellOffset+(_nCell*i32(2))))) _3_sz2 = i32(0) _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))))) _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))))) if _2_iFree2 == 0 { goto _25 } if (_1_iFree + _3_sz) <= _2_iFree2 { goto _26 } r0 = _sqlite3CorruptError(tls, i32(60345)) return _26: _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))))) func() int32 { if ((((_1_iFree + _3_sz) + _3_sz2) + _2_iFree2) - (_1_iFree + _3_sz)) <= _usableSize { return i32(0) } return func() int32 { 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(84384))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)))), uint64(_2_iFree2-(_1_iFree+_3_sz))) { p := &_3_sz *p = (*p) + _3_sz2 sink961 = *p } _25: _cbrk = _3_top + _3_sz func() int32 { if (_cbrk + (_1_iFree - _3_top)) <= _usableSize { return i32(0) } return func() int32 { 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(84432))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)))), uint64(_1_iFree-_3_top)) _3_pAddr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellOffset))) _31: if uintptr(unsafe.Pointer(_3_pAddr)) >= uintptr(unsafe.Pointer(_3_pEnd)) { goto _34 } _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))))) if _pc >= _1_iFree { goto _35 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAddr)) + 1*uintptr(i32(0)))) = uint8((_pc + _3_sz) >> uint(i32(8))) return _3_pAddr }())) + 1*uintptr(i32(1)))) = uint8(_pc + _3_sz) goto _36 _35: if _pc >= _2_iFree2 { goto _37 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAddr)) + 1*uintptr(i32(0)))) = uint8((_pc + _3_sz2) >> uint(i32(8))) return _3_pAddr }())) + 1*uintptr(i32(1)))) = uint8(_pc + _3_sz2) _37: _36: { p := &_3_pAddr *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink4543 = *p } goto _31 _34: goto _defragment_out _24: _13: _12: _cbrk = _usableSize _iCellLast = _usableSize - i32(4) _i = i32(0) _38: if _i >= _nCell { goto _41 } _8_pAddr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellOffset+(_i*i32(2))))) _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))))) if _pc >= _iCellFirst && _pc <= _iCellLast { goto _43 } r0 = _sqlite3CorruptError(tls, i32(60376)) return _43: func() int32 { if (_pc >= _iCellFirst) && (_pc <= _iCellLast) { return i32(0) } return func() int32 { 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(84464))) crt.X__builtin_abort(tls) return i32(0) }() }() _size = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pPage.X24)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_src))+1*uintptr(_pc))))) { p := &_cbrk *p = (*p) - _size sink961 = *p } if _cbrk >= _iCellFirst && (_pc+_size) <= _usableSize { goto _48 } r0 = _sqlite3CorruptError(tls, i32(60382)) return _48: func() int32 { if ((_cbrk + _size) <= _usableSize) && (_cbrk >= _iCellFirst) { return i32(0) } return func() int32 { 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(84496))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pAddr)) + 1*uintptr(i32(0)))) = uint8(_cbrk >> uint(i32(8))) return _8_pAddr }())) + 1*uintptr(i32(1)))) = uint8(_cbrk) if _temp != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _52 } if _cbrk != _pc { goto _53 } goto _39 _53: _temp = (*uint8)(unsafe.Pointer(_sqlite3PagerTempSpace(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X0))))) _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))))) 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)))), uint64((_cbrk+_size)-_11_x)) _src = _temp _52: 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)))), uint64(_size)) _39: _i += 1 goto _38 _41: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7)))) = uint8(i32(0)) _defragment_out: if ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))) + _cbrk) - _iCellFirst) == int32(_pPage.X13) { goto _54 } r0 = _sqlite3CorruptError(tls, i32(60402)) return _54: func() int32 { if _cbrk >= _iCellFirst { return i32(0) } return func() int32 { 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(84540))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _data }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_cbrk) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(1)))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(2)))) = uint8(i32(0)) crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iCellFirst)))), i32(0), uint64(_cbrk-_iCellFirst)) func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { return i32(0) } return func() int32 { 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(54968))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return } var _defragmentPageØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_defragmentPageØ00__func__Ø000[0], str(84560), 15) } func _sqlite3PagerTempSpace(tls *crt.TLS, _pPager *XPager) (r0 unsafe.Pointer) { // sqlite3.c:50633:1 r0 = (unsafe.Pointer)(_pPager.X58) return } func _balance(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:66868:1 var _rc int32 // sqlite3.c:66869:7 _ = _rc var _nMin int32 // sqlite3.c:66870:13 _ = _nMin var _aBalanceQuickSpace [13]uint8 // sqlite3.c:66871:6 _ = _aBalanceQuickSpace var _pFree *uint8 // sqlite3.c:66872:6 _ = _pFree var _balance_quick_called int32 // sqlite3.c:66874:17 _ = _balance_quick_called var _balance_deeper_called int32 // sqlite3.c:66875:17 _ = _balance_deeper_called var _1_iPage int32 // sqlite3.c:66878:9 _ = _1_iPage var _1_pPage *XMemPage // sqlite3.c:66879:13 _ = _1_pPage var _7_pParent *XMemPage // sqlite3.c:66903:15 _ = _7_pParent var _7_iIdx int32 // sqlite3.c:66904:17 _ = _7_iIdx var _10_pSpace *uint8 // sqlite3.c:66951:14 _ = _10_pSpace _rc = i32(0) _nMin = int32((((*XBtShared)(unsafe.Pointer(_pCur.X1)).X16) * uint32(i32(2))) / uint32(i32(3))) _pFree = nil _balance_quick_called = i32(0) _balance_deeper_called = i32(0) _0: _1_iPage = int32(_pCur.X14) _1_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_1_iPage))) if _1_iPage != i32(0) { goto _1 } if (_1_pPage.X9) == 0 { goto _2 } func() int32 { if _balance_deeper_called == i32(0) { return i32(0) } return func() int32 { 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(84576))) crt.X__builtin_abort(tls) return i32(0) }() }() _balance_deeper_called += 1 _rc = _balance_deeper(tls, _1_pPage, (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */)))))+8*uintptr(i32(1))))) if _rc != i32(0) { goto _5 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) = int8(i32(1)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(i32(0)))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(i32(1)))) = uint16(i32(0)) func() int32 { if ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(i32(1))))).X9) != 0 { return i32(0) } return func() int32 { 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(84604))) crt.X__builtin_abort(tls) return i32(0) }() }() _5: goto _8 _2: goto _9 _8: goto _10 _1: if int32(_1_pPage.X9) != i32(0) || int32(_1_pPage.X13) > _nMin { goto _12 } goto _9 _12: _7_pParent = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_1_iPage-i32(1)))) _7_iIdx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_1_iPage-i32(1))))) _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_7_pParent.X23))) if _rc != i32(0) { goto _14 } 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 { goto _19 } func() int32 { if _balance_quick_called == i32(0) { return i32(0) } return func() int32 { 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(84632))) crt.X__builtin_abort(tls) return i32(0) }() }() _balance_quick_called += 1 _rc = _balance_quick(tls, _7_pParent, _1_pPage, (*uint8)(unsafe.Pointer(&_aBalanceQuickSpace))) goto _22 _19: _10_pSpace = (*uint8)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32((*XBtShared)(unsafe.Pointer(_pCur.X1)).X15)))) _rc = _balance_nonroot(tls, _7_pParent, _7_iIdx, _10_pSpace, bool2int(_1_iPage == i32(1)), int32(_pCur.X13)&i32(1)) if _pFree == nil { goto _23 } _sqlite3PageFree(tls, (unsafe.Pointer)(_pFree)) _23: _pFree = _10_pSpace _22: _14: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pPage)) + uintptr(12 /* X9 */))) = uint8(i32(0)) _releasePage(tls, _1_pPage) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(88 /* X14 */))) -= 1 func() int32 { if int32(_pCur.X14) >= i32(0) { return i32(0) } return func() int32 { 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(76176))) crt.X__builtin_abort(tls) return i32(0) }() }() _10: if _rc == i32(0) { goto _0 } _9: if _pFree == nil { goto _26 } _sqlite3PageFree(tls, (unsafe.Pointer)(_pFree)) _26: r0 = _rc return } var _balanceØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_balanceØ00__func__Ø000[0], str(84656), 8) } func _balance_deeper(tls *crt.TLS, _pRoot *XMemPage, _ppChild **XMemPage) (r0 int32) { // sqlite3.c:66811:1 var _rc int32 // sqlite3.c:66812:7 _ = _rc var _pChild *XMemPage // sqlite3.c:66813:11 _ = _pChild var _pgnoChild uint32 // sqlite3.c:66814:8 _ = _pgnoChild var _pBt *XBtShared // sqlite3.c:66815:12 _ = _pBt _pChild = nil _pgnoChild = u32(0) _pBt = (*XBtShared)(unsafe.Pointer(_pRoot.X18)) func() int32 { if int32(_pRoot.X9) > i32(0) { return i32(0) } return func() int32 { 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(84664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) if _rc != i32(0) { goto _4 } _rc = _allocateBtreePage(tls, _pBt, &_pChild, &_pgnoChild, _pRoot.X4, uint8(i32(0))) _copyNodeContent(tls, _pRoot, _pChild, &_rc) if (_pBt.X5) == 0 { goto _5 } _ptrmapPut(tls, _pBt, _pgnoChild, uint8(i32(5)), _pRoot.X4, &_rc) _5: _4: if _rc == 0 { goto _6 } *_ppChild = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _releasePage(tls, _pChild) r0 = _rc return _6: func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pChild.X23))) != 0 { return i32(0) } return func() int32 { 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(84684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) != 0 { return i32(0) } return func() int32 { 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(80728))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pChild.X14) == int32(_pRoot.X14) { return i32(0) } return func() int32 { 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(84728))) crt.X__builtin_abort(tls) return i32(0) }() }() 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 */)))), uint64(_pRoot.X9)*u64(2)) crt.Xmemcpy(tls, (unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild))+uintptr(40 /* X17 */)))), (unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot))+uintptr(40 /* X17 */)))), uint64(_pRoot.X9)*u64(8)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild)) + uintptr(12 /* X9 */))) = _pRoot.X9 _zeroPage(tls, _pRoot, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild.X19)) + 1*uintptr(i32(0)))))&i32(-9)) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot.X19))+1*uintptr(int32(_pRoot.X6)+i32(8)))), _pgnoChild) *_ppChild = _pChild r0 = i32(0) return } var _balance_deeperØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_balance_deeperØ00__func__Ø000[0], str(84756), 15) } func _copyNodeContent(tls *crt.TLS, _pFrom *XMemPage, _pTo *XMemPage, _pRC *int32) { // sqlite3.c:65967:1 var _1_pBt *XBtShared // sqlite3.c:65969:14 _ = _1_pBt var _1_aFrom *uint8 // sqlite3.c:65970:8 _ = _1_aFrom var _1_aTo *uint8 // sqlite3.c:65971:8 _ = _1_aTo var _1_iFromHdr int32 // sqlite3.c:65972:15 _ = _1_iFromHdr var _1_iToHdr int32 // sqlite3.c:65973:15 _ = _1_iToHdr var _1_rc int32 // sqlite3.c:65974:9 _ = _1_rc var _1_iData int32 // sqlite3.c:65975:9 _ = _1_iData if (*_pRC) != i32(0) { goto _0 } _1_pBt = (*XBtShared)(unsafe.Pointer(_pFrom.X18)) _1_aFrom = _pFrom.X19 _1_aTo = _pTo.X19 _1_iFromHdr = int32(_pFrom.X6) _1_iToHdr = func() int32 { if (_pTo.X4) == uint32(i32(1)) { return i32(100) } return i32(0) }() func() int32 { if (_pFrom.X0) != 0 { return i32(0) } return func() int32 { 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(84772))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pFrom.X13) >= _1_iToHdr { return i32(0) } return func() int32 { 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(84788))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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) { return i32(0) } return func() int32 { 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(84812))) crt.X__builtin_abort(tls) return i32(0) }() }() _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))))) 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)))), uint64((_1_pBt.X16)-uint32(_1_iData))) 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)))), uint64(int32(_pFrom.X12)+(i32(2)*int32(_pFrom.X14)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(0 /* X0 */))) = uint8(i32(0)) _1_rc = _btreeInitPage(tls, _pTo) if _1_rc == i32(0) { goto _9 } *_pRC = _1_rc return _9: if (_1_pBt.X5) == 0 { goto _10 } *_pRC = _setChildPtrmaps(tls, _pTo) _10: _0: return } var _copyNodeContentØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_copyNodeContentØ00__func__Ø000[0], str(84868), 16) } func _balance_quick(tls *crt.TLS, _pParent *XMemPage, _pPage *XMemPage, _pSpace *uint8) (r0 int32) { // sqlite3.c:65823:1 var _pBt *XBtShared // sqlite3.c:65824:12 _ = _pBt var _pNew *XMemPage // sqlite3.c:65825:11 _ = _pNew var _rc int32 // sqlite3.c:65826:7 _ = _rc var _pgnoNew uint32 // sqlite3.c:65827:8 _ = _pgnoNew var _1_pOut *uint8 // sqlite3.c:65844:8 _ = _1_pOut var _1_pCell *uint8 // sqlite3.c:65845:8 _ = _1_pCell var _1_szCell uint16 // sqlite3.c:65846:9 _ = _1_szCell var _1_pStop *uint8 // sqlite3.c:65847:8 _ = _1_pStop _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { return i32(0) } return func() int32 { 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(19920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { return i32(0) } return func() int32 { 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(84884))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X9) == i32(1) { return i32(0) } return func() int32 { 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(84928))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if int32(_pPage.X14) == i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _8 } r0 = _sqlite3CorruptError(tls, i32(65834)) return _8: _rc = _allocateBtreePage(tls, _pBt, &_pNew, &_pgnoNew, uint32(i32(0)), uint8(i32(0))) if _rc != i32(0) { goto _9 } _1_pOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSpace)) + 1*uintptr(i32(4)))) _1_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(40 /* X17 */))))) + 8*uintptr(i32(0)))) _1_szCell = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pPage.X24)})))(tls, _pPage, _1_pCell) func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pNew.X23))) != 0 { return i32(0) } return func() int32 { 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(84948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19)) + 1*uintptr(i32(0))))) == i32(13) { return i32(0) } return func() int32 { 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(84988))) crt.X__builtin_abort(tls) return i32(0) }() }() _zeroPage(tls, _pNew, i32(13)) _rc = _rebuildPage(tls, _pNew, i32(1), &_1_pCell, &_1_szCell) if func() int32 { if _rc != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _16 } r0 = _rc return _16: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X13 */))) = uint16((((_pBt.X16) - uint32(_pNew.X12)) - uint32(i32(2))) - uint32(_1_szCell)) if (_pBt.X5) == 0 { goto _17 } _ptrmapPut(tls, _pBt, _pgnoNew, uint8(i32(5)), _pParent.X4, &_rc) if int32(_1_szCell) <= int32(_pNew.X11) { goto _18 } _ptrmapPutOvflPtr(tls, _pNew, _1_pCell, &_rc) _18: _17: _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)))))<= uintptr(unsafe.Pointer(_1_pStop)) { goto _20 } goto _19 _20: _1_pStop = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pCell)) + 1*uintptr(i32(9)))) _22: if (int32(store4537(postInc4543(&_1_pOut, 1), *postInc4543(&_1_pCell, 1)))&i32(128)) == 0 || uintptr(unsafe.Pointer(_1_pCell)) >= uintptr(unsafe.Pointer(_1_pStop)) { goto _23 } goto _22 _23: if _rc != i32(0) { goto _25 } _insertCell(tls, _pParent, int32(_pParent.X14), _pSpace, int32(int64((uintptr(unsafe.Pointer(_1_pOut))-uintptr(unsafe.Pointer(_pSpace)))/1)), (*uint8)(unsafe.Pointer(uintptr(i32(0)))), _pPage.X4, &_rc) _25: _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X19))+1*uintptr(int32(_pParent.X6)+i32(8)))), _pgnoNew) _releasePage(tls, _pNew) _9: r0 = _rc return } var _balance_quickØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_balance_quickØ00__func__Ø000[0], str(85040), 14) } func _rebuildPage(tls *crt.TLS, _pPg *XMemPage, _nCell int32, _apCell **uint8, _szCell *uint16) (r0 int32) { // sqlite3.c:65517:1 var _hdr int32 // sqlite3.c:65523:13 _ = _hdr var _aData *uint8 // sqlite3.c:65524:6 _ = _aData var _usableSize int32 // sqlite3.c:65525:13 _ = _usableSize var _pEnd *uint8 // sqlite3.c:65526:6 _ = _pEnd var _i int32 // sqlite3.c:65527:7 _ = _i var _pCellptr *uint8 // sqlite3.c:65528:6 _ = _pCellptr var _pTmp *uint8 // sqlite3.c:65529:6 _ = _pTmp var _pData *uint8 // sqlite3.c:65530:6 _ = _pData var _1_pCell *uint8 // sqlite3.c:65537:8 _ = _1_pCell _hdr = int32(_pPg.X6) _aData = _pPg.X19 _usableSize = int32((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16) _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_usableSize))) _pCellptr = _pPg.X21 _pTmp = (*uint8)(unsafe.Pointer(_sqlite3PagerTempSpace(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPg.X18)).X0))))) _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))))) 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)))), uint64(_usableSize-_i)) _pData = _pEnd _i = i32(0) _0: if _i >= _nCell { goto _3 } _1_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apCell)) + 8*uintptr(_i))) if uint64(uintptr(unsafe.Pointer(_1_pCell))) < uint64(uintptr(unsafe.Pointer(_aData))) || uint64(uintptr(unsafe.Pointer(_1_pCell))) >= uint64(uintptr(unsafe.Pointer(_pEnd))) { goto _5 } _1_pCell = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmp)) + 1*uintptr(int64((uintptr(unsafe.Pointer(_1_pCell))-uintptr(unsafe.Pointer(_aData)))/1)))) _5: { p := &_pData *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_szCell)) + 2*uintptr(_i)))))) sink4543 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr)) + 1*uintptr(i32(0)))) = uint8(int64((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) return _pCellptr }())) + 1*uintptr(i32(1)))) = uint8(int64((uintptr(unsafe.Pointer(_pData)) - uintptr(unsafe.Pointer(_aData))) / 1)) { p := &_pCellptr *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink4543 = *p } if uintptr(unsafe.Pointer(_pData)) >= uintptr(unsafe.Pointer(_pCellptr)) { goto _6 } r0 = _sqlite3CorruptError(tls, i32(65544)) return _6: crt.Xmemcpy(tls, (unsafe.Pointer)(_pData), (unsafe.Pointer)(_1_pCell), uint64(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_szCell)) + 2*uintptr(_i))))) func() int32 { if (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_szCell)) + 2*uintptr(_i)))) == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pPg.X24)})))(tls, _pPg, _1_pCell))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(85056))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _0 _3: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(22 /* X14 */))) = uint16(_nCell) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(12 /* X9 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(0)))) = u8(0) return _aData }()))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(1)))) = u8(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _aData }()))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))) = uint8(_pPg.X14) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(int64((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) return _aData }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(int64((uintptr(unsafe.Pointer(_pData)) - uintptr(unsafe.Pointer(_aData))) / 1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_hdr+i32(7)))) = uint8(i32(0)) r0 = i32(0) return } var _rebuildPageØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_rebuildPageØ00__func__Ø000[0], str(85108), 12) } func _balance_nonroot(tls *crt.TLS, _pParent *XMemPage, _iParentIdx int32, _aOvflSpace *uint8, _isRoot int32, _bBulk int32) (r0 int32) { // sqlite3.c:66048:1 var _pBt *XBtShared // sqlite3.c:66055:12 _ = _pBt var _nMaxCells int32 // sqlite3.c:66056:7 _ = _nMaxCells var _nNew int32 // sqlite3.c:66057:7 _ = _nNew var _nOld int32 // sqlite3.c:66058:7 _ = _nOld var _i int32 // sqlite3.c:66059:7 _ = _i var _j int32 // sqlite3.c:66059:10 _ = _j var _k int32 // sqlite3.c:66059:13 _ = _k var _nxDiv int32 // sqlite3.c:66060:7 _ = _nxDiv var _rc int32 // sqlite3.c:66061:7 _ = _rc var _leafCorrection uint16 // sqlite3.c:66062:7 _ = _leafCorrection var _leafData int32 // sqlite3.c:66063:7 _ = _leafData var _usableSpace int32 // sqlite3.c:66064:7 _ = _usableSpace var _pageFlags int32 // sqlite3.c:66065:7 _ = _pageFlags var _iSpace1 int32 // sqlite3.c:66066:7 _ = _iSpace1 var _iOvflSpace int32 // sqlite3.c:66067:7 _ = _iOvflSpace var _szScratch int32 // sqlite3.c:66068:7 _ = _szScratch var _apOld [3]*XMemPage // sqlite3.c:66069:11 _ = _apOld var _apNew [5]*XMemPage // sqlite3.c:66070:11 _ = _apNew var _pRight *uint8 // sqlite3.c:66071:6 _ = _pRight var _apDiv [2]*uint8 // sqlite3.c:66072:6 _ = _apDiv var _cntNew [5]int32 // sqlite3.c:66073:7 _ = _cntNew var _cntOld [5]int32 // sqlite3.c:66074:7 _ = _cntOld var _szNew [5]int32 // sqlite3.c:66075:7 _ = _szNew var _aSpace1 *uint8 // sqlite3.c:66076:6 _ = _aSpace1 var _pgno uint32 // sqlite3.c:66077:8 _ = _pgno var _abDone [5]uint8 // sqlite3.c:66078:6 _ = _abDone var _aPgno [5]uint32 // sqlite3.c:66079:8 _ = _aPgno var _aPgOrder [5]uint32 // sqlite3.c:66080:8 _ = _aPgOrder var _aPgFlags [5]uint16 // sqlite3.c:66081:7 _ = _aPgFlags var _b XCellArray // sqlite3.c:66082:13 _ = _b var _13_iOff int32 // sqlite3.c:66171:13 _ = _13_iOff var _17_pOld *XMemPage // sqlite3.c:66231:13 _ = _17_pOld var _17_limit int32 // sqlite3.c:66232:9 _ = _17_limit var _17_aData *uint8 // sqlite3.c:66233:8 _ = _17_aData var _17_maskPage uint16 // sqlite3.c:66234:9 _ = _17_maskPage var _17_piCell *uint8 // sqlite3.c:66235:8 _ = _17_piCell var _17_piEnd *uint8 // sqlite3.c:66236:8 _ = _17_piEnd var _23_sz uint16 // sqlite3.c:66287:11 _ = _23_sz var _23_pTemp *uint8 // sqlite3.c:66288:10 _ = _23_pTemp var _27_p *XMemPage // sqlite3.c:66338:13 _ = _27_p var _29_sz int32 // sqlite3.c:66347:9 _ = _29_sz var _42_szRight int32 // sqlite3.c:66401:9 _ = _42_szRight var _42_szLeft int32 // sqlite3.c:66402:9 _ = _42_szLeft var _42_r int32 // sqlite3.c:66403:9 _ = _42_r var _42_d int32 // sqlite3.c:66404:9 _ = _42_d var _46_pNew *XMemPage // sqlite3.c:66450:13 _ = _46_pNew var _54_iBest int32 // sqlite3.c:66506:9 _ = _54_iBest var _58_pOld *XMemPage // sqlite3.c:66541:13 _ = _58_pOld var _59_pNew *XMemPage // sqlite3.c:66562:13 _ = _59_pNew var _59_aOld *uint8 // sqlite3.c:66563:8 _ = _59_aOld var _59_cntOldNext int32 // sqlite3.c:66564:9 _ = _59_cntOldNext var _59_usableSize int32 // sqlite3.c:66565:9 _ = _59_usableSize var _59_iNew int32 // sqlite3.c:66566:9 _ = _59_iNew var _59_iOld int32 // sqlite3.c:66567:9 _ = _59_iOld var _60_pCell *uint8 // sqlite3.c:66570:10 _ = _60_pCell var _61_pOld *XMemPage // sqlite3.c:66572:17 _ = _61_pOld var _66_pCell *uint8 // sqlite3.c:66604:8 _ = _66_pCell var _66_pTemp *uint8 // sqlite3.c:66605:8 _ = _66_pTemp var _66_sz int32 // sqlite3.c:66606:9 _ = _66_sz var _66_pNew *XMemPage // sqlite3.c:66607:13 _ = _66_pNew var _68_info XCellInfo // sqlite3.c:66623:16 _ = _68_info var _71_iPg int32 // sqlite3.c:66678:9 _ = _71_iPg var _72_iNew int32 // sqlite3.c:66684:11 _ = _72_iNew var _72_iOld int32 // sqlite3.c:66685:11 _ = _72_iOld var _72_nNewCell int32 // sqlite3.c:66686:11 _ = _72_nNewCell var _77_key uint32 // sqlite3.c:66750:11 _ = _77_key _nMaxCells = i32(0) _nNew = i32(0) _rc = i32(0) _iSpace1 = i32(0) _iOvflSpace = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_abDone), i32(0), u64(5)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) = i32(0) *(***uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(16 /* X2 */))) = (**uint8)(unsafe.Pointer(uintptr(i32(0)))) _pBt = (*XBtShared)(unsafe.Pointer(_pParent.X18)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { return i32(0) } return func() int32 { 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(84884))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pParent.X9) == i32(0)) || (int32(_pParent.X9) == i32(1)) { return i32(0) } return func() int32 { 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(85120))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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) { return i32(0) } return func() int32 { 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(85168))) crt.X__builtin_abort(tls) return i32(0) }() }() if _aOvflSpace != nil { goto _10 } r0 = _sqlite3NomemError(tls, i32(66104)) return _10: _i = int32(_pParent.X9) + int32(_pParent.X14) if _i >= i32(2) { goto _11 } _nxDiv = i32(0) goto _12 _11: func() int32 { if (_bBulk == i32(0)) || (_bBulk == i32(1)) { return i32(0) } return func() int32 { 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(85224))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iParentIdx != i32(0) { goto _16 } _nxDiv = i32(0) goto _17 _16: if _iParentIdx != _i { goto _18 } _nxDiv = (_i - i32(2)) + _bBulk goto _19 _18: _nxDiv = _iParentIdx - i32(1) _19: _17: _i = i32(2) - _bBulk _12: _nOld = _i + i32(1) if ((_i + _nxDiv) - int32(_pParent.X9)) != int32(_pParent.X14) { goto _20 } _pRight = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X19)) + 1*uintptr(int32(_pParent.X6)+i32(8)))) goto _21 _20: _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)))))<= _nOld { goto _40 } _17_pOld = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_i))) _17_limit = int32(_17_pOld.X14) _17_aData = _17_pOld.X19 _17_maskPage = _17_pOld.X15 _17_piCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_17_aData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_17_pOld.X12))))))) 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)) + 8*uintptr(i32(0))))).X19)) + 1*uintptr(i32(0))))) { goto _41 } _rc = _sqlite3CorruptError(tls, i32(66242)) goto _balance_cleanup _41: crt.Xmemset(tls, (unsafe.Pointer)((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3))+2*uintptr(_b.X0)))), i32(0), u64(2)*uint64(_17_limit+int32(_17_pOld.X9))) if int32(_17_pOld.X9) <= i32(0) { goto _42 } _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))))) _j = i32(0) _43: if _j >= _17_limit { goto _46 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*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)))))<= int32(_17_pOld.X9) { goto _50 } func() int32 { 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))))) { return i32(0) } return func() int32 { 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(85312))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_b.X0))) = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld))+uintptr(40 /* X17 */))))) + 8*uintptr(_k))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) += 1 _k += 1 goto _47 _50: _42: _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)))))))) _54: if uintptr(unsafe.Pointer(_17_piCell)) >= uintptr(unsafe.Pointer(_17_piEnd)) { goto _55 } func() int32 { if (_b.X0) < _nMaxCells { return i32(0) } return func() int32 { 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(85360))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*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)))))<= (_nOld-i32(1)) || _leafData != 0 { goto _59 } _23_sz = uint16(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i)))) func() int32 { if (_b.X0) < _nMaxCells { return i32(0) } return func() int32 { 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(85360))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0))) = _23_sz _23_pTemp = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSpace1)) + 1*uintptr(_iSpace1))) { p := &_iSpace1 *p = (*p) + int32(_23_sz) sink961 = *p } func() int32 { if int32(_23_sz) <= (int32(_pBt.X11) + i32(23)) { return i32(0) } return func() int32 { 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(85380))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iSpace1 <= int32(_pBt.X15) { return i32(0) } return func() int32 { 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(85404))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)(_23_pTemp), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 8*uintptr(_i)))), uint64(_23_sz)) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_b.X0))) = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_23_pTemp)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_leafCorrection))))))) func() int32 { if (int32(_leafCorrection) == i32(0)) || (int32(_leafCorrection) == i32(4)) { return i32(0) } return func() int32 { 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(85436))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*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)) if (_17_pOld.X5) != 0 { goto _69 } func() int32 { if int32(_leafCorrection) == i32(0) { return i32(0) } return func() int32 { 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(85476))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_17_pOld.X6) == i32(0) { return i32(0) } return func() int32 { 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(85496))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_b.X0)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld.X19))+1*uintptr(i32(8))))), uint64(i32(4))) goto _74 _69: func() int32 { if int32(_leafCorrection) == i32(4) { return i32(0) } return func() int32 { 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(85516))) crt.X__builtin_abort(tls) return i32(0) }() }() _77: if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0)))) >= i32(4) { goto _78 } func() int32 { if (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0)))) == i32(3)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(85536))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_b.X0)))) == (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSpace1))+1*uintptr(_iSpace1-i32(3))))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(85572))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSpace1)) + 1*uintptr(postInc961(&_iSpace1, int32(1))))) = uint8(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0))) += 1 goto _77 _78: _74: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) += 1 _59: _i += 1 goto _37 _40: _usableSpace = int32(((_pBt.X16) - uint32(i32(12))) + uint32(_leafCorrection)) _i = i32(0) _85: if _i >= _nOld { goto _88 } _27_p = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_i))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) = _usableSpace - int32(_27_p.X13) _j = i32(0) _89: if _j >= int32(_27_p.X9) { goto _92 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) *p = (*p) + (i32(2) + int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_27_p.X24)})))(tls, _27_p, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_27_p))+uintptr(40 /* X17 */))))) + 8*uintptr(_j)))))) sink961 = *p } _j += 1 goto _89 _92: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_i))) _i += 1 goto _85 _88: _k = _nOld _i = i32(0) _93: if _i >= _k { goto _96 } _97: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i)))) <= _usableSpace { goto _98 } if (_i + i32(1)) < _k { goto _99 } _k = _i + i32(2) if _k <= i32(5) { goto _100 } _rc = _sqlite3CorruptError(tls, i32(66351)) goto _balance_cleanup _100: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_k-i32(1)))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_k-i32(1)))) = _b.X0 _99: _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))-i32(1))) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) *p = (*p) - _29_sz sink961 = *p } if _leafData != 0 { goto _101 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) >= (_b.X0) { goto _102 } _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))) goto _103 _102: _29_sz = i32(0) _103: _101: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i+i32(1)))) *p = (*p) + _29_sz sink961 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) -= 1 goto _97 _98: _104: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) >= (_b.X0) { goto _105 } _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))) if ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i)))) + _29_sz) <= _usableSpace { goto _106 } goto _105 _106: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) *p = (*p) + _29_sz sink961 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) += 1 if _leafData != 0 { goto _107 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) >= (_b.X0) { goto _108 } _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))) goto _109 _108: _29_sz = i32(0) _109: _107: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i+i32(1)))) *p = (*p) - _29_sz sink961 = *p } goto _104 _105: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) < (_b.X0) { goto _110 } _k = _i + i32(1) goto _111 _110: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) > func() int32 { if _i > i32(0) { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1))))) } return i32(0) }() { goto _114 } _rc = _sqlite3CorruptError(tls, i32(66384)) goto _balance_cleanup _114: _111: _i += 1 goto _93 _96: _i = _k - i32(1) _115: if _i <= i32(0) { goto _118 } _42_szRight = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) _42_szLeft = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i-i32(1)))) _42_r = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1))))) - i32(1) _42_d = (_42_r + i32(1)) - _leafData _cachedCellSize(tls, &_b, _42_d) _119: func() int32 { if _42_d < _nMaxCells { return i32(0) } return func() int32 { 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(85628))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _42_r < _nMaxCells { return i32(0) } return func() int32 { 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(85640))) crt.X__builtin_abort(tls) return i32(0) }() }() _cachedCellSize(tls, &_b, _42_r) 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 { if _i == (_k - i32(1)) { return i32(0) } return i32(2) }())) { goto _128 } goto _129 _128: { p := &_42_szRight *p = (*p) + (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_42_d)))) + i32(2)) sink961 = *p } { p := &_42_szLeft *p = (*p) - (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_42_r)))) + i32(2)) sink961 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1)))) = _42_r _42_r -= 1 _42_d -= 1 if _42_r >= i32(0) { goto _119 } _129: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) = _42_szRight *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i-i32(1)))) = _42_szLeft if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1))))) > func() int32 { if _i > i32(1) { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(2))))) } return i32(0) }() { goto _132 } _rc = _sqlite3CorruptError(tls, i32(66426)) goto _balance_cleanup _132: _i -= 1 goto _115 _118: func() int32 { 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)) { return i32(0) } return func() int32 { 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(85652))) crt.X__builtin_abort(tls) return i32(0) }() }() _pageFlags = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(i32(0))))).X19)) + 1*uintptr(i32(0))))) _i = i32(0) _138: if _i >= _k { goto _141 } if _i >= _nOld { goto _142 } _46_pNew = store5664445((**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew))+8*uintptr(_i))), *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_i)))) *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_i))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_46_pNew.X23))) _nNew += 1 if _rc == 0 { goto _143 } goto _balance_cleanup _143: goto _144 _142: func() int32 { if _i > i32(0) { return i32(0) } return func() int32 { 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(11900))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _allocateBtreePage(tls, _pBt, &_46_pNew, &_pgno, func() uint32 { if _bBulk != 0 { return uint32(i32(1)) } return _pgno }(), uint8(i32(0))) if _rc == 0 { goto _149 } goto _balance_cleanup _149: _zeroPage(tls, _46_pNew, _pageFlags) *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i))) = _46_pNew _nNew += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_i))) = _b.X0 if (_pBt.X5) == 0 { goto _150 } _ptrmapPut(tls, _pBt, _46_pNew.X4, uint8(i32(5)), _pParent.X4, &_rc) if _rc == i32(0) { goto _151 } goto _balance_cleanup _151: _150: _144: _i += 1 goto _138 _141: _i = i32(0) _152: if _i >= _nNew { goto _155 } *(*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)) + 8*uintptr(_i)))).X4) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgFlags)) + 2*uintptr(_i))) = (*XPgHdr)(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i)))).X23)).X6 _j = i32(0) _156: if _j >= _i { goto _159 } if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno)) + 4*uintptr(_j)))) != (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno)) + 4*uintptr(_i)))) { goto _160 } func() int32 { if (_sqlite3Config.X6) == i32(0) { return i32(0) } return func() int32 { 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(85724))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3CorruptError(tls, i32(66500)) goto _balance_cleanup _160: _j += 1 goto _156 _159: _i += 1 goto _152 _155: _i = i32(0) _163: if _i >= _nNew { goto _166 } _54_iBest = i32(0) _j = i32(1) _167: if _j >= _nNew { goto _170 } if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_j)))) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_54_iBest)))) { goto _171 } _54_iBest = _j _171: _j += 1 goto _167 _170: _pgno = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_54_iBest))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_54_iBest))) = u32(4294967295) if _54_iBest == _i { goto _172 } if _54_iBest <= _i { goto _173 } _sqlite3PagerRekey(tls, (*XPgHdr)(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_54_iBest)))).X23)), ((_pBt.X18)+uint32(_54_iBest))+uint32(i32(1)), uint16(i32(0))) _173: _sqlite3PagerRekey(tls, (*XPgHdr)(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i)))).X23)), _pgno, *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgFlags)) + 2*uintptr(_54_iBest)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i))))) + uintptr(4 /* X4 */))) = _pgno _172: _i += 1 goto _163 _166: func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { return i32(0) } return func() int32 { 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(84884))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3Put4byte(tls, _pRight, (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_nNew-i32(1))))).X4) if (_pageFlags&i32(8)) != i32(0) || _nOld == _nNew { goto _177 } _58_pOld = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() **XMemPage { if _nNew > _nOld { return (**XMemPage)(unsafe.Pointer(&_apNew)) } return (**XMemPage)(unsafe.Pointer(&_apOld)) }())) + 8*uintptr(_nOld-i32(1)))) crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_nNew-i32(1))))).X19))+1*uintptr(i32(8))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_58_pOld.X19))+1*uintptr(i32(8))))), uint64(i32(4))) _177: if (_pBt.X5) == 0 { goto _180 } _59_pNew = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0)))) _59_aOld = _59_pNew.X19 _59_cntOldNext = int32(_59_pNew.X14) + int32(_59_pNew.X9) _59_usableSize = int32(_pBt.X16) _59_iNew = i32(0) _59_iOld = i32(0) _i = i32(0) _181: if _i >= (_b.X0) { goto _184 } _60_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_i))) if _i != _59_cntOldNext { goto _185 } _61_pOld = func() *XMemPage { if preInc961(&_59_iOld, 1) < _nNew { return (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_59_iOld)))) } return (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_59_iOld)))) }() { p := &_59_cntOldNext *p = (*p) + ((int32(_61_pOld.X14) + int32(_61_pOld.X9)) + bool2int(_leafData == 0)) sink961 = *p } _59_aOld = _61_pOld.X19 _185: if _i != (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_59_iNew)))) { goto _188 } _59_pNew = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(preInc961(&_59_iNew, 1)))) if _leafData != 0 { goto _189 } goto _182 _189: _188: if _59_iOld < _nNew && (_59_pNew.X4) == (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno)) + 4*uintptr(_59_iOld)))) && (uint64(uintptr(unsafe.Pointer(_60_pCell))) >= uint64(uintptr(unsafe.Pointer(_59_aOld))) && uint64(uintptr(unsafe.Pointer(_60_pCell))) < uint64(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_59_aOld))+1*uintptr(_59_usableSize))))))) { goto _193 } if _leafCorrection != 0 { goto _194 } _ptrmapPut(tls, _pBt, _sqlite3Get4byte(tls, _60_pCell), uint8(i32(5)), _59_pNew.X4, &_rc) _194: if int32(_cachedCellSize(tls, &_b, _i)) <= int32(_59_pNew.X11) { goto _195 } _ptrmapPutOvflPtr(tls, _59_pNew, _60_pCell, &_rc) _195: if _rc == 0 { goto _196 } goto _balance_cleanup _196: _193: _182: _i += 1 goto _181 _184: _180: _i = i32(0) _197: if _i >= (_nNew - i32(1)) { goto _200 } _66_pNew = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i))) _j = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) func() int32 { if _j < _nMaxCells { return i32(0) } return func() int32 { 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(85736))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_j)))) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(85748))) crt.X__builtin_abort(tls) return i32(0) }() }() _66_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_j))) _66_sz = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_j)))) + int32(_leafCorrection) _66_pTemp = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOvflSpace)) + 1*uintptr(_iOvflSpace))) if (_66_pNew.X5) != 0 { goto _205 } crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_66_pNew.X19))+1*uintptr(i32(8))))), (unsafe.Pointer)(_66_pCell), uint64(i32(4))) goto _206 _205: if _leafData == 0 { goto _207 } _j -= 1 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_66_pNew.X25)})))(tls, _66_pNew, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 8*uintptr(_j))), &_68_info) _66_pCell = _66_pTemp _66_sz = i32(4) + _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_66_pCell))+1*uintptr(i32(4)))), uint64(_68_info.X0)) _66_pTemp = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) goto _208 _207: { p := &_66_pCell *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(4)))) sink4543 = *p } if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_j)))) != i32(4) { goto _209 } func() int32 { if int32(_leafCorrection) == i32(4) { return i32(0) } return func() int32 { 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(85516))) crt.X__builtin_abort(tls) return i32(0) }() }() _66_sz = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_pParent.X24)})))(tls, _pParent, _66_pCell)) _209: _208: _206: { p := &_iOvflSpace *p = (*p) + _66_sz sink961 = *p } func() int32 { if _66_sz <= (int32(_pBt.X11) + i32(23)) { return i32(0) } return func() int32 { 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(85380))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iOvflSpace <= int32(_pBt.X15) { return i32(0) } return func() int32 { 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(85764))) crt.X__builtin_abort(tls) return i32(0) }() }() _insertCell(tls, _pParent, _nxDiv+_i, _66_pCell, _66_sz, _66_pTemp, _66_pNew.X4, &_rc) if _rc == i32(0) { goto _216 } goto _balance_cleanup _216: func() int32 { if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { return i32(0) } return func() int32 { 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(84884))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _197 _200: _i = i32(1) - _nNew _219: if _i >= _nNew { goto _222 } _71_iPg = func() int32 { if _i < i32(0) { return (-_i) } return _i }() func() int32 { if (_71_iPg >= i32(0)) && (_71_iPg < _nNew) { return i32(0) } return func() int32 { 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(85800))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_abDone)) + 1*uintptr(_71_iPg)))) == 0 { goto _228 } goto _220 _228: 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))))) { goto _230 } func() int32 { 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) { return i32(0) } return func() int32 { 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(85820))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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) { return i32(0) } return func() int32 { 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(85876))) crt.X__builtin_abort(tls) return i32(0) }() }() if _71_iPg != i32(0) { goto _238 } _72_iNew = store961(&_72_iOld, i32(0)) _72_nNewCell = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(i32(0)))) goto _239 _238: _72_iOld = func() int32 { if _71_iPg < _nOld { return ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_71_iPg-i32(1))))) + bool2int(_leafData == 0)) } return (_b.X0) }() _72_iNew = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg-i32(1))))) + bool2int(_leafData == 0) _72_nNewCell = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg)))) - _72_iNew _239: _rc = _editPage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_71_iPg))), _72_iOld, _72_iNew, _72_nNewCell, &_b) if _rc == 0 { goto _242 } goto _balance_cleanup _242: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_abDone)) + 1*uintptr(_71_iPg))) += 1 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_71_iPg))))) + uintptr(20 /* X13 */))) = uint16(_usableSpace - (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_71_iPg))))) func() int32 { if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_71_iPg)))).X9) == i32(0) { return i32(0) } return func() int32 { 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(85920))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_71_iPg)))).X14) == _72_nNewCell { return i32(0) } return func() int32 { 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(85948))) crt.X__builtin_abort(tls) return i32(0) }() }() _230: _220: _i += 1 goto _219 _222: func() int32 { if crt.Xmemcmp(tls, (unsafe.Pointer)(&_abDone), (unsafe.Pointer)(str(85976)), uint64(_nNew)) == i32(0) { return i32(0) } return func() int32 { 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(85984))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nOld > i32(0) { return i32(0) } return func() int32 { 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(86028))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nNew > i32(0) { return i32(0) } return func() int32 { 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(86036))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isRoot == 0 || int32(_pParent.X14) != i32(0) || int32(_pParent.X6) > int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0))))).X13) { goto _255 } func() int32 { if (_nNew == i32(1)) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(86044))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _defragmentPage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0)))), i32(-1)) func() int32 { if (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0))))).X13) == ((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*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)) + 8*uintptr(i32(0))))).X19))+1*uintptr(i32(5)))))) + 1*uintptr(i32(1)))))) - int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0))))).X12)) - (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0))))).X14) * i32(2)))) || (_rc != i32(0)) { return i32(0) } return func() int32 { 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(86068))) crt.X__builtin_abort(tls) return i32(0) }() }() _copyNodeContent(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0)))), _pParent, &_rc) _freePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(i32(0)))), &_rc) goto _262 _255: if (_pBt.X5) == 0 || _leafCorrection != 0 { goto _264 } _i = i32(0) _265: if _i >= _nNew { goto _268 } _77_key = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i)))).X19))+1*uintptr(i32(8))))) _ptrmapPut(tls, _pBt, _77_key, uint8(i32(5)), (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i)))).X4, &_rc) _i += 1 goto _265 _268: _264: _262: func() int32 { if (_pParent.X0) != 0 { return i32(0) } return func() int32 { 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(86176))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = _nNew _271: if _i >= _nOld { goto _274 } _freePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_i))), &_rc) _i += 1 goto _271 _274: _balance_cleanup: _sqlite3ScratchFree(tls, (unsafe.Pointer)(_b.X2)) _i = i32(0) _275: if _i >= _nOld { goto _278 } _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 8*uintptr(_i)))) _i += 1 goto _275 _278: _i = i32(0) _279: if _i >= _nNew { goto _282 } _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 8*uintptr(_i)))) _i += 1 goto _279 _282: r0 = _rc return } var _balance_nonrootØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_balance_nonrootØ00__func__Ø000[0], str(86192), 16) } func _sqlite3ScratchMalloc(tls *crt.TLS, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:24513:1 var _p unsafe.Pointer // sqlite3.c:24514:8 _ = _p func() int32 { if _n > i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _sqlite3StatusHighwater(tls, i32(8), _n) if (_mem0.X4) == 0 || (_sqlite3Config.X20) < _n { goto _3 } _p = _mem0.X3 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(24 /* X3 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_mem0.X3)).X0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(32 /* X4 */))) -= 1 _sqlite3StatusUp(tls, i32(3), i32(1)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) goto _4 _3: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _p = _sqlite3Malloc(tls, uint64(_n)) if (_sqlite3Config.X0) == 0 || _p == nil { goto _6 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _sqlite3StatusUp(tls, i32(4), _sqlite3MallocSize(tls, _p)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _6: _4: func() int32 { if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) != 0 { return i32(0) } return func() int32 { 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(86208))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _p return } var _sqlite3ScratchMallocØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ScratchMallocØ00__func__Ø000[0], str(86244), 21) } func _cachedCellSize(tls *crt.TLS, _p *XCellArray, _N int32) (r0 uint16) { // sqlite3.c:65498:1 func() int32 { if (_N >= i32(0)) && (_N < (_p.X0)) { return i32(0) } return func() int32 { 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(86268))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N)))) == 0 { goto _3 } r0 = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N))) return _3: r0 = _computeCellSize(tls, _p, _N) return } var _cachedCellSizeØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_cachedCellSizeØ00__func__Ø000[0], str(86288), 15) } func _computeCellSize(tls *crt.TLS, _p *XCellArray, _N int32) (r0 uint16) { // sqlite3.c:65492:1 func() int32 { if (_N >= i32(0)) && (_N < (_p.X0)) { return i32(0) } return func() int32 { 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(86268))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N)))) == i32(0) { return i32(0) } return func() int32 { 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(86304))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N))) = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{((*XMemPage)(unsafe.Pointer(_p.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_p.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(_N)))) r0 = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N))) return } var _computeCellSizeØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_computeCellSizeØ00__func__Ø000[0], str(86320), 16) } func _sqlite3PagerRekey(tls *crt.TLS, _pPg *XPgHdr, _iNew uint32, _flags uint16) { // sqlite3.c:53938:1 func() int32 { if (_pPg.X5) != _iNew { return i32(0) } return func() int32 { 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(86336))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(44 /* X6 */))) = _flags _sqlite3PcacheMove(tls, _pPg, _iNew) return } var _sqlite3PagerRekeyØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerRekeyØ00__func__Ø000[0], str(86352), 18) } func _editPage(tls *crt.TLS, _pPg *XMemPage, _iOld int32, _iNew int32, _nNew int32, _pCArray *XCellArray) (r0 int32) { // sqlite3.c:65689:1 var _aData *uint8 // sqlite3.c:65696:6 _ = _aData var _hdr int32 // sqlite3.c:65697:13 _ = _hdr var _pBegin *uint8 // sqlite3.c:65698:6 _ = _pBegin var _nCell int32 // sqlite3.c:65699:7 _ = _nCell var _pData *uint8 // sqlite3.c:65700:6 _ = _pData var _pCellptr *uint8 // sqlite3.c:65701:6 _ = _pCellptr var _i int32 // sqlite3.c:65702:7 _ = _i var _iOldEnd int32 // sqlite3.c:65703:7 _ = _iOldEnd var _iNewEnd int32 // sqlite3.c:65704:7 _ = _iNewEnd var _pTmp *uint8 // sqlite3.c:65707:6 _ = _pTmp var _1_nShift int32 // sqlite3.c:65713:9 _ = _1_nShift var _3_nAdd int32 // sqlite3.c:65726:9 _ = _3_nAdd var _4_iCell int32 // sqlite3.c:65739:9 _ = _4_iCell var _6_pCell *uint8 // sqlite3.c:65766:8 _ = _6_pCell var _6_iOff int32 // sqlite3.c:65767:9 _ = _6_iOff _aData = _pPg.X19 _hdr = int32(_pPg.X6) _pBegin = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21)) + 1*uintptr(_nNew*i32(2)))) _nCell = int32(_pPg.X14) _iOldEnd = (_iOld + int32(_pPg.X14)) + int32(_pPg.X9) _iNewEnd = _iNew + _nNew _pTmp = (*uint8)(unsafe.Pointer(_sqlite3PagerTempSpace(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPg.X18)).X0))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_pTmp), (unsafe.Pointer)(_aData), uint64((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16)) if _iOld >= _iNew { goto _0 } _1_nShift = _pageFreeArray(tls, _pPg, _iOld, _iNew-_iOld, _pCArray) crt.Xmemmove(tls, (unsafe.Pointer)(_pPg.X21), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21))+1*uintptr(_1_nShift*i32(2))))), uint64(_nCell*i32(2))) { p := &_nCell *p = (*p) - _1_nShift sink961 = *p } _0: if _iNewEnd >= _iOldEnd { goto _1 } { p := &_nCell *p = (*p) - _pageFreeArray(tls, _pPg, _iNewEnd, _iOldEnd-_iNewEnd, _pCArray) sink961 = *p } _1: _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)))))<= uintptr(unsafe.Pointer(_pBegin)) { goto _2 } goto _editpage_fail _2: if _iNew >= _iOld { goto _3 } _3_nAdd = func() int32 { if _nNew < (_iOld - _iNew) { return _nNew } return (_iOld - _iNew) }() func() int32 { if (((_iOld - _iNew) < _nNew) || (_nCell == i32(0))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(86372))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCellptr = _pPg.X21 crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr))+1*uintptr(_3_nAdd*i32(2))))), (unsafe.Pointer)(_pCellptr), uint64(_nCell*i32(2))) if _pageInsertArray(tls, _pPg, _pBegin, &_pData, _pCellptr, _iNew, _3_nAdd, _pCArray) == 0 { goto _10 } goto _editpage_fail _10: { p := &_nCell *p = (*p) + _3_nAdd sink961 = *p } _3: _i = i32(0) _11: if _i >= int32(_pPg.X9) { goto _14 } _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 if _4_iCell < i32(0) || _4_iCell >= _nNew { goto _16 } _pCellptr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21)) + 1*uintptr(_4_iCell*i32(2)))) crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr))+1*uintptr(i32(2))))), (unsafe.Pointer)(_pCellptr), uint64((_nCell-_4_iCell)*i32(2))) _nCell += 1 if _pageInsertArray(tls, _pPg, _pBegin, &_pData, _pCellptr, _4_iCell+_iNew, i32(1), _pCArray) == 0 { goto _17 } goto _editpage_fail _17: _16: _i += 1 goto _11 _14: _pCellptr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21)) + 1*uintptr(_nCell*i32(2)))) if _pageInsertArray(tls, _pPg, _pBegin, &_pData, _pCellptr, _iNew+_nCell, _nNew-_nCell, _pCArray) == 0 { goto _18 } goto _editpage_fail _18: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(22 /* X14 */))) = uint16(_nNew) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(12 /* X9 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*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))) return _aData }()))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))) = uint8(_pPg.X14) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(int64((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) return _aData }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(int64((uintptr(unsafe.Pointer(_pData)) - uintptr(unsafe.Pointer(_aData))) / 1)) _i = i32(0) _19: if _i >= _nNew || (_sqlite3Config.X6) == i32(0) { goto _23 } _6_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 8*uintptr(_i+_iNew))) _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))))) if uint64(uintptr(unsafe.Pointer(_6_pCell))) < uint64(uintptr(unsafe.Pointer(_aData))) || uint64(uintptr(unsafe.Pointer(_6_pCell))) >= uint64(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16)))))) { goto _25 } _6_pCell = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmp)) + 1*uintptr(int64((uintptr(unsafe.Pointer(_6_pCell))-uintptr(unsafe.Pointer(_aData)))/1)))) _25: func() int32 { if i32(0) == crt.Xmemcmp(tls, (unsafe.Pointer)(_6_pCell), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_6_iOff)))), uint64((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{((*XMemPage)(unsafe.Pointer(_pCArray.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_pCArray.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 8*uintptr(_i+_iNew)))))) { return i32(0) } return func() int32 { 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(86416))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _19 _23: r0 = i32(0) return _editpage_fail: _populateCellCache(tls, _pCArray, _iNew, _nNew) r0 = _rebuildPage(tls, _pPg, _nNew, (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2))+8*uintptr(_iNew))), (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X3))+2*uintptr(_iNew)))) return } func _pageFreeArray(tls *crt.TLS, _pPg *XMemPage, _iFirst int32, _nCell int32, _pCArray *XCellArray) (r0 int32) { // sqlite3.c:65632:1 var _aData *uint8 // sqlite3.c:65638:6 _ = _aData var _pEnd *uint8 // sqlite3.c:65639:6 _ = _pEnd var _pStart *uint8 // sqlite3.c:65640:6 _ = _pStart var _nRet int32 // sqlite3.c:65641:7 _ = _nRet var _i int32 // sqlite3.c:65642:7 _ = _i var _iEnd int32 // sqlite3.c:65643:7 _ = _iEnd var _pFree *uint8 // sqlite3.c:65644:6 _ = _pFree var _szFree int32 // sqlite3.c:65645:7 _ = _szFree var _1_pCell *uint8 // sqlite3.c:65648:8 _ = _1_pCell var _2_sz int32 // sqlite3.c:65650:11 _ = _2_sz _aData = _pPg.X19 _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16))) _pStart = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr((int32(_pPg.X6)+i32(8))+int32(_pPg.X7)))) _nRet = i32(0) _iEnd = _iFirst + _nCell _pFree = nil _szFree = i32(0) _i = _iFirst _0: if _i >= _iEnd { goto _3 } _1_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 8*uintptr(_i))) if uint64(uintptr(unsafe.Pointer(_1_pCell))) < uint64(uintptr(unsafe.Pointer(_pStart))) || uint64(uintptr(unsafe.Pointer(_1_pCell))) >= uint64(uintptr(unsafe.Pointer(_pEnd))) { goto _5 } _2_sz = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X3)) + 2*uintptr(_i)))) func() int32 { if _2_sz > i32(0) { return i32(0) } return func() int32 { 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(86516))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pFree == (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_1_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_2_sz))))))) { goto _8 } if _pFree == nil { goto _9 } func() int32 { if (uintptr(unsafe.Pointer(_pFree)) > uintptr(unsafe.Pointer(_aData))) && (int64((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1) < int64(i32(65536))) { return i32(0) } return func() int32 { 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(86524))) crt.X__builtin_abort(tls) return i32(0) }() }() _freeSpace(tls, _pPg, uint16(int64((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1)), uint16(_szFree)) _9: _pFree = _1_pCell _szFree = _2_sz if uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pFree))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_2_sz))))))))) <= uintptr(unsafe.Pointer(_pEnd)) { goto _13 } r0 = i32(0) return _13: goto _14 _8: _pFree = _1_pCell { p := &_szFree *p = (*p) + _2_sz sink961 = *p } _14: _nRet += 1 _5: _i += 1 goto _0 _3: if _pFree == nil { goto _15 } func() int32 { if (uintptr(unsafe.Pointer(_pFree)) > uintptr(unsafe.Pointer(_aData))) && (int64((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1) < int64(i32(65536))) { return i32(0) } return func() int32 { 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(86524))) crt.X__builtin_abort(tls) return i32(0) }() }() _freeSpace(tls, _pPg, uint16(int64((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1)), uint16(_szFree)) _15: r0 = _nRet return } var _pageFreeArrayØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_pageFreeArrayØ00__func__Ø000[0], str(86564), 14) } var _editPageØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_editPageØ00__func__Ø000[0], str(86580), 9) } 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 var _i int32 // sqlite3.c:65595:7 _ = _i var _aData *uint8 // sqlite3.c:65596:6 _ = _aData var _pData *uint8 // sqlite3.c:65597:6 _ = _pData var _iEnd int32 // sqlite3.c:65598:7 _ = _iEnd var _1_sz int32 // sqlite3.c:65601:9 _ = _1_sz var _1_rc int32 // sqlite3.c:65601:13 _ = _1_rc var _1_pSlot *uint8 // sqlite3.c:65602:8 _ = _1_pSlot _aData = _pPg.X19 _pData = *_ppData _iEnd = _iFirst + _nCell func() int32 { if ((_sqlite3Config.X6) == i32(0)) || (int32(_pPg.X6) == i32(0)) { return i32(0) } return func() int32 { 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(86592))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = _iFirst _3: if _i >= _iEnd { goto _6 } _1_sz = int32(_cachedCellSize(tls, _pCArray, _i)) 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)) && store4543(&_1_pSlot, _pageFindSlot(tls, _pPg, _1_sz, &_1_rc)) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } if int64((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_pBegin)))/1) >= int64(_1_sz) { goto _10 } r0 = i32(1) return _10: { p := &_pData *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(_1_sz))) sink4543 = *p } _1_pSlot = _pData _9: func() int32 { 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)) + 8*uintptr(_i)))))) || (uintptr(unsafe.Pointer(_1_pSlot)) >= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 8*uintptr(_i)))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_1_sz))))))))))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(86624))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemmove(tls, (unsafe.Pointer)(_1_pSlot), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 8*uintptr(_i)))), uint64(_1_sz)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr)) + 1*uintptr(i32(0)))) = uint8(int64((uintptr(unsafe.Pointer(_1_pSlot))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) return _pCellptr }())) + 1*uintptr(i32(1)))) = uint8(int64((uintptr(unsafe.Pointer(_1_pSlot)) - uintptr(unsafe.Pointer(_aData))) / 1)) { p := &_pCellptr *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) sink4543 = *p } _i += 1 goto _3 _6: *_ppData = _pData r0 = i32(0) return } var _pageInsertArrayØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_pageInsertArrayØ00__func__Ø000[0], str(86704), 16) } func _populateCellCache(tls *crt.TLS, _p *XCellArray, _idx int32, _N int32) { // sqlite3.c:65474:1 func() int32 { if (_idx >= i32(0)) && ((_idx + _N) <= (_p.X0)) { return i32(0) } return func() int32 { 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(86720))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: if _N <= i32(0) { goto _4 } func() int32 { if (*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(_idx)))) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(86748))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_idx)))) != i32(0) { goto _7 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_idx))) = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{((*XMemPage)(unsafe.Pointer(_p.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_p.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(_idx)))) goto _8 _7: func() int32 { 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 { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{((*XMemPage)(unsafe.Pointer(_p.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_p.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(_idx)))))) { return i32(0) } return func() int32 { 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(86768))) crt.X__builtin_abort(tls) return i32(0) }() }() _8: _idx += 1 _N -= 1 goto _3 _4: return } var _populateCellCacheØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_populateCellCacheØ00__func__Ø000[0], str(86844), 18) } func _freePage(tls *crt.TLS, _pPage *XMemPage, _pRC *int32) { // sqlite3.c:65047:1 if (*_pRC) != i32(0) { goto _0 } *_pRC = _freePage2(tls, (*XBtShared)(unsafe.Pointer(_pPage.X18)), _pPage, _pPage.X4) _0: return } func _sqlite3ScratchFree(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:24550:1 var _2_pSlot *Xsqlite3_file // sqlite3.c:24564:23 _ = _2_pSlot var _4_iSize int32 // sqlite3.c:24579:13 _ = _4_iSize if _p == nil { goto _0 } if uint64(uintptr(unsafe.Pointer(_p))) < uint64(uintptr(unsafe.Pointer(_sqlite3Config.X19))) || uint64(uintptr(unsafe.Pointer(_p))) >= uint64(uintptr(unsafe.Pointer(_mem0.X2))) { goto _2 } _2_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_p)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_mem0.X3)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(24 /* X3 */))))) = _2_pSlot *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(32 /* X4 */))) += 1 func() int32 { if (_mem0.X4) <= uint32(_sqlite3Config.X21) { return i32(0) } return func() int32 { 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(86864))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StatusDown(tls, i32(3), i32(1)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) goto _5 _2: i32(0) i32(0) if (_sqlite3Config.X0) == 0 { goto _6 } _4_iSize = _sqlite3MallocSize(tls, _p) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _sqlite3StatusDown(tls, i32(4), _4_iSize) _sqlite3StatusDown(tls, i32(0), _4_iSize) _sqlite3StatusDown(tls, i32(9), i32(1)) ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) goto _7 _6: ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) _7: _5: _0: return } var _sqlite3ScratchFreeØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ScratchFreeØ00__func__Ø000[0], str(86920), 19) } func _sqlite3BtreeDelete(tls *crt.TLS, _pCur *XBtCursor, _flags uint8) (r0 int32) { // sqlite3.c:67229:1 var _p *XBtree // sqlite3.c:67230:9 _ = _p var _pBt *XBtShared // sqlite3.c:67231:12 _ = _pBt var _rc int32 // sqlite3.c:67232:7 _ = _rc var _pPage *XMemPage // sqlite3.c:67233:11 _ = _pPage var _pCell *uint8 // sqlite3.c:67234:17 _ = _pCell var _iCellIdx int32 // sqlite3.c:67235:7 _ = _iCellIdx var _iCellDepth int32 // sqlite3.c:67236:7 _ = _iCellDepth var _info XCellInfo // sqlite3.c:67237:12 _ = _info var _bSkipnext int32 // sqlite3.c:67238:7 _ = _bSkipnext var _bPreserve uint8 // sqlite3.c:67239:6 _ = _bPreserve var _4_notUsed int32 // sqlite3.c:67286:9 _ = _4_notUsed var _7_pLeaf *XMemPage // sqlite3.c:67319:13 _ = _7_pLeaf var _7_nCell int32 // sqlite3.c:67320:9 _ = _7_nCell var _7_n uint32 // sqlite3.c:67321:10 _ = _7_n var _7_pTmp *uint8 // sqlite3.c:67322:19 _ = _7_pTmp _p = (*XBtree)(unsafe.Pointer(_pCur.X0)) _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _bSkipnext = i32(0) _bPreserve = uint8(int32(_flags) & i32(2)) func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pBt.X8) == i32(2) { return i32(0) } return func() int32 { 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(58756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pBt.X10) & i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(78880))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pCur.X10) & i32(1)) != 0 { return i32(0) } return func() int32 { 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(86940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _hasSharedCacheTableLock(tls, _p, _pCur.X7, bool2int((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))), i32(2)) != 0 { return i32(0) } return func() int32 { 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(81464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _hasReadConflicts(tls, _p, _pCur.X7) == 0 { return i32(0) } return func() int32 { 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(86972))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) { return i32(0) } return func() int32 { 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(9392))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pCur.X12) == i32(1) { return i32(0) } return func() int32 { 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(9180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_flags) & i32(-7)) == i32(0) { return i32(0) } return func() int32 { 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(87012))) crt.X__builtin_abort(tls) return i32(0) }() }() _iCellDepth = int32(_pCur.X14) _iCellIdx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_iCellDepth)))) _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_iCellDepth))) _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)))))<= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pLeaf.X19))+1*uintptr(i32(4)))))) { goto _31 } r0 = _sqlite3CorruptError(tls, i32(67325)) return _31: _7_nCell = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 }{(_7_pLeaf.X24)})))(tls, _7_pLeaf, _pCell)) func() int32 { if int32((_pBt.X15)-uint32(i32(8))) >= _7_nCell { return i32(0) } return func() int32 { 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(87068))) crt.X__builtin_abort(tls) return i32(0) }() }() _7_pTmp = _pBt.X27 func() int32 { if _7_pTmp != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(87096))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_7_pLeaf.X23))) if _rc != i32(0) { goto _36 } _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) _36: _dropCell(tls, _7_pLeaf, int32(_7_pLeaf.X14)-i32(1), _7_nCell, &_rc) if _rc == 0 { goto _37 } r0 = _rc return _37: _30: _rc = _balance(tls, _pCur) if _rc != i32(0) || int32(_pCur.X14) <= _iCellDepth { goto _39 } _40: if int32(_pCur.X14) <= _iCellDepth { goto _41 } _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(postInc973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(88 /* X14 */))), int8(-1)))))) goto _40 _41: _rc = _balance(tls, _pCur) _39: if _rc != i32(0) { goto _42 } if _bSkipnext == 0 { goto _43 } func() int32 { if (_bPreserve != 0) && ((int32(_pCur.X14) == _iCellDepth) || ((_sqlite3Config.X6) == i32(0))) { return i32(0) } return func() int32 { 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(87104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPage == (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14))))) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(87160))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_pPage.X14) > i32(0)) || ((_sqlite3Config.X6) == i32(0))) && (_iCellIdx <= int32(_pPage.X14)) { return i32(0) } return func() int32 { 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(87208))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(2)) if _iCellIdx < int32(_pPage.X14) { goto _55 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(-1) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(112 /* X18 */))))) + 2*uintptr(_iCellDepth))) = uint16(int32(_pPage.X14) - i32(1)) goto _56 _55: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(80 /* X9 */))) = i32(1) _56: goto _57 _43: _rc = _moveToRoot(tls, _pCur) if _bPreserve == 0 { goto _58 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(86 /* X12 */))) = uint8(i32(3)) _58: _57: _42: r0 = _rc return } var _sqlite3BtreeDeleteØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeDeleteØ00__func__Ø000[0], str(87268), 19) } func _sqlite3VdbeSorterCompare(tls *crt.TLS, _pCsr *XVdbeCursor, _pVal *XMem, _nKeyCol int32, _pRes *int32) (r0 int32) { // sqlite3.c:88564:1 var _pSorter *XVdbeSorter // sqlite3.c:88570:14 _ = _pSorter var _r2 *XUnpackedRecord // sqlite3.c:88571:18 _ = _r2 var _pKeyInfo *XKeyInfo // sqlite3.c:88572:11 _ = _pKeyInfo var _i int32 // sqlite3.c:88573:7 _ = _i var _pKey unsafe.Pointer // sqlite3.c:88574:8 _ = _pKey var _nKey int32 // sqlite3.c:88574:19 _ = _nKey func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) _r2 = (*XUnpackedRecord)(unsafe.Pointer(_pSorter.X8)) _pKeyInfo = (*XKeyInfo)(unsafe.Pointer(_pCsr.X15)) if _r2 != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _r2 = store5668990((**XUnpackedRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(48 /* X8 */))))), _sqlite3VdbeAllocUnpackedRecord(tls, _pKeyInfo)) if _r2 != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = _sqlite3NomemError(tls, i32(88582)) return _3: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_r2)) + uintptr(16 /* X2 */))) = uint16(_nKeyCol) _2: func() int32 { if int32(_r2.X2) == _nKeyCol { return i32(0) } return func() int32 { 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(87288))) crt.X__builtin_abort(tls) return i32(0) }() }() _pKey = _vdbeSorterRowkey(tls, _pSorter, &_nKey) _sqlite3VdbeRecordUnpack(tls, _pKeyInfo, _nKey, _pKey, _r2) _i = i32(0) _6: if _i >= _nKeyCol { goto _9 } if (int32((*XMem)(unsafe.Pointer(uintptr(_r2.X1)+72*uintptr(_i))).X1) & i32(1)) == 0 { goto _10 } *_pRes = i32(-1) r0 = i32(0) return _10: _i += 1 goto _6 _9: *_pRes = _sqlite3VdbeRecordCompare(tls, _pVal.X4, (unsafe.Pointer)(_pVal.X5), _r2) r0 = i32(0) return } var _sqlite3VdbeSorterCompareØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterCompareØ00__func__Ø000[0], str(87308), 25) } func _vdbeSorterRowkey(tls *crt.TLS, _pSorter *XVdbeSorter, _pnKey *int32) (r0 unsafe.Pointer) { // sqlite3.c:88504:1 var _pKey unsafe.Pointer // sqlite3.c:88508:8 _ = _pKey var _1_pReader *XPmaReader // sqlite3.c:88510:15 _ = _1_pReader if (_pSorter.X12) == 0 { goto _0 } if (_pSorter.X13) == 0 { goto _1 } _1_pReader = (*XPmaReader)(unsafe.Pointer(_pSorter.X4)) goto _2 _1: _1_pReader = (*XPmaReader)(unsafe.Pointer(uintptr((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)).X3) + 80*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)).X2)) + 4*uintptr(i32(1))))))) _2: *_pnKey = _1_pReader.X3 _pKey = (unsafe.Pointer)(_1_pReader.X6) goto _3 _0: *_pnKey = (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X0)).X0 _pKey = (unsafe.Pointer)((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)))) + uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(16)))))))))))) _3: r0 = _pKey return } func _sqlite3VdbeSorterRowkey(tls *crt.TLS, _pCsr *XVdbeCursor, _pOut *XMem) (r0 int32) { // sqlite3.c:88531:1 var _pSorter *XVdbeSorter // sqlite3.c:88532:14 _ = _pSorter var _pKey unsafe.Pointer // sqlite3.c:88533:8 _ = _pKey var _nKey int32 // sqlite3.c:88533:19 _ = _nKey func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) _pKey = _vdbeSorterRowkey(tls, _pSorter, &_nKey) if _sqlite3VdbeMemClearAndResize(tls, _pOut, _nKey) == 0 { goto _2 } r0 = _sqlite3NomemError(tls, i32(88539)) return _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = _nKey *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(16)) crt.Xmemcpy(tls, (unsafe.Pointer)(_pOut.X5), _pKey, uint64(_nKey)) r0 = i32(0) return } var _sqlite3VdbeSorterRowkeyØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterRowkeyØ00__func__Ø000[0], str(87336), 24) } func _sqlite3VdbeCursorRestore(tls *crt.TLS, _p *XVdbeCursor) (r0 int32) { // sqlite3.c:74421:1 func() int32 { if int32(_p.X0) == i32(0) { return i32(0) } return func() int32 { 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(74596))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3BtreeCursorHasMoved(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X14 */)))))))) == 0 { goto _2 } r0 = _handleMovedCursor(tls, _p) return _2: r0 = i32(0) return } var _sqlite3VdbeCursorRestoreØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeCursorRestoreØ00__func__Ø000[0], str(87360), 25) } func _sqlite3BtreeCursorIsValidNN(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63303:1 func() int32 { if _pCur != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(78100))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int(int32(_pCur.X12) == i32(1)) return } var _sqlite3BtreeCursorIsValidNNØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCursorIsValidNNØ00__func__Ø000[0], str(87388), 28) } func _sqlite3BtreeFirst(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:63998:1 var _rc int32 // sqlite3.c:63999:7 _ = _rc func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(74676))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _moveToRoot(tls, _pCur) if _rc != i32(0) { goto _4 } if int32(_pCur.X12) != i32(0) { goto _5 } func() int32 { if ((_pCur.X7) == uint32(i32(0))) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) == i32(0)) { return i32(0) } return func() int32 { 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(75080))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pRes = i32(1) goto _9 _5: func() int32 { if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X14) > i32(0) { return i32(0) } return func() int32 { 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(87416))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pRes = i32(0) _rc = _moveToLeftmost(tls, _pCur) _9: _4: r0 = _rc return } var _sqlite3BtreeFirstØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeFirstØ00__func__Ø000[0], str(87452), 18) } func _sqlite3BtreeRowCountEst(tls *crt.TLS, _pCur *XBtCursor) (r0 int64) { // sqlite3.c:64348:1 var _n int64 // sqlite3.c:64349:7 _ = _n var _i uint8 // sqlite3.c:64350:6 _ = _i func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(74676))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if int32(_pCur.X12) != i32(1) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _6 } r0 = int64(i32(-1)) return _6: if func() int32 { if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCur.X14)))).X5) == i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _9 } r0 = int64(i32(-1)) return _9: *func() *uint8 { _n = int64(i32(1)); return &_i }() = uint8(i32(0)) _10: if int32(_i) > int32(_pCur.X14) { goto _13 } { p := &_n *p = (*p) * int64((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(152 /* X19 */))))) + 8*uintptr(_i)))).X14) sink967 = *p } _i += 1 goto _10 _13: r0 = _n return } var _sqlite3BtreeRowCountEstØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeRowCountEstØ00__func__Ø000[0], str(87472), 24) } func _sqlite3VdbeSorterRewind(tls *crt.TLS, _pCsr *XVdbeCursor, _pbEof *int32) (r0 int32) { // sqlite3.c:88419:1 var _pSorter *XVdbeSorter // sqlite3.c:88420:14 _ = _pSorter var _rc int32 // sqlite3.c:88421:7 _ = _rc _rc = i32(0) func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) func() int32 { if _pSorter != nil { return i32(0) } return func() int32 { 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(87496))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pSorter.X12) != i32(0) { goto _4 } if (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)) == nil { goto _5 } *_pbEof = i32(0) _rc = _vdbeSorterSort(tls, (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */)))))+104*uintptr(i32(0)))), (*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */)))) goto _6 _5: *_pbEof = i32(1) _6: r0 = _rc return _4: func() int32 { if (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)) != nil { return i32(0) } return func() int32 { 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(87504))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbeSorterFlushPMA(tls, _pSorter) _rc = _vdbeSorterJoinAll(tls, _pSorter, _rc) func() int32 { if (*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(87524))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) { goto _11 } _rc = _vdbeSorterSetupMerge(tls, _pSorter) *_pbEof = i32(0) _11: r0 = _rc return } var _sqlite3VdbeSorterRewindØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterRewindØ00__func__Ø000[0], str(87544), 24) } func _vdbeSorterSort(tls *crt.TLS, _pTask *XSortSubtask, _pList *T5901756) (r0 int32) { // sqlite3.c:87247:1 var _i int32 // sqlite3.c:87248:7 _ = _i var _aSlot **XSorterRecord // sqlite3.c:87249:16 _ = _aSlot var _p *XSorterRecord // sqlite3.c:87250:16 _ = _p var _rc int32 // sqlite3.c:87251:7 _ = _rc var _2_pNext *XSorterRecord // sqlite3.c:87265:18 _ = _2_pNext _rc = _vdbeSortAllocUnpacked(tls, _pTask) if _rc == i32(0) { goto _0 } r0 = _rc return _0: _p = (*XSorterRecord)(unsafe.Pointer(_pList.X0)) *(*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(64 /* X6 */))))) = _vdbeSorterGetCompare(tls, (*XVdbeSorter)(unsafe.Pointer(_pTask.X2))) _aSlot = (**XSorterRecord)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(512)))) if _aSlot != nil { goto _1 } r0 = _sqlite3NomemError(tls, i32(87261)) return _1: _2: if _p == nil { goto _3 } if (_pList.X1) == nil { goto _4 } if (*uint8)(unsafe.Pointer(_p)) != (_pList.X1) { goto _5 } _2_pNext = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) goto _6 _5: func() int32 { if (*(*int32)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */)))))) < _sqlite3MallocSize(tls, (unsafe.Pointer)(_pList.X1)) { return i32(0) } return func() int32 { 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(87568))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_pNext = (*XSorterRecord)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList.X1)) + 1*uintptr(*(*int32)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */)))))))))) _6: goto _9 _4: _2_pNext = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))))) _9: *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) _i = i32(0) _10: if (*(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i)))) == nil { goto _13 } _p = _vdbeSorterMerge(tls, _pTask, _p, *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i)))) *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _10 _13: *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i))) = _p _p = _2_pNext goto _2 _3: _p = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) _i = i32(0) _14: if _i >= i32(64) { goto _17 } if (*(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i)))) != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } goto _15 _18: _p = func() *XSorterRecord { if _p != nil { return _vdbeSorterMerge(tls, _pTask, _p, *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i)))) } return (*(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 8*uintptr(_i)))) }() _15: _i += 1 goto _14 _17: *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))))) = _p Xsqlite3_free(tls, (unsafe.Pointer)(_aSlot)) func() int32 { if (int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) == i32(0)) || (int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) == i32(7)) { return i32(0) } return func() int32 { 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(87616))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) return } func _vdbeSortAllocUnpacked(tls *crt.TLS, _pTask *XSortSubtask) (r0 int32) { // sqlite3.c:87177:1 if (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } *(**XUnpackedRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(24 /* X3 */))))) = _sqlite3VdbeAllocUnpackedRecord(tls, (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7))) if (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3NomemError(tls, i32(87180)) return _1: *(*uint16)(unsafe.Pointer(uintptr(_pTask.X3) + uintptr(16 /* X2 */))) = (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X2 *(*uint8)(unsafe.Pointer(uintptr(_pTask.X3) + uintptr(19 /* X4 */))) = uint8(i32(0)) _0: r0 = i32(0) return } func _vdbeSorterGetCompare(tls *crt.TLS, _p *XVdbeSorter) (r0 func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32) { // sqlite3.c:87233:1 if int32(_p.X16) != i32(1) { goto _0 } r0 = _vdbeSorterCompareInt return _0: if int32(_p.X16) != i32(2) { goto _2 } r0 = _vdbeSorterCompareText return _2: r0 = _vdbeSorterCompare return } 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 var _p1 *uint8 // sqlite3.c:86699:12 _ = _p1 var _p2 *uint8 // sqlite3.c:86700:12 _ = _p2 var _s1 int32 // sqlite3.c:86701:13 _ = _s1 var _s2 int32 // sqlite3.c:86702:13 _ = _s2 var _v1 *uint8 // sqlite3.c:86703:12 _ = _v1 var _v2 *uint8 // sqlite3.c:86704:12 _ = _v2 var _res int32 // sqlite3.c:86705:7 _ = _res var _5_i int32 // sqlite3.c:86720:13 _ = _5_i _p1 = (*uint8)(unsafe.Pointer(_pKey1)) _p2 = (*uint8)(unsafe.Pointer(_pKey2)) _s1 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(1))))) _s2 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(1))))) _v1 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(0))))))) _v2 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(0))))))) func() int32 { if (((_s1 > i32(0)) && (_s1 < i32(7))) || (_s1 == i32(8))) || (_s1 == i32(9)) { return i32(0) } return func() int32 { 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(87696))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_s2 > i32(0)) && (_s2 < i32(7))) || (_s2 == i32(8))) || (_s2 == i32(9)) { return i32(0) } return func() int32 { 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(87732))) crt.X__builtin_abort(tls) return i32(0) }() }() if _s1 <= i32(7) || _s2 <= i32(7) { goto _11 } _res = _s1 - _s2 goto _12 _11: if _s1 != _s2 { goto _13 } if ((int32(*_v1) ^ int32(*_v2)) & i32(128)) == 0 { goto _14 } _res = func() int32 { if (int32(*_v1) & i32(128)) != 0 { return i32(-1) } return i32(1) }() goto _17 _14: _res = i32(0) _5_i = i32(0) _18: if _5_i >= int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_vdbeSorterCompareIntØ00aLenØ001)) + 1*uintptr(_s1)))) { goto _21 } 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 { goto _22 } goto _21 _22: _5_i += 1 goto _18 _21: _17: goto _23 _13: if _s2 <= i32(7) { goto _24 } _res = i32(1) goto _25 _24: if _s1 <= i32(7) { goto _26 } _res = i32(-1) goto _27 _26: _res = _s1 - _s2 _27: _25: func() int32 { if _res != i32(0) { return i32(0) } return func() int32 { 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(68864))) crt.X__builtin_abort(tls) return i32(0) }() }() if _res <= i32(0) { goto _30 } if (int32(*_v1) & i32(128)) == 0 { goto _31 } _res = i32(-1) _31: goto _32 _30: if (int32(*_v2) & i32(128)) == 0 { goto _33 } _res = i32(1) _33: _32: _23: _12: if _res != i32(0) { goto _34 } if int32((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X2) <= i32(1) { goto _35 } _res = _vdbeSorterCompareTail(tls, _pTask, _pbKey2Cached, _pKey1, _nKey1, _pKey2, _nKey2) _35: goto _36 _34: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X5)) + 1*uintptr(i32(0))))) == 0 { goto _37 } _res = _res * i32(-1) _37: _36: r0 = _res return } var _vdbeSorterCompareIntØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterCompareIntØ00__func__Ø000[0], str(87768), 21) } var _vdbeSorterCompareIntØ00aLenØ001 [7]uint8 // sqlite3.c:86719:25 func init() { _vdbeSorterCompareIntØ00aLenØ001 = [7]uint8{0, 1, 2, 3, 4, 6, 8} } 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 var _r2 *XUnpackedRecord // sqlite3.c:86612:18 _ = _r2 _r2 = (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) if (*_pbKey2Cached) != i32(0) { goto _0 } _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)), _nKey2, _pKey2, _r2) *_pbKey2Cached = i32(1) _0: r0 = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _r2, i32(1)) return } 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 var _p1 *uint8 // sqlite3.c:86658:12 _ = _p1 var _p2 *uint8 // sqlite3.c:86659:12 _ = _p2 var _v1 *uint8 // sqlite3.c:86660:12 _ = _v1 var _v2 *uint8 // sqlite3.c:86661:12 _ = _v2 var _n1 int32 // sqlite3.c:86663:7 _ = _n1 var _n2 int32 // sqlite3.c:86664:7 _ = _n2 var _res int32 // sqlite3.c:86665:7 _ = _res _p1 = (*uint8)(unsafe.Pointer(_pKey1)) _p2 = (*uint8)(unsafe.Pointer(_pKey2)) _v1 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(0))))))) _v2 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(0))))))) func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(1))))) < int32(u8(128)) { return func() int32 { _n1 = int32(uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(1)))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1))+1*uintptr(i32(1)))), (*uint32)(unsafe.Pointer(&_n1)))) }() _n1 = (_n1 - i32(13)) / i32(2) func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(1))))) < int32(u8(128)) { return func() int32 { _n2 = int32(uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(1)))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2))+1*uintptr(i32(1)))), (*uint32)(unsafe.Pointer(&_n2)))) }() _n2 = (_n2 - i32(13)) / i32(2) _res = crt.Xmemcmp(tls, (unsafe.Pointer)(_v1), (unsafe.Pointer)(_v2), uint64(func() int32 { if _n1 < _n2 { return _n1 } return _n2 }())) if _res != i32(0) { goto _6 } _res = _n1 - _n2 _6: if _res != i32(0) { goto _7 } if int32((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X2) <= i32(1) { goto _8 } _res = _vdbeSorterCompareTail(tls, _pTask, _pbKey2Cached, _pKey1, _nKey1, _pKey2, _nKey2) _8: goto _9 _7: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X5)) + 1*uintptr(i32(0))))) == 0 { goto _10 } _res = _res * i32(-1) _10: _9: r0 = _res return } 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 var _r2 *XUnpackedRecord // sqlite3.c:86639:18 _ = _r2 _r2 = (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) if (*_pbKey2Cached) != 0 { goto _0 } _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)), _nKey2, _pKey2, _r2) *_pbKey2Cached = i32(1) _0: r0 = _sqlite3VdbeRecordCompare(tls, _nKey1, _pKey1, _r2) return } var _vdbeSorterSortØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterSortØ00__func__Ø000[0], str(87792), 15) } func _vdbeSorterMerge(tls *crt.TLS, _pTask *XSortSubtask, _p1 *XSorterRecord, _p2 *XSorterRecord) (r0 *XSorterRecord) { // sqlite3.c:87191:1 var _pFinal *XSorterRecord // sqlite3.c:87196:16 _ = _pFinal var _pp **XSorterRecord // sqlite3.c:87197:16 _ = _pp var _bCached int32 // sqlite3.c:87198:7 _ = _bCached var _1_res int32 // sqlite3.c:87202:9 _ = _1_res _pFinal = nil _pp = &_pFinal _bCached = i32(0) func() int32 { if (_p1 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) && (_p2 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(87808))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: _1_res = (*(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 }{(_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(16)))))))))))), _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(16)))))))))))), _p2.X0) if _1_res > i32(0) { goto _6 } *_pp = _p1 _pp = (**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + uintptr(8 /* X1 */))))))) _p1 = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + uintptr(8 /* X1 */))))))) if _p1 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } *_pp = _p2 goto _5 _7: goto _8 _6: *_pp = _p2 _pp = (**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + uintptr(8 /* X1 */))))))) _p2 = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + uintptr(8 /* X1 */))))))) _bCached = i32(0) if _p2 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } *_pp = _p1 goto _5 _9: _8: goto _3 _5: r0 = _pFinal return } var _vdbeSorterMergeØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterMergeØ00__func__Ø000[0], str(87824), 16) } func _vdbeSorterFlushPMA(tls *crt.TLS, _pSorter *XVdbeSorter) (r0 int32) { // sqlite3.c:87547:1 var _rc int32 // sqlite3.c:87552:7 _ = _rc var _i int32 // sqlite3.c:87553:7 _ = _i var _pTask *XSortSubtask // sqlite3.c:87554:15 _ = _pTask var _nWorker int32 // sqlite3.c:87555:7 _ = _nWorker var _1_iTest int32 // sqlite3.c:87570:9 _ = _1_iTest var _5_aMem *uint8 // sqlite3.c:87584:10 _ = _5_aMem var _5_pCtx unsafe.Pointer // sqlite3.c:87585:12 _ = _5_pCtx _rc = i32(0) _pTask = nil _nWorker = int32(_pSorter.X15) - i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(88 /* X12 */))) = uint8(i32(1)) _i = i32(0) _0: if _i >= _nWorker { goto _3 } _1_iTest = ((int32(_pSorter.X14) + _i) + i32(1)) % _nWorker _pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(_1_iTest))) if (_pTask.X1) == 0 { goto _4 } _rc = _vdbeSorterJoinThread(tls, _pTask) _4: if _rc == i32(0) && (*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) != (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } goto _3 _6: _i += 1 goto _0 _3: if _rc != i32(0) { goto _7 } if _i != _nWorker { goto _8 } _rc = _vdbeSorterListToPMA(tls, (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */)))))+104*uintptr(_nWorker))), (*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */)))) goto _9 _8: _5_aMem = (*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(32 /* X4 */))).X1 _5_pCtx = (unsafe.Pointer)(_pTask) func() int32 { if ((*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) == (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0))))) && ((_pTask.X1) == i32(0)) { return i32(0) } return func() int32 { 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(87840))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(32 /* X4 */))).X0)) == (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(87880))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(32 /* X4 */))).X1) == (*uint8)(unsafe.Pointer(uintptr(i32(0))))) || (((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(87904))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(90 /* X14 */))) = uint8(int64((uintptr(unsafe.Pointer(_pTask)) - uintptr(unsafe.Pointer((*XSortSubtask)(unsafe.Pointer((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */)))))))) / 104)) *(*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(32 /* X4 */))) = _pSorter.X9 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(16 /* X2 */))) = i32(0) if _5_aMem == nil { goto _18 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(8 /* X1 */))) = _5_aMem *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(84 /* X11 */))) = _sqlite3MallocSize(tls, (unsafe.Pointer)(_5_aMem)) goto _19 _18: if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) == nil { goto _20 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(8 /* X1 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_pSorter.X11)))) if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) != nil { goto _21 } r0 = _sqlite3NomemError(tls, i32(87600)) return _21: _20: _19: _rc = _vdbeSorterCreateThread(tls, _pTask, _vdbeSorterFlushThread, _5_pCtx) _9: _7: r0 = _rc return } func _vdbeSorterListToPMA(tls *crt.TLS, _pTask *XSortSubtask, _pList *T5901756) (r0 int32) { // sqlite3.c:87398:1 var _db *Xsqlite3 // sqlite3.c:87399:11 _ = _db var _rc int32 // sqlite3.c:87400:7 _ = _rc var _writer XPmaWriter // sqlite3.c:87401:13 _ = _writer var _iSz int64 // sqlite3.c:87406:7 _ = _iSz var _4_p *XSorterRecord // sqlite3.c:87432:18 _ = _4_p var _4_pNext *XSorterRecord // sqlite3.c:87433:18 _ = _4_pNext _db = (*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X6)) _rc = i32(0) _iSz = int64((_pList.X2)+_sqlite3VarintLen(tls, uint64(_pList.X2))) + ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(72 /* X7 */))).X1) crt.Xmemset(tls, (unsafe.Pointer)(&_writer), i32(0), u64(48)) func() int32 { if (_pList.X2) > i32(0) { return i32(0) } return func() int32 { 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(87956))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X0)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _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(72 /* X7 */)))))+uintptr(0 /* X0 */)))))) func() int32 { if (_rc != i32(0)) || ((*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X0)) != nil) { return i32(0) } return func() int32 { 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(87972))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(72 /* X7 */))).X1) == int64(i32(0)) { return i32(0) } return func() int32 { 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(88008))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pTask.X5) == i32(0) { return i32(0) } return func() int32 { 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(88028))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: if _rc != i32(0) { goto _10 } _vdbeSorterExtendFile(tls, _db, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X0)), (((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X1)+int64(_pList.X2))+int64(i32(9))) _10: if _rc != i32(0) { goto _11 } _rc = _vdbeSorterSort(tls, _pTask, _pList) _11: if _rc != i32(0) { goto _12 } _4_pNext = nil _vdbePmaWriterInit(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X0)), &_writer, (*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X3, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))).X1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(56 /* X5 */))) += 1 _vdbePmaWriteVarint(tls, &_writer, uint64(_pList.X2)) _4_p = (*XSorterRecord)(unsafe.Pointer(_pList.X0)) _13: if _4_p == nil { goto _16 } _4_pNext = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_p)) + uintptr(8 /* X1 */))))))) _vdbePmaWriteVarint(tls, &_writer, uint64(_4_p.X0)) _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(16)))))))))))))), _4_p.X0) if (_pList.X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } Xsqlite3_free(tls, (unsafe.Pointer)(_4_p)) _17: _4_p = _4_pNext goto _13 _16: *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))))) = _4_p _rc = _vdbePmaWriterFinish(tls, &_writer, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */)))))+uintptr(8 /* X1 */)))) _12: func() int32 { if (_rc != i32(0)) || ((*XSorterRecord)(unsafe.Pointer(_pList.X0)) == (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(88044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_rc != i32(0)) || (((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(72 /* X7 */))).X1) == _iSz) { return i32(0) } return func() int32 { 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(88080))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _vdbeSorterListToPMAØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterListToPMAØ00__func__Ø000[0], str(88120), 20) } func _vdbeSorterOpenTempFile(tls *crt.TLS, _db *Xsqlite3, _nExtend int64, _ppFd **Xsqlite3_file) (r0 int32) { // sqlite3.c:87150:1 var _rc int32 // sqlite3.c:87155:7 _ = _rc var _1_max int64 // sqlite3.c:87163:9 _ = _1_max if _sqlite3FaultSim(tls, i32(202)) == 0 { goto _0 } r0 = i32(3338) return _0: _rc = _sqlite3OsOpenMalloc(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _ppFd, i32(4126), &_rc) if _rc != i32(0) { goto _1 } _1_max = i64(2147418112) _sqlite3OsFileControlHint(tls, *_ppFd, i32(18), (unsafe.Pointer)(&_1_max)) if _nExtend <= int64(i32(0)) { goto _2 } _vdbeSorterExtendFile(tls, _db, *_ppFd, _nExtend) _2: _1: r0 = _rc return } func _vdbeSorterExtendFile(tls *crt.TLS, _db *Xsqlite3, _pFd *Xsqlite3_file, _nByte int64) { // sqlite3.c:87131:1 var _1_p unsafe.Pointer // sqlite3.c:87133:10 _ = _1_p var _1_chunksize int32 // sqlite3.c:87134:9 _ = _1_chunksize if _nByte > int64(_db.X32) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_pFd.X0)).X0) < i32(3) { goto _1 } _1_p = nil _1_chunksize = i32(4096) _sqlite3OsFileControlHint(tls, _pFd, i32(6), (unsafe.Pointer)(&_1_chunksize)) _sqlite3OsFileControlHint(tls, _pFd, i32(5), (unsafe.Pointer)(&_nByte)) _sqlite3OsFetch(tls, _pFd, int64(i32(0)), int32(_nByte), &_1_p) _sqlite3OsUnfetch(tls, _pFd, int64(i32(0)), _1_p) _1: return } func _vdbePmaWriterInit(tls *crt.TLS, _pFd *Xsqlite3_file, _p *XPmaWriter, _nBuf int32, _iStart int64) { // sqlite3.c:87303:1 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(48)) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_nBuf)))) if (_p.X1) != nil { goto _0 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _sqlite3NomemError(tls, i32(87312)) goto _1 _0: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X3 */))), int32(_iStart%int64(_nBuf))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))) = _iStart - int64(_p.X3) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = _nBuf *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X6 */))))) = _pFd _1: return } func _vdbePmaWriteVarint(tls *crt.TLS, _p *XPmaWriter, _iVal uint64) { // sqlite3.c:87377:1 var _nByte int32 // sqlite3.c:87378:7 _ = _nByte var _aByte [10]uint8 // sqlite3.c:87379:6 _ = _aByte _nByte = _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(&_aByte)), _iVal) _vdbePmaWriteBlob(tls, _p, (*uint8)(unsafe.Pointer(&_aByte)), _nByte) return } func _vdbePmaWriteBlob(tls *crt.TLS, _p *XPmaWriter, _pData *uint8, _nData int32) { // sqlite3.c:87325:1 var _nRem int32 // sqlite3.c:87326:7 _ = _nRem var _1_nCopy int32 // sqlite3.c:87328:9 _ = _1_nCopy _nRem = _nData _0: if _nRem <= i32(0) || (_p.X0) != i32(0) { goto _1 } _1_nCopy = _nRem if _1_nCopy <= ((_p.X2) - (_p.X4)) { goto _3 } _1_nCopy = (_p.X2) - (_p.X4) _3: 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)))), uint64(_1_nCopy)) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) *p = (*p) + _1_nCopy sink961 = *p } if (_p.X4) != (_p.X2) { goto _4 } *(*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)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X3 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X4 */))), i32(0)) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))) *p = (*p) + int64(_p.X2) sink967 = *p } _4: func() int32 { if (_p.X4) < (_p.X2) { return i32(0) } return func() int32 { 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(88140))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_nRem *p = (*p) - _1_nCopy sink961 = *p } goto _0 _1: return } var _vdbePmaWriteBlobØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaWriteBlobØ00__func__Ø000[0], str(88164), 17) } func _vdbePmaWriterFinish(tls *crt.TLS, _p *XPmaWriter, _piEof *int64) (r0 int32) { // sqlite3.c:87358:1 var _rc int32 // sqlite3.c:87359:7 _ = _rc if (_p.X0) != i32(0) || func() int32 { if (_p.X1) != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || (_p.X4) <= (_p.X3) { goto _4 } *(*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)) _4: *_piEof = (_p.X5) + int64(_p.X4) Xsqlite3_free(tls, (unsafe.Pointer)(_p.X1)) _rc = _p.X0 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(48)) r0 = _rc return } var _vdbePmaWriterFinishØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaWriterFinishØ00__func__Ø000[0], str(88184), 20) } var _vdbeSorterFlushPMAØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterFlushPMAØ00__func__Ø000[0], str(88204), 19) } func _vdbeSorterCreateThread(tls *crt.TLS, _pTask *XSortSubtask, _xTask func(*crt.TLS, unsafe.Pointer) unsafe.Pointer, _pIn unsafe.Pointer) (r0 int32) { // sqlite3.c:86979:1 func() int32 { if ((*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) == (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0))))) && ((_pTask.X1) == i32(0)) { return i32(0) } return func() int32 { 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(87840))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3ThreadCreate(tls, (**XSQLiteThread)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(0 /* X0 */))))), _xTask, _pIn) return } var _vdbeSorterCreateThreadØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterCreateThreadØ00__func__Ø000[0], str(88224), 23) } func _sqlite3ThreadCreate(tls *crt.TLS, _ppThread **XSQLiteThread, _xTask func(*crt.TLS, unsafe.Pointer) unsafe.Pointer, _pIn unsafe.Pointer) (r0 int32) { // sqlite3.c:26855:1 var _p *XSQLiteThread // sqlite3.c:26860:16 _ = _p var _rc int32 // sqlite3.c:26861:7 _ = _rc func() int32 { if _ppThread != (**XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26863), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadCreateØ00__func__Ø000))), unsafe.Pointer(str(88248))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer }{_xTask})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer }{nil})) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26864), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadCreateØ00__func__Ø000))), unsafe.Pointer(str(88260))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_sqlite3Config.X1) != i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26866), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadCreateØ00__func__Ø000))), unsafe.Pointer(str(88272))) crt.X__builtin_abort(tls) return i32(0) }() }() *_ppThread = (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) _p = (*XSQLiteThread)(unsafe.Pointer(_sqlite3Malloc(tls, u64(40)))) if _p != (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } r0 = _sqlite3NomemError(tls, i32(26870)) return _6: crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(40)) *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) = _xTask *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))) = _pIn if _sqlite3FaultSim(tls, i32(200)) == 0 { goto _7 } _rc = i32(1) goto _8 _7: _rc = crt.Xpthread_create(tls, (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))), (*crt.Xpthread_attr_t)(unsafe.Pointer(uintptr(i32(0)))), _xTask, _pIn) _8: if _rc == 0 { goto _9 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = i32(1) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = _xTask(tls, _pIn) _9: *_ppThread = _p r0 = i32(0) return } var _sqlite3ThreadCreateØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ThreadCreateØ00__func__Ø000[0], str(88308), 20) } func _vdbeSorterFlushThread(tls *crt.TLS, _pCtx unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:87533:1 var _pTask *XSortSubtask // sqlite3.c:87534:15 _ = _pTask var _rc int32 // sqlite3.c:87535:7 _ = _rc _pTask = (*XSortSubtask)(unsafe.Pointer(_pCtx)) func() int32 { if (_pTask.X1) == i32(0) { return i32(0) } return func() int32 { 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(88328))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbeSorterListToPMA(tls, _pTask, (*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(32 /* X4 */)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(8 /* X1 */))) = i32(1) r0 = (unsafe.Pointer)(uintptr(int64(_rc))) return } var _vdbeSorterFlushThreadØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterFlushThreadØ00__func__Ø000[0], str(88344), 22) } func _vdbeSorterSetupMerge(tls *crt.TLS, _pSorter *XVdbeSorter) (r0 int32) { // sqlite3.c:88337:1 var _rc int32 // sqlite3.c:88338:7 _ = _rc var _pTask0 *XSortSubtask // sqlite3.c:88339:15 _ = _pTask0 var _pMain *XMergeEngine // sqlite3.c:88340:15 _ = _pMain var _db *Xsqlite3 // sqlite3.c:88342:11 _ = _db var _i int32 // sqlite3.c:88343:7 _ = _i var _xCompare func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 // sqlite3.c:88344:17 _ = _xCompare var _3_iTask int32 // sqlite3.c:88355:11 _ = _3_iTask var _3_pReadr *XPmaReader // sqlite3.c:88356:17 _ = _3_pReadr var _3_pLast *XSortSubtask // sqlite3.c:88357:19 _ = _3_pLast var _7_pIncr *XIncrMerger // sqlite3.c:88369:24 _ = _7_pIncr var _9_p *XPmaReader // sqlite3.c:88385:23 _ = _9_p _pTask0 = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(i32(0)))) _pMain = nil _db = (*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask0.X2)).X6)) _xCompare = _vdbeSorterGetCompare(tls, _pSorter) _i = i32(0) _0: if _i >= int32(_pSorter.X15) { goto _3 } *(*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(96 /* X17 */)))))+104*uintptr(_i))))) + uintptr(64 /* X6 */))))) = _xCompare _i += 1 goto _0 _3: _rc = _vdbeSorterMergeTreeBuild(tls, _pSorter, &_pMain) if _rc != i32(0) { goto _4 } func() int32 { if (int32(_pSorter.X13) == i32(0)) || (int32(_pSorter.X15) > i32(1)) { return i32(0) } return func() int32 { 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(88368))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pSorter.X13) == 0 { goto _8 } _3_pReadr = nil _3_pLast = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(int32(_pSorter.X15)-i32(1)))) _rc = _vdbeSortAllocUnpacked(tls, _3_pLast) if _rc != i32(0) { goto _9 } _3_pReadr = (*XPmaReader)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(80)))) *(**XPmaReader)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(16 /* X4 */))))) = _3_pReadr if _3_pReadr != (*XPmaReader)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } _rc = _sqlite3NomemError(tls, i32(88362)) _10: _9: if _rc != i32(0) { goto _11 } _rc = _vdbeIncrMergerNew(tls, _3_pLast, _pMain, (**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pReadr))+uintptr(72 /* X10 */)))))) if _rc != i32(0) { goto _12 } _vdbeIncrMergerSetThreads(tls, (*XIncrMerger)(unsafe.Pointer(_3_pReadr.X10))) _3_iTask = i32(0) _13: if _3_iTask >= (int32(_pSorter.X15) - i32(1)) { goto _16 } if store5935819(&_7_pIncr, (*XIncrMerger)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(uintptr(_pMain.X3)+80*uintptr(_3_iTask))).X10))) == nil { goto _17 } _vdbeIncrMergerSetThreads(tls, _7_pIncr) func() int32 { if (*XSortSubtask)(unsafe.Pointer(_7_pIncr.X0)) != _3_pLast { return i32(0) } return func() int32 { 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(88412))) crt.X__builtin_abort(tls) return i32(0) }() }() _17: _3_iTask += 1 goto _13 _16: _3_iTask = i32(0) _20: if _rc != i32(0) || _3_iTask >= int32(_pSorter.X15) { goto _24 } _9_p = (*XPmaReader)(unsafe.Pointer(uintptr(_pMain.X3) + 80*uintptr(_3_iTask))) func() int32 { 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(96 /* X17 */)))))+104*uintptr(_3_iTask)))) && ((_3_iTask != (int32(_pSorter.X15) - i32(1))) || (((*XIncrMerger)(unsafe.Pointer(_9_p.X10)).X5) == i32(0)))) { return i32(0) } return func() int32 { 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(88432))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbePmaReaderIncrInit(tls, _9_p, i32(1)) _3_iTask += 1 goto _20 _24: _12: _pMain = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _11: if _rc != i32(0) { goto _30 } _rc = _vdbePmaReaderIncrMergeInit(tls, _3_pReadr, i32(2)) _30: goto _31 _8: _rc = _vdbeMergeEngineInit(tls, _pTask0, _pMain, i32(0)) *(**XMergeEngine)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(24 /* X5 */))))) = _pMain _pMain = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _31: _4: if _rc == i32(0) { goto _32 } _vdbeMergeEngineFree(tls, _pMain) _32: r0 = _rc return } func _vdbeSorterMergeTreeBuild(tls *crt.TLS, _pSorter *XVdbeSorter, _ppOut **XMergeEngine) (r0 int32) { // sqlite3.c:88258:1 var _pMain *XMergeEngine // sqlite3.c:88262:15 _ = _pMain var _rc int32 // sqlite3.c:88263:7 _ = _rc var _iTask int32 // sqlite3.c:88264:7 _ = _iTask var _2_pTask *XSortSubtask // sqlite3.c:88278:17 _ = _2_pTask var _3_pRoot *XMergeEngine // sqlite3.c:88281:19 _ = _3_pRoot var _3_nDepth int32 // sqlite3.c:88282:11 _ = _3_nDepth var _3_iReadOff int64 // sqlite3.c:88283:11 _ = _3_iReadOff var _5_i int32 // sqlite3.c:88288:13 _ = _5_i var _5_iSeq int32 // sqlite3.c:88289:13 _ = _5_iSeq var _6_pMerger *XMergeEngine // sqlite3.c:88293:23 _ = _6_pMerger var _6_nReader int32 // sqlite3.c:88294:15 _ = _6_nReader _pMain = nil _rc = i32(0) func() int32 { if ((_pSorter.X13) != 0) || (int32(_pSorter.X15) == i32(1)) { return i32(0) } return func() int32 { 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(88552))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pSorter.X15) <= i32(1) { goto _3 } _pMain = _vdbeMergeEngineNew(tls, int32(_pSorter.X15)) if _pMain != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _rc = _sqlite3NomemError(tls, i32(88273)) _4: _3: _iTask = i32(0) _5: if _rc != i32(0) || _iTask >= int32(_pSorter.X15) { goto _9 } _2_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(96 /* X17 */))))) + 104*uintptr(_iTask))) func() int32 { if ((_2_pTask.X5) > i32(0)) || i32(1) != 0 { return i32(0) } return func() int32 { 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(88596))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == 0 && (_2_pTask.X5) == 0 { goto _14 } _3_pRoot = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _3_nDepth = _vdbeSorterTreeDepth(tls, _2_pTask.X5) _3_iReadOff = int64(i32(0)) if (_2_pTask.X5) > i32(16) { goto _15 } _rc = _vdbeMergeEngineLevel0(tls, _2_pTask, _2_pTask.X5, &_3_iReadOff, &_3_pRoot) goto _16 _15: _5_iSeq = i32(0) _3_pRoot = _vdbeMergeEngineNew(tls, i32(16)) if _3_pRoot != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } _rc = _sqlite3NomemError(tls, i32(88291)) _17: _5_i = i32(0) _18: if _5_i >= (_2_pTask.X5) || _rc != i32(0) { goto _22 } _6_pMerger = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _6_nReader = func() int32 { if ((_2_pTask.X5) - _5_i) < i32(16) { return ((_2_pTask.X5) - _5_i) } return i32(16) }() _rc = _vdbeMergeEngineLevel0(tls, _2_pTask, _6_nReader, &_3_iReadOff, &_6_pMerger) if _rc != i32(0) { goto _25 } _rc = _vdbeSorterAddToTree(tls, _2_pTask, _3_nDepth, postInc961(&_5_iSeq, int32(1)), _3_pRoot, _6_pMerger) _25: { p := &_5_i *p = (*p) + i32(16) sink961 = *p } goto _18 _22: _16: if _rc != i32(0) { goto _26 } if _pMain == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { goto _27 } _rc = _vdbeIncrMergerNew(tls, _2_pTask, _3_pRoot, (**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPmaReader)(unsafe.Pointer(uintptr(_pMain.X3)+80*uintptr(_iTask)))))+uintptr(72 /* X10 */)))))) goto _28 _27: func() int32 { if _pMain == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(88644))) crt.X__builtin_abort(tls) return i32(0) }() }() _pMain = _3_pRoot _28: goto _31 _26: _vdbeMergeEngineFree(tls, _3_pRoot) _31: _14: _iTask += 1 goto _5 _9: if _rc == i32(0) { goto _32 } _vdbeMergeEngineFree(tls, _pMain) _pMain = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _32: *_ppOut = _pMain r0 = _rc return } var _vdbeSorterMergeTreeBuildØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterMergeTreeBuildØ00__func__Ø000[0], str(88656), 25) } func _vdbeMergeEngineNew(tls *crt.TLS, _nReader int32) (r0 *XMergeEngine) { // sqlite3.c:87022:1 var _N int32 // sqlite3.c:87023:7 _ = _N var _nByte int32 // sqlite3.c:87024:7 _ = _nByte var _pNew *XMergeEngine // sqlite3.c:87025:15 _ = _pNew _N = i32(2) func() int32 { if _nReader <= i32(16) { return i32(0) } return func() int32 { 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(88684))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: if _N >= _nReader { goto _3 } { p := &_N *p = (*p) + _N sink961 = *p } goto _2 _3: _nByte = int32(u64(32) + (uint64(_N) * u64(84))) _pNew = func() *XMergeEngine { if _sqlite3FaultSim(tls, i32(100)) != 0 { return (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) } return (*XMergeEngine)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nByte)))) }() if _pNew == nil { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _N *(**XSortSubtask)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = (*XSortSubtask)(unsafe.Pointer(uintptr(i32(0)))) *(**XPmaReader)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X3 */))))) = (*XPmaReader)(unsafe.Pointer((*XMergeEngine)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 32*uintptr(i32(1)))))) *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X2 */))) = (*int32)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(uintptr(_pNew.X3) + 80*uintptr(_N))))) _6: r0 = _pNew return } var _vdbeMergeEngineNewØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeMergeEngineNewØ00__func__Ø000[0], str(88716), 19) } func _vdbeSorterTreeDepth(tls *crt.TLS, _nPMA int32) (r0 int32) { // sqlite3.c:88184:1 var _nDepth int32 // sqlite3.c:88185:7 _ = _nDepth var _nDiv int64 // sqlite3.c:88186:7 _ = _nDiv _nDepth = i32(0) _nDiv = i64(16) _0: if _nDiv >= int64(_nPMA) { goto _1 } _nDiv = _nDiv * int64(i32(16)) _nDepth += 1 goto _0 _1: r0 = _nDepth return } func _vdbeMergeEngineLevel0(tls *crt.TLS, _pTask *XSortSubtask, _nPMA int32, _piOffset *int64, _ppOut **XMergeEngine) (r0 int32) { // sqlite3.c:88145:1 var _pNew *XMergeEngine // sqlite3.c:88151:15 _ = _pNew var _iOff int64 // sqlite3.c:88152:7 _ = _iOff var _i int32 // sqlite3.c:88153:7 _ = _i var _rc int32 // sqlite3.c:88154:7 _ = _rc var _1_nDummy int64 // sqlite3.c:88160:9 _ = _1_nDummy var _1_pReadr *XPmaReader // sqlite3.c:88161:15 _ = _1_pReadr _iOff = *_piOffset _rc = i32(0) *_ppOut = store5945875(&_pNew, _vdbeMergeEngineNew(tls, _nPMA)) if _pNew != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _rc = _sqlite3NomemError(tls, i32(88157)) _0: _i = i32(0) _1: if _i >= _nPMA || _rc != i32(0) { goto _5 } _1_nDummy = int64(i32(0)) _1_pReadr = (*XPmaReader)(unsafe.Pointer(uintptr(_pNew.X3) + 80*uintptr(_i))) _rc = _vdbePmaReaderInit(tls, _pTask, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(72 /* X7 */))), _iOff, _1_pReadr, &_1_nDummy) _iOff = _1_pReadr.X1 _i += 1 goto _1 _5: if _rc == i32(0) { goto _6 } _vdbeMergeEngineFree(tls, _pNew) *_ppOut = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) _6: *_piOffset = _iOff r0 = _rc return } func _vdbePmaReaderInit(tls *crt.TLS, _pTask *XSortSubtask, _pFile *XSorterFile, _iStart int64, _pReadr *XPmaReader, _pnByte *int64) (r0 int32) { // sqlite3.c:86573:1 var _rc int32 // sqlite3.c:86580:7 _ = _rc var _1_nByte uint64 // sqlite3.c:86589:9 _ = _1_nByte func() int32 { if (_pFile.X1) > _iStart { return i32(0) } return func() int32 { 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(88736))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pReadr.X5) == (*uint8)(unsafe.Pointer(uintptr(i32(0))))) && ((_pReadr.X2) == i32(0)) { return i32(0) } return func() int32 { 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(88756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pReadr.X7) == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(88796))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pReadr.X9) == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(88816))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbePmaReaderSeek(tls, _pTask, _pReadr, _pFile, _iStart) if _rc != i32(0) { goto _9 } _1_nByte = u64(0) _rc = _vdbePmaReadVarint(tls, _pReadr, &_1_nByte) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(8 /* X1 */))) = int64(uint64(_pReadr.X0) + _1_nByte) { p := _pnByte *p = int64(uint64(*p) + _1_nByte) sink967 = *p } _9: if _rc != i32(0) { goto _10 } _rc = _vdbePmaReaderNext(tls, _pReadr) _10: r0 = _rc return } var _vdbePmaReaderInitØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaReaderInitØ00__func__Ø000[0], str(88832), 18) } func _vdbePmaReaderSeek(tls *crt.TLS, _pTask *XSortSubtask, _pReadr *XPmaReader, _pFile *XSorterFile, _iOff int64) (r0 int32) { // sqlite3.c:86479:1 var _rc int32 // sqlite3.c:86485:7 _ = _rc var _2_pgsz int32 // sqlite3.c:86500:9 _ = _2_pgsz var _2_iBuf int32 // sqlite3.c:86501:9 _ = _2_iBuf var _4_nRead int32 // sqlite3.c:86508:11 _ = _4_nRead _rc = i32(0) func() int32 { if ((*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) == (*XIncrMerger)(unsafe.Pointer(uintptr(i32(0))))) || (((*XIncrMerger)(unsafe.Pointer(_pReadr.X10)).X4) == i32(0)) { return i32(0) } return func() int32 { 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(88852))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3FaultSim(tls, i32(201)) == 0 { goto _3 } r0 = i32(266) return _3: if (_pReadr.X9) == nil { goto _4 } _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pReadr.X4)), int64(i32(0)), (unsafe.Pointer)(_pReadr.X9)) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(64 /* X9 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) _4: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(0 /* X0 */))) = _iOff *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(8 /* X1 */))) = _pFile.X1 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(24 /* X4 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pFile.X0)) _rc = _vdbeSorterMapFile(tls, _pTask, _pFile, (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr))+uintptr(64 /* X9 */)))) if _rc != i32(0) || (_pReadr.X9) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _2_pgsz = (*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X3 _2_iBuf = int32((_pReadr.X0) % int64(_2_pgsz)) if (_pReadr.X7) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(48 /* X7 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_2_pgsz)))) if (_pReadr.X7) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } _rc = _sqlite3NomemError(tls, i32(86504)) _8: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(56 /* X8 */))) = _2_pgsz _7: if _rc != i32(0) || _2_iBuf == 0 { goto _10 } _4_nRead = _2_pgsz - _2_iBuf if ((_pReadr.X0) + int64(_4_nRead)) <= (_pReadr.X1) { goto _11 } _4_nRead = int32((_pReadr.X1) - (_pReadr.X0)) _11: _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) _10: _6: r0 = _rc return } var _vdbePmaReaderSeekØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaReaderSeekØ00__func__Ø000[0], str(88896), 18) } func _vdbeSorterMapFile(tls *crt.TLS, _pTask *XSortSubtask, _pFile *XSorterFile, _pp **uint8) (r0 int32) { // sqlite3.c:86462:1 var _rc int32 // sqlite3.c:86463:7 _ = _rc var _1_pFd *Xsqlite3_file // sqlite3.c:86465:18 _ = _1_pFd _rc = i32(0) if (_pFile.X1) > int64((*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X6)).X32) { goto _0 } _1_pFd = (*Xsqlite3_file)(unsafe.Pointer(_pFile.X0)) if ((*Xsqlite3_io_methods)(unsafe.Pointer(_1_pFd.X0)).X0) < i32(3) { goto _1 } _rc = _sqlite3OsFetch(tls, _1_pFd, int64(i32(0)), int32(_pFile.X1), (*unsafe.Pointer)(unsafe.Pointer(_pp))) _1: _0: r0 = _rc return } func _vdbePmaReadVarint(tls *crt.TLS, _p *XPmaReader, _pnOut *uint64) (r0 int32) { // sqlite3.c:86429:1 var _iBuf int32 // sqlite3.c:86430:7 _ = _iBuf var _4_aVarint [16]uint8 // sqlite3.c:86439:10 _ = _4_aVarint var _4_a *uint8 // sqlite3.c:86439:23 _ = _4_a var _4_i int32 // sqlite3.c:86440:11 _ = _4_i var _4_rc int32 // sqlite3.c:86440:18 _ = _4_rc if (_p.X9) == nil { goto _0 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + int64(_sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X9))+1*uintptr(_p.X0))), _pnOut)) sink967 = *p } goto _1 _0: _iBuf = int32((_p.X0) % int64(_p.X8)) if _iBuf == 0 || ((_p.X8)-_iBuf) < i32(9) { goto _3 } { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + int64(_sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7))+1*uintptr(_iBuf))), _pnOut)) sink967 = *p } goto _4 _3: _4_i = i32(0) _5: _4_rc = _vdbePmaReadBlob(tls, _p, i32(1), &_4_a) if _4_rc == 0 { goto _6 } r0 = _4_rc return _6: *(*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)))) if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_a)) + 1*uintptr(i32(0))))) & i32(128)) != i32(0) { goto _5 } _sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(&_4_aVarint)), _pnOut) _4: _1: r0 = i32(0) return } func _vdbePmaReadBlob(tls *crt.TLS, _p *XPmaReader, _nByte int32, _ppOut **uint8) (r0 int32) { // sqlite3.c:86335:1 var _iBuf int32 // sqlite3.c:86340:7 _ = _iBuf var _nAvail int32 // sqlite3.c:86341:7 _ = _nAvail var _2_nRead int32 // sqlite3.c:86356:9 _ = _2_nRead var _2_rc int32 // sqlite3.c:86357:9 _ = _2_rc var _6_nRem int32 // sqlite3.c:86384:9 _ = _6_nRem var _7_aNew *uint8 // sqlite3.c:86388:10 _ = _7_aNew var _7_nNew int32 // sqlite3.c:86389:11 _ = _7_nNew var _8_rc int32 // sqlite3.c:86406:11 _ = _8_rc var _8_nCopy int32 // sqlite3.c:86407:11 _ = _8_nCopy var _8_aNext *uint8 // sqlite3.c:86408:10 _ = _8_aNext if (_p.X9) == nil { goto _0 } *_ppOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X9)) + 1*uintptr(_p.X0))) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + int64(_nByte) sink967 = *p } r0 = i32(0) return _0: func() int32 { if (_p.X7) != nil { return i32(0) } return func() int32 { 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(88916))) crt.X__builtin_abort(tls) return i32(0) }() }() _iBuf = int32((_p.X0) % int64(_p.X8)) if _iBuf != i32(0) { goto _3 } if ((_p.X1) - (_p.X0)) <= int64(_p.X8) { goto _4 } _2_nRead = _p.X8 goto _5 _4: _2_nRead = int32((_p.X1) - (_p.X0)) _5: func() int32 { if _2_nRead > i32(0) { return i32(0) } return func() int32 { 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(88928))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X4)), (unsafe.Pointer)(_p.X7), _2_nRead, _p.X0) func() int32 { if _2_rc != i32(522) { return i32(0) } return func() int32 { 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(88936))) crt.X__builtin_abort(tls) return i32(0) }() }() if _2_rc == i32(0) { goto _10 } r0 = _2_rc return _10: _3: _nAvail = (_p.X8) - _iBuf if _nByte > _nAvail { goto _11 } *_ppOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7)) + 1*uintptr(_iBuf))) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + int64(_nByte) sink967 = *p } goto _12 _11: if (_p.X2) >= _nByte { goto _13 } _7_nNew = func() int32 { if i32(128) > ((_p.X2) * i32(2)) { return i32(128) } return ((_p.X2) * i32(2)) }() _16: if _nByte <= _7_nNew { goto _17 } _7_nNew = _7_nNew * i32(2) goto _16 _17: _7_aNew = (*uint8)(unsafe.Pointer(_sqlite3Realloc(tls, (unsafe.Pointer)(_p.X5), uint64(_7_nNew)))) if _7_aNew != nil { goto _18 } r0 = _sqlite3NomemError(tls, i32(86392)) return _18: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = _7_nNew *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))) = _7_aNew _13: crt.Xmemcpy(tls, (unsafe.Pointer)(_p.X5), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7))+1*uintptr(_iBuf)))), uint64(_nAvail)) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + int64(_nAvail) sink967 = *p } _6_nRem = _nByte - _nAvail _19: if _6_nRem <= i32(0) { goto _20 } _8_nCopy = _6_nRem if _6_nRem <= (_p.X8) { goto _21 } _8_nCopy = _p.X8 _21: _8_rc = _vdbePmaReadBlob(tls, _p, _8_nCopy, &_8_aNext) if _8_rc == i32(0) { goto _22 } r0 = _8_rc return _22: func() int32 { if _8_aNext != (_p.X5) { return i32(0) } return func() int32 { 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(88964))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X5))+1*uintptr(_nByte-_6_nRem)))), (unsafe.Pointer)(_8_aNext), uint64(_8_nCopy)) { p := &_6_nRem *p = (*p) - _8_nCopy sink961 = *p } goto _19 _20: *_ppOut = _p.X5 _12: r0 = i32(0) return } var _vdbePmaReadBlobØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaReadBlobØ00__func__Ø000[0], str(88984), 16) } func _vdbePmaReaderNext(tls *crt.TLS, _pReadr *XPmaReader) (r0 int32) { // sqlite3.c:86526:1 var _rc int32 // sqlite3.c:86527:7 _ = _rc var _nRec uint64 // sqlite3.c:86528:7 _ = _nRec var _1_pIncr *XIncrMerger // sqlite3.c:86532:16 _ = _1_pIncr var _1_bEof int32 // sqlite3.c:86533:9 _ = _1_bEof _rc = i32(0) _nRec = u64(0) if (_pReadr.X0) < (_pReadr.X1) { goto _0 } _1_pIncr = (*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) _1_bEof = i32(1) if _1_pIncr == nil { goto _1 } _rc = _vdbeIncrSwap(tls, _1_pIncr) if _rc != i32(0) || (_1_pIncr.X4) != i32(0) { goto _3 } _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(40 /* X6 */)))))+16*uintptr(i32(0)))), _1_pIncr.X2) _1_bEof = i32(0) _3: _1: if _1_bEof == 0 { goto _4 } _vdbePmaReaderClear(tls, _pReadr) r0 = _rc return _4: _0: if _rc != i32(0) { goto _5 } _rc = _vdbePmaReadVarint(tls, _pReadr, &_nRec) _5: if _rc != i32(0) { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(20 /* X3 */))) = int32(_nRec) _rc = _vdbePmaReadBlob(tls, _pReadr, int32(_nRec), (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr))+uintptr(40 /* X6 */)))) _6: r0 = _rc return } func _vdbeIncrSwap(tls *crt.TLS, _pIncr *XIncrMerger) (r0 int32) { // sqlite3.c:87798:1 var _rc int32 // sqlite3.c:87799:7 _ = _rc var _2_f0 XSorterFile // sqlite3.c:87806:18 _ = _2_f0 _rc = i32(0) if (_pIncr.X5) == 0 { goto _0 } _rc = _vdbeSorterJoinThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0))) if _rc != i32(0) { goto _1 } _2_f0 = *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(0)))) *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(0)))) = *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(1)))) *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(1)))) = _2_f0 _1: if _rc != i32(0) { goto _2 } if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(0)))).X1) != (_pIncr.X2) { goto _3 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(28 /* X4 */))) = i32(1) goto _4 _3: _rc = _vdbeIncrBgPopulate(tls, _pIncr) _4: _2: goto _5 _0: _rc = _vdbeIncrPopulate(tls, _pIncr) *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(0)))) = *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(1)))) if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(0)))).X1) != (_pIncr.X2) { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(28 /* X4 */))) = i32(1) _6: _5: r0 = _rc return } func _vdbeIncrBgPopulate(tls *crt.TLS, _pIncr *XIncrMerger) (r0 int32) { // sqlite3.c:87774:1 var _p unsafe.Pointer // sqlite3.c:87775:8 _ = _p _p = (unsafe.Pointer)(_pIncr) func() int32 { if (_pIncr.X5) != 0 { return i32(0) } return func() int32 { 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(89000))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _vdbeSorterCreateThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)), _vdbeIncrPopulateThread, _p) return } var _vdbeIncrBgPopulateØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeIncrBgPopulateØ00__func__Ø000[0], str(89020), 19) } func _vdbeIncrPopulateThread(tls *crt.TLS, _pCtx unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:87764:1 var _pIncr *XIncrMerger // sqlite3.c:87765:14 _ = _pIncr var _pRet unsafe.Pointer // sqlite3.c:87766:8 _ = _pRet _pIncr = (*XIncrMerger)(unsafe.Pointer(_pCtx)) _pRet = (unsafe.Pointer)(uintptr(int64(_vdbeIncrPopulate(tls, _pIncr)))) *(*int32)(unsafe.Pointer(uintptr(_pIncr.X0) + uintptr(8 /* X1 */))) = i32(1) r0 = _pRet return } func _vdbeIncrPopulate(tls *crt.TLS, _pIncr *XIncrMerger) (r0 int32) { // sqlite3.c:87722:1 var _rc int32 // sqlite3.c:87723:7 _ = _rc var _rc2 int32 // sqlite3.c:87724:7 _ = _rc2 var _iStart int64 // sqlite3.c:87725:7 _ = _iStart var _pOut *XSorterFile // sqlite3.c:87726:14 _ = _pOut var _pTask *XSortSubtask // sqlite3.c:87727:15 _ = _pTask var _pMerger *XMergeEngine // sqlite3.c:87728:15 _ = _pMerger var _writer XPmaWriter // sqlite3.c:87729:13 _ = _writer var _1_dummy int32 // sqlite3.c:87736:9 _ = _1_dummy var _1_pReader *XPmaReader // sqlite3.c:87737:15 _ = _1_pReader var _1_nKey int32 // sqlite3.c:87738:9 _ = _1_nKey var _1_iEof int64 // sqlite3.c:87739:9 _ = _1_iEof _rc = i32(0) _iStart = _pIncr.X2 _pOut = (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(40 /* X6 */))))) + 16*uintptr(i32(1)))) _pTask = (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)) _pMerger = (*XMergeEngine)(unsafe.Pointer(_pIncr.X1)) func() int32 { if (_pIncr.X4) == i32(0) { return i32(0) } return func() int32 { 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(89040))) crt.X__builtin_abort(tls) return i32(0) }() }() _vdbePmaWriterInit(tls, (*Xsqlite3_file)(unsafe.Pointer(_pOut.X0)), &_writer, (*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X3, _iStart) _2: if _rc != i32(0) { goto _3 } _1_pReader = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(i32(1))))))) _1_nKey = _1_pReader.X3 _1_iEof = (_writer.X5) + int64(_writer.X4) if (*Xsqlite3_file)(unsafe.Pointer(_1_pReader.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } goto _3 _4: if ((_1_iEof + int64(_1_nKey)) + int64(_sqlite3VarintLen(tls, uint64(_1_nKey)))) <= (_iStart + int64(_pIncr.X3)) { goto _5 } goto _3 _5: _vdbePmaWriteVarint(tls, &_writer, uint64(_1_nKey)) _vdbePmaWriteBlob(tls, &_writer, _1_pReader.X6, _1_nKey) func() int32 { if (*XSortSubtask)(unsafe.Pointer((*XMergeEngine)(unsafe.Pointer(_pIncr.X1)).X1)) == _pTask { return i32(0) } return func() int32 { 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(89056))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbeMergeEngineStep(tls, (*XMergeEngine)(unsafe.Pointer(_pIncr.X1)), &_1_dummy) goto _2 _3: _rc2 = _vdbePmaWriterFinish(tls, &_writer, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut))+uintptr(8 /* X1 */)))) if _rc != i32(0) { goto _8 } _rc = _rc2 _8: r0 = _rc return } var _vdbeIncrPopulateØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeIncrPopulateØ00__func__Ø000[0], str(89088), 17) } func _vdbeMergeEngineStep(tls *crt.TLS, _pMerger *XMergeEngine, _pbEof *int32) (r0 int32) { // sqlite3.c:87462:1 var _rc int32 // sqlite3.c:87466:7 _ = _rc var _iPrev int32 // sqlite3.c:87467:7 _ = _iPrev var _pTask *XSortSubtask // sqlite3.c:87468:15 _ = _pTask var _1_i int32 // sqlite3.c:87475:9 _ = _1_i var _1_pReadr1 *XPmaReader // sqlite3.c:87476:15 _ = _1_pReadr1 var _1_pReadr2 *XPmaReader // sqlite3.c:87477:15 _ = _1_pReadr2 var _1_bCached int32 // sqlite3.c:87478:9 _ = _1_bCached var _2_iRes int32 // sqlite3.c:87487:11 _ = _2_iRes _iPrev = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(i32(1)))) _pTask = (*XSortSubtask)(unsafe.Pointer(_pMerger.X1)) _rc = _vdbePmaReaderNext(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+80*uintptr(_iPrev)))) if _rc != i32(0) { goto _0 } _1_bCached = i32(0) _1_pReadr1 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(_iPrev&i32(65534)))) _1_pReadr2 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(_iPrev|i32(1)))) _1_i = ((_pMerger.X0) + _iPrev) / i32(2) _1: if _1_i <= i32(0) { goto _4 } if (*Xsqlite3_file)(unsafe.Pointer(_1_pReadr1.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _2_iRes = i32(1) goto _6 _5: if (*Xsqlite3_file)(unsafe.Pointer(_1_pReadr2.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _2_iRes = i32(-1) goto _8 _7: _2_iRes = (*(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 }{(_pTask.X6)})))(tls, _pTask, &_1_bCached, (unsafe.Pointer)(_1_pReadr1.X6), _1_pReadr1.X3, (unsafe.Pointer)(_1_pReadr2.X6), _1_pReadr2.X3) _8: _6: if _2_iRes >= i32(0) && (_2_iRes != i32(0) || uintptr(unsafe.Pointer(_1_pReadr1)) >= uintptr(unsafe.Pointer(_1_pReadr2))) { goto _11 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i))) = int32(int64((uintptr(unsafe.Pointer(_1_pReadr1)) - uintptr(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(_pMerger.X3))))) / 80)) _1_pReadr2 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i^i32(1))))))) _1_bCached = i32(0) goto _12 _11: if (*Xsqlite3_file)(unsafe.Pointer(_1_pReadr1.X4)) == nil { goto _13 } _1_bCached = i32(0) _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i))) = int32(int64((uintptr(unsafe.Pointer(_1_pReadr2)) - uintptr(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(_pMerger.X3))))) / 80)) _1_pReadr1 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i^i32(1))))))) _12: _1_i = _1_i / i32(2) goto _1 _4: *_pbEof = bool2int((*Xsqlite3_file)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+80*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(i32(1))))))).X4)) == (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0))))) _0: r0 = func() int32 { if _rc == i32(0) { return int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) } return _rc }() return } func _vdbeSorterAddToTree(tls *crt.TLS, _pTask *XSortSubtask, _nDepth int32, _iSeq int32, _pRoot *XMergeEngine, _pLeaf *XMergeEngine) (r0 int32) { // sqlite3.c:88202:1 var _rc int32 // sqlite3.c:88209:7 _ = _rc var _nDiv int32 // sqlite3.c:88210:7 _ = _nDiv var _i int32 // sqlite3.c:88211:7 _ = _i var _p *XMergeEngine // sqlite3.c:88212:15 _ = _p var _pIncr *XIncrMerger // sqlite3.c:88213:14 _ = _pIncr var _2_iIter int32 // sqlite3.c:88222:9 _ = _2_iIter var _2_pReadr *XPmaReader // sqlite3.c:88223:15 _ = _2_pReadr var _3_pNew *XMergeEngine // sqlite3.c:88226:19 _ = _3_pNew _rc = i32(0) _nDiv = i32(1) _p = _pRoot _rc = _vdbeIncrMergerNew(tls, _pTask, _pLeaf, &_pIncr) _i = i32(1) _0: if _i >= _nDepth { goto _3 } _nDiv = _nDiv * i32(16) _i += 1 goto _0 _3: _i = i32(1) _4: if _i >= _nDepth || _rc != i32(0) { goto _8 } _2_iIter = (_iSeq / _nDiv) % i32(16) _2_pReadr = (*XPmaReader)(unsafe.Pointer(uintptr(_p.X3) + 80*uintptr(_2_iIter))) if (*XIncrMerger)(unsafe.Pointer(_2_pReadr.X10)) != (*XIncrMerger)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } _3_pNew = _vdbeMergeEngineNew(tls, i32(16)) if _3_pNew != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } _rc = _sqlite3NomemError(tls, i32(88228)) goto _11 _10: _rc = _vdbeIncrMergerNew(tls, _pTask, _3_pNew, (**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pReadr))+uintptr(72 /* X10 */)))))) _11: _9: if _rc != i32(0) { goto _12 } _p = (*XMergeEngine)(unsafe.Pointer((*XIncrMerger)(unsafe.Pointer(_2_pReadr.X10)).X1)) _nDiv = _nDiv / i32(16) _12: _i += 1 goto _4 _8: if _rc != i32(0) { goto _13 } *(**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPmaReader)(unsafe.Pointer(uintptr(_p.X3)+80*uintptr(_iSeq%i32(16)))))) + uintptr(72 /* X10 */))))) = _pIncr goto _14 _13: _vdbeIncrFree(tls, _pIncr) _14: r0 = _rc return } func _vdbeIncrMergerNew(tls *crt.TLS, _pTask *XSortSubtask, _pMerger *XMergeEngine, _ppOut **XIncrMerger) (r0 int32) { // sqlite3.c:87837:1 var _rc int32 // sqlite3.c:87842:7 _ = _rc var _pIncr *XIncrMerger // sqlite3.c:87843:14 _ = _pIncr _rc = i32(0) _pIncr = store5935819(_ppOut, (*XIncrMerger)(unsafe.Pointer(func() unsafe.Pointer { if _sqlite3FaultSim(tls, i32(100)) != 0 { return unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) } return _sqlite3MallocZero(tls, u64(72)) }()))) if _pIncr == nil { goto _2 } *(**XMergeEngine)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(8 /* X1 */))))) = _pMerger *(**XSortSubtask)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(0 /* X0 */))))) = _pTask *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(24 /* X3 */))) = func() int32 { if (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X2) + i32(9)) > (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X1) / i32(2)) { return (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X2) + i32(9)) } return (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X1) / i32(2)) }() { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))))) + uintptr(8 /* X1 */))) *p = (*p) + int64(_pIncr.X3) sink967 = *p } goto _5 _2: _vdbeMergeEngineFree(tls, _pMerger) _rc = _sqlite3NomemError(tls, i32(87852)) _5: r0 = _rc return } var _vdbeSorterSetupMergeØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeSorterSetupMergeØ00__func__Ø000[0], str(89108), 21) } func _vdbeIncrMergerSetThreads(tls *crt.TLS, _pIncr *XIncrMerger) { // sqlite3.c:87861:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(32 /* X5 */))) = i32(1) { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr(_pIncr.X0)+uintptr(88 /* X8 */))))) + uintptr(8 /* X1 */))) *p = (*p) - int64(_pIncr.X3) sink967 = *p } return } func _vdbePmaReaderIncrInit(tls *crt.TLS, _pReadr *XPmaReader, _eMode int32) (r0 int32) { // sqlite3.c:88115:1 var _pIncr *XIncrMerger // sqlite3.c:88116:14 _ = _pIncr var _rc int32 // sqlite3.c:88117:7 _ = _rc var _2_pCtx unsafe.Pointer // sqlite3.c:88122:12 _ = _2_pCtx _pIncr = (*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) _rc = i32(0) if _pIncr == nil { goto _0 } func() int32 { if ((_pIncr.X5) == i32(0)) || (_eMode == i32(1)) { return i32(0) } return func() int32 { 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(89132))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pIncr.X5) == 0 { goto _4 } _2_pCtx = (unsafe.Pointer)(_pReadr) _rc = _vdbeSorterCreateThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)), _vdbePmaReaderBgIncrInit, _2_pCtx) goto _5 _4: _rc = _vdbePmaReaderIncrMergeInit(tls, _pReadr, _eMode) _5: _0: r0 = _rc return } var _vdbePmaReaderIncrInitØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaReaderIncrInitØ00__func__Ø000[0], str(89180), 22) } func _vdbePmaReaderBgIncrInit(tls *crt.TLS, _pCtx unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:88094:1 var _pReader *XPmaReader // sqlite3.c:88095:13 _ = _pReader var _pRet unsafe.Pointer // sqlite3.c:88096:8 _ = _pRet _pReader = (*XPmaReader)(unsafe.Pointer(_pCtx)) _pRet = (unsafe.Pointer)(uintptr(int64(_vdbePmaReaderIncrMergeInit(tls, _pReader, i32(1))))) *(*int32)(unsafe.Pointer(uintptr((*XIncrMerger)(unsafe.Pointer(_pReader.X10)).X0) + uintptr(8 /* X1 */))) = i32(1) r0 = _pRet return } func _vdbePmaReaderIncrMergeInit(tls *crt.TLS, _pReadr *XPmaReader, _eMode int32) (r0 int32) { // sqlite3.c:88027:1 var _rc int32 // sqlite3.c:88028:7 _ = _rc var _pIncr *XIncrMerger // sqlite3.c:88029:14 _ = _pIncr var _pTask *XSortSubtask // sqlite3.c:88030:15 _ = _pTask var _db *Xsqlite3 // sqlite3.c:88031:11 _ = _db var _1_mxSz int32 // sqlite3.c:88042:9 _ = _1_mxSz _rc = i32(0) _pIncr = (*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) _pTask = (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)) _db = (*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X6)) i32(0) _rc = _vdbeMergeEngineInit(tls, _pTask, (*XMergeEngine)(unsafe.Pointer(_pIncr.X1)), _eMode) if _rc != i32(0) { goto _0 } _1_mxSz = _pIncr.X3 if (_pIncr.X5) == 0 { goto _1 } _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(40 /* X6 */)))))+16*uintptr(i32(0))))))+uintptr(0 /* X0 */)))))) if _rc != i32(0) { goto _2 } _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(40 /* X6 */)))))+16*uintptr(i32(1))))))+uintptr(0 /* X0 */)))))) _2: goto _3 _1: if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))).X0)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } func() int32 { if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(88 /* X8 */))).X1) > int64(i32(0)) { return i32(0) } return func() int32 { 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(89204))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbeSorterOpenTempFile(tls, _db, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))).X1, (**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */)))))+uintptr(0 /* X0 */)))))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))))) + uintptr(8 /* X1 */))) = int64(i32(0)) _4: if _rc != i32(0) { goto _7 } *(**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(40 /* X6 */)))))+16*uintptr(i32(1)))))) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(88 /* X8 */))).X0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(16 /* X2 */))) = (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(88 /* X8 */))).X1 { p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(88 /* X8 */))))) + uintptr(8 /* X1 */))) *p = (*p) + int64(_1_mxSz) sink967 = *p } _7: _3: _0: if _rc != i32(0) || (_pIncr.X5) == 0 { goto _9 } func() int32 { if (_eMode == i32(2)) || (_eMode == i32(1)) { return i32(0) } return func() int32 { 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(89224))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbeIncrPopulate(tls, _pIncr) _9: if _rc != i32(0) || i32(0) == 0 && _eMode == i32(1) { goto _15 } _rc = _vdbePmaReaderNext(tls, _pReadr) _15: r0 = _rc return } func _vdbeMergeEngineInit(tls *crt.TLS, _pTask *XSortSubtask, _pMerger *XMergeEngine, _eMode int32) (r0 int32) { // sqlite3.c:87956:1 var _rc int32 // sqlite3.c:87961:7 _ = _rc var _i int32 // sqlite3.c:87962:7 _ = _i var _nTree int32 // sqlite3.c:87963:7 _ = _nTree _rc = i32(0) _nTree = _pMerger.X0 i32(0) func() int32 { if (*XSortSubtask)(unsafe.Pointer(_pMerger.X1)) == (*XSortSubtask)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(89272))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XSortSubtask)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger)) + uintptr(8 /* X1 */))))) = _pTask _i = i32(0) _2: if _i >= _nTree { goto _5 } if i32(1) == 0 || _eMode != i32(2) { goto _7 } _rc = _vdbePmaReaderNext(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+80*uintptr((_nTree-_i)-i32(1))))) goto _8 _7: _rc = _vdbePmaReaderIncrInit(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+80*uintptr(_i))), i32(0)) _8: if _rc == i32(0) { goto _9 } r0 = _rc return _9: _i += 1 goto _2 _5: _i = (_pMerger.X0) - i32(1) _10: if _i <= i32(0) { goto _13 } _vdbeMergeEngineCompare(tls, _pMerger, _i) _i -= 1 goto _10 _13: r0 = int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) return } var _vdbeMergeEngineInitØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeMergeEngineInitØ00__func__Ø000[0], str(89292), 20) } func _vdbeMergeEngineCompare(tls *crt.TLS, _pMerger *XMergeEngine, _iOut int32) { // sqlite3.c:87874:1 var _i1 int32 // sqlite3.c:87878:7 _ = _i1 var _i2 int32 // sqlite3.c:87879:7 _ = _i2 var _iRes int32 // sqlite3.c:87880:7 _ = _iRes var _p1 *XPmaReader // sqlite3.c:87881:13 _ = _p1 var _p2 *XPmaReader // sqlite3.c:87882:13 _ = _p2 var _5_pTask *XSortSubtask // sqlite3.c:87902:17 _ = _5_pTask var _5_bCached int32 // sqlite3.c:87903:9 _ = _5_bCached var _5_res int32 // sqlite3.c:87904:9 _ = _5_res func() int32 { if (_iOut < (_pMerger.X0)) && (_iOut > i32(0)) { return i32(0) } return func() int32 { 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(89312))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iOut < ((_pMerger.X0) / i32(2)) { goto _3 } _i1 = (_iOut - ((_pMerger.X0) / i32(2))) * i32(2) _i2 = _i1 + i32(1) goto _4 _3: _i1 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_iOut*i32(2)))) _i2 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr((_iOut*i32(2))+i32(1)))) _4: _p1 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(_i1))) _p2 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 80*uintptr(_i2))) if (*Xsqlite3_file)(unsafe.Pointer(_p1.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _iRes = _i2 goto _6 _5: if (*Xsqlite3_file)(unsafe.Pointer(_p2.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _iRes = _i1 goto _8 _7: _5_pTask = (*XSortSubtask)(unsafe.Pointer(_pMerger.X1)) _5_bCached = i32(0) func() int32 { if (*XUnpackedRecord)(unsafe.Pointer(_5_pTask.X3)) != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(89344))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_res = (*(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 }{(_5_pTask.X6)})))(tls, _5_pTask, &_5_bCached, (unsafe.Pointer)(_p1.X6), _p1.X3, (unsafe.Pointer)(_p2.X6), _p2.X3) if _5_res > i32(0) { goto _11 } _iRes = _i1 goto _12 _11: _iRes = _i2 _12: _8: _6: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_iOut))) = _iRes return } var _vdbeMergeEngineCompareØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_vdbeMergeEngineCompareØ00__func__Ø000[0], str(89364), 23) } var _vdbePmaReaderIncrMergeInitØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_vdbePmaReaderIncrMergeInitØ00__func__Ø000[0], str(89388), 27) } func _sqlite3VdbeSorterNext(tls *crt.TLS, _db *Xsqlite3, _pCsr *XVdbeCursor, _pbEof *int32) (r0 int32) { // sqlite3.c:88467:1 var _pSorter *XVdbeSorter // sqlite3.c:88468:14 _ = _pSorter var _rc int32 // sqlite3.c:88469:7 _ = _rc var _4_pFree *XSorterRecord // sqlite3.c:88490:18 _ = _4_pFree func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) func() int32 { 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)))))) { return i32(0) } return func() int32 { 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(89416))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pSorter.X12) == 0 { goto _6 } func() int32 { if ((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0))))) || ((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(89484))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pSorter.X13) == i32(0)) || ((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) != nil) { return i32(0) } return func() int32 { 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(89528))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pSorter.X13) == i32(1)) || ((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) != nil) { return i32(0) } return func() int32 { 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(89572))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pSorter.X13) == 0 { goto _16 } _rc = _vdbePmaReaderNext(tls, (*XPmaReader)(unsafe.Pointer(_pSorter.X4))) *_pbEof = bool2int((*Xsqlite3_file)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(_pSorter.X4)).X4)) == (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0))))) goto _17 _16: func() int32 { if (*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(89616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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(96 /* X17 */)))))+104*uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(89636))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _vdbeMergeEngineStep(tls, (*XMergeEngine)(unsafe.Pointer(_pSorter.X5)), _pbEof) _17: goto _22 _6: _4_pFree = (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X0)) *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pFree)) + uintptr(8 /* X1 */))))))) *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pFree)) + uintptr(8 /* X1 */))))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } _vdbeSorterRecordFree(tls, _db, _4_pFree) _23: *_pbEof = bool2int((*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)) == nil) _rc = i32(0) _22: r0 = _rc return } var _sqlite3VdbeSorterNextØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterNextØ00__func__Ø000[0], str(89684), 22) } func _sqlite3VdbeSorterWrite(tls *crt.TLS, _pCsr *XVdbeCursor, _pVal *XMem) (r0 int32) { // sqlite3.c:87614:1 var _pSorter *XVdbeSorter // sqlite3.c:87618:14 _ = _pSorter var _rc int32 // sqlite3.c:87619:7 _ = _rc var _pNew *XSorterRecord // sqlite3.c:87620:16 _ = _pNew var _bFlush int32 // sqlite3.c:87621:7 _ = _bFlush var _nReq int32 // sqlite3.c:87622:7 _ = _nReq var _nPMA int32 // sqlite3.c:87623:7 _ = _nPMA var _t int32 // sqlite3.c:87624:7 _ = _t var _9_nMin int32 // sqlite3.c:87680:9 _ = _9_nMin var _10_aNew *uint8 // sqlite3.c:87683:10 _ = _10_aNew var _10_iListOff int32 // sqlite3.c:87684:11 _ = _10_iListOff var _10_nNew int32 // sqlite3.c:87685:11 _ = _10_nNew _rc = i32(0) func() int32 { if int32(_pCsr.X0) == i32(1) { return i32(0) } return func() int32 { 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(59748))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(48 /* X14 */))))))) func() int32 { if int32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal.X5)) + 1*uintptr(i32(1))))))) < int32(u8(128)) { return func() int32 { _t = int32(uint32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal.X5)) + 1*uintptr(i32(1)))))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal.X5))+1*uintptr(i32(1)))))), (*uint32)(unsafe.Pointer(&_t)))) }() if _t <= i32(0) || _t >= i32(10) || _t == i32(7) { goto _6 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(92 /* X16 */))) *p = uint8(int32(*p) & i32(1)) sink4537 = *p } goto _7 _6: if _t <= i32(10) || (_t&i32(1)) == 0 { goto _9 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(92 /* X16 */))) *p = uint8(int32(*p) & i32(2)) sink4537 = *p } goto _10 _9: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(92 /* X16 */))) = uint8(i32(0)) _10: _7: func() int32 { if _pSorter != nil { return i32(0) } return func() int32 { 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(87496))) crt.X__builtin_abort(tls) return i32(0) }() }() _nReq = int32(uint64(_pVal.X4) + u64(16)) _nPMA = (_pVal.X4) + _sqlite3VarintLen(tls, uint64(_pVal.X4)) if (_pSorter.X1) == 0 { goto _13 } if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) == nil { goto _14 } _bFlush = bool2int((_pSorter.X10) != 0 && (((_pSorter.X10) + _nReq) > (_pSorter.X1))) goto _16 _14: _bFlush = bool2int((((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X2) > (_pSorter.X1)) || ((((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X2) > (_pSorter.X0)) && _sqlite3HeapNearlyFull(tls) != 0)) _16: if _bFlush == 0 { goto _19 } _rc = _vdbeSorterFlushPMA(tls, _pSorter) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(16 /* X2 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(80 /* X10 */))) = i32(0) func() int32 { if (_rc != i32(0)) || ((*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)) == (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(89708))) crt.X__builtin_abort(tls) return i32(0) }() }() _19: _13: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(16 /* X2 */))) *p = (*p) + _nPMA sink961 = *p } if _nPMA <= (_pSorter.X2) { goto _23 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(8 /* X2 */))) = _nPMA _23: if ((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X1) == nil { goto _24 } _9_nMin = (_pSorter.X10) + _nReq if _9_nMin <= (_pSorter.X11) { goto _25 } _10_iListOff = int32(int64((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)))))) - uintptr(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X1))) / 1)) _10_nNew = (_pSorter.X11) * i32(2) _26: if _10_nNew >= _9_nMin { goto _27 } _10_nNew = _10_nNew * i32(2) goto _26 _27: if _10_nNew <= (_pSorter.X1) { goto _28 } _10_nNew = _pSorter.X1 _28: if _10_nNew >= _9_nMin { goto _29 } _10_nNew = _9_nMin _29: _10_aNew = (*uint8)(unsafe.Pointer(_sqlite3Realloc(tls, (unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X1), uint64(_10_nNew)))) if _10_aNew != nil { goto _30 } r0 = _sqlite3NomemError(tls, i32(87691)) return _30: *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_aNew)) + 1*uintptr(_10_iListOff))))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(8 /* X1 */))) = _10_aNew *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(84 /* X11 */))) = _10_nNew _25: _pNew = (*XSorterRecord)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X1)) + 1*uintptr(_pSorter.X10))))) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(80 /* X10 */))) *p = (*p) + ((_nReq + i32(7)) & i32(-8)) sink961 = *p } if (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)) == nil { goto _31 } *(*int32)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = int32(int64((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X0)))))) - uintptr(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))).X1))) / 1)) _31: goto _32 _24: _pNew = (*XSorterRecord)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_nReq)))) if _pNew != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { goto _33 } r0 = _sqlite3NomemError(tls, i32(87705)) return _33: *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5941589)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))))) = (*XSorterRecord)(unsafe.Pointer((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X9 */))).X0)) _32: 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(16)))))))))))), (unsafe.Pointer)(_pVal.X5), uint64(_pVal.X4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _pVal.X4 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5901756)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(56 /* X9 */))))) + uintptr(0 /* X0 */))))) = _pNew r0 = _rc return } var _sqlite3VdbeSorterWriteØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSorterWriteØ00__func__Ø000[0], str(89748), 23) } func _sqlite3HeapNearlyFull(tls *crt.TLS) (r0 int32) { // sqlite3.c:24359:1 r0 = _mem0.X5 return } func _sqlite3VdbeIdxRowid(tls *crt.TLS, _db *Xsqlite3, _pCur *XBtCursor, _rowid *int64) (r0 int32) { // sqlite3.c:75709:1 var _nCellKey int64 // sqlite3.c:75710:7 _ = _nCellKey var _rc int32 // sqlite3.c:75711:7 _ = _rc var _szHdr uint32 // sqlite3.c:75712:7 _ = _szHdr var _typeRowid uint32 // sqlite3.c:75713:7 _ = _typeRowid var _lenRowid uint32 // sqlite3.c:75714:7 _ = _lenRowid var _m XMem // sqlite3.c:75715:7 _ = _m var _v XMem // sqlite3.c:75715:10 _ = _v _nCellKey = i64(0) func() int32 { if _sqlite3BtreeCursorIsValid(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(78416))) crt.X__builtin_abort(tls) return i32(0) }() }() _nCellKey = int64(_sqlite3BtreePayloadSize(tls, _pCur)) func() int32 { if (uint64(_nCellKey) & u64(4294967295)) == uint64(_nCellKey) { return i32(0) } return func() int32 { 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(89772))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemInit(tls, &_m, _db, uint16(i32(0))) _rc = _sqlite3VdbeMemFromBtree(tls, _pCur, uint32(i32(0)), uint32(_nCellKey), &_m) if _rc == 0 { goto _4 } r0 = _rc return _4: func() int32 { if int32(*(*uint8)(unsafe.Pointer(_m.X5))) < int32(u8(128)) { return func() int32 { _szHdr = uint32(*(*uint8)(unsafe.Pointer(_m.X5))); return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(_m.X5)), &_szHdr)) }() if _szHdr >= uint32(i32(3)) && int32(_szHdr) <= (_m.X4) { goto _8 } goto _idx_rowid_corruption _8: func() int32 { if int32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5)) + 1*uintptr(_szHdr-uint32(i32(1)))))))) < int32(u8(128)) { return func() int32 { _typeRowid = uint32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5)) + 1*uintptr(_szHdr-uint32(i32(1)))))))) return i32(1) }() } return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5))+1*uintptr(_szHdr-uint32(i32(1))))))), &_typeRowid)) }() if _typeRowid >= uint32(i32(1)) && _typeRowid <= uint32(i32(9)) && _typeRowid != uint32(i32(7)) { goto _13 } goto _idx_rowid_corruption _13: _lenRowid = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_typeRowid)))) if uint32(_m.X4) >= (_szHdr + _lenRowid) { goto _14 } goto _idx_rowid_corruption _14: _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5))+1*uintptr(uint32(_m.X4)-_lenRowid))))), _typeRowid, &_v) *_rowid = *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_v)) + uintptr(0 /* X0 */))))) _sqlite3VdbeMemRelease(tls, &_m) r0 = i32(0) return _idx_rowid_corruption: _sqlite3VdbeMemRelease(tls, &_m) r0 = _sqlite3CorruptError(tls, i32(75772)) return } var _sqlite3VdbeIdxRowidØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeIdxRowidØ00__func__Ø000[0], str(89816), 20) } func _sqlite3VdbeIdxKeyCompare(tls *crt.TLS, _db *Xsqlite3, _pC *XVdbeCursor, _pUnpacked *XUnpackedRecord, _res *int32) (r0 int32) { // sqlite3.c:75786:1 var _nCellKey int64 // sqlite3.c:75792:7 _ = _nCellKey var _rc int32 // sqlite3.c:75793:7 _ = _rc var _pCur *XBtCursor // sqlite3.c:75794:12 _ = _pCur var _m XMem // sqlite3.c:75795:7 _ = _m _nCellKey = i64(0) func() int32 { if int32(_pC.X0) == i32(0) { return i32(0) } return func() int32 { 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(66180))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCur = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pC)) + uintptr(48 /* X14 */))))))) func() int32 { if _sqlite3BtreeCursorIsValid(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(78416))) crt.X__builtin_abort(tls) return i32(0) }() }() _nCellKey = int64(_sqlite3BtreePayloadSize(tls, _pCur)) if _nCellKey > int64(i32(0)) && _nCellKey <= int64(i32(2147483647)) { goto _5 } *_res = i32(0) r0 = _sqlite3CorruptError(tls, i32(75805)) return _5: _sqlite3VdbeMemInit(tls, &_m, _db, uint16(i32(0))) _rc = _sqlite3VdbeMemFromBtree(tls, _pCur, uint32(i32(0)), uint32(_nCellKey), &_m) if _rc == 0 { goto _6 } r0 = _rc return _6: *_res = _sqlite3VdbeRecordCompare(tls, _m.X4, (unsafe.Pointer)(_m.X5), _pUnpacked) _sqlite3VdbeMemRelease(tls, &_m) r0 = i32(0) return } var _sqlite3VdbeIdxKeyCompareØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeIdxKeyCompareØ00__func__Ø000[0], str(89836), 25) } func _sqlite3BtreeDropTable(tls *crt.TLS, _p *XBtree, _iTable int32, _piMoved *int32) (r0 int32) { // sqlite3.c:67746:1 var _rc int32 // sqlite3.c:67747:7 _ = _rc _sqlite3BtreeEnter(tls, _p) _rc = _btreeDropTable(tls, _p, uint32(_iTable), _piMoved) _sqlite3BtreeLeave(tls, _p) r0 = _rc return } func _btreeDropTable(tls *crt.TLS, _p *XBtree, _iTable uint32, _piMoved *int32) (r0 int32) { // sqlite3.c:67664:1 var _rc int32 // sqlite3.c:67665:7 _ = _rc var _pPage *XMemPage // sqlite3.c:67666:11 _ = _pPage var _pBt *XBtShared // sqlite3.c:67667:12 _ = _pBt var _2_maxRootPgno uint32 // sqlite3.c:67688:10 _ = _2_maxRootPgno var _5_pMove *XMemPage // sqlite3.c:67705:15 _ = _5_pMove _pPage = nil _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X2) == i32(2) { return i32(0) } return func() int32 { 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(78856))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iTable >= uint32(i32(2)) { return i32(0) } return func() int32 { 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(89864))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _btreeGetPage(tls, _pBt, _iTable, &_pPage, i32(0)) if _rc == 0 { goto _6 } r0 = _rc return _6: _rc = _sqlite3BtreeClearTable(tls, _p, int32(_iTable), (*int32)(unsafe.Pointer(uintptr(i32(0))))) if _rc == 0 { goto _7 } _releasePage(tls, _pPage) r0 = _rc return _7: *_piMoved = i32(0) if (_pBt.X5) == 0 { goto _8 } _sqlite3BtreeGetMeta(tls, _p, i32(4), &_2_maxRootPgno) if _iTable != _2_maxRootPgno { goto _9 } _freePage(tls, _pPage, &_rc) _releasePage(tls, _pPage) if _rc == i32(0) { goto _10 } r0 = _rc return _10: goto _11 _9: _releasePage(tls, _pPage) _rc = _btreeGetPage(tls, _pBt, _2_maxRootPgno, &_5_pMove, i32(0)) if _rc == i32(0) { goto _12 } r0 = _rc return _12: _rc = _relocatePage(tls, _pBt, _5_pMove, uint8(i32(1)), uint32(i32(0)), _iTable, i32(0)) _releasePage(tls, _5_pMove) if _rc == i32(0) { goto _13 } r0 = _rc return _13: _5_pMove = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) _rc = _btreeGetPage(tls, _pBt, _2_maxRootPgno, &_5_pMove, i32(0)) _freePage(tls, _5_pMove, &_rc) _releasePage(tls, _5_pMove) if _rc == i32(0) { goto _14 } r0 = _rc return _14: *_piMoved = int32(_2_maxRootPgno) _11: _2_maxRootPgno -= 1 _15: if _2_maxRootPgno != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) && _ptrmapPageno(tls, _pBt, _2_maxRootPgno) != _2_maxRootPgno { goto _16 } _2_maxRootPgno -= 1 goto _15 _16: func() int32 { if _2_maxRootPgno != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { return i32(0) } return func() int32 { 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(89876))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeUpdateMeta(tls, _p, i32(4), _2_maxRootPgno) goto _20 _8: _freePage(tls, _pPage, &_rc) _releasePage(tls, _pPage) _20: r0 = _rc return } var _btreeDropTableØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_btreeDropTableØ00__func__Ø000[0], str(89912), 15) } func _sqlite3BtreeClearTable(tls *crt.TLS, _p *XBtree, _iTable int32, _pnChange *int32) (r0 int32) { // sqlite3.c:67616:1 var _rc int32 // sqlite3.c:67617:7 _ = _rc var _pBt *XBtShared // sqlite3.c:67618:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _sqlite3BtreeEnter(tls, _p) func() int32 { if int32(_p.X2) == i32(2) { return i32(0) } return func() int32 { 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(78856))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _saveAllCursors(tls, _pBt, uint32(_iTable), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) if i32(0) != _rc { goto _2 } _invalidateIncrblobCursors(tls, _p, int64(i32(0)), i32(1)) _rc = _clearDatabasePage(tls, _pBt, uint32(_iTable), i32(0), _pnChange) _2: _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeClearTableØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeClearTableØ00__func__Ø000[0], str(89928), 23) } func _clearDatabasePage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _freePageFlag int32, _pnChange *int32) (r0 int32) { // sqlite3.c:67549:1 var _pPage *XMemPage // sqlite3.c:67555:11 _ = _pPage var _rc int32 // sqlite3.c:67556:7 _ = _rc var _pCell *uint8 // sqlite3.c:67557:17 _ = _pCell var _i int32 // sqlite3.c:67558:7 _ = _i var _hdr int32 // sqlite3.c:67559:7 _ = _hdr var _info XCellInfo // sqlite3.c:67560:12 _ = _info func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { return i32(0) } return func() int32 { 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(7928))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgno <= _btreePagecount(tls, _pBt) { goto _2 } r0 = _sqlite3CorruptError(tls, i32(67564)) return _2: _rc = _getAndInitPage(tls, _pBt, _pgno, &_pPage, (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) if _rc == 0 { goto _3 } r0 = _rc return _3: if (_pPage.X1) == 0 { goto _4 } _rc = _sqlite3CorruptError(tls, i32(67569)) goto _cleardatabasepage_out _4: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(1 /* X1 */))) = uint8(i32(1)) _hdr = int32(_pPage.X6) _i = i32(0) _5: if _i >= int32(_pPage.X14) { goto _8 } _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)))))<= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(67664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(8 /* X2 */))).X2)) _7: if _i == nil { goto _10 } _1_pTab = (*XTable)(unsafe.Pointer(_i.X2)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(64 /* X9 */))) *p = (*p) & uint32(i32(-17)) sink985 = *p } _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _7 _10: _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(32 /* X3 */))).X2)) _11: if _i == nil { goto _14 } _2_pIdx = (*XIndex)(unsafe.Pointer(_i.X2)) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pIdx))+uintptr(99 /* X16 */))), int8(i32(0)), 128, 7) _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _11 _14: *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sInfo)) + uintptr(0 /* X0 */))))) = _db *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sInfo)) + uintptr(8 /* X1 */))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 if _sqlite3FindTable(tls, _db, str(90024), _sInfo.X1) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _zSql = _sqlite3MPrintf(tls, _db, str(90040), unsafe.Pointer(_sInfo.X1)) if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } _rc = _sqlite3NomemError(tls, i32(98563)) goto _17 _16: _rc = Xsqlite3_exec(tls, _db, _zSql, _analysisLoader, (unsafe.Pointer)(&_sInfo), (**int8)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zSql)) _17: _15: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(32 /* X3 */))).X2)) _20: if _i == nil { goto _23 } _6_pIdx = (*XIndex)(unsafe.Pointer(_i.X2)) if ((uint32((_6_pIdx.X16)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { goto _24 } _sqlite3DefaultRowEst(tls, _6_pIdx) _24: _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _20 _23: if _rc != i32(7) { goto _25 } _sqlite3OomFault(tls, _db) _25: r0 = _rc return } var _sqlite3AnalysisLoadØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AnalysisLoadØ00__func__Ø000[0], str(90084), 20) } func _sqlite3FindTable(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _zDatabase *int8) (r0 *XTable) { // sqlite3.c:99749:1 var _p *XTable // sqlite3.c:99750:9 _ = _p var _i int32 // sqlite3.c:99751:7 _ = _i var _2_j int32 // sqlite3.c:99764:11 _ = _2_j _p = nil func() int32 { if (_zDatabase != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(90104))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: _i = i32(0) _5: if _i >= (_db.X5) { goto _8 } _2_j = func() int32 { if _i < i32(2) { return (_i ^ i32(1)) } return _i }() if _zDatabase != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3StrICmp(tls, _zDatabase, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_2_j))).X0) != i32(0) { goto _12 } func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _2_j, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(61992))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XTable)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_2_j))).X4)+uintptr(8 /* X2 */))), _zName))) if _p == nil { goto _15 } r0 = _p return _15: _12: _i += 1 goto _5 _8: if _sqlite3StrICmp(tls, _zName, str(51508)) == i32(0) { goto _16 } goto _4 _16: if Xsqlite3_stricmp(tls, _zDatabase, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X0) == i32(0) { goto _17 } goto _4 _17: _zName = str(51488) goto _3 _4: r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3FindTableØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FindTableØ00__func__Ø000[0], str(90152), 17) } func _analysisLoader(tls *crt.TLS, _pData unsafe.Pointer, _argc int32, _argv **int8, _NotUsed **int8) (r0 int32) { // sqlite3.c:98188:1 var _pInfo *XanalysisInfo // sqlite3.c:98189:16 _ = _pInfo var _pIndex *XIndex // sqlite3.c:98190:9 _ = _pIndex var _pTable *XTable // sqlite3.c:98191:9 _ = _pTable var _z *int8 // sqlite3.c:98192:14 _ = _z var _6_aiRowEst *uint32 // sqlite3.c:98214:13 _ = _6_aiRowEst var _6_nCol int32 // sqlite3.c:98215:9 _ = _6_nCol var _8_fakeIdx XIndex // sqlite3.c:98234:11 _ = _8_fakeIdx _pInfo = (*XanalysisInfo)(unsafe.Pointer(_pData)) func() int32 { if _argc == i32(3) { return i32(0) } return func() int32 { 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(51784))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { ; return _argc }() if _argv != (**int8)(unsafe.Pointer(uintptr(i32(0)))) && (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } r0 = i32(0) return _4: _pTable = _sqlite3FindTable(tls, (*Xsqlite3)(unsafe.Pointer(_pInfo.X0)), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), _pInfo.X1) if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } r0 = i32(0) return _5: if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _pIndex = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) goto _7 _6: if Xsqlite3_stricmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) != i32(0) { goto _8 } _pIndex = _sqlite3PrimaryKeyIndex(tls, _pTable) goto _9 _8: _pIndex = _sqlite3FindIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pInfo.X0)), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1)))), _pInfo.X1) _9: _7: _z = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2)))) if _pIndex == nil { goto _10 } _6_aiRowEst = nil _6_nCol = int32(_pIndex.X13) + i32(1) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(0)), 4, 2) _decodeIntArray(tls, _z, _6_nCol, _6_aiRowEst, _pIndex.X2, _pIndex) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(1)), 128, 7) if (*XExpr)(unsafe.Pointer(_pIndex.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(72 /* X12 */))) = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X2)) + 2*uintptr(i32(0)))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(16)) sink985 = *p } _11: goto _12 _10: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_fakeIdx)) + uintptr(92 /* X12 */))) = _pTable.X13 _decodeIntArray(tls, _z, i32(1), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(72 /* X12 */))), &_8_fakeIdx) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(74 /* X13 */))) = _8_fakeIdx.X12 { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(16)) sink985 = *p } _12: r0 = i32(0) return } var _analysisLoaderØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_analysisLoaderØ00__func__Ø000[0], str(90172), 15) } func _decodeIntArray(tls *crt.TLS, _zIntArray *int8, _nOut int32, _aOut *uint32, _aLog *int16, _pIndex *XIndex) { // sqlite3.c:98117:1 var _z *int8 // sqlite3.c:98124:8 _ = _z var _c int32 // sqlite3.c:98125:7 _ = _c var _i int32 // sqlite3.c:98126:7 _ = _i var _v uint32 // sqlite3.c:98127:11 _ = _v _z = _zIntArray func() int32 { if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(45588))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if (*_z) == 0 || _i >= _nOut { goto _6 } _v = uint32(i32(0)) _7: if store961(&_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0)))))) < i32(48) || _c > i32(57) { goto _8 } _v = ((_v * uint32(i32(10))) + uint32(_c)) - uint32(i32(48)) *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _7 _8: func() int32 { if _aOut == (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(90188))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _aLog != (*int16)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(90196))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLog)) + 2*uintptr(_i))) = _sqlite3LogEst(tls, uint64(_v)) if int32(*_z) != i32(32) { goto _14 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) _14: _i += 1 goto _2 _6: func() int32 { if _pIndex != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(90204))) crt.X__builtin_abort(tls) return i32(0) }() }() storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(0)), 4, 2) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(0)), 64, 6) _17: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == 0 { goto _18 } if Xsqlite3_strglob(tls, str(90216), _z) != i32(0) { goto _19 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(1)), 4, 2) goto _20 _19: if Xsqlite3_strglob(tls, str(90228), _z) != i32(0) { goto _21 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(92 /* X12 */))) = _sqlite3LogEst(tls, uint64(_sqlite3Atoi(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(3))))))))))) goto _22 _21: if Xsqlite3_strglob(tls, str(90240), _z) != i32(0) { goto _23 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(1)), 64, 6) _23: _22: _20: _24: 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) { goto _25 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _24 _25: _27: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(32) { goto _28 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _27 _28: goto _17 _18: return } var _decodeIntArrayØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_decodeIntArrayØ00__func__Ø000[0], str(90252), 15) } func Xsqlite3_strglob(tls *crt.TLS, _zGlobPattern *int8, _zString *int8) (r0 int32) { // sqlite3.c:106062:12 r0 = _patternCompare(tls, (*uint8)(unsafe.Pointer(_zGlobPattern)), (*uint8)(unsafe.Pointer(_zString)), &_globInfo, uint32(i32(91))) return } func _patternCompare(tls *crt.TLS, _zPattern *uint8, _zString *uint8, _pInfo *TcompareInfo, _matchOther uint32) (r0 int32) { // sqlite3.c:105934:1 var _c uint32 // sqlite3.c:105940:7 _ = _c var _c2 uint32 // sqlite3.c:105940:10 _ = _c2 var _matchOne uint32 // sqlite3.c:105941:7 _ = _matchOne var _matchAll uint32 // sqlite3.c:105942:7 _ = _matchAll var _noCase uint8 // sqlite3.c:105943:6 _ = _noCase var _zEscaped *uint8 // sqlite3.c:105944:12 _ = _zEscaped var _9_bMatch int32 // sqlite3.c:105967:17 _ = _9_bMatch var _13_cx uint32 // sqlite3.c:105985:13 _ = _13_cx var _13_bMatch int32 // sqlite3.c:105986:13 _ = _13_bMatch var _17_bMatch int32 // sqlite3.c:105999:13 _ = _17_bMatch var _21_prior_c uint32 // sqlite3.c:106014:13 _ = _21_prior_c var _21_seen int32 // sqlite3.c:106015:13 _ = _21_seen var _21_invert int32 // sqlite3.c:106016:13 _ = _21_invert _matchOne = uint32(_pInfo.X1) _matchAll = uint32(_pInfo.X0) _noCase = _pInfo.X3 _zEscaped = nil _0: if store985(&_c, func() uint32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) < i32(128) { return uint32(*postInc4543(&_zPattern, 1)) } return _sqlite3Utf8Read(tls, &_zPattern) }()) == uint32(i32(0)) { goto _1 } if _c != _matchAll { goto _4 } _5: if store985(&_c, func() uint32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) < i32(128) { return uint32(*postInc4543(&_zPattern, 1)) } return _sqlite3Utf8Read(tls, &_zPattern) }()) != _matchAll && _c != _matchOne { goto _6 } if _c != _matchOne || _sqlite3Utf8Read(tls, &_zString) != uint32(i32(0)) { goto _11 } r0 = i32(2) return _11: goto _5 _6: if _c != uint32(i32(0)) { goto _12 } r0 = i32(0) return _12: if _c != _matchOther { goto _14 } if int32(_pInfo.X2) != i32(0) { goto _15 } _c = _sqlite3Utf8Read(tls, &_zPattern) if _c != uint32(i32(0)) { goto _16 } r0 = i32(2) return _16: goto _17 _15: func() int32 { if _matchOther < uint32(i32(128)) { return i32(0) } return func() int32 { 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(90268))) crt.X__builtin_abort(tls) return i32(0) }() }() _20: if (*_zString) == 0 { goto _21 } _9_bMatch = _patternCompare(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern))+1*uintptr(i32(-1)))), _zString, _pInfo, _matchOther) if _9_bMatch == i32(1) { goto _22 } r0 = _9_bMatch return _22: if int32(*postInc4543(&_zString, 1)) < i32(192) { goto _23 } _24: if (int32(*_zString) & i32(192)) != i32(128) { goto _25 } *(*uintptr)(unsafe.Pointer(&_zString)) += uintptr(1) goto _24 _25: _23: goto _20 _21: r0 = i32(2) return _17: _14: if _c > uint32(i32(128)) { goto _26 } if _noCase == 0 { goto _27 } _13_cx = _c & uint32(^(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_c))))) & i32(32))) _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(_c))))) goto _28 _27: _13_cx = _c _28: _29: if store985(&_c2, uint32(*postInc4543(&_zString, 1))) == uint32(i32(0)) { goto _30 } if _c2 == _c || _c2 == _13_cx { goto _32 } goto _29 _32: _13_bMatch = _patternCompare(tls, _zPattern, _zString, _pInfo, _matchOther) if _13_bMatch == i32(1) { goto _33 } r0 = _13_bMatch return _33: goto _29 _30: goto _34 _26: _35: if store985(&_c2, func() uint32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zString)) + 1*uintptr(i32(0))))) < i32(128) { return uint32(*postInc4543(&_zString, 1)) } return _sqlite3Utf8Read(tls, &_zString) }()) == uint32(i32(0)) { goto _36 } if _c2 == _c { goto _39 } goto _35 _39: _17_bMatch = _patternCompare(tls, _zPattern, _zString, _pInfo, _matchOther) if _17_bMatch == i32(1) { goto _40 } r0 = _17_bMatch return _40: goto _35 _36: _34: r0 = i32(2) return _4: if _c != _matchOther { goto _41 } if int32(_pInfo.X2) != i32(0) { goto _42 } _c = _sqlite3Utf8Read(tls, &_zPattern) if _c != uint32(i32(0)) { goto _43 } r0 = i32(1) return _43: _zEscaped = _zPattern goto _44 _42: _21_prior_c = uint32(i32(0)) _21_seen = i32(0) _21_invert = i32(0) _c = _sqlite3Utf8Read(tls, &_zString) if _c != uint32(i32(0)) { goto _45 } r0 = i32(1) return _45: _c2 = _sqlite3Utf8Read(tls, &_zPattern) if _c2 != uint32(i32(94)) { goto _46 } _21_invert = i32(1) _c2 = _sqlite3Utf8Read(tls, &_zPattern) _46: if _c2 != uint32(i32(93)) { goto _47 } if _c != uint32(i32(93)) { goto _48 } _21_seen = i32(1) _48: _c2 = _sqlite3Utf8Read(tls, &_zPattern) _47: _49: if _c2 == 0 || _c2 == uint32(i32(93)) { goto _50 } 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)) { goto _55 } _c2 = _sqlite3Utf8Read(tls, &_zPattern) if _c < _21_prior_c || _c > _c2 { goto _57 } _21_seen = i32(1) _57: _21_prior_c = uint32(i32(0)) goto _58 _55: if _c != _c2 { goto _59 } _21_seen = i32(1) _59: _21_prior_c = _c2 _58: _c2 = _sqlite3Utf8Read(tls, &_zPattern) goto _49 _50: if _c2 != uint32(i32(0)) && (_21_seen^_21_invert) != i32(0) { goto _61 } r0 = i32(1) return _61: goto _0 _44: _41: _c2 = func() uint32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zString)) + 1*uintptr(i32(0))))) < i32(128) { return uint32(*postInc4543(&_zString, 1)) } return _sqlite3Utf8Read(tls, &_zString) }() if _c != _c2 { goto _64 } goto _0 _64: 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)) { goto _68 } goto _0 _68: if _c != _matchOne || _zPattern == _zEscaped || _c2 == uint32(i32(0)) { goto _71 } goto _0 _71: r0 = i32(1) return _1: r0 = func() int32 { if int32(*_zString) == i32(0) { return i32(0) } return i32(1) }() return } func _sqlite3Utf8Read(tls *crt.TLS, _pz **uint8) (r0 uint32) { // sqlite3.c:27247:1 var _c uint32 // sqlite3.c:27250:16 _ = _c _c = uint32(*postInc4543(_pz, 1)) if _c < uint32(i32(192)) { goto _0 } _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Utf8Trans1)) + 1*uintptr(_c-uint32(i32(192)))))) _1: if (int32(*(*_pz)) & i32(192)) != i32(128) { goto _2 } _c = (_c << uint(i32(6))) + uint32(i32(63)&int32(*postInc4543(_pz, 1))) goto _1 _2: if _c >= uint32(i32(128)) && (_c&u32(4294965248)) != uint32(i32(55296)) && (_c&u32(4294967294)) != uint32(i32(65534)) { goto _5 } _c = uint32(i32(65533)) _5: _0: r0 = _c return } var _patternCompareØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_patternCompareØ00__func__Ø000[0], str(90284), 15) } var _globInfo TcompareInfo // sqlite3.c:105881:33 func init() { _globInfo = TcompareInfo{X0: u8(42), X1: u8(63), X2: u8(91), X3: u8(0)} } func _sqlite3DefaultRowEst(tls *crt.TLS, _pIdx *XIndex) { // sqlite3.c:102902:1 var _aVal [5]int16 // sqlite3.c:102904:10 _ = _aVal var _a *int16 // sqlite3.c:102905:10 _ = _a var _nCopy int32 // sqlite3.c:102906:7 _ = _nCopy var _i int32 // sqlite3.c:102907:7 _ = _i _aVal = [5]int16{i16(33), i16(32), i16(30), i16(28), i16(26)} _a = _pIdx.X2 _nCopy = func() int32 { if i32(5) < int32(_pIdx.X13) { return i32(5) } return int32(_pIdx.X13) }() func() int32 { if ((uint32((_pIdx.X16)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) == 0 { return i32(0) } return func() int32 { 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(90300))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0)))) = (*XTable)(unsafe.Pointer(_pIdx.X3)).X12 if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0)))) *p = int16(int32(*p) - i32(10)) sink955 = *p } _4: func() int32 { if i32(10) == int32(_sqlite3LogEst(tls, uint64(i32(2)))) { return i32(0) } return func() int32 { 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(90316))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0))))) >= i32(33) { goto _7 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0)))) = int16(i32(33)) _7: func() int32 { if i32(33) == int32(_sqlite3LogEst(tls, uint64(i32(10)))) { return i32(0) } return func() int32 { 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(90340))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a))+2*uintptr(i32(1))))), (unsafe.Pointer)(&_aVal), uint64(_nCopy)*u64(2)) _i = _nCopy + i32(1) _10: if _i > int32(_pIdx.X13) { goto _13 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(_i))) = int16(i32(23)) func() int32 { if i32(23) == int32(_sqlite3LogEst(tls, uint64(i32(5)))) { return i32(0) } return func() int32 { 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(90364))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _10 _13: func() int32 { if i32(0) == int32(_sqlite3LogEst(tls, uint64(i32(1)))) { return i32(0) } return func() int32 { 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(47620))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pIdx.X15) == i32(0) { goto _18 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(_pIdx.X13))) = int16(i32(0)) _18: return } var _sqlite3DefaultRowEstØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DefaultRowEstØ00__func__Ø000[0], str(90388), 21) } func _sqlite3UnlinkAndDeleteTable(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zTabName *int8) { // sqlite3.c:100107:1 var _p *XTable // sqlite3.c:100108:9 _ = _p var _pDb *XDb // sqlite3.c:100109:6 _ = _pDb func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _zTabName != nil { return i32(0) } return func() int32 { 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(90412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) _p = (*XTable)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pDb.X4)+uintptr(8 /* X2 */))), _zTabName, (unsafe.Pointer)(uintptr(i32(0)))))) _sqlite3DeleteTable(tls, _db, _p) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2) sink961 = *p } return } var _sqlite3UnlinkAndDeleteTableØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3UnlinkAndDeleteTableØ00__func__Ø000[0], str(90424), 28) } func _sqlite3UnlinkAndDeleteIndex(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zIdxName *int8) { // sqlite3.c:99911:1 var _pIndex *XIndex // sqlite3.c:99912:9 _ = _pIndex var _pHash *XHash // sqlite3.c:99913:8 _ = _pHash var _3_p *XIndex // sqlite3.c:99922:13 _ = _3_p func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _pHash = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(32 /* X3 */))) _pIndex = (*XIndex)(unsafe.Pointer(_sqlite3HashInsert(tls, _pHash, _zIdxName, (unsafe.Pointer)(uintptr(i32(0)))))) if func() int32 { if _pIndex != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _4 } if (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIndex.X3)).X2)) != _pIndex { goto _5 } *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pIndex.X3) + uintptr(16 /* X2 */))))) = (*XIndex)(unsafe.Pointer(_pIndex.X5)) goto _6 _5: _3_p = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIndex.X3)).X2)) _7: if func() int32 { if _3_p != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || (*XIndex)(unsafe.Pointer(_3_p.X5)) == _pIndex { goto _8 } _3_p = (*XIndex)(unsafe.Pointer(_3_p.X5)) goto _7 _8: if func() int32 { if (_3_p != nil) && ((*XIndex)(unsafe.Pointer(_3_p.X5)) == _pIndex) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _15 } *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_p)) + uintptr(40 /* X5 */))))) = (*XIndex)(unsafe.Pointer(_pIndex.X5)) _15: _6: _freeIndex(tls, _db, _pIndex) _4: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2) sink961 = *p } return } var _sqlite3UnlinkAndDeleteIndexØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3UnlinkAndDeleteIndexØ00__func__Ø000[0], str(90452), 28) } func _sqlite3UnlinkAndDeleteTrigger(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zName *int8) { // sqlite3.c:122754:1 var _pTrigger *XTrigger // sqlite3.c:122755:11 _ = _pTrigger var _pHash *XHash // sqlite3.c:122756:8 _ = _pHash var _2_pTab *XTable // sqlite3.c:122763:13 _ = _2_pTab var _2_pp **XTrigger // sqlite3.c:122764:15 _ = _2_pp func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _pHash = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(56 /* X4 */))) _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3HashInsert(tls, _pHash, _zName, (unsafe.Pointer)(uintptr(i32(0)))))) if func() int32 { if _pTrigger != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _4 } if (*XSchema)(unsafe.Pointer(_pTrigger.X6)) != (*XSchema)(unsafe.Pointer(_pTrigger.X7)) { goto _5 } _2_pTab = _tableOfTrigger(tls, _pTrigger) _2_pp = (**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pTab)) + uintptr(104 /* X19 */))))) _6: if (*_2_pp) == _pTrigger { goto _9 } _2_pp = (**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_2_pp)) + uintptr(64 /* X9 */))))) goto _6 _9: *_2_pp = (*XTrigger)(unsafe.Pointer((*_2_pp).X9)) _5: _sqlite3DeleteTrigger(tls, _db, _pTrigger) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2) sink961 = *p } _4: return } var _sqlite3UnlinkAndDeleteTriggerØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3UnlinkAndDeleteTriggerØ00__func__Ø000[0], str(90480), 30) } func _tableOfTrigger(tls *crt.TLS, _pTrigger *XTrigger) (r0 *XTable) { // sqlite3.c:122706:1 r0 = (*XTable)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_pTrigger.X7)+uintptr(8 /* X2 */))), _pTrigger.X1))) return } func _sqlite3BtreeIntegrityCheck(tls *crt.TLS, _p *XBtree, _aRoot *int32, _nRoot int32, _mxErr int32, _pnErr *int32) (r0 *int8) { // sqlite3.c:68417:1 var _i uint32 // sqlite3.c:68424:8 _ = _i var _sCheck XIntegrityCk // sqlite3.c:68425:15 _ = _sCheck var _pBt *XBtShared // sqlite3.c:68426:12 _ = _pBt var _savedDbFlags int32 // sqlite3.c:68427:7 _ = _savedDbFlags var _zErr [100]int8 // sqlite3.c:68428:8 _ = _zErr var _nRef int32 // sqlite3.c:68429:17 _ = _nRef var _4_notUsed int64 // sqlite3.c:68478:9 _ = _4_notUsed _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _savedDbFlags = (*Xsqlite3)(unsafe.Pointer(_pBt.X1)).X6 _sqlite3BtreeEnter(tls, _p) func() int32 { if (int32(_p.X2) > i32(0)) && (int32(_pBt.X8) > i32(0)) { return i32(0) } return func() int32 { 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(90512))) crt.X__builtin_abort(tls) return i32(0) }() }() _nRef = _sqlite3PagerRefcount(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) func() int32 { if _nRef >= i32(0) { return i32(0) } return func() int32 { 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(90568))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(0 /* X0 */))))) = _pBt *(**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(8 /* X1 */))))) = (*XPager)(unsafe.Pointer(_pBt.X0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(24 /* X3 */))) = _btreePagecount(tls, (*XBtShared)(unsafe.Pointer(_sCheck.X0))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(28 /* X4 */))) = _mxErr *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(32 /* X5 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(36 /* X6 */))) = i32(0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(40 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(48 /* X8 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(52 /* X9 */))) = i32(0) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(16 /* X2 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(96 /* X11 */))) = (*uint32)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3StrAccumInit(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(56 /* X10 */))), (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zErr)), int32(u64(100)), i32(1000000000)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(56 /* X10 */))))) + uintptr(37 /* X7 */))) = uint8(i32(1)) if (_sCheck.X3) != uint32(i32(0)) { goto _5 } goto _integrity_ck_cleanup _5: *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(16 /* X2 */))) = (*uint8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(((_sCheck.X3)/uint32(i32(8)))+uint32(i32(1)))))) if (_sCheck.X2) != nil { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(36 /* X6 */))) = i32(1) goto _integrity_ck_cleanup _6: *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(96 /* X11 */))) = (*uint32)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32(_pBt.X15)))) if (_sCheck.X11) != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(36 /* X6 */))) = i32(1) goto _integrity_ck_cleanup _7: _i = (uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1)) if _i > (_sCheck.X3) { goto _8 } _setPageReferenced(tls, &_sCheck, _i) _8: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(40 /* X7 */))) = str(90576) _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))))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(40 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) { p := (*int32)(unsafe.Pointer(uintptr(_pBt.X1) + uintptr(44 /* X6 */))) *p = (*p) & i32(-536870913) sink961 = *p } _i = uint32(i32(0)) _9: if int32(_i) >= _nRoot || (_sCheck.X4) == 0 { goto _13 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i)))) != i32(0) { goto _14 } goto _10 _14: if (_pBt.X5) == 0 || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i)))) <= i32(1) { goto _16 } _checkPtrmap(tls, &_sCheck, uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i)))), uint8(i32(1)), uint32(i32(0))) _16: _checkTreePage(tls, &_sCheck, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i))), &_4_notUsed, i64(9223372036854775807)) _10: _i += 1 goto _9 _13: *(*int32)(unsafe.Pointer(uintptr(_pBt.X1) + uintptr(44 /* X6 */))) = _savedDbFlags _i = uint32(i32(1)) _17: if _i > (_sCheck.X3) || (_sCheck.X4) == 0 { goto _21 } if _getPageReferenced(tls, &_sCheck, _i) != i32(0) || _ptrmapPageno(tls, _pBt, _i) == _i && (_pBt.X5) != 0 { goto _24 } _checkAppendMsg(tls, &_sCheck, str(90592), _i) _24: if _getPageReferenced(tls, &_sCheck, _i) == i32(0) || (_ptrmapPageno(tls, _pBt, _i) != _i || (_pBt.X5) == 0) { goto _27 } _checkAppendMsg(tls, &_sCheck, str(90616), _i) _27: _i += 1 goto _17 _21: _integrity_ck_cleanup: _sqlite3PageFree(tls, (unsafe.Pointer)(_sCheck.X11)) Xsqlite3_free(tls, (unsafe.Pointer)(_sCheck.X2)) if (_sCheck.X6) == 0 { goto _28 } _sqlite3StrAccumReset(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(56 /* X10 */)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(32 /* X5 */))) += 1 _28: *_pnErr = _sCheck.X5 if (_sCheck.X5) != i32(0) { goto _29 } _sqlite3StrAccumReset(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(56 /* X10 */)))) _29: func() int32 { if _nRef == _sqlite3PagerRefcount(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) { return i32(0) } return func() int32 { 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(90652))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeLeave(tls, _p) r0 = _sqlite3StrAccumFinish(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(56 /* X10 */)))) return } var _sqlite3BtreeIntegrityCheckØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeIntegrityCheckØ00__func__Ø000[0], str(90692), 27) } func _setPageReferenced(tls *crt.TLS, _pCheck *XIntegrityCk, _iPg uint32) { // sqlite3.c:67954:1 func() int32 { if (_iPg <= (_pCheck.X3)) && i32(1) != 0 { return i32(0) } return func() int32 { 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(90720))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck.X2)) + 1*uintptr(_iPg/uint32(i32(8))))) *p = uint8(int32(*p) | (i32(1) << uint(int32(_iPg&uint32(i32(7)))))) sink4537 = *p } return } var _setPageReferencedØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_setPageReferencedØ00__func__Ø000[0], str(90772), 18) } func _checkList(tls *crt.TLS, _pCheck *XIntegrityCk, _isFreeList int32, _iPage int32, _N int32) { // sqlite3.c:68017:1 var _i int32 // sqlite3.c:68023:7 _ = _i var _expected int32 // sqlite3.c:68024:7 _ = _expected var _iFirst int32 // sqlite3.c:68025:7 _ = _iFirst var _1_pOvflPage *XPgHdr // sqlite3.c:68027:12 _ = _1_pOvflPage var _1_pOvflData *uint8 // sqlite3.c:68028:19 _ = _1_pOvflData var _4_n int32 // sqlite3.c:68042:11 _ = _4_n var _8_iFreePage uint32 // sqlite3.c:68054:16 _ = _8_iFreePage _expected = _N _iFirst = _iPage _0: if postInc961(&_N, int32(-1)) <= i32(0) || (_pCheck.X4) == 0 { goto _1 } if _iPage >= i32(1) { goto _3 } _checkAppendMsg(tls, _pCheck, str(90792), _N+i32(1), _expected, _iFirst) goto _1 _3: if _checkRef(tls, _pCheck, uint32(_iPage)) == 0 { goto _4 } goto _1 _4: if _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pCheck.X1)), uint32(_iPage), &_1_pOvflPage, i32(0)) == 0 { goto _5 } _checkAppendMsg(tls, _pCheck, str(90852), _iPage) goto _1 _5: _1_pOvflData = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _1_pOvflPage))) if _isFreeList == 0 { goto _6 } _4_n = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOvflData))+1*uintptr(i32(4)))))) if ((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X5) == 0 { goto _7 } _checkPtrmap(tls, _pCheck, uint32(_iPage), uint8(i32(2)), uint32(i32(0))) _7: if _4_n <= ((int32((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X16) / i32(4)) - i32(2)) { goto _8 } _checkAppendMsg(tls, _pCheck, str(90876), _iPage) _N -= 1 goto _9 _8: _i = i32(0) _10: if _i >= _4_n { goto _13 } _8_iFreePage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOvflData))+1*uintptr(i32(8)+(_i*i32(4)))))) if ((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X5) == 0 { goto _14 } _checkPtrmap(tls, _pCheck, _8_iFreePage, uint8(i32(2)), uint32(i32(0))) _14: _checkRef(tls, _pCheck, _8_iFreePage) _i += 1 goto _10 _13: { p := &_N *p = (*p) - _4_n sink961 = *p } _9: goto _15 _6: if ((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X5) == 0 || _N <= i32(0) { goto _17 } _i = int32(_sqlite3Get4byte(tls, _1_pOvflData)) _checkPtrmap(tls, _pCheck, uint32(_i), uint8(i32(4)), uint32(_iPage)) _17: _15: _iPage = int32(_sqlite3Get4byte(tls, _1_pOvflData)) _sqlite3PagerUnref(tls, _1_pOvflPage) if _isFreeList == 0 || _N >= bool2int(_iPage != i32(0)) { goto _19 } _checkAppendMsg(tls, _pCheck, str(90916)) _19: goto _0 _1: return } func _checkAppendMsg(tls *crt.TLS, _pCheck *XIntegrityCk, _zFormat *int8, args ...interface{}) { // sqlite3.c:67916:1 var _ap []interface{} // sqlite3.c:67921:11 _ = _ap if (_pCheck.X4) != 0 { goto _0 } return _0: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(28 /* X4 */))) -= 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(32 /* X5 */))) += 1 _ap = args if ((*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(56 /* X10 */))).X3) == 0 { goto _1 } _sqlite3StrAccumAppend(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(56 /* X10 */))), str(38396), i32(1)) _1: if (_pCheck.X7) == nil { goto _2 } _sqlite3XPrintf(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(56 /* X10 */))), _pCheck.X7, _pCheck.X8, _pCheck.X9) _2: _sqlite3VXPrintf(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(56 /* X10 */))), _zFormat, _ap) _ap = nil if int32((*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(56 /* X10 */))).X6) != i32(1) { goto _3 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(36 /* X6 */))) = i32(1) _3: return } func _checkRef(tls *crt.TLS, _pCheck *XIntegrityCk, _iPage uint32) (r0 int32) { // sqlite3.c:67968:1 if _iPage != uint32(i32(0)) { goto _0 } r0 = i32(1) return _0: if _iPage <= (_pCheck.X3) { goto _1 } _checkAppendMsg(tls, _pCheck, str(90956), _iPage) r0 = i32(1) return _1: if _getPageReferenced(tls, _pCheck, _iPage) == 0 { goto _2 } _checkAppendMsg(tls, _pCheck, str(90980), _iPage) r0 = i32(1) return _2: _setPageReferenced(tls, _pCheck, _iPage) r0 = i32(0) return } func _getPageReferenced(tls *crt.TLS, _pCheck *XIntegrityCk, _iPg uint32) (r0 int32) { // sqlite3.c:67946:1 func() int32 { if (_iPg <= (_pCheck.X3)) && i32(1) != 0 { return i32(0) } return func() int32 { 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(90720))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck.X2)) + 1*uintptr(_iPg/uint32(i32(8)))))) & (i32(1) << uint(int32(_iPg&uint32(i32(7))))) return } var _getPageReferencedØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_getPageReferencedØ00__func__Ø000[0], str(91008), 18) } func _checkPtrmap(tls *crt.TLS, _pCheck *XIntegrityCk, _iChild uint32, _eType uint8, _iParent uint32) { // sqlite3.c:67988:1 var _rc int32 // sqlite3.c:67994:7 _ = _rc var _ePtrmapType uint8 // sqlite3.c:67995:6 _ = _ePtrmapType var _iPtrmapParent uint32 // sqlite3.c:67996:8 _ = _iPtrmapParent _rc = _ptrmapGet(tls, (*XBtShared)(unsafe.Pointer(_pCheck.X0)), _iChild, &_ePtrmapType, &_iPtrmapParent) if _rc == i32(0) { goto _0 } if _rc != i32(7) && _rc != i32(3082) { goto _2 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(36 /* X6 */))) = i32(1) _2: _checkAppendMsg(tls, _pCheck, str(91028), _iChild) return _0: if int32(_ePtrmapType) == int32(_eType) && _iPtrmapParent == _iParent { goto _4 } _checkAppendMsg(tls, _pCheck, str(91060), _iChild, int32(_eType), _iParent, int32(_ePtrmapType), _iPtrmapParent) _4: return } func _checkTreePage(tls *crt.TLS, _pCheck *XIntegrityCk, _iPage int32, _piMinKey *int64, _maxKey int64) (r0 int32) { // sqlite3.c:68153:1 var _pPage *XMemPage // sqlite3.c:68159:11 _ = _pPage var _i int32 // sqlite3.c:68160:7 _ = _i var _rc int32 // sqlite3.c:68161:7 _ = _rc var _depth int32 // sqlite3.c:68162:7 _ = _depth var _d2 int32 // sqlite3.c:68162:19 _ = _d2 var _pgno int32 // sqlite3.c:68163:7 _ = _pgno var _nFrag int32 // sqlite3.c:68164:7 _ = _nFrag var _hdr int32 // sqlite3.c:68165:7 _ = _hdr var _cellStart int32 // sqlite3.c:68166:7 _ = _cellStart var _nCell int32 // sqlite3.c:68167:7 _ = _nCell var _doCoverageCheck int32 // sqlite3.c:68168:7 _ = _doCoverageCheck var _keyCanBeEqual int32 // sqlite3.c:68169:7 _ = _keyCanBeEqual var _data *uint8 // sqlite3.c:68171:6 _ = _data var _pCell *uint8 // sqlite3.c:68172:6 _ = _pCell var _pCellIdx *uint8 // sqlite3.c:68173:6 _ = _pCellIdx var _pBt *XBtShared // sqlite3.c:68174:12 _ = _pBt var _pc uint32 // sqlite3.c:68175:7 _ = _pc var _usableSize uint32 // sqlite3.c:68176:7 _ = _usableSize var _contentOffset uint32 // sqlite3.c:68177:7 _ = _contentOffset var _heap *uint32 // sqlite3.c:68178:7 _ = _heap var _x uint32 // sqlite3.c:68179:7 _ = _x var _prev uint32 // sqlite3.c:68179:10 _ = _prev var _saved_zPfx *int8 // sqlite3.c:68180:14 _ = _saved_zPfx var _saved_v1 int32 // sqlite3.c:68181:7 _ = _saved_v1 var _saved_v2 int32 // sqlite3.c:68182:7 _ = _saved_v2 var _savedIsInit uint8 // sqlite3.c:68183:6 _ = _savedIsInit var _6_info XCellInfo // sqlite3.c:68249:14 _ = _6_info var _11_nPage int32 // sqlite3.c:68280:11 _ = _11_nPage var _11_pgnoOvfl uint32 // sqlite3.c:68281:12 _ = _11_pgnoOvfl var _19_size uint32 // sqlite3.c:68325:13 _ = _19_size var _20_size int32 // sqlite3.c:68339:11 _ = _20_size var _20_j int32 // sqlite3.c:68339:17 _ = _20_j _pPage = nil _depth = i32(-1) _doCoverageCheck = i32(1) _keyCanBeEqual = i32(1) _heap = nil _prev = u32(0) _saved_zPfx = _pCheck.X7 _saved_v1 = _pCheck.X8 _saved_v2 = _pCheck.X9 _savedIsInit = u8(0) _pBt = (*XBtShared)(unsafe.Pointer(_pCheck.X0)) _usableSize = _pBt.X16 if _iPage != i32(0) { goto _0 } r0 = i32(0) return _0: if _checkRef(tls, _pCheck, uint32(_iPage)) == 0 { goto _1 } r0 = i32(0) return _1: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(40 /* X7 */))) = str(91116) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(48 /* X8 */))) = _iPage if store961(&_rc, _btreeGetPage(tls, _pBt, uint32(_iPage), &_pPage, i32(0))) == i32(0) { goto _2 } _checkAppendMsg(tls, _pCheck, str(91128), _rc) goto _end_of_check _2: _savedIsInit = _pPage.X0 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) if store961(&_rc, _btreeInitPage(tls, _pPage)) == i32(0) { goto _3 } func() int32 { if _rc == i32(11) { return i32(0) } return func() int32 { 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(91168))) crt.X__builtin_abort(tls) return i32(0) }() }() _checkAppendMsg(tls, _pCheck, str(91188), _rc) goto _end_of_check _3: _data = _pPage.X19 _hdr = int32(_pPage.X6) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(40 /* X7 */))) = str(91228) _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)) func() int32 { if _contentOffset <= _usableSize { return i32(0) } return func() int32 { 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(91256))) crt.X__builtin_abort(tls) return i32(0) }() }() _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))))) func() int32 { if int32(_pPage.X14) == _nCell { return i32(0) } return func() int32 { 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(91284))) crt.X__builtin_abort(tls) return i32(0) }() }() _cellStart = (_hdr + i32(12)) - (i32(4) * int32(_pPage.X5)) func() int32 { if (_pPage.X21) == (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cellStart))) { return i32(0) } return func() int32 { 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(91304))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCellIdx = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellStart+(i32(2)*(_nCell-i32(1)))))) if (_pPage.X5) != 0 { goto _12 } _pgno = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(8)))))) if (_pBt.X5) == 0 { goto _13 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(40 /* X7 */))) = str(91340) _checkPtrmap(tls, _pCheck, uint32(_pgno), uint8(i32(5)), uint32(_iPage)) _13: _depth = _checkTreePage(tls, _pCheck, _pgno, &_maxKey, _maxKey) _keyCanBeEqual = i32(0) goto _14 _12: _heap = _pCheck.X11 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_heap)) + 4*uintptr(i32(0)))) = uint32(i32(0)) _14: _i = _nCell - i32(1) _15: if _i < i32(0) || (_pCheck.X4) == 0 { goto _19 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(52 /* X9 */))) = _i func() int32 { if _pCellIdx == (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cellStart+(_i*i32(2))))) { return i32(0) } return func() int32 { 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(91368))) crt.X__builtin_abort(tls) return i32(0) }() }() _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)))))) { p := &_pCellIdx *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(2)))) sink4543 = *p } if _pc >= _contentOffset && _pc <= (_usableSize-uint32(i32(4))) { goto _23 } _checkAppendMsg(tls, _pCheck, str(91404), _pc, _contentOffset, _usableSize-uint32(i32(4))) _doCoverageCheck = i32(0) goto _16 _23: _pCell = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_pc))) (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) }{(_pPage.X25)})))(tls, _pPage, _pCell, &_6_info) if (_pc + uint32(_6_info.X4)) <= _usableSize { goto _24 } _checkAppendMsg(tls, _pCheck, str(91436)) _doCoverageCheck = i32(0) goto _16 _24: if (_pPage.X2) == 0 { goto _25 } if func() int32 { if _keyCanBeEqual != 0 { return bool2int((_6_info.X0) > _maxKey) } return bool2int((_6_info.X0) >= _maxKey) }() == 0 { goto _28 } _checkAppendMsg(tls, _pCheck, str(91460), _6_info.X0) _28: _maxKey = _6_info.X0 _25: if (_6_info.X2) <= uint32(_6_info.X3) { goto _29 } func() int32 { if ((_pc + uint32(_6_info.X4)) - uint32(i32(4))) <= _usableSize { return i32(0) } return func() int32 { 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(91484))) crt.X__builtin_abort(tls) return i32(0) }() }() _11_nPage = int32(((((_6_info.X2) - uint32(_6_info.X3)) + _usableSize) - uint32(i32(5))) / (_usableSize - uint32(i32(4)))) _11_pgnoOvfl = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(int32(_6_info.X4)-i32(4))))) if (_pBt.X5) == 0 { goto _32 } _checkPtrmap(tls, _pCheck, _11_pgnoOvfl, uint8(i32(3)), uint32(_iPage)) _32: _checkList(tls, _pCheck, i32(0), int32(_11_pgnoOvfl), _11_nPage) _29: if (_pPage.X5) != 0 { goto _33 } _pgno = int32(_sqlite3Get4byte(tls, _pCell)) if (_pBt.X5) == 0 { goto _34 } _checkPtrmap(tls, _pCheck, uint32(_pgno), uint8(i32(5)), uint32(_iPage)) _34: _d2 = _checkTreePage(tls, _pCheck, _pgno, &_maxKey, _maxKey) _keyCanBeEqual = i32(0) if _d2 == _depth { goto _35 } _checkAppendMsg(tls, _pCheck, str(91520)) _depth = _d2 _35: goto _36 _33: _btreeHeapInsert(tls, _heap, (_pc< (_i + _20_size)) { return i32(0) } return func() int32 { 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(91600))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if uint32(_20_j) <= (_usableSize - uint32(i32(4))) { return i32(0) } return func() int32 { 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(91620))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = _20_j goto _44 _45: _nFrag = i32(0) _prev = _contentOffset - uint32(i32(1)) _55: if _btreeHeapPull(tls, _heap, &_x) == 0 { goto _56 } if (_prev & uint32(i32(65535))) < (_x >> uint(i32(16))) { goto _57 } _checkAppendMsg(tls, _pCheck, str(91644), _x>>uint(i32(16)), _iPage) goto _56 _57: { p := &_nFrag *p = int32(uint32(*p) + (((_x >> uint(i32(16))) - (_prev & uint32(i32(65535)))) - uint32(i32(1)))) sink961 = *p } _prev = _x goto _55 _56: { p := &_nFrag *p = int32(uint32(*p) + ((_usableSize - (_prev & uint32(i32(65535)))) - uint32(i32(1)))) sink961 = *p } 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))))) { goto _60 } _checkAppendMsg(tls, _pCheck, str(91684), _nFrag, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))), _iPage) _60: _38: _end_of_check: if _doCoverageCheck != 0 { goto _61 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = _savedIsInit _61: _releasePage(tls, _pPage) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(40 /* X7 */))) = _saved_zPfx *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(48 /* X8 */))) = _saved_v1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(52 /* X9 */))) = _saved_v2 r0 = _depth + i32(1) return } var _checkTreePageØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_checkTreePageØ00__func__Ø000[0], str(91736), 14) } func _btreeHeapInsert(tls *crt.TLS, _aHeap *uint32, _x uint32) { // sqlite3.c:68109:1 var _j uint32 // sqlite3.c:68110:7 _ = _j var _i uint32 // sqlite3.c:68110:10 _ = _i _i = preInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap))+4*uintptr(i32(0)))), uint32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) = _x _0: 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)))) { goto _1 } _x = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) = _x _i = _j goto _0 _1: return } func _btreeHeapPull(tls *crt.TLS, _aHeap *uint32, _pOut *uint32) (r0 int32) { // sqlite3.c:68119:1 var _j uint32 // sqlite3.c:68120:7 _ = _j var _i uint32 // sqlite3.c:68120:10 _ = _i var _x uint32 // sqlite3.c:68120:13 _ = _x if store985(&_x, *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(0))))) != uint32(i32(0)) { goto _0 } r0 = i32(0) return _0: *_pOut = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(1)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_x))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_x))) = u32(4294967295) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(0)))) -= 1 _i = uint32(i32(1)) _1: if store985(&_j, _i*uint32(i32(2))) > (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(0))))) { goto _2 } if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j)))) <= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j+uint32(i32(1)))))) { goto _3 } _j += 1 _3: if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i)))) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j)))) { goto _4 } goto _2 _4: _x = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) = _x _i = _j goto _1 _2: r0 = i32(1) return } func _sqlite3VdbeMemSetRowSet(tls *crt.TLS, _pMem *XMem) { // sqlite3.c:70336:1 var _db *Xsqlite3 // sqlite3.c:70337:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pMem.X9)) func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pMem.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(5052))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemRelease(tls, _pMem) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X6 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(i32(64))))) if (_db.X17) == 0 { goto _4 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = i32(0) goto _5 _4: func() int32 { if (_pMem.X6) != nil { return i32(0) } return func() int32 { 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(91752))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X7 */))) = _sqlite3DbMallocSize(tls, _db, (unsafe.Pointer)(_pMem.X6)) *(**XRowSet)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) = _sqlite3RowSetInit(tls, _db, (unsafe.Pointer)(_pMem.X6), uint32(_pMem.X7)) func() int32 { if (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) != (*XRowSet)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(91768))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(32)) _5: return } var _sqlite3VdbeMemSetRowSetØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemSetRowSetØ00__func__Ø000[0], str(91788), 24) } func _sqlite3RowSetInit(tls *crt.TLS, _db *Xsqlite3, _pSpace unsafe.Pointer, _N uint32) (r0 *XRowSet) { // sqlite3.c:46358:1 var _p *XRowSet // sqlite3.c:46359:10 _ = _p func() int32 { if uint64(_N) >= u64(56) { return i32(0) } return func() int32 { 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(91812))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XRowSet)(unsafe.Pointer(_pSpace)) *(**TRowSetChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*TRowSetChunk)(unsafe.Pointer(uintptr(i32(0)))) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _db *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X5 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))))) = (*TRowSetEntry)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u64(56)))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p)))))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))) = uint16((uint64(_N) - u64(56)) / u64(24)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X7 */))) = uint16(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X8 */))) = i32(0) r0 = _p return } var _sqlite3RowSetInitØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RowSetInitØ00__func__Ø000[0], str(91836), 18) } func _sqlite3RowSetInsert(tls *crt.TLS, _p *XRowSet, _rowid int64) { // sqlite3.c:46426:1 var _pEntry *TRowSetEntry // sqlite3.c:46427:22 _ = _pEntry var _pLast *TRowSetEntry // sqlite3.c:46428:22 _ = _pLast func() int32 { if (_p != (*XRowSet)(unsafe.Pointer(uintptr(i32(0))))) && ((int32(_p.X7) & i32(2)) == i32(0)) { return i32(0) } return func() int32 { 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(91856))) crt.X__builtin_abort(tls) return i32(0) }() }() _pEntry = _rowSetEntryAlloc(tls, _p) if _pEntry != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } return _3: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(0 /* X0 */))) = _rowid *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(8 /* X1 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) _pLast = (*TRowSetEntry)(unsafe.Pointer(_p.X3)) if _pLast == nil { goto _4 } if _rowid > (_pLast.X0) { goto _5 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X7 */))) *p = uint16(int32(*p) & i32(-2)) sink4530 = *p } _5: *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLast)) + uintptr(8 /* X1 */))))) = _pEntry goto _6 _4: *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = _pEntry _6: *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = _pEntry return } var _sqlite3RowSetInsertØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RowSetInsertØ00__func__Ø000[0], str(91896), 20) } func _rowSetEntryAlloc(tls *crt.TLS, _p *XRowSet) (r0 *TRowSetEntry) { // sqlite3.c:46401:1 var _1_pNew *TRowSetChunk // sqlite3.c:46406:24 _ = _1_pNew func() int32 { if _p != (*XRowSet)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X6) != i32(0) { goto _2 } _1_pNew = (*TRowSetChunk)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_p.X1)), u64(1016)))) if _1_pNew != (*TRowSetChunk)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) return _3: *(**TRowSetChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(0 /* X0 */))))) = (*TRowSetChunk)(unsafe.Pointer(_p.X0)) *(**TRowSetChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _1_pNew *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))))) = (*TRowSetEntry)(unsafe.Pointer((*[42]TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(8 /* X1 */))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))) = uint16(u64(42)) _2: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))) -= 1 r0 = postInc5573384((**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X4 */))))), 24) return } var _rowSetEntryAllocØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_rowSetEntryAllocØ00__func__Ø000[0], str(91916), 17) } func _sqlite3RowSetNext(tls *crt.TLS, _p *XRowSet, _pRowid *int64) (r0 int32) { // sqlite3.c:46624:1 func() int32 { if _p != (*XRowSet)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*TRowSetEntry)(unsafe.Pointer(_p.X5)) == (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(91936))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_p.X7) & i32(2)) != i32(0) { goto _4 } if (int32(_p.X7) & i32(1)) != i32(0) { goto _5 } *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = _rowSetEntrySort(tls, (*TRowSetEntry)(unsafe.Pointer(_p.X2))) _5: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X7 */))) *p = uint16(int32(*p) | i32(3)) sink4530 = *p } _4: if (*TRowSetEntry)(unsafe.Pointer(_p.X2)) == nil { goto _6 } *_pRowid = (*TRowSetEntry)(unsafe.Pointer(_p.X2)).X0 *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = (*TRowSetEntry)(unsafe.Pointer((*TRowSetEntry)(unsafe.Pointer(_p.X2)).X1)) if (*TRowSetEntry)(unsafe.Pointer(_p.X2)) != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _sqlite3RowSetClear(tls, _p) _7: r0 = i32(1) return _6: r0 = i32(0) return } var _sqlite3RowSetNextØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RowSetNextØ00__func__Ø000[0], str(91952), 18) } func _rowSetEntrySort(tls *crt.TLS, _pIn *TRowSetEntry) (r0 *TRowSetEntry) { // sqlite3.c:46492:1 var _i uint32 // sqlite3.c:46493:16 _ = _i var _pNext *TRowSetEntry // sqlite3.c:46494:22 _ = _pNext var _aBucket [40]*TRowSetEntry // sqlite3.c:46494:30 _ = _aBucket crt.Xmemset(tls, (unsafe.Pointer)(&_aBucket), i32(0), u64(320)) _0: if _pIn == nil { goto _1 } _pNext = (*TRowSetEntry)(unsafe.Pointer(_pIn.X1)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(8 /* X1 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) _i = uint32(i32(0)) _2: if (*(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i)))) == nil { goto _5 } _pIn = _rowSetEntryMerge(tls, *(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i))), _pIn) *(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _2 _5: *(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i))) = _pIn _pIn = _pNext goto _0 _1: _pIn = *(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(i32(0)))) _i = uint32(i32(1)) _6: if uint64(_i) >= u64(40) { goto _9 } if (*(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i)))) != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } goto _7 _10: _pIn = func() *TRowSetEntry { if _pIn != nil { return _rowSetEntryMerge(tls, _pIn, *(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i)))) } return (*(**TRowSetEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 8*uintptr(_i)))) }() _7: _i += 1 goto _6 _9: r0 = _pIn return } func _rowSetEntryMerge(tls *crt.TLS, _pA *TRowSetEntry, _pB *TRowSetEntry) (r0 *TRowSetEntry) { // sqlite3.c:46457:1 var _head TRowSetEntry // sqlite3.c:46461:22 _ = _head var _pTail *TRowSetEntry // sqlite3.c:46462:22 _ = _pTail _pTail = &_head func() int32 { if (_pA != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0))))) && (_pB != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(15752))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: func() int32 { if ((*TRowSetEntry)(unsafe.Pointer(_pA.X1)) == (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0))))) || ((_pA.X0) <= ((*TRowSetEntry)(unsafe.Pointer(_pA.X1)).X0)) { return i32(0) } return func() int32 { 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(91972))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*TRowSetEntry)(unsafe.Pointer(_pB.X1)) == (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0))))) || ((_pB.X0) <= ((*TRowSetEntry)(unsafe.Pointer(_pB.X1)).X0)) { return i32(0) } return func() int32 { 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(92012))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pA.X0) > (_pB.X0) { goto _12 } if (_pA.X0) >= (_pB.X0) { goto _13 } _pTail = store5573384((**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail))+uintptr(8 /* X1 */))))), _pA) _13: _pA = (*TRowSetEntry)(unsafe.Pointer(_pA.X1)) if _pA != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(8 /* X1 */))))) = _pB goto _5 _14: goto _15 _12: _pTail = store5573384((**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail))+uintptr(8 /* X1 */))))), _pB) _pB = (*TRowSetEntry)(unsafe.Pointer(_pB.X1)) if _pB != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(8 /* X1 */))))) = _pA goto _5 _16: _15: goto _3 _5: r0 = (*TRowSetEntry)(unsafe.Pointer(_head.X1)) return } var _rowSetEntryMergeØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_rowSetEntryMergeØ00__func__Ø000[0], str(92052), 17) } func _sqlite3RowSetTest(tls *crt.TLS, _pRowSet *XRowSet, _iBatch int32, _iRowid int64) (r0 int32) { // sqlite3.c:46658:1 var _p *TRowSetEntry // sqlite3.c:46659:22 _ = _p var _pTree *TRowSetEntry // sqlite3.c:46659:26 _ = _pTree var _2_ppPrevTree **TRowSetEntry // sqlite3.c:46670:26 _ = _2_ppPrevTree var _6_pAux *TRowSetEntry // sqlite3.c:46681:30 _ = _6_pAux var _6_pTail *TRowSetEntry // sqlite3.c:46681:37 _ = _6_pTail func() int32 { if (_pRowSet != (*XRowSet)(unsafe.Pointer(uintptr(i32(0))))) && ((int32(_pRowSet.X7) & i32(2)) == i32(0)) { return i32(0) } return func() int32 { 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(92072))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iBatch == (_pRowSet.X8) { goto _3 } _p = (*TRowSetEntry)(unsafe.Pointer(_pRowSet.X2)) if _p == nil { goto _4 } _2_ppPrevTree = (**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(40 /* X5 */))))) if (int32(_pRowSet.X7) & i32(1)) != i32(0) { goto _5 } _p = _rowSetEntrySort(tls, _p) _5: _pTree = (*TRowSetEntry)(unsafe.Pointer(_pRowSet.X5)) _6: if _pTree == nil { goto _9 } _2_ppPrevTree = (**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(8 /* X1 */))))) if (*TRowSetEntry)(unsafe.Pointer(_pTree.X2)) != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(16 /* X2 */))))) = _rowSetListToTree(tls, _p) goto _9 _10: _rowSetTreeToList(tls, (*TRowSetEntry)(unsafe.Pointer(_pTree.X2)), &_6_pAux, &_6_pTail) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(16 /* X2 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) _p = _rowSetEntryMerge(tls, _6_pAux, _p) _pTree = (*TRowSetEntry)(unsafe.Pointer(_pTree.X1)) goto _6 _9: if _pTree != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } *_2_ppPrevTree = store5573384(&_pTree, _rowSetEntryAlloc(tls, _pRowSet)) if _pTree == nil { goto _13 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(0 /* X0 */))) = int64(i32(0)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(8 /* X1 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(16 /* X2 */))))) = _rowSetListToTree(tls, _p) _13: _12: *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(16 /* X2 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(24 /* X3 */))))) = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(50 /* X7 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _4: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(52 /* X8 */))) = _iBatch _3: _pTree = (*TRowSetEntry)(unsafe.Pointer(_pRowSet.X5)) _14: if _pTree == nil { goto _17 } _p = (*TRowSetEntry)(unsafe.Pointer(_pTree.X2)) _18: if _p == nil { goto _19 } if (_p.X0) >= _iRowid { goto _20 } _p = (*TRowSetEntry)(unsafe.Pointer(_p.X1)) goto _21 _20: if (_p.X0) <= _iRowid { goto _22 } _p = (*TRowSetEntry)(unsafe.Pointer(_p.X2)) goto _23 _22: r0 = i32(1) return _23: _21: goto _18 _19: _pTree = (*TRowSetEntry)(unsafe.Pointer(_pTree.X1)) goto _14 _17: r0 = i32(0) return } var _sqlite3RowSetTestØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RowSetTestØ00__func__Ø000[0], str(92124), 18) } func _rowSetListToTree(tls *crt.TLS, _pList *TRowSetEntry) (r0 *TRowSetEntry) { // sqlite3.c:46592:1 var _iDepth int32 // sqlite3.c:46593:7 _ = _iDepth var _p *TRowSetEntry // sqlite3.c:46594:22 _ = _p var _pLeft *TRowSetEntry // sqlite3.c:46595:22 _ = _pLeft func() int32 { if _pList != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(92144))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _pList _pList = (*TRowSetEntry)(unsafe.Pointer(_p.X1)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = store5573384((**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))))), (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0))))) _iDepth = i32(1) _2: if _pList == nil { goto _5 } _pLeft = _p _p = _pList _pList = (*TRowSetEntry)(unsafe.Pointer(_p.X1)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = _pLeft *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _rowSetNDeepTree(tls, &_pList, _iDepth) _iDepth += 1 goto _2 _5: r0 = _p return } var _rowSetListToTreeØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_rowSetListToTreeØ00__func__Ø000[0], str(92156), 17) } func _rowSetNDeepTree(tls *crt.TLS, _ppList **TRowSetEntry, _iDepth int32) (r0 *TRowSetEntry) { // sqlite3.c:46556:1 var _p *TRowSetEntry // sqlite3.c:46560:22 _ = _p var _pLeft *TRowSetEntry // sqlite3.c:46561:22 _ = _pLeft if (*_ppList) != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) return _0: if _iDepth <= i32(1) { goto _1 } _pLeft = _rowSetNDeepTree(tls, _ppList, _iDepth-i32(1)) _p = *_ppList if _p != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = _pLeft return _2: *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = _pLeft *_ppList = (*TRowSetEntry)(unsafe.Pointer(_p.X1)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _rowSetNDeepTree(tls, _ppList, _iDepth-i32(1)) goto _3 _1: _p = *_ppList *_ppList = (*TRowSetEntry)(unsafe.Pointer(_p.X1)) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))))) = store5573384((**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))))), (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0))))) _3: r0 = _p return } func _rowSetTreeToList(tls *crt.TLS, _pIn *TRowSetEntry, _ppFirst **TRowSetEntry, _ppLast **TRowSetEntry) { // sqlite3.c:46521:1 var _1_p *TRowSetEntry // sqlite3.c:46528:24 _ = _1_p func() int32 { if _pIn != (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(92176))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*TRowSetEntry)(unsafe.Pointer(_pIn.X2)) == nil { goto _2 } _rowSetTreeToList(tls, (*TRowSetEntry)(unsafe.Pointer(_pIn.X2)), _ppFirst, &_1_p) *(**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(8 /* X1 */))))) = _pIn goto _3 _2: *_ppFirst = _pIn _3: if (*TRowSetEntry)(unsafe.Pointer(_pIn.X1)) == nil { goto _4 } _rowSetTreeToList(tls, (*TRowSetEntry)(unsafe.Pointer(_pIn.X1)), (**TRowSetEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn))+uintptr(8 /* X1 */))))), _ppLast) goto _5 _4: *_ppLast = _pIn _5: func() int32 { if (*TRowSetEntry)(unsafe.Pointer((*_ppLast).X1)) == (*TRowSetEntry)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(92184))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _rowSetTreeToListØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_rowSetTreeToListØ00__func__Ø000[0], str(92208), 17) } func _sqlite3Checkpoint(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:142072:1 var _rc int32 // sqlite3.c:142073:7 _ = _rc var _i int32 // sqlite3.c:142074:7 _ = _i var _bBusy int32 // sqlite3.c:142075:7 _ = _bBusy _rc = i32(0) _bBusy = i32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pnLog == nil) || ((*_pnLog) == i32(-1)) { return i32(0) } return func() int32 { 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(92228))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pnCkpt == nil) || ((*_pnCkpt) == i32(-1)) { return i32(0) } return func() int32 { 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(92252))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _8: if _i >= (_db.X5) || _rc != i32(0) { goto _12 } if _i != _iDb && _iDb != i32(10) { goto _14 } _rc = _sqlite3BtreeCheckpoint(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X1)), _eMode, _pnLog, _pnCkpt) _pnLog = (*int32)(unsafe.Pointer(uintptr(i32(0)))) _pnCkpt = (*int32)(unsafe.Pointer(uintptr(i32(0)))) if _rc != i32(5) { goto _15 } _bBusy = i32(1) _rc = i32(0) _15: _14: _i += 1 goto _8 _12: r0 = func() int32 { if (_rc == i32(0)) && _bBusy != 0 { return i32(5) } return _rc }() return } var _sqlite3CheckpointØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CheckpointØ00__func__Ø000[0], str(92276), 18) } func _sqlite3BtreeCheckpoint(tls *crt.TLS, _p *XBtree, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:68571:1 var _rc int32 // sqlite3.c:68572:7 _ = _rc var _1_pBt *XBtShared // sqlite3.c:68574:14 _ = _1_pBt _rc = i32(0) if _p == nil { goto _0 } _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _sqlite3BtreeEnter(tls, _p) if int32(_1_pBt.X8) == i32(0) { goto _1 } _rc = i32(6) goto _2 _1: _rc = _sqlite3PagerCheckpoint(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(_p.X0)), _eMode, _pnLog, _pnCkpt) _2: _sqlite3BtreeLeave(tls, _p) _0: r0 = _rc return } func _sqlite3PagerCheckpoint(tls *crt.TLS, _pPager *XPager, _db *Xsqlite3, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:54160:1 var _rc int32 // sqlite3.c:54167:7 _ = _rc _rc = i32(0) if (*XWal)(unsafe.Pointer(_pPager.X60)) == nil { goto _0 } _rc = _sqlite3WalCheckpoint(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _db, _eMode, func() func(*crt.TLS, unsafe.Pointer) int32 { if _eMode == i32(0) { return nil } return (_pPager.X53) }(), _pPager.X54, int32(_pPager.X7), _pPager.X48, (*uint8)(unsafe.Pointer(_pPager.X58)), _pnLog, _pnCkpt) _0: r0 = _rc return } func _sqlite3PagerOkToChangeJournalMode(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54110:1 func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X14) < i32(3) { goto _2 } r0 = i32(0) return _2: if func() int32 { 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))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _6 } r0 = i32(0) return _6: r0 = i32(1) return } var _sqlite3PagerOkToChangeJournalModeØ00__func__Ø000 [34]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerOkToChangeJournalModeØ00__func__Ø000[0], str(92296), 34) } func _sqlite3PagerCloseWal(tls *crt.TLS, _pPager *XPager, _db *Xsqlite3) (r0 int32) { // sqlite3.c:54301:1 var _rc int32 // sqlite3.c:54302:7 _ = _rc var _1_logexists int32 // sqlite3.c:54311:9 _ = _1_logexists _rc = i32(0) func() int32 { if int32(_pPager.X2) == i32(5) { return i32(0) } return func() int32 { 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(92332))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { goto _2 } _1_logexists = i32(0) _rc = _pagerLockDb(tls, _pPager, i32(1)) if _rc != i32(0) { goto _3 } _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X61, i32(0), &_1_logexists) _3: if _rc != i32(0) || _1_logexists == 0 { goto _5 } _rc = _pagerOpenWal(tls, _pPager) _5: _2: if _rc != i32(0) || (*XWal)(unsafe.Pointer(_pPager.X60)) == nil { goto _7 } _rc = _pagerExclusiveLock(tls, _pPager) if _rc != i32(0) { goto _8 } _rc = _sqlite3WalClose(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _db, int32(_pPager.X7), _pPager.X48, (*uint8)(unsafe.Pointer(_pPager.X58))) *(**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(288 /* X60 */))))) = (*XWal)(unsafe.Pointer(uintptr(i32(0)))) _pagerFixMaplimit(tls, _pPager) if _rc == 0 || (_pPager.X1) != 0 { goto _10 } _pagerUnlockDb(tls, _pPager, i32(1)) _10: _8: _7: r0 = _rc return } var _sqlite3PagerCloseWalØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerCloseWalØ00__func__Ø000[0], str(92376), 21) } func _sqlite3PagerSetJournalMode(tls *crt.TLS, _pPager *XPager, _eMode int32) (r0 int32) { // sqlite3.c:54003:1 var _eOld uint8 // sqlite3.c:54004:6 _ = _eOld var _6_rc int32 // sqlite3.c:54069:13 _ = _6_rc var _6_state int32 // sqlite3.c:54070:13 _ = _6_state _eOld = _pPager.X2 _print_pager_state(tls, _pPager) func() int32 { if (((((_eMode == i32(0)) || (_eMode == i32(3))) || (_eMode == i32(1))) || (_eMode == i32(2))) || (_eMode == i32(5))) || (_eMode == i32(4)) { return i32(0) } return func() int32 { 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(92400))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pPager.X10) == i32(0)) || (_eMode != i32(5)) { return i32(0) } return func() int32 { 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(92604))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X13) == 0 { goto _10 } func() int32 { if (int32(_eOld) == i32(4)) || (int32(_eOld) == i32(2)) { return i32(0) } return func() int32 { 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(92656))) crt.X__builtin_abort(tls) return i32(0) }() }() if _eMode == i32(4) || _eMode == i32(2) { goto _15 } _eMode = int32(_eOld) _15: _10: if _eMode == int32(_eOld) { goto _16 } func() int32 { if int32(_pPager.X14) != i32(6) { return i32(0) } return func() int32 { 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(14108))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X2 */))) = uint8(_eMode) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) func() int32 { if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X1) != 0) { return i32(0) } return func() int32 { 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(92720))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pPager.X1) != 0 || (int32(_eOld)&i32(5)) != i32(1) || (_eMode&i32(1)) != i32(0) { goto _24 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) if int32(_pPager.X15) < i32(2) { goto _25 } _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X52, i32(0)) goto _26 _25: _6_rc = i32(0) _6_state = int32(_pPager.X14) func() int32 { if (_6_state == i32(0)) || (_6_state == i32(1)) { return i32(0) } return func() int32 { 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(92764))) crt.X__builtin_abort(tls) return i32(0) }() }() if _6_state != i32(0) { goto _30 } _6_rc = _sqlite3PagerSharedLock(tls, _pPager) _30: if int32(_pPager.X14) != i32(1) { goto _31 } func() int32 { if _6_rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _6_rc = _pagerLockDb(tls, _pPager, i32(2)) _31: if _6_rc != i32(0) { goto _34 } _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X52, i32(0)) _34: if _6_rc != i32(0) || _6_state != i32(1) { goto _36 } _pagerUnlockDb(tls, _pPager, i32(1)) goto _37 _36: if _6_state != i32(0) { goto _38 } _pager_unlock(tls, _pPager) _38: _37: func() int32 { if _6_state == int32(_pPager.X14) { return i32(0) } return func() int32 { 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(92808))) crt.X__builtin_abort(tls) return i32(0) }() }() _26: goto _41 _24: if _eMode != i32(2) { goto _42 } _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) _42: _41: _16: r0 = int32(_pPager.X2) return } func _print_pager_state(tls *crt.TLS, _p *XPager) (r0 *int8) { // sqlite3.c:47860:1 Xsqlite3_snprintf(tls, i32(1024), (*int8)(unsafe.Pointer(&_print_pager_stateØ00zRetØ001)), str(92832), unsafe.Pointer(_p.X51), unsafe.Pointer(func() *int8 { if int32(_p.X14) == i32(0) { return str(93112) } return func() *int8 { if int32(_p.X14) == i32(1) { return str(93120) } return func() *int8 { if int32(_p.X14) == i32(2) { return str(93128) } return func() *int8 { if int32(_p.X14) == i32(3) { return str(93144) } return func() *int8 { if int32(_p.X14) == i32(4) { return str(93160) } return func() *int8 { if int32(_p.X14) == i32(5) { return str(93176) } return func() *int8 { if int32(_p.X14) == i32(6) { return str(93192) } return str(93200) }() }() }() }() }() }() }()), _p.X26, unsafe.Pointer(func() *int8 { if int32(_p.X15) == i32(0) { return str(93208) } return func() *int8 { if int32(_p.X15) == i32(2) { return str(93216) } return func() *int8 { if int32(_p.X15) == i32(4) { return str(24804) } return func() *int8 { if int32(_p.X15) == i32(1) { return str(93228) } return func() *int8 { if int32(_p.X15) == i32(5) { return str(93236) } return str(93200) }() }() }() }() }()), unsafe.Pointer(func() *int8 { if (_p.X1) != 0 { return str(93244) } return str(93256) }()), unsafe.Pointer(func() *int8 { if int32(_p.X2) == i32(4) { return str(93264) } return func() *int8 { if int32(_p.X2) == i32(2) { return str(93272) } return func() *int8 { if int32(_p.X2) == i32(0) { return str(93276) } return func() *int8 { if int32(_p.X2) == i32(1) { return str(93284) } return func() *int8 { if int32(_p.X2) == i32(3) { return str(93292) } return func() *int8 { if int32(_p.X2) == i32(5) { return str(93304) } return str(93200) }() }() }() }() }() }()), int32(_p.X10), int32(_p.X13), int32(_p.X3), _p.X34, _p.X35, int32(_p.X22), int32(_p.X23), int32(_p.X24)) r0 = (*int8)(unsafe.Pointer(&_print_pager_stateØ00zRetØ001)) return } var _print_pager_stateØ00zRetØ001 [1024]int8 // sqlite3.c:47861:15 var _sqlite3PagerSetJournalModeØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerSetJournalModeØ00__func__Ø000[0], str(93308), 27) } func _sqlite3BtreeSetVersion(tls *crt.TLS, _pBtree *XBtree, _iVersion int32) (r0 int32) { // sqlite3.c:68744:1 var _pBt *XBtShared // sqlite3.c:68745:12 _ = _pBt var _rc int32 // sqlite3.c:68746:7 _ = _rc var _1_aData *uint8 // sqlite3.c:68758:8 _ = _1_aData _pBt = (*XBtShared)(unsafe.Pointer(_pBtree.X1)) func() int32 { if (_iVersion == i32(1)) || (_iVersion == i32(2)) { return i32(0) } return func() int32 { 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(93336))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-17)) sink4530 = *p } if _iVersion != i32(1) { goto _3 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } _3: _rc = _sqlite3BtreeBeginTrans(tls, _pBtree, i32(0)) if _rc != i32(0) { goto _4 } _1_aData = (*XMemPage)(unsafe.Pointer(_pBt.X3)).X19 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)) { goto _6 } _rc = _sqlite3BtreeBeginTrans(tls, _pBtree, i32(2)) if _rc != i32(0) { goto _7 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) if _rc != i32(0) { goto _8 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aData)) + 1*uintptr(i32(18)))) = uint8(_iVersion) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aData)) + 1*uintptr(i32(19)))) = uint8(_iVersion) _8: _7: _6: _4: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-17)) sink4530 = *p } r0 = _rc return } var _sqlite3BtreeSetVersionØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSetVersionØ00__func__Ø000[0], str(93364), 23) } func _sqlite3JournalModename(tls *crt.TLS, _eMode int32) (r0 *int8) { // sqlite3.c:113219:1 i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) func() int32 { if (_eMode >= i32(0)) && (_eMode <= i32(6)) { return i32(0) } return func() int32 { 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(93388))) crt.X__builtin_abort(tls) return i32(0) }() }() if _eMode != i32(6) { goto _3 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _3: r0 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JournalModenameØ00azModeNameØ001)) + 8*uintptr(_eMode))) return } var _sqlite3JournalModenameØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3JournalModenameØ00__func__Ø000[0], str(93432), 23) } var _sqlite3JournalModenameØ00azModeNameØ001 [6]*int8 // sqlite3.c:113220:15 func init() { _sqlite3JournalModenameØ00azModeNameØ001 = [6]*int8{str(93276), str(93284), str(93272), str(93292), str(93264), str(93304)} } func _sqlite3RunVacuum(tls *crt.TLS, _pzErrMsg **int8, _db *Xsqlite3, _iDb int32) (r0 int32) { // sqlite3.c:124283:1 var _rc int32 // sqlite3.c:124284:7 _ = _rc var _pMain *XBtree // sqlite3.c:124285:9 _ = _pMain var _pTemp *XBtree // sqlite3.c:124286:9 _ = _pTemp var _saved_flags int32 // sqlite3.c:124287:7 _ = _saved_flags var _saved_nChange int32 // sqlite3.c:124288:7 _ = _saved_nChange var _saved_nTotalChange int32 // sqlite3.c:124289:7 _ = _saved_nTotalChange var _saved_mTrace uint8 // sqlite3.c:124290:6 _ = _saved_mTrace var _pDb *XDb // sqlite3.c:124291:6 _ = _pDb var _isMemDb int32 // sqlite3.c:124292:7 _ = _isMemDb var _nRes int32 // sqlite3.c:124293:7 _ = _nRes var _nDb int32 // sqlite3.c:124294:7 _ = _nDb var _zDbMain *int8 // sqlite3.c:124295:14 _ = _zDbMain var _5_meta uint32 // sqlite3.c:124450:9 _ = _5_meta var _5_i int32 // sqlite3.c:124451:9 _ = _5_i _rc = i32(0) _pDb = nil if (_db.X15) != 0 { goto _0 } _sqlite3SetString(tls, _pzErrMsg, _db, str(93456)) r0 = i32(1) return _0: if (_db.X34) <= i32(1) { goto _1 } _sqlite3SetString(tls, _pzErrMsg, _db, str(93496)) r0 = i32(1) return _1: _saved_flags = _db.X6 _saved_nChange = _db.X29 _saved_nTotalChange = _db.X30 _saved_mTrace = _db.X24 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(270542848) sink961 = *p } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-655489) sink961 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(92 /* X24 */))) = uint8(i32(0)) _zDbMain = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _pMain = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X1)) _isMemDb = _sqlite3PagerIsMemdb(tls, _sqlite3BtreePager(tls, _pMain)) _nDb = _db.X5 _rc = _execSql(tls, _db, _pzErrMsg, str(93540)) if _rc == i32(0) { goto _2 } goto _end_of_vacuum _2: func() int32 { if ((_db.X5) - i32(1)) == _nDb { return i32(0) } return func() int32 { 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(93564))) crt.X__builtin_abort(tls) return i32(0) }() }() _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_nDb))) func() int32 { if crt.Xstrcmp(tls, _pDb.X0, str(93584)) == i32(0) { return i32(0) } return func() int32 { 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(93596))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTemp = (*XBtree)(unsafe.Pointer(_pDb.X1)) _sqlite3BtreeCommit(tls, _pTemp) _nRes = _sqlite3BtreeGetOptimalReserve(tls, _pMain) _sqlite3BtreeSetCacheSize(tls, _pTemp, (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4)).X10) _sqlite3BtreeSetSpillSize(tls, _pTemp, _sqlite3BtreeSetSpillSize(tls, _pMain, i32(0))) _sqlite3BtreeSetPagerFlags(tls, _pTemp, uint32(i32(33))) _rc = _execSql(tls, _db, _pzErrMsg, str(24760)) if _rc == i32(0) { goto _7 } goto _end_of_vacuum _7: _rc = _sqlite3BtreeBeginTrans(tls, _pMain, i32(2)) if _rc == i32(0) { goto _8 } goto _end_of_vacuum _8: if _sqlite3PagerGetJournalMode(tls, _sqlite3BtreePager(tls, _pMain)) != i32(5) { goto _9 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(96 /* X27 */))) = i32(0) _9: if _sqlite3BtreeSetPageSize(tls, _pTemp, _sqlite3BtreeGetPageSize(tls, _pMain), _nRes, i32(0)) == 0 && (_isMemDb != 0 || _sqlite3BtreeSetPageSize(tls, _pTemp, _db.X27, _nRes, i32(0)) == 0) && func() int32 { if (_db.X17) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _15 } _rc = _sqlite3NomemError(tls, i32(124386)) goto _end_of_vacuum _15: _sqlite3BtreeSetAutoVacuum(tls, _pTemp, func() int32 { if int32(_db.X20) >= i32(0) { return int32(_db.X20) } return _sqlite3BtreeGetAutoVacuum(tls, _pMain) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(_nDb) _rc = _execSqlF(tls, _db, _pzErrMsg, str(93636), unsafe.Pointer(_zDbMain)) if _rc == i32(0) { goto _18 } goto _end_of_vacuum _18: _rc = _execSqlF(tls, _db, _pzErrMsg, str(93744), unsafe.Pointer(_zDbMain)) if _rc == i32(0) { goto _19 } goto _end_of_vacuum _19: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) _rc = _execSqlF(tls, _db, _pzErrMsg, str(93820), unsafe.Pointer(_zDbMain)) func() int32 { if ((_db.X6) & i32(268435456)) != i32(0) { return i32(0) } return func() int32 { 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(93972))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-268435457) sink961 = *p } if _rc == i32(0) { goto _22 } goto _end_of_vacuum _22: _rc = _execSqlF(tls, _db, _pzErrMsg, str(94004), unsafe.Pointer(_zDbMain)) if _rc == 0 { goto _23 } goto _end_of_vacuum _23: func() int32 { if i32(1) == _sqlite3BtreeIsInTrans(tls, _pTemp) { return i32(0) } return func() int32 { 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(94136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if i32(1) == _sqlite3BtreeIsInTrans(tls, _pMain) { return i32(0) } return func() int32 { 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(94168))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_i = i32(0) _28: if _5_i >= i32(10) { goto _31 } _sqlite3BtreeGetMeta(tls, _pMain, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3RunVacuumØ00aCopyØ001)) + 1*uintptr(_5_i)))), &_5_meta) _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)))))) if func() int32 { if _rc != i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _34 } goto _end_of_vacuum _34: { p := &_5_i *p = (*p) + i32(2) sink961 = *p } goto _28 _31: _rc = _sqlite3BtreeCopyFile(tls, _pMain, _pTemp) if _rc == i32(0) { goto _35 } goto _end_of_vacuum _35: _rc = _sqlite3BtreeCommit(tls, _pTemp) if _rc == i32(0) { goto _36 } goto _end_of_vacuum _36: _sqlite3BtreeSetAutoVacuum(tls, _pMain, _sqlite3BtreeGetAutoVacuum(tls, _pTemp)) func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3BtreeSetPageSize(tls, _pMain, _sqlite3BtreeGetPageSize(tls, _pTemp), _nRes, i32(1)) _end_of_vacuum: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) = _saved_flags *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(104 /* X29 */))) = _saved_nChange *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(108 /* X30 */))) = _saved_nTotalChange *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(92 /* X24 */))) = _saved_mTrace _sqlite3BtreeSetPageSize(tls, _pMain, i32(-1), i32(-1), i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) if _pDb == nil { goto _39 } _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(8 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(24 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) _39: _sqlite3ResetAllSchemasOfConnection(tls, _db) r0 = _rc return } func _execSql(tls *crt.TLS, _db *Xsqlite3, _pzErrMsg **int8, _zSql *int8) (r0 int32) { // sqlite3.c:124186:1 var _pStmt unsafe.Pointer // sqlite3.c:124187:16 _ = _pStmt var _rc int32 // sqlite3.c:124188:7 _ = _rc var _1_zSubSql *int8 // sqlite3.c:124194:16 _ = _1_zSubSql _rc = Xsqlite3_prepare_v2(tls, _db, _zSql, i32(-1), &_pStmt, (**int8)(unsafe.Pointer(uintptr(i32(0))))) if _rc == i32(0) { goto _0 } r0 = _rc return _0: _1: if i32(100) != store961(&_rc, Xsqlite3_step(tls, _pStmt)) { goto _2 } _1_zSubSql = (*int8)(unsafe.Pointer(Xsqlite3_column_text(tls, _pStmt, i32(0)))) func() int32 { if Xsqlite3_strnicmp(tls, _zSql, str(25616), i32(6)) == i32(0) { return i32(0) } return func() int32 { 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(94200))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_zSubSql == nil { goto _5 } func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zSubSql)) + 1*uintptr(i32(0))))) != i32(83) { return i32(0) } return func() int32 { 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(94240))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _execSql(tls, _db, _pzErrMsg, _1_zSubSql) if _rc == i32(0) { goto _8 } goto _2 _8: _5: goto _1 _2: func() int32 { if _rc != i32(100) { return i32(0) } return func() int32 { 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(94256))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(101) { goto _11 } _rc = i32(0) _11: if _rc == 0 { goto _12 } _sqlite3SetString(tls, _pzErrMsg, _db, Xsqlite3_errmsg(tls, _db)) _12: Xsqlite3_finalize(tls, _pStmt) r0 = _rc return } var _execSqlØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_execSqlØ00__func__Ø000[0], str(94272), 8) } var _sqlite3RunVacuumØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RunVacuumØ00__func__Ø000[0], str(94280), 17) } func _sqlite3BtreeGetOptimalReserve(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61733:1 var _n int32 // sqlite3.c:61734:7 _ = _n _sqlite3BtreeEnter(tls, _p) _n = _sqlite3BtreeGetReserveNoMutex(tls, _p) _sqlite3BtreeLeave(tls, _p) r0 = _n return } func _sqlite3BtreeSetSpillSize(tls *crt.TLS, _p *XBtree, _mxPage int32) (r0 int32) { // sqlite3.c:61602:1 var _pBt *XBtShared // sqlite3.c:61603:12 _ = _pBt var _res int32 // sqlite3.c:61604:7 _ = _res _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _res = _sqlite3PagerSetSpillsize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _mxPage) _sqlite3BtreeLeave(tls, _p) r0 = _res return } var _sqlite3BtreeSetSpillSizeØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSetSpillSizeØ00__func__Ø000[0], str(94300), 25) } func _sqlite3PagerSetSpillsize(tls *crt.TLS, _pPager *XPager, _mxPage int32) (r0 int32) { // sqlite3.c:50335:1 r0 = _sqlite3PcacheSetSpillsize(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _mxPage) return } func _sqlite3PcacheSetSpillsize(tls *crt.TLS, _p *XPCache, _mxPage int32) (r0 int32) { // sqlite3.c:44905:1 var _res int32 // sqlite3.c:44906:7 _ = _res func() int32 { if (_p.X12) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(94328))) crt.X__builtin_abort(tls) return i32(0) }() }() if _mxPage == 0 { goto _2 } if _mxPage >= i32(0) { goto _3 } _mxPage = int32((int64(i32(-1024)) * int64(_mxPage)) / int64((_p.X6)+(_p.X7))) _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X5 */))) = _mxPage _2: _res = _numberOfCachePages(tls, _p) if _res >= (_p.X5) { goto _4 } _res = _p.X5 _4: r0 = _res return } var _sqlite3PcacheSetSpillsizeØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheSetSpillsizeØ00__func__Ø000[0], str(94344), 26) } func _sqlite3BtreeSetPagerFlags(tls *crt.TLS, _p *XBtree, _pgFlags uint32) (r0 int32) { // sqlite3.c:61636:1 var _pBt *XBtShared // sqlite3.c:61640:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _sqlite3PagerSetFlags(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgFlags) _sqlite3BtreeLeave(tls, _p) r0 = i32(0) return } var _sqlite3BtreeSetPagerFlagsØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSetPagerFlagsØ00__func__Ø000[0], str(94372), 26) } func _sqlite3PagerSetFlags(tls *crt.TLS, _pPager *XPager, _pgFlags uint32) { // sqlite3.c:50422:1 var _level uint32 // sqlite3.c:50426:12 _ = _level _level = _pgFlags & uint32(i32(7)) if (_pPager.X10) == 0 { goto _0 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(11 /* X4 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X5 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(13 /* X6 */))) = uint8(i32(0)) goto _1 _0: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(11 /* X4 */))) = uint8(func() int32 { if _level == uint32(i32(1)) { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X5 */))) = uint8(func() int32 { if _level >= uint32(i32(3)) { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(13 /* X6 */))) = uint8(func() int32 { if _level == uint32(i32(4)) { return i32(1) } return i32(0) }()) _1: if (_pPager.X4) == 0 { goto _8 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(16 /* X9 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X7 */))) = uint8(i32(0)) goto _9 _8: if (_pgFlags & uint32(i32(8))) == 0 { goto _10 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(16 /* X9 */))) = uint8(i32(3)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X7 */))) = uint8(i32(3)) goto _11 _10: if (_pgFlags & uint32(i32(16))) == 0 { goto _12 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(16 /* X9 */))) = uint8(i32(2)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X7 */))) = uint8(i32(3)) goto _13 _12: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(16 /* X9 */))) = uint8(i32(2)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X7 */))) = uint8(i32(2)) _13: _11: _9: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(15 /* X8 */))) = _pPager.X9 if (_pPager.X5) == 0 { goto _14 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(15 /* X8 */))) *p = uint8(int32(*p) | i32(32)) sink4537 = *p } _14: if (_pgFlags & uint32(i32(32))) == 0 { goto _15 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(25 /* X18 */))) *p = uint8(int32(*p) & i32(-2)) sink4537 = *p } goto _16 _15: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(25 /* X18 */))) *p = uint8(int32(*p) | i32(1)) sink4537 = *p } _16: return } func _sqlite3BtreeSetPageSize(tls *crt.TLS, _p *XBtree, _pageSize int32, _nReserve int32, _iFix int32) (r0 int32) { // sqlite3.c:61669:1 var _rc int32 // sqlite3.c:61670:7 _ = _rc var _pBt *XBtShared // sqlite3.c:61671:12 _ = _pBt _rc = i32(0) _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if (_nReserve >= i32(-1)) && (_nReserve <= i32(255)) { return i32(0) } return func() int32 { 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(94400))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) if (int32(_pBt.X10) & i32(2)) == 0 { goto _3 } _sqlite3BtreeLeave(tls, _p) r0 = i32(8) return _3: if _nReserve >= i32(0) { goto _4 } _nReserve = int32((_pBt.X15) - (_pBt.X16)) _4: func() int32 { if (_nReserve >= i32(0)) && (_nReserve <= i32(255)) { return i32(0) } return func() int32 { 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(94432))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pageSize < i32(512) || _pageSize > i32(65536) || ((_pageSize-i32(1))&_pageSize) != i32(0) { goto _10 } func() int32 { if (_pageSize & i32(7)) == i32(0) { return i32(0) } return func() int32 { 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(52948))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XBtCursor)(unsafe.Pointer(_pBt.X2)) == nil { return i32(0) } return func() int32 { 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(21696))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(48 /* X15 */))) = uint32(_pageSize) _freeTempSpace(tls, _pBt) _10: _rc = _sqlite3PagerSetPagesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(48 /* X15 */))), _nReserve) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(52 /* X16 */))) = (_pBt.X15) - uint32(uint16(_nReserve)) if _iFix == 0 { goto _15 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(2)) sink4530 = *p } _15: _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeSetPageSizeØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSetPageSizeØ00__func__Ø000[0], str(94464), 24) } func _sqlite3BtreeSetAutoVacuum(tls *crt.TLS, _p *XBtree, _autoVacuum int32) (r0 int32) { // sqlite3.c:61782:1 var _pBt *XBtShared // sqlite3.c:61786:12 _ = _pBt var _rc int32 // sqlite3.c:61787:7 _ = _rc var _av uint8 // sqlite3.c:61788:6 _ = _av _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _rc = i32(0) _av = uint8(_autoVacuum) _sqlite3BtreeEnter(tls, _p) if (int32(_pBt.X10)&i32(2)) == i32(0) || func() int32 { if _av != 0 { return i32(1) } return i32(0) }() == int32(_pBt.X5) { goto _3 } _rc = i32(8) goto _4 _3: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(33 /* X5 */))) = uint8(func() int32 { if _av != 0 { return i32(1) } return i32(0) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(34 /* X6 */))) = uint8(func() int32 { if int32(_av) == i32(2) { return i32(1) } return i32(0) }()) _4: _sqlite3BtreeLeave(tls, _p) r0 = _rc return } func _sqlite3BtreeGetAutoVacuum(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61806:1 var _rc int32 // sqlite3.c:61810:7 _ = _rc _sqlite3BtreeEnter(tls, _p) _rc = func() int32 { if ((*XBtShared)(unsafe.Pointer(_p.X1)).X5) == 0 { return i32(0) } return func() int32 { if ((*XBtShared)(unsafe.Pointer(_p.X1)).X6) == 0 { return i32(1) } return i32(2) }() }() _sqlite3BtreeLeave(tls, _p) r0 = _rc return } func _execSqlF(tls *crt.TLS, _db *Xsqlite3, _pzErrMsg **int8, _zSql *int8, args ...interface{}) (r0 int32) { // sqlite3.c:124210:1 var _z *int8 // sqlite3.c:124211:8 _ = _z var _ap []interface{} // sqlite3.c:124212:11 _ = _ap var _rc int32 // sqlite3.c:124213:7 _ = _rc _ap = args _z = _sqlite3VMPrintf(tls, _db, _zSql, _ap) _ap = nil if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(7) return _0: _rc = _execSql(tls, _db, _pzErrMsg, _z) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) r0 = _rc return } var _sqlite3RunVacuumØ00aCopyØ001 [10]uint8 // sqlite3.c:124459:32 func init() { _sqlite3RunVacuumØ00aCopyØ001 = [10]uint8{1, 1, 3, 0, 5, 0, 6, 0, 8, 0} } func _sqlite3BtreeCopyFile(tls *crt.TLS, _pTo *XBtree, _pFrom *XBtree) (r0 int32) { // sqlite3.c:69562:1 var _rc int32 // sqlite3.c:69563:7 _ = _rc var _pFd *Xsqlite3_file // sqlite3.c:69564:16 _ = _pFd var _b Xsqlite3_backup // sqlite3.c:69565:18 _ = _b var _1_nByte int64 // sqlite3.c:69572:9 _ = _1_nByte _sqlite3BtreeEnter(tls, _pTo) _sqlite3BtreeEnter(tls, _pFrom) func() int32 { if _sqlite3BtreeIsInTrans(tls, _pTo) != 0 { return i32(0) } return func() int32 { 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(94488))) crt.X__builtin_abort(tls) return i32(0) }() }() _pFd = _sqlite3PagerFile(tls, _sqlite3BtreePager(tls, _pTo)) if (*Xsqlite3_io_methods)(unsafe.Pointer(_pFd.X0)) == nil { goto _2 } _1_nByte = int64(_sqlite3BtreeGetPageSize(tls, _pFrom)) * int64(_sqlite3BtreeLastPage(tls, _pFrom)) _rc = _sqlite3OsFileControl(tls, _pFd, i32(11), (unsafe.Pointer)(&_1_nByte)) if _rc != i32(12) { goto _3 } _rc = i32(0) _3: if _rc == 0 { goto _4 } goto _copy_finished _4: _2: crt.Xmemset(tls, (unsafe.Pointer)(&_b), i32(0), u64(72)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(32 /* X5 */))))) = (*Xsqlite3)(unsafe.Pointer(_pFrom.X0)) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(40 /* X6 */))))) = _pFrom *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(8 /* X1 */))))) = _pTo *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(24 /* X4 */))) = uint32(i32(1)) Xsqlite3_backup_step(tls, &_b, i32(2147483647)) func() int32 { if (_b.X7) != i32(0) { return i32(0) } return func() int32 { 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(94516))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = Xsqlite3_backup_finish(tls, &_b) if _rc != i32(0) { goto _7 } { p := (*uint16)(unsafe.Pointer(uintptr(_pTo.X1) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-3)) sink4530 = *p } goto _8 _7: _sqlite3PagerClearCache(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_b.X1)))) _8: func() int32 { if _sqlite3BtreeIsInTrans(tls, _pTo) == i32(0) { return i32(0) } return func() int32 { 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(94532))) crt.X__builtin_abort(tls) return i32(0) }() }() _copy_finished: _sqlite3BtreeLeave(tls, _pFrom) _sqlite3BtreeLeave(tls, _pTo) r0 = _rc return } var _sqlite3BtreeCopyFileØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeCopyFileØ00__func__Ø000[0], str(94564), 21) } func Xsqlite3_backup_step(tls *crt.TLS, _p *Xsqlite3_backup, _nPage int32) (r0 int32) { // sqlite3.c:69163:12 var _rc int32 // sqlite3.c:69164:7 _ = _rc var _destMode int32 // sqlite3.c:69165:7 _ = _destMode var _pgszSrc int32 // sqlite3.c:69166:7 _ = _pgszSrc var _pgszDest int32 // sqlite3.c:69167:7 _ = _pgszDest var _2_pSrcPager *XPager // sqlite3.c:69180:11 _ = _2_pSrcPager var _2_pDestPager *XPager // sqlite3.c:69181:11 _ = _2_pDestPager var _2_ii int32 // sqlite3.c:69182:9 _ = _2_ii var _2_nSrcPage int32 // sqlite3.c:69183:9 _ = _2_nSrcPage var _2_bCloseTrans int32 // sqlite3.c:69184:9 _ = _2_bCloseTrans var _9_iSrcPg uint32 // sqlite3.c:69237:18 _ = _9_iSrcPg var _10_pSrcPg *XPgHdr // sqlite3.c:69239:16 _ = _10_pSrcPg var _21_nDestTruncate int32 // sqlite3.c:69280:13 _ = _21_nDestTruncate var _22_ratio int32 // sqlite3.c:69296:15 _ = _22_ratio var _25_iSize int64 // sqlite3.c:69316:21 _ = _25_iSize var _25_pFile *Xsqlite3_file // sqlite3.c:69317:24 _ = _25_pFile var _25_iPg uint32 // sqlite3.c:69318:16 _ = _25_iPg var _25_nDstPage int32 // sqlite3.c:69319:15 _ = _25_nDstPage var _25_iOff int64 // sqlite3.c:69320:15 _ = _25_iOff var _25_iEnd int64 // sqlite3.c:69321:15 _ = _25_iEnd var _27_pPg *XPgHdr // sqlite3.c:69339:22 _ = _27_pPg var _30_pSrcPg *XPgHdr // sqlite3.c:69358:19 _ = _30_pSrcPg var _30_iSrcPg uint32 // sqlite3.c:69359:24 _ = _30_iSrcPg var _31_zData *uint8 // sqlite3.c:69362:18 _ = _31_zData var _36_rc2 int32 // sqlite3.c:69395:21 _ = _36_rc2 _pgszSrc = i32(0) _pgszDest = i32(0) if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(69170)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X5)).X3))) _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_p.X6))) if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _1 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _1: _rc = _p.X7 if _isFatalError(tls, _rc) != 0 { goto _2 } _2_pSrcPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X6))) _2_pDestPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X1))) _2_nSrcPage = i32(-1) _2_bCloseTrans = i32(0) if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil || int32((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X8) != i32(2) { goto _4 } _rc = i32(5) goto _5 _4: _rc = i32(0) _5: if _rc != i32(0) || i32(0) != _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer(_p.X6))) { goto _7 } _rc = _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_p.X6)), i32(0)) _2_bCloseTrans = i32(1) _7: if (_p.X3) != i32(0) || _rc != i32(0) || _setDestPgsz(tls, _p) != i32(7) { goto _10 } _rc = i32(7) _10: if i32(0) != _rc || (_p.X3) != i32(0) || i32(0) != store961(&_rc, _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(2))) { goto _13 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X3 */))) = i32(1) _sqlite3BtreeGetMeta(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(1), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X2 */)))) _13: _pgszSrc = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))) _pgszDest = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1))) _destMode = _sqlite3PagerGetJournalMode(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X1)))) if i32(0) != _rc || _destMode != i32(5) || _pgszSrc == _pgszDest { goto _16 } _rc = i32(8) _16: _2_nSrcPage = int32(_sqlite3BtreeLastPage(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) func() int32 { if _2_nSrcPage >= i32(0) { return i32(0) } return func() int32 { 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(94588))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_ii = i32(0) _19: if _nPage >= i32(0) && _2_ii >= _nPage || (_p.X4) > uint32(_2_nSrcPage) || _rc != 0 { goto _25 } _9_iSrcPg = _p.X4 if _9_iSrcPg == ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X15)) + uint32(i32(1))) { goto _26 } _rc = _sqlite3PagerGet(tls, _2_pSrcPager, _9_iSrcPg, &_10_pSrcPg, i32(2)) if _rc != i32(0) { goto _27 } _rc = _backupOnePage(tls, _p, _9_iSrcPg, (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _10_pSrcPg))), i32(0)) _sqlite3PagerUnref(tls, _10_pSrcPg) _27: _26: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) += 1 _2_ii += 1 goto _19 _25: if _rc != i32(0) { goto _28 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X9 */))) = uint32(_2_nSrcPage) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X8 */))) = uint32(_2_nSrcPage+i32(1)) - (_p.X4) if (_p.X4) <= uint32(_2_nSrcPage) { goto _29 } _rc = i32(101) goto _30 _29: if (_p.X10) != 0 { goto _31 } _attachBackupObject(tls, _p) _31: _30: _28: if _rc != i32(101) { goto _32 } if _2_nSrcPage != i32(0) { goto _33 } _rc = _sqlite3BtreeNewDb(tls, (*XBtree)(unsafe.Pointer(_p.X1))) _2_nSrcPage = i32(1) _33: if _rc != i32(0) && _rc != i32(101) { goto _35 } _rc = _sqlite3BtreeUpdateMeta(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(1), (_p.X2)+uint32(i32(1))) _35: if _rc != i32(0) { goto _36 } if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _37 } _sqlite3ResetAllSchemasOfConnection(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0))) _37: if _destMode != i32(5) { goto _38 } _rc = _sqlite3BtreeSetVersion(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(2)) _38: _36: if _rc != i32(0) { goto _39 } func() int32 { if _pgszSrc == _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))) { return i32(0) } return func() int32 { 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(94600))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pgszDest == _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1))) { return i32(0) } return func() int32 { 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(94644))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgszSrc >= _pgszDest { goto _44 } _22_ratio = _pgszDest / _pgszSrc _21_nDestTruncate = ((_2_nSrcPage + _22_ratio) - i32(1)) / _22_ratio if _21_nDestTruncate != int32((uint32(_sqlite3PendingByte)/((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15))+uint32(i32(1))) { goto _45 } _21_nDestTruncate -= 1 _45: goto _46 _44: _21_nDestTruncate = _2_nSrcPage * (_pgszSrc / _pgszDest) _46: func() int32 { if _21_nDestTruncate > i32(0) { return i32(0) } return func() int32 { 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(94688))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgszSrc >= _pgszDest { goto _49 } _25_iSize = int64(_pgszSrc) * int64(_2_nSrcPage) _25_pFile = _sqlite3PagerFile(tls, _2_pDestPager) func() int32 { if _25_pFile != nil { return i32(0) } return func() int32 { 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(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(94704))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3PagerPagecount(tls, _2_pDestPager, &_25_nDstPage) _25_iPg = uint32(_21_nDestTruncate) _58: if _rc != i32(0) || _25_iPg > uint32(_25_nDstPage) { goto _62 } if _25_iPg == ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15)) + uint32(i32(1))) { goto _63 } _rc = _sqlite3PagerGet(tls, _2_pDestPager, _25_iPg, &_27_pPg, i32(0)) if _rc != i32(0) { goto _64 } _rc = _sqlite3PagerWrite(tls, _27_pPg) _sqlite3PagerUnref(tls, _27_pPg) _64: _63: _25_iPg += 1 goto _58 _62: if _rc != i32(0) { goto _65 } _rc = _sqlite3PagerCommitPhaseOne(tls, _2_pDestPager, (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(1)) _65: _25_iEnd = func() int64 { if int64(_sqlite3PendingByte+_pgszDest) < _25_iSize { return int64(_sqlite3PendingByte + _pgszDest) } return _25_iSize }() _25_iOff = int64(_sqlite3PendingByte + _pgszSrc) _68: if _rc != i32(0) || _25_iOff >= _25_iEnd { goto _72 } _30_pSrcPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) _30_iSrcPg = uint32((_25_iOff / int64(_pgszSrc)) + int64(i32(1))) _rc = _sqlite3PagerGet(tls, _2_pSrcPager, _30_iSrcPg, &_30_pSrcPg, i32(0)) if _rc != i32(0) { goto _73 } _31_zData = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _30_pSrcPg))) _rc = _sqlite3OsWrite(tls, _25_pFile, (unsafe.Pointer)(_31_zData), _pgszSrc, _25_iOff) _73: _sqlite3PagerUnref(tls, _30_pSrcPg) { p := &_25_iOff *p = (*p) + int64(_pgszSrc) sink967 = *p } goto _68 _72: if _rc != i32(0) { goto _74 } _rc = _backupTruncateFile(tls, _25_pFile, _25_iSize) _74: if _rc != i32(0) { goto _75 } _rc = _sqlite3PagerSync(tls, _2_pDestPager, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _75: goto _76 _49: _sqlite3PagerTruncateImage(tls, _2_pDestPager, uint32(_21_nDestTruncate)) _rc = _sqlite3PagerCommitPhaseOne(tls, _2_pDestPager, (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _76: if i32(0) != _rc || i32(0) != store961(&_rc, _sqlite3BtreeCommitPhaseTwo(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(0))) { goto _78 } _rc = i32(101) _78: _39: _32: if _2_bCloseTrans == 0 { goto _79 } _36_rc2 = _sqlite3BtreeCommitPhaseOne(tls, (*XBtree)(unsafe.Pointer(_p.X6)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) { p := &_36_rc2 *p = (*p) | _sqlite3BtreeCommitPhaseTwo(tls, (*XBtree)(unsafe.Pointer(_p.X6)), i32(0)) sink961 = *p } func() int32 { if _36_rc2 == i32(0) { return i32(0) } return func() int32 { 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(18264))) crt.X__builtin_abort(tls) return i32(0) }() }() _79: if _rc != i32(3082) { goto _82 } _rc = _sqlite3NomemError(tls, i32(69402)) _82: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X7 */))) = _rc _2: if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _83 } Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _83: _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_p.X6))) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X5)).X3))) r0 = _rc return } func _setDestPgsz(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:68928:1 var _rc int32 // sqlite3.c:68929:7 _ = _rc _rc = _sqlite3BtreeSetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1)), _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))), i32(-1), i32(0)) r0 = _rc return } var _sqlite3_backup_stepØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_backup_stepØ00__func__Ø000[0], str(94888), 20) } func _attachBackupObject(tls *crt.TLS, _p *Xsqlite3_backup) { // sqlite3.c:69151:1 var _pp **Xsqlite3_backup // sqlite3.c:69152:18 _ = _pp func() int32 { if _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer(_p.X6))) != 0 { return i32(0) } return func() int32 { 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(94908))) crt.X__builtin_abort(tls) return i32(0) }() }() _pp = _sqlite3PagerBackupPtr(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) *(**Xsqlite3_backup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X11 */))))) = *_pp *_pp = _p *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X10 */))) = i32(1) return } var _attachBackupObjectØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_attachBackupObjectØ00__func__Ø000[0], str(94940), 19) } func _sqlite3PagerBackupPtr(tls *crt.TLS, _pPager *XPager) (r0 **Xsqlite3_backup) { // sqlite3.c:54137:1 r0 = (**Xsqlite3_backup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(112 /* X36 */))))) return } func _sqlite3BtreeNewDb(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:62121:1 var _rc int32 // sqlite3.c:62122:7 _ = _rc _sqlite3BtreeEnter(tls, _p) *(*uint32)(unsafe.Pointer(uintptr(_p.X1) + uintptr(60 /* X18 */))) = uint32(i32(0)) _rc = _newDatabase(tls, (*XBtShared)(unsafe.Pointer(_p.X1))) _sqlite3BtreeLeave(tls, _p) r0 = _rc return } func _backupTruncateFile(tls *crt.TLS, _pFile *Xsqlite3_file, _iSize int64) (r0 int32) { // sqlite3.c:69138:1 var _iCurrent int64 // sqlite3.c:69139:7 _ = _iCurrent var _rc int32 // sqlite3.c:69140:7 _ = _rc _rc = _sqlite3OsFileSize(tls, _pFile, &_iCurrent) if _rc != i32(0) || _iCurrent <= _iSize { goto _1 } _rc = _sqlite3OsTruncate(tls, _pFile, _iSize) _1: r0 = _rc return } func Xsqlite3_backup_finish(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:69417:12 var _pp **Xsqlite3_backup // sqlite3.c:69418:18 _ = _pp var _pSrcDb *Xsqlite3 // sqlite3.c:69419:11 _ = _pSrcDb var _rc int32 // sqlite3.c:69420:7 _ = _rc if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _pSrcDb = (*Xsqlite3)(unsafe.Pointer(_p.X5)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pSrcDb.X3))) _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_p.X6))) if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _1 } Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) _1: if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _2 } *(*int32)(unsafe.Pointer(uintptr(_p.X6) + uintptr(24 /* X7 */))) -= 1 _2: if (_p.X10) == 0 { goto _3 } _pp = _sqlite3PagerBackupPtr(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) _4: if (*_pp) == _p { goto _5 } _pp = (**Xsqlite3_backup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(64 /* X11 */))))) goto _4 _5: *_pp = (*Xsqlite3_backup)(unsafe.Pointer(_p.X11)) _3: _sqlite3BtreeRollback(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(0), i32(0)) _rc = func() int32 { if (_p.X7) == i32(101) { return i32(0) } return (_p.X7) }() if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _8 } _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) _sqlite3LeaveMutexAndCloseZombie(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0))) _8: _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_p.X6))) if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { goto _9 } Xsqlite3_free(tls, (unsafe.Pointer)(_p)) _9: _sqlite3LeaveMutexAndCloseZombie(tls, _pSrcDb) r0 = _rc return } func _sqlite3PagerClearCache(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:54145:1 func() int32 { if (int32(_pPager.X13) == i32(0)) || ((_pPager.X10) != 0) { return i32(0) } return func() int32 { 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(57668))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pPager.X10) != i32(0) { goto _3 } _pager_reset(tls, _pPager) _3: return } var _sqlite3PagerClearCacheØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerClearCacheØ00__func__Ø000[0], str(94960), 23) } func _sqlite3BtreeIncrVacuum(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:62633:1 var _rc int32 // sqlite3.c:62634:7 _ = _rc var _pBt *XBtShared // sqlite3.c:62635:12 _ = _pBt var _2_nOrig uint32 // sqlite3.c:62642:10 _ = _2_nOrig var _2_nFree uint32 // sqlite3.c:62643:10 _ = _2_nFree var _2_nFin uint32 // sqlite3.c:62644:10 _ = _2_nFin _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _sqlite3BtreeEnter(tls, _p) func() int32 { if (int32(_pBt.X8) == i32(2)) && (int32(_p.X2) == i32(2)) { return i32(0) } return func() int32 { 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(94984))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pBt.X5) != 0 { goto _3 } _rc = i32(101) goto _4 _3: _2_nOrig = _btreePagecount(tls, _pBt) _2_nFree = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))) _2_nFin = _finalDbSize(tls, _pBt, _2_nOrig, _2_nFree) if _2_nOrig >= _2_nFin { goto _5 } _rc = _sqlite3CorruptError(tls, i32(62647)) goto _6 _5: if _2_nFree <= uint32(i32(0)) { goto _7 } _rc = _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) if _rc != i32(0) { goto _8 } _invalidateAllOverflowCache(tls, _pBt) _rc = _incrVacuumStep(tls, _pBt, _2_nFin, _2_nOrig, i32(0)) _8: if _rc != i32(0) { goto _9 } _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(28)))), _pBt.X18) _9: goto _10 _7: _rc = i32(101) _10: _6: _4: _sqlite3BtreeLeave(tls, _p) r0 = _rc return } var _sqlite3BtreeIncrVacuumØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeIncrVacuumØ00__func__Ø000[0], str(95044), 23) } func _sqlite3BtreeLockTable(tls *crt.TLS, _p *XBtree, _iTab int32, _isWriteLock uint8) (r0 int32) { // sqlite3.c:68655:1 var _rc int32 // sqlite3.c:68656:7 _ = _rc var _1_lockType uint8 // sqlite3.c:68659:8 _ = _1_lockType _rc = i32(0) func() int32 { if int32(_p.X2) != i32(0) { return i32(0) } return func() int32 { 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(95068))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X3) == 0 { goto _2 } _1_lockType = uint8(i32(1) + int32(_isWriteLock)) i32(0) func() int32 { if (int32(_isWriteLock) == i32(0)) || (int32(_isWriteLock) == i32(1)) { return i32(0) } return func() int32 { 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(72496))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _rc = _querySharedCacheTableLock(tls, _p, uint32(_iTab), _1_lockType) if _rc != i32(0) { goto _6 } _rc = _setSharedCacheTableLock(tls, _p, uint32(_iTab), _1_lockType) _6: _sqlite3BtreeLeave(tls, _p) _2: r0 = _rc return } var _sqlite3BtreeLockTableØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeLockTableØ00__func__Ø000[0], str(95092), 22) } func _setSharedCacheTableLock(tls *crt.TLS, _p *XBtree, _iTable uint32, _eLock uint8) (r0 int32) { // sqlite3.c:59277:1 var _pBt *XBtShared // sqlite3.c:59278:12 _ = _pBt var _pLock *XBtLock // sqlite3.c:59279:10 _ = _pLock var _pIter *XBtLock // sqlite3.c:59280:10 _ = _pIter _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) _pLock = nil func() int32 { if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { return i32(0) } return func() int32 { 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(16676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_eLock) == i32(1)) || (int32(_eLock) == i32(2)) { return i32(0) } return func() int32 { 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(52292))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(23364))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (i32(0) == (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(16384))) || (int32(_eLock) == i32(2)) { return i32(0) } return func() int32 { 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(95116))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X3) != 0 { return i32(0) } return func() int32 { 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(95180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if i32(0) == _querySharedCacheTableLock(tls, _p, _iTable, _eLock) { return i32(0) } return func() int32 { 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(95192))) crt.X__builtin_abort(tls) return i32(0) }() }() _pIter = (*XBtLock)(unsafe.Pointer(_pBt.X25)) _14: if _pIter == nil { goto _17 } if (_pIter.X1) != _iTable || (*XBtree)(unsafe.Pointer(_pIter.X0)) != _p { goto _19 } _pLock = _pIter goto _17 _19: _pIter = (*XBtLock)(unsafe.Pointer(_pIter.X3)) goto _14 _17: if _pLock != nil { goto _20 } _pLock = (*XBtLock)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(24)))) if _pLock != nil { goto _21 } r0 = _sqlite3NomemError(tls, i32(59311)) return _21: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(8 /* X1 */))) = _iTable *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(0 /* X0 */))))) = _p *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(16 /* X3 */))))) = (*XBtLock)(unsafe.Pointer(_pBt.X25)) *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(112 /* X25 */))))) = _pLock _20: i32(0) if int32(_eLock) <= int32(_pLock.X2) { goto _22 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(12 /* X2 */))) = _eLock _22: r0 = i32(0) return } var _setSharedCacheTableLockØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_setSharedCacheTableLockØ00__func__Ø000[0], str(95248), 24) } func _sqlite3VtabBegin(tls *crt.TLS, _db *Xsqlite3, _pVTab *XVTable) (r0 int32) { // sqlite3.c:125454:1 var _rc int32 // sqlite3.c:125455:7 _ = _rc var _pModule *Xsqlite3_module // sqlite3.c:125456:24 _ = _pModule var _3_i int32 // sqlite3.c:125472:9 _ = _3_i var _7_iSvpt int32 // sqlite3.c:125487:13 _ = _7_iSvpt _rc = i32(0) if (_db.X64) <= i32(0) || (**XVTable)(unsafe.Pointer(_db.X67)) != (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = i32(6) return _1: if _pVTab != nil { goto _2 } r0 = i32(0) return _2: _pModule = (*Xsqlite3_module)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)).X0)) if (*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_pModule.X14)}))) == nil { goto _3 } _3_i = i32(0) _4: if _3_i >= (_db.X64) { goto _7 } if (*(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X67)) + 8*uintptr(_3_i)))) != _pVTab { goto _8 } r0 = i32(0) return _8: _3_i += 1 goto _4 _7: _rc = _growVTrans(tls, _db) if _rc != i32(0) { goto _9 } _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{(_pModule.X14)})))(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2))) if _rc != i32(0) { goto _10 } _7_iSvpt = (_db.X76) + (_db.X75) _addToVTrans(tls, _db, _pVTab) if _7_iSvpt == 0 || (*(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_pModule.X20)}))) == nil { goto _12 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTab)) + uintptr(32 /* X5 */))) = _7_iSvpt _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32) int32 }{(_pModule.X20)})))(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)), _7_iSvpt-i32(1)) _12: _10: _9: _3: r0 = _rc return } func _growVTrans(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125182:1 var _ARRAY_INCR int32 // sqlite3.c:125183:13 _ = _ARRAY_INCR var _1_aVTrans **XVTable // sqlite3.c:125187:12 _ = _1_aVTrans var _1_nBytes int32 // sqlite3.c:125188:9 _ = _1_nBytes _ARRAY_INCR = i32(5) if ((_db.X64) % _ARRAY_INCR) != i32(0) { goto _0 } _1_nBytes = int32(u64(8) * uint64((_db.X64)+_ARRAY_INCR)) _1_aVTrans = (**XVTable)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_db.X67), uint64(_1_nBytes)))) if _1_aVTrans != nil { goto _1 } r0 = _sqlite3NomemError(tls, i32(125191)) return _1: crt.Xmemset(tls, (unsafe.Pointer)((**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aVTrans))+8*uintptr(_db.X64)))), i32(0), u64(8)*uint64(_ARRAY_INCR)) *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(472 /* X67 */))))) = _1_aVTrans _0: r0 = i32(0) return } func _addToVTrans(tls *crt.TLS, _db *Xsqlite3, _pVTab *XVTable) { // sqlite3.c:125204:1 *(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X67)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(436 /* X64 */))), int32(1))))) = _pVTab _sqlite3VtabLock(tls, _pVTab) return } func _sqlite3VdbeMemCopy(tls *crt.TLS, _pTo *XMem, _pFrom *XMem) (r0 int32) { // sqlite3.c:70420:1 var _rc int32 // sqlite3.c:70421:7 _ = _rc _rc = i32(0) func() int32 { if (int32(_pFrom.X1) & i32(32)) == i32(0) { return i32(0) } return func() int32 { 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(73768))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pTo.X1) & i32(9312)) == i32(0) { goto _2 } _vdbeMemClearExternAndSetNull(tls, _pTo) _2: crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u64(24)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-1025)) sink4530 = *p } if (int32(_pTo.X1) & i32(18)) == 0 { goto _3 } if i32(0) != (int32(_pFrom.X1) & i32(2048)) { goto _4 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(4096)) sink4530 = *p } _rc = _sqlite3VdbeMemMakeWriteable(tls, _pTo) _4: _3: r0 = _rc return } var _sqlite3VdbeMemCopyØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMemCopyØ00__func__Ø000[0], str(95272), 19) } func _sqlite3VtabCallCreate(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zTab *int8, _pzErr **int8) (r0 int32) { // sqlite3.c:125218:1 var _rc int32 // sqlite3.c:125219:7 _ = _rc var _pTab *XTable // sqlite3.c:125220:9 _ = _pTab var _pMod *XModule // sqlite3.c:125221:10 _ = _pMod var _zMod *int8 // sqlite3.c:125222:14 _ = _zMod _rc = i32(0) _pTab = _sqlite3FindTable(tls, _db, _zTab, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) func() int32 { if ((_pTab != nil) && (_pTab.X16) != 0) && ((*XVTable)(unsafe.Pointer(_pTab.X18)) == nil) { return i32(0) } return func() int32 { 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(95292))) crt.X__builtin_abort(tls) return i32(0) }() }() _zMod = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 8*uintptr(i32(0)))) _pMod = (*XModule)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */))), _zMod))) if _pMod != (*XModule)(unsafe.Pointer(uintptr(i32(0)))) && *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X1)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{nil})) && *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{(*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X5)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{nil})) { goto _6 } *_pzErr = _sqlite3MPrintf(tls, _db, str(95336), unsafe.Pointer(_zMod)) _rc = i32(1) goto _7 _6: _rc = _vtabCallConstructor(tls, _db, _pTab, _pMod, *(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X1)})), _pzErr) _7: if _rc != i32(0) || func() int32 { if _sqlite3GetVTable(tls, _db, _pTab) != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _11 } _rc = _growVTrans(tls, _db) if _rc != i32(0) { goto _12 } _addToVTrans(tls, _db, _sqlite3GetVTable(tls, _db, _pTab)) _12: _11: r0 = _rc return } var _sqlite3VtabCallCreateØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabCallCreateØ00__func__Ø000[0], str(95356), 22) } 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 var _sCtx XVtabCtx // sqlite3.c:125026:11 _ = _sCtx var _pVTable *XVTable // sqlite3.c:125027:10 _ = _pVTable var _rc int32 // sqlite3.c:125028:7 _ = _rc var _azArg **int8 // sqlite3.c:125029:14 _ = _azArg var _nArg int32 // sqlite3.c:125030:7 _ = _nArg var _zErr *int8 // sqlite3.c:125031:8 _ = _zErr var _zModuleName *int8 // sqlite3.c:125032:8 _ = _zModuleName var _iDb int32 // sqlite3.c:125033:7 _ = _iDb var _pCtx *XVtabCtx // sqlite3.c:125034:11 _ = _pCtx var _9_zFormat *int8 // sqlite3.c:125090:18 _ = _9_zFormat var _10_iCol int32 // sqlite3.c:125095:11 _ = _10_iCol var _10_oooHidden uint8 // sqlite3.c:125096:10 _ = _10_oooHidden var _11_zType *int8 // sqlite3.c:125106:14 _ = _11_zType var _11_nType int32 // sqlite3.c:125107:13 _ = _11_nType var _11_i int32 // sqlite3.c:125108:13 _ = _11_i var _14_j int32 // sqlite3.c:125119:15 _ = _14_j var _14_nDel int32 // sqlite3.c:125120:15 _ = _14_nDel _azArg = _pTab.X17 _nArg = _pTab.X16 _zErr = nil _pCtx = (*XVtabCtx)(unsafe.Pointer(_db.X66)) _0: if _pCtx == nil { goto _3 } if (*XTable)(unsafe.Pointer(_pCtx.X1)) != _pTab { goto _4 } *_pzErr = _sqlite3MPrintf(tls, _db, str(95380), unsafe.Pointer(_pTab.X0)) r0 = i32(6) return _4: _pCtx = (*XVtabCtx)(unsafe.Pointer(_pCtx.X2)) goto _0 _3: _zModuleName = _sqlite3MPrintf(tls, _db, str(24304), unsafe.Pointer(_pTab.X0)) if _zModuleName != nil { goto _5 } r0 = _sqlite3NomemError(tls, i32(125048)) return _5: _pVTable = (*XVTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(48)))) if _pVTable != nil { goto _6 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zModuleName)) r0 = _sqlite3NomemError(tls, i32(125054)) return _6: *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(0 /* X0 */))))) = _db *(**XModule)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(8 /* X1 */))))) = _pMod _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 8*uintptr(i32(1)))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 func() int32 { if (**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(464 /* X66 */))))) != nil { return i32(0) } return func() int32 { 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(95424))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _xConstruct != nil { return i32(0) } return func() int32 { 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(95440))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(8 /* X1 */))))) = _pTab *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(0 /* X0 */))))) = _pVTable *(**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(16 /* X2 */))))) = (*XVtabCtx)(unsafe.Pointer(_db.X66)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(24 /* X3 */))) = i32(0) *(**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(464 /* X66 */))))) = &_sCtx _rc = _xConstruct(tls, _db, _pMod.X2, _nArg, _azArg, (**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable))+uintptr(16 /* X2 */))))), &_zErr) *(**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(464 /* X66 */))))) = (*XVtabCtx)(unsafe.Pointer(_sCtx.X2)) if _rc != i32(7) { goto _11 } _sqlite3OomFault(tls, _db) _11: func() int32 { if (*XTable)(unsafe.Pointer(_sCtx.X1)) == _pTab { return i32(0) } return func() int32 { 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(95452))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == _rc { goto _14 } if _zErr != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } *_pzErr = _sqlite3MPrintf(tls, _db, str(95468), unsafe.Pointer(_zModuleName)) goto _16 _15: *_pzErr = _sqlite3MPrintf(tls, _db, str(24304), unsafe.Pointer(_zErr)) Xsqlite3_free(tls, (unsafe.Pointer)(_zErr)) _16: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pVTable)) goto _17 _14: if func() int32 { if (*Xsqlite3_vtab)(unsafe.Pointer(_pVTable.X2)) != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _20 } crt.Xmemset(tls, _pVTable.X2, i32(0), u64(24)) *(**Xsqlite3_module)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pVTable.X2) + uintptr(0 /* X0 */))))) = (*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(24 /* X3 */))) = i32(1) if (_sCtx.X3) != i32(0) { goto _21 } _9_zFormat = str(95500) *_pzErr = _sqlite3MPrintf(tls, _db, _9_zFormat, unsafe.Pointer(_pTab.X0)) _sqlite3VtabUnlock(tls, _pVTable) _rc = i32(1) goto _22 _21: _10_oooHidden = u8(0) *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(40 /* X6 */))))) = (*XVTable)(unsafe.Pointer(_pTab.X18)) *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(96 /* X18 */))))) = _pVTable _10_iCol = i32(0) _23: if _10_iCol >= int32(_pTab.X11) { goto _26 } _11_zType = _sqlite3ColumnType(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_10_iCol))), str(196)) _11_i = i32(0) _11_nType = _sqlite3Strlen30(tls, _11_zType) _11_i = i32(0) _27: if _11_i >= _11_nType { goto _30 } if i32(0) != Xsqlite3_strnicmp(tls, str(95548), (*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) { goto _35 } goto _30 _35: _11_i += 1 goto _27 _30: if _11_i >= _11_nType { goto _36 } _14_nDel = i32(6) + func() int32 { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i+i32(6))))) != 0 { return i32(1) } return i32(0) }() _14_j = _11_i _39: if (_14_j + _14_nDel) > _11_nType { goto _42 } *(*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))) _14_j += 1 goto _39 _42: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i)))) != i32(0) || _11_i <= i32(0) { goto _44 } func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i-i32(1))))) == i32(32) { return i32(0) } return func() int32 { 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(95556))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i-i32(1)))) = int8(i32(0)) _44: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_10_iCol))))) + uintptr(27 /* X6 */))) *p = uint8(int32(*p) | i32(2)) sink4537 = *p } _10_oooHidden = uint8(i32(128)) goto _47 _36: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(_10_oooHidden) sink985 = *p } _47: _10_iCol += 1 goto _23 _26: _22: _20: _17: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zModuleName)) r0 = _rc return } var _vtabCallConstructorØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_vtabCallConstructorØ00__func__Ø000[0], str(95572), 20) } func _sqlite3ColumnType(tls *crt.TLS, _pCol *XColumn, _zDflt *int8) (r0 *int8) { // sqlite3.c:27733:1 if (int32(_pCol.X6) & i32(4)) != i32(0) { goto _0 } r0 = _zDflt return _0: 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)))))))) return } func _sqlite3VtabCallDestroy(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zTab *int8) (r0 int32) { // sqlite3.c:125344:1 var _rc int32 // sqlite3.c:125345:7 _ = _rc var _pTab *XTable // sqlite3.c:125346:9 _ = _pTab var _1_p *XVTable // sqlite3.c:125350:12 _ = _1_p var _1_xDestroy func(*crt.TLS, *Xsqlite3_vtab) int32 // sqlite3.c:125351:9 _ = _1_xDestroy _rc = i32(0) _pTab = _sqlite3FindTable(tls, _db, _zTab, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) || func() int32 { if (*XVTable)(unsafe.Pointer(_pTab.X18)) != (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _3 } _1_p = (*XVTable)(unsafe.Pointer(_pTab.X18)) _4: if _1_p == nil { goto _7 } func() int32 { if (*Xsqlite3_vtab)(unsafe.Pointer(_1_p.X2)) != nil { return i32(0) } return func() int32 { 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(95592))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*Xsqlite3_vtab)(unsafe.Pointer(_1_p.X2)).X1) <= i32(0) { goto _10 } r0 = i32(6) return _10: _1_p = (*XVTable)(unsafe.Pointer(_1_p.X6)) goto _4 _7: _1_p = _vtabDisconnectAll(tls, _db, _pTab) _1_xDestroy = *(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer(_1_p.X1)).X0)).X5)})) func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{_1_xDestroy})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{nil})) { return i32(0) } return func() int32 { 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(95604))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _1_xDestroy(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_1_p.X2))) if _rc != i32(0) { goto _13 } func() int32 { if ((*XVTable)(unsafe.Pointer(_pTab.X18)) == _1_p) && ((*XVTable)(unsafe.Pointer(_1_p.X6)) == (*XVTable)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(95616))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(16 /* X2 */))))) = (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(96 /* X18 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3VtabUnlock(tls, _1_p) _13: _3: r0 = _rc return } var _sqlite3VtabCallDestroyØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabCallDestroyØ00__func__Ø000[0], str(95648), 23) } func _sqlite3BtreeMaxPageCount(tls *crt.TLS, _p *XBtree, _mxPage int32) (r0 int32) { // sqlite3.c:61750:1 var _n int32 // sqlite3.c:61751:7 _ = _n _sqlite3BtreeEnter(tls, _p) _n = _sqlite3PagerMaxPageCount(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)), _mxPage) _sqlite3BtreeLeave(tls, _p) r0 = _n return } func _sqlite3PagerMaxPageCount(tls *crt.TLS, _pPager *XPager, _mxPage int32) (r0 int32) { // sqlite3.c:50644:1 if _mxPage <= i32(0) { goto _0 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(192 /* X49 */))) = uint32(_mxPage) _0: func() int32 { if int32(_pPager.X14) != i32(0) { return i32(0) } return func() int32 { 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(95672))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pPager.X49) >= (_pPager.X22) { return i32(0) } return func() int32 { 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(95700))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32(_pPager.X49) return } var _sqlite3PagerMaxPageCountØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerMaxPageCountØ00__func__Ø000[0], str(95732), 25) } func _sqlite3VdbeExpandSql(tls *crt.TLS, _p *TVdbe, _zRawSql *int8) (r0 *int8) { // sqlite3.c:77970:1 var _db *Xsqlite3 // sqlite3.c:77974:11 _ = _db var _idx int32 // sqlite3.c:77975:7 _ = _idx var _nextIndex int32 // sqlite3.c:77976:7 _ = _nextIndex var _n int32 // sqlite3.c:77977:7 _ = _n var _nToken int32 // sqlite3.c:77978:7 _ = _nToken var _i int32 // sqlite3.c:77979:7 _ = _i var _pVar *XMem // sqlite3.c:77980:7 _ = _pVar var _out XStrAccum // sqlite3.c:77981:12 _ = _out var _utf8 XMem // sqlite3.c:77983:7 _ = _utf8 var _zBase [100]int8 // sqlite3.c:77985:8 _ = _zBase var _2_zStart *int8 // sqlite3.c:77992:18 _ = _2_zStart var _13_nOut int32 // sqlite3.c:78036:13 _ = _13_nOut var _13_enc uint8 // sqlite3.c:78038:12 _ = _13_enc var _17_nOut int32 // sqlite3.c:78069:13 _ = _17_nOut _idx = i32(0) _nextIndex = i32(1) _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) _sqlite3StrAccumInit(tls, &_out, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBase)), int32(u64(100)), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) if (_db.X37) <= i32(1) { goto _0 } _1: if (*_zRawSql) == 0 { goto _2 } _2_zStart = _zRawSql _3: if int32(*postInc1025(&_zRawSql, 1)) == i32(10) || (*_zRawSql) == 0 { goto _4 } goto _3 _4: _sqlite3StrAccumAppend(tls, &_out, str(73092), i32(3)) func() int32 { if int64((uintptr(unsafe.Pointer(_zRawSql))-uintptr(unsafe.Pointer(_2_zStart)))/1) > int64(i32(0)) { return i32(0) } return func() int32 { 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(95760))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StrAccumAppend(tls, &_out, _2_zStart, int32(int64((uintptr(unsafe.Pointer(_zRawSql))-uintptr(unsafe.Pointer(_2_zStart)))/1))) goto _1 _2: goto _8 _0: if int32(_p.X4) != i32(0) { goto _9 } _sqlite3StrAccumAppend(tls, &_out, _zRawSql, _sqlite3Strlen30(tls, _zRawSql)) goto _10 _9: _11: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) == 0 { goto _12 } _n = _findNextHostParameter(tls, _zRawSql, &_nToken) func() int32 { if _n > i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StrAccumAppend(tls, &_out, _zRawSql, _n) { p := &_zRawSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink1025 = *p } func() int32 { if ((*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) != 0) || (_nToken == i32(0)) { return i32(0) } return func() int32 { 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(95784))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nToken != i32(0) { goto _18 } goto _12 _18: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) != i32(63) { goto _19 } if _nToken <= i32(1) { goto _20 } func() int32 { 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 { return i32(0) } return func() int32 { 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(95808))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3GetInt32(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql))+1*uintptr(i32(1)))), &_idx) goto _23 _20: _idx = _nextIndex _23: goto _24 _19: func() int32 { 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)) { return i32(0) } return func() int32 { 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(95836))) crt.X__builtin_abort(tls) return i32(0) }() }() _idx = _sqlite3VdbeParameterIndex(tls, _p, _zRawSql, _nToken) func() int32 { if _idx > i32(0) { return i32(0) } return func() int32 { 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(95912))) crt.X__builtin_abort(tls) return i32(0) }() }() _24: { p := &_zRawSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_nToken))) sink1025 = *p } _nextIndex = _idx + i32(1) func() int32 { if (_idx > i32(0)) && (_idx <= int32(_p.X4)) { return i32(0) } return func() int32 { 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(95920))) crt.X__builtin_abort(tls) return i32(0) }() }() _pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 72*uintptr(_idx-i32(1)))) if (int32(_pVar.X1) & i32(1)) == 0 { goto _35 } _sqlite3StrAccumAppend(tls, &_out, str(200), i32(4)) goto _36 _35: if (int32(_pVar.X1) & i32(4)) == 0 { goto _37 } _sqlite3XPrintf(tls, &_out, str(4648), *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(0 /* X0 */)))))) goto _38 _37: if (int32(_pVar.X1) & i32(8)) == 0 { goto _39 } _sqlite3XPrintf(tls, &_out, str(4672), *(*float64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(0 /* X0 */)))))) goto _40 _39: if (int32(_pVar.X1) & i32(2)) == 0 { goto _41 } _13_enc = _db.X14 if int32(_13_enc) == i32(1) { goto _42 } crt.Xmemset(tls, (unsafe.Pointer)(&_utf8), i32(0), u64(72)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_utf8)) + uintptr(40 /* X9 */))))) = _db _sqlite3VdbeMemSetStr(tls, &_utf8, _pVar.X5, _pVar.X4, _13_enc, nil) if i32(7) != _sqlite3VdbeChangeEncoding(tls, &_utf8, i32(1)) { goto _43 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_out)) + uintptr(36 /* X6 */))) = uint8(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_out)) + uintptr(28 /* X4 */))) = uint32(i32(0)) _43: _pVar = &_utf8 _42: _13_nOut = _pVar.X4 _sqlite3XPrintf(tls, &_out, str(95944), _13_nOut, unsafe.Pointer(_pVar.X5)) if int32(_13_enc) == i32(1) { goto _44 } _sqlite3VdbeMemRelease(tls, &_utf8) _44: goto _45 _41: if (int32(_pVar.X1) & i32(16384)) == 0 { goto _46 } _sqlite3XPrintf(tls, &_out, str(95952), *(*int32)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(0 /* X0 */)))))) goto _47 _46: func() int32 { if (int32(_pVar.X1) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(95968))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StrAccumAppend(tls, &_out, str(95992), i32(2)) _17_nOut = _pVar.X4 _i = i32(0) _50: if _i >= _17_nOut { goto _53 } _sqlite3XPrintf(tls, &_out, str(95996), int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar.X5)) + 1*uintptr(_i))))&i32(255)) _i += 1 goto _50 _53: _sqlite3StrAccumAppend(tls, &_out, str(96004), i32(1)) _47: _45: _40: _38: _36: goto _11 _12: _10: _8: if (_out.X6) == 0 { goto _54 } _sqlite3StrAccumReset(tls, &_out) _54: r0 = _sqlite3StrAccumFinish(tls, &_out) return } var _sqlite3VdbeExpandSqlØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeExpandSqlØ00__func__Ø000[0], str(96008), 21) } func _findNextHostParameter(tls *crt.TLS, _zSql *int8, _pnToken *int32) (r0 int32) { // sqlite3.c:77927:1 var _tokenType int32 // sqlite3.c:77928:7 _ = _tokenType var _nTotal int32 // sqlite3.c:77929:7 _ = _nTotal var _n int32 // sqlite3.c:77930:7 _ = _n _nTotal = i32(0) *_pnToken = i32(0) _0: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == 0 { goto _1 } _n = _sqlite3GetToken(tls, (*uint8)(unsafe.Pointer(_zSql)), &_tokenType) func() int32 { if (_n > i32(0)) && (_tokenType != i32(163)) { return i32(0) } return func() int32 { 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(96032))) crt.X__builtin_abort(tls) return i32(0) }() }() if _tokenType != i32(135) { goto _5 } *_pnToken = _n goto _1 _5: { p := &_nTotal *p = (*p) + _n sink961 = *p } { p := &_zSql *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) sink1025 = *p } goto _0 _1: r0 = _nTotal return } var _findNextHostParameterØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_findNextHostParameterØ00__func__Ø000[0], str(96064), 22) } func Xsqlite3_strlike(tls *crt.TLS, _zPattern *int8, _zStr *int8, _esc uint32) (r0 int32) { // sqlite3.c:106070:12 r0 = _patternCompare(tls, (*uint8)(unsafe.Pointer(_zPattern)), (*uint8)(unsafe.Pointer(_zStr)), &_likeInfoNorm, _esc) return } var _likeInfoNorm TcompareInfo // sqlite3.c:105884:33 func init() { _likeInfoNorm = TcompareInfo{X0: u8(37), X1: u8(95), X2: u8(0), X3: u8(1)} } func _doWalCallbacks(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:76495:1 var _rc int32 // sqlite3.c:76496:7 _ = _rc var _i int32 // sqlite3.c:76498:7 _ = _i var _1_pBt *XBtree // sqlite3.c:76500:11 _ = _1_pBt var _2_nEntry int32 // sqlite3.c:76502:11 _ = _2_nEntry _rc = i32(0) _i = i32(0) _0: if _i >= (_db.X5) { goto _3 } _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _1_pBt == nil { goto _4 } _sqlite3BtreeEnter(tls, _1_pBt) _2_nEntry = _sqlite3PagerWalCallback(tls, _sqlite3BtreePager(tls, _1_pBt)) _sqlite3BtreeLeave(tls, _1_pBt) if (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 }{(_db.X51)}))) == nil || _2_nEntry <= i32(0) || _rc != i32(0) { goto _7 } _rc = (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 }{(_db.X51)})))(tls, _db.X52, _db, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X0, _2_nEntry) _7: _4: _i += 1 goto _0 _3: r0 = _rc return } func _sqlite3PagerWalCallback(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54179:1 r0 = _sqlite3WalCallback(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) return } func _sqlite3WalCallback(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57791:1 var _ret uint32 // sqlite3.c:57792:7 _ = _ret _ret = u32(0) if _pWal == nil { goto _0 } _ret = _pWal.X3 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(24 /* X3 */))) = uint32(i32(0)) _0: r0 = int32(_ret) return } func _sqlite3Reprepare(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:116094:1 var _rc int32 // sqlite3.c:116095:7 _ = _rc var _pNew unsafe.Pointer // sqlite3.c:116096:16 _ = _pNew var _zSql *int8 // sqlite3.c:116097:14 _ = _zSql var _db *Xsqlite3 // sqlite3.c:116098:11 _ = _db func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3VdbeDb(tls, _p).X3))) != 0 { return i32(0) } return func() int32 { 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(96088))) crt.X__builtin_abort(tls) return i32(0) }() }() _zSql = Xsqlite3_sql(tls, (unsafe.Pointer)(_p)) func() int32 { if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24348))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = _sqlite3VdbeDb(tls, _p) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _sqlite3LockAndPrepare(tls, _db, _zSql, i32(-1), i32(0), _p, &_pNew, (**int8)(unsafe.Pointer(uintptr(i32(0))))) if _rc == 0 { goto _6 } if _rc != i32(7) { goto _7 } _sqlite3OomFault(tls, _db) _7: func() int32 { if unsafe.Pointer(_pNew) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(96132))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return _6: func() int32 { if _pNew != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(20660))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeSwap(tls, (*TVdbe)(unsafe.Pointer(_pNew)), _p) _sqlite3TransferBindings(tls, _pNew, (unsafe.Pointer)(_p)) _sqlite3VdbeResetStepResult(tls, (*TVdbe)(unsafe.Pointer(_pNew))) _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_pNew))) r0 = i32(0) return } var _sqlite3ReprepareØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ReprepareØ00__func__Ø000[0], str(96140), 17) } func Xsqlite3_sql(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 *int8) { // sqlite3.c:77612:12 var _p *TVdbe // sqlite3.c:77613:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) r0 = func() *int8 { if _p != nil { return (_p.X36) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() return } func _sqlite3VdbeSwap(tls *crt.TLS, _pA *TVdbe, _pB *TVdbe) { // sqlite3.c:71401:1 var _tmp TVdbe // sqlite3.c:71402:8 _ = _tmp var _pTmp *TVdbe // sqlite3.c:71402:13 _ = _pTmp var _zTmp *int8 // sqlite3.c:71403:8 _ = _zTmp func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pA.X0)) == (*Xsqlite3)(unsafe.Pointer(_pB.X0)) { return i32(0) } return func() int32 { 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(96160))) crt.X__builtin_abort(tls) return i32(0) }() }() _tmp = *_pA *_pA = *_pB *_pB = _tmp _pTmp = (*TVdbe)(unsafe.Pointer(_pA.X2)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(16 /* X2 */))))) = (*TVdbe)(unsafe.Pointer(_pB.X2)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(16 /* X2 */))))) = _pTmp _pTmp = (*TVdbe)(unsafe.Pointer(_pA.X1)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X1 */))))) = (*TVdbe)(unsafe.Pointer(_pB.X1)) *(**TVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X1 */))))) = _pTmp _zTmp = _pA.X36 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(232 /* X36 */))) = _pB.X36 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(232 /* X36 */))) = _zTmp storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB))+uintptr(196 /* X32 */))), int16((uint32((_pA.X32)>>uint(i32(9)))<>uint(i32(31))), 512, 9) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(268 /* X41 */))) = _pA.X41 return } var _sqlite3VdbeSwapØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSwapØ00__func__Ø000[0], str(96176), 16) } func _sqlite3TransferBindings(tls *crt.TLS, _pFromStmt unsafe.Pointer, _pToStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77497:1 var _pFrom *TVdbe // sqlite3.c:77498:8 _ = _pFrom var _pTo *TVdbe // sqlite3.c:77499:8 _ = _pTo var _i int32 // sqlite3.c:77500:7 _ = _i _pFrom = (*TVdbe)(unsafe.Pointer(_pFromStmt)) _pTo = (*TVdbe)(unsafe.Pointer(_pToStmt)) func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pTo.X0)) == (*Xsqlite3)(unsafe.Pointer(_pFrom.X0)) { return i32(0) } return func() int32 { 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(73800))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pTo.X4) == int32(_pFrom.X4) { return i32(0) } return func() int32 { 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(96192))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pTo.X0)).X3))) _i = i32(0) _4: if _i >= int32(_pFrom.X4) { goto _7 } _sqlite3VdbeMemMove(tls, (*XMem)(unsafe.Pointer(uintptr(_pTo.X24)+72*uintptr(_i))), (*XMem)(unsafe.Pointer(uintptr(_pFrom.X24)+72*uintptr(_i)))) _i += 1 goto _4 _7: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pTo.X0)).X3))) r0 = i32(0) return } var _sqlite3TransferBindingsØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TransferBindingsØ00__func__Ø000[0], str(96216), 24) } func _sqlite3VdbeResetStepResult(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:74130:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X10 */))) = i32(0) return } var _sqlite3_stepØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_stepØ00__func__Ø000[0], str(96240), 13) } func _sqlite3FindDbName(tls *crt.TLS, _db *Xsqlite3, _zName *int8) (r0 int32) { // sqlite3.c:100165:1 var _i int32 // sqlite3.c:100166:7 _ = _i var _1_pDb *XDb // sqlite3.c:100168:8 _ = _1_pDb _i = i32(-1) if _zName == nil { goto _0 } *func() **XDb { _i = (_db.X5) - i32(1); return &_1_pDb }() = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))) _1: if _i < i32(0) { goto _4 } if i32(0) != Xsqlite3_stricmp(tls, _1_pDb.X0, _zName) { goto _5 } goto _4 _5: if _i != i32(0) || i32(0) != Xsqlite3_stricmp(tls, str(96256), _zName) { goto _7 } goto _4 _7: *(*uintptr)(unsafe.Pointer(func() **XDb { _i -= 1; return &_1_pDb }())) += uintptr(18446744073709551584) goto _1 _4: _0: r0 = _i return } func _sqlite3PragmaVtabRegister(tls *crt.TLS, _db *Xsqlite3, _zName *int8) (r0 *XModule) { // sqlite3.c:115377:1 var _pName *XPragmaName // sqlite3.c:115378:20 _ = _pName func() int32 { if Xsqlite3_strnicmp(tls, _zName, str(51280), i32(7)) == i32(0) { return i32(0) } return func() int32 { 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(96264))) crt.X__builtin_abort(tls) return i32(0) }() }() _pName = _pragmaLocate(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zName))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(7))))))))) if _pName != (*XPragmaName)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = (*XModule)(unsafe.Pointer(uintptr(i32(0)))) return _2: if (int32(_pName.X2) & i32(48)) != i32(0) { goto _3 } r0 = (*XModule)(unsafe.Pointer(uintptr(i32(0)))) return _3: func() int32 { if unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */))), _zName)) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(96308))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _sqlite3VtabCreateModule(tls, _db, _zName, &_pragmaVtabModule, (unsafe.Pointer)(_pName), nil) return } var _sqlite3PragmaVtabRegisterØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PragmaVtabRegisterØ00__func__Ø000[0], str(96348), 26) } func _pragmaLocate(tls *crt.TLS, _zName *int8) (r0 *XPragmaName) { // sqlite3.c:113241:1 var _upr int32 // sqlite3.c:113242:7 _ = _upr var _lwr int32 // sqlite3.c:113242:12 _ = _lwr var _mid int32 // sqlite3.c:113242:17 _ = _mid var _rc int32 // sqlite3.c:113242:26 _ = _rc _mid = i32(0) _lwr = i32(0) _upr = i32(66) _0: if _lwr > _upr { goto _1 } _mid = (_lwr + _upr) / i32(2) _rc = Xsqlite3_stricmp(tls, _zName, (*XPragmaName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPragmaName))+16*uintptr(_mid))).X0) if _rc != i32(0) { goto _2 } goto _1 _2: if _rc >= i32(0) { goto _3 } _upr = _mid - i32(1) goto _4 _3: _lwr = _mid + i32(1) _4: goto _0 _1: r0 = func() *XPragmaName { if _lwr > _upr { return (*XPragmaName)(unsafe.Pointer(uintptr(i32(0)))) } return (*XPragmaName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPragmaName)) + 16*uintptr(_mid))) }() return } var _aPragmaName [67]XPragmaName // sqlite3.c:112500:25 func init() { _aPragmaName = [67]XPragmaName{XPragmaName{X0: str(96376), X1: u8(0), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(8)}, XPragmaName{X0: str(96392), X1: u8(1), X2: u8(149), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96404), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1048576)}, XPragmaName{X0: str(96420), X1: u8(3), X2: u8(16), X3: u8(46), X4: u8(1), X5: u32(0)}, XPragmaName{X0: str(96436), X1: u8(4), X2: u8(149), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96448), X1: u8(5), X2: u8(148), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96460), X1: u8(6), X2: u8(2), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96480), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(536870912)}, XPragmaName{X0: str(96496), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(16)}, XPragmaName{X0: str(96520), X1: u8(7), X2: u8(16), X3: u8(29), X4: u8(2), X5: u32(0)}, XPragmaName{X0: str(96536), X1: u8(8), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96552), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(128)}, XPragmaName{X0: str(96568), X1: u8(0), X2: u8(24), X3: u8(0), X4: u8(0), X5: u32(15)}, XPragmaName{X0: str(96584), X1: u8(10), X2: u8(17), X3: u8(26), X4: u8(3), X5: u32(0)}, XPragmaName{X0: str(96600), X1: u8(11), X2: u8(149), X3: u8(0), X4: u8(1), X5: u32(0)}, XPragmaName{X0: str(96620), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(33554432)}, XPragmaName{X0: str(96640), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(256)}, XPragmaName{X0: str(96664), X1: u8(12), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96676), X1: u8(13), X2: u8(1), X3: u8(39), X4: u8(4), X5: u32(0)}, XPragmaName{X0: str(96696), X1: u8(14), X2: u8(97), X3: u8(31), X4: u8(8), X5: u32(0)}, XPragmaName{X0: str(96716), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(524288)}, XPragmaName{X0: str(96732), X1: u8(0), X2: u8(24), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96748), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(4)}, XPragmaName{X0: str(96768), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(8)}, XPragmaName{X0: str(96780), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(8192)}, XPragmaName{X0: str(96808), X1: u8(15), X2: u8(3), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96828), X1: u8(16), X2: u8(97), X3: u8(12), X4: u8(3), X5: u32(0)}, XPragmaName{X0: str(96840), X1: u8(17), X2: u8(97), X3: u8(21), X4: u8(5), X5: u32(0)}, XPragmaName{X0: str(96852), X1: u8(16), X2: u8(97), X3: u8(15), X4: u8(6), X5: u32(1)}, XPragmaName{X0: str(96864), X1: u8(18), X2: u8(1), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96880), X1: u8(19), X2: u8(145), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96896), X1: u8(20), X2: u8(144), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96916), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(32768)}, XPragmaName{X0: str(96936), X1: u8(41), X2: u8(16), X3: u8(47), X4: u8(2), X5: u32(0)}, XPragmaName{X0: str(96948), X1: u8(22), X2: u8(144), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96964), X1: u8(23), X2: u8(145), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96980), X1: u8(24), X2: u8(0), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(96992), X1: u8(25), X2: u8(32), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97004), X1: u8(23), X2: u8(145), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97016), X1: u8(26), X2: u8(148), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97028), X1: u8(42), X2: u8(0), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97044), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(67108864)}, XPragmaName{X0: str(97056), X1: u8(18), X2: u8(1), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97068), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(16384)}, XPragmaName{X0: str(97088), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(262144)}, XPragmaName{X0: str(97108), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(131072)}, XPragmaName{X0: str(97136), X1: u8(0), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1)}, XPragmaName{X0: str(97152), X1: u8(27), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97168), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(64)}, XPragmaName{X0: str(97188), X1: u8(28), X2: u8(2), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97204), X1: u8(29), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97220), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(512)}, XPragmaName{X0: str(97232), X1: u8(43), X2: u8(145), X3: u8(7), X4: u8(5), X5: u32(0)}, XPragmaName{X0: str(97240), X1: u8(30), X2: u8(149), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97252), X1: u8(31), X2: u8(97), X3: u8(1), X4: u8(6), X5: u32(0)}, XPragmaName{X0: str(97264), X1: u8(32), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97276), X1: u8(33), X2: u8(4), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97300), X1: u8(34), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97308), X1: u8(0), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(6)}, XPragmaName{X0: str(97324), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(4096)}, XPragmaName{X0: str(97340), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1537)}, XPragmaName{X0: str(97352), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(134217728)}, XPragmaName{X0: str(97364), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1024)}, XPragmaName{X0: str(97380), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1)}, XPragmaName{X0: str(97392), X1: u8(35), X2: u8(0), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97412), X1: u8(36), X2: u8(1), X3: u8(43), X4: u8(3), X5: u32(0)}, XPragmaName{X0: str(97428), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(67584)}} } var _pragmaVtabModule Xsqlite3_module // sqlite3.c:115346:29 func init() { _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 { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{_pragmaVtabConnect})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, *Xsqlite3_index_info) int32 }{_pragmaVtabBestIndex})), X4: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab) int32 }{_pragmaVtabDisconnect})), X5: nil, X6: *(*func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, **Xsqlite3_file) int32 }{_pragmaVtabOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_pragmaVtabClose})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, *int8, int32, **XMem) int32 }{_pragmaVtabFilter})), X9: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_pragmaVtabNext})), X10: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_pragmaVtabEof})), X11: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *Xsqlite3_context, int32) int32 }{_pragmaVtabColumn})), X12: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int64) int32 }{_pragmaVtabRowid})), X13: nil, X14: nil, X15: nil, X16: nil, X17: nil, X18: nil, X19: nil, X20: nil, X21: nil, X22: nil} } 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 var _pPragma *XPragmaName // sqlite3.c:115113:20 _ = _pPragma var _pTab *XPragmaVtab // sqlite3.c:115114:14 _ = _pTab var _rc int32 // sqlite3.c:115115:7 _ = _rc var _i int32 // sqlite3.c:115116:7 _ = _i var _j int32 // sqlite3.c:115116:10 _ = _j var _cSep int8 // sqlite3.c:115117:8 _ = _cSep var _acc XStrAccum // sqlite3.c:115118:12 _ = _acc var _zBuf [200]int8 // sqlite3.c:115119:8 _ = _zBuf _pPragma = (*XPragmaName)(unsafe.Pointer(_pAux)) _pTab = nil _cSep = i8(40) _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBuf)), int32(u64(200)), i32(0)) _sqlite3StrAccumAppendAll(tls, &_acc, str(97444)) *func() *int32 { _i = i32(0); return &_j }() = int32(_pPragma.X3) _0: if _i >= int32(_pPragma.X4) { goto _3 } _sqlite3XPrintf(tls, &_acc, str(97460), int32(_cSep), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pragCName)) + 8*uintptr(_j))))) _cSep = int8(i32(44)) *func() *int32 { _i += 1; return &_j }() += 1 goto _0 _3: if _i != i32(0) { goto _4 } _sqlite3XPrintf(tls, &_acc, str(97468), unsafe.Pointer(_pPragma.X0)) _cSep = int8(i32(44)) _i += 1 _4: _j = i32(0) if (int32(_pPragma.X2) & i32(32)) == 0 { goto _5 } _sqlite3StrAccumAppendAll(tls, &_acc, str(97476)) _j += 1 _5: if (int32(_pPragma.X2) & i32(192)) == 0 { goto _6 } _sqlite3StrAccumAppendAll(tls, &_acc, str(97488)) _j += 1 _6: _sqlite3StrAccumAppend(tls, &_acc, str(38612), i32(1)) _sqlite3StrAccumFinish(tls, &_acc) func() int32 { if crt.Xstrlen(tls, (*int8)(unsafe.Pointer(&_zBuf))) < u64(199) { return i32(0) } return func() int32 { 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(97504))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = Xsqlite3_declare_vtab(tls, _db, (*int8)(unsafe.Pointer(&_zBuf))) if _rc != i32(0) { goto _9 } _pTab = (*XPragmaVtab)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u64(48))))) if _pTab != (*XPragmaVtab)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } _rc = i32(7) goto _11 _10: crt.Xmemset(tls, (unsafe.Pointer)(_pTab), i32(0), u64(48)) *(**XPragmaName)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(32 /* X2 */))))) = _pPragma *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(24 /* X1 */))))) = _db *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(41 /* X4 */))) = uint8(_i) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(40 /* X3 */))) = uint8(_j) _11: goto _12 _9: *_pzErr = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer(Xsqlite3_errmsg(tls, _db))) _12: *_ppVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_pTab)) r0 = _rc return } func _sqlite3StrAccumAppendAll(tls *crt.TLS, _p *XStrAccum, _z *int8) { // sqlite3.c:25896:1 _sqlite3StrAccumAppend(tls, _p, _z, _sqlite3Strlen30(tls, _z)) return } var _pragCName [49]*int8 // sqlite3.c:112439:19 func init() { _pragCName = [49]*int8{str(96436), str(97536), str(97540), str(97548), str(97556), str(97564), str(97576), str(97580), str(97584), str(97588), str(97596), str(97604), str(97612), str(97536), str(97540), str(97612), str(97536), str(97540), str(97620), str(97628), str(97636), str(97640), str(97540), str(97644), str(97652), str(97660), str(97640), str(97540), str(97668), str(97640), str(97540), str(97676), str(97640), str(97680), str(26428), str(97688), str(97692), str(97704), str(97716), str(97680), str(27380), str(97724), str(97732), str(97740), str(97748), str(97752), str(97768), str(97776), str(97788)} } var _pragmaVtabConnectØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_pragmaVtabConnectØ00__func__Ø000[0], str(97796), 18) } func _pragmaVtabBestIndex(tls *crt.TLS, _tab *Xsqlite3_vtab, _pIdxInfo *Xsqlite3_index_info) (r0 int32) { // sqlite3.c:115182:1 var _pTab *XPragmaVtab // sqlite3.c:115183:14 _ = _pTab var _pConstraint *Tsqlite3_index_constraint // sqlite3.c:115184:41 _ = _pConstraint var _i int32 // sqlite3.c:115185:7 _ = _i var _j int32 // sqlite3.c:115185:10 _ = _j var _seen [2]int32 // sqlite3.c:115186:7 _ = _seen _pTab = (*XPragmaVtab)(unsafe.Pointer(_tab)) *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(64 /* X9 */))) = float64(1) if int32(_pTab.X3) != i32(0) { goto _0 } r0 = i32(0) return _0: _pConstraint = (*Tsqlite3_index_constraint)(unsafe.Pointer(_pIdxInfo.X1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(0)))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(1)))) = i32(0) _i = i32(0) _1: if _i >= (_pIdxInfo.X0) { goto _4 } if int32(_pConstraint.X2) != i32(0) { goto _5 } goto _2 _5: if int32(_pConstraint.X1) == i32(2) { goto _6 } goto _2 _6: if (_pConstraint.X0) >= int32(_pTab.X4) { goto _7 } goto _2 _7: _j = (_pConstraint.X0) - int32(_pTab.X4) func() int32 { if _j < i32(2) { return i32(0) } return func() int32 { 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(97816))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(_j))) = _i + i32(1) _2: *(*uintptr)(unsafe.Pointer(func() **Tsqlite3_index_constraint { _i += 1; return &_pConstraint }())) += uintptr(12) goto _1 _4: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(0))))) != i32(0) { goto _10 } *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(64 /* X9 */))) = 2.147483647e+09 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(72 /* X10 */))) = int64(i32(2147483647)) r0 = i32(0) return _10: _j = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(0))))) - i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(0 /* X0 */))) = i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(1)) if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(1))))) != i32(0) { goto _11 } r0 = i32(0) return _11: *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(64 /* X9 */))) = float64(20) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(72 /* X10 */))) = int64(i32(20)) _j = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(1))))) - i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(0 /* X0 */))) = i32(2) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(1)) r0 = i32(0) return } var _pragmaVtabBestIndexØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_pragmaVtabBestIndexØ00__func__Ø000[0], str(97824), 20) } func _pragmaVtabDisconnect(tls *crt.TLS, _pVtab *Xsqlite3_vtab) (r0 int32) { // sqlite3.c:115169:1 var _pTab *XPragmaVtab // sqlite3.c:115170:14 _ = _pTab _pTab = (*XPragmaVtab)(unsafe.Pointer(_pVtab)) Xsqlite3_free(tls, (unsafe.Pointer)(_pTab)) r0 = i32(0) return } func _pragmaVtabOpen(tls *crt.TLS, _pVtab *Xsqlite3_vtab, _ppCursor **Xsqlite3_file) (r0 int32) { // sqlite3.c:115219:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115220:20 _ = _pCsr _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u64(40))))) if _pCsr != (*XPragmaVtabCursor)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(7) return _0: crt.Xmemset(tls, (unsafe.Pointer)(_pCsr), i32(0), u64(40)) *(**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 *_ppCursor = (*Xsqlite3_file)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(0 /* X0 */))) r0 = i32(0) return } func _pragmaVtabClose(tls *crt.TLS, _cur *Xsqlite3_file) (r0 int32) { // sqlite3.c:115241:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115242:20 _ = _pCsr _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_cur)) _pragmaVtabCursorClear(tls, _pCsr) Xsqlite3_free(tls, (unsafe.Pointer)(_pCsr)) r0 = i32(0) return } func _pragmaVtabCursorClear(tls *crt.TLS, _pCsr *XPragmaVtabCursor) { // sqlite3.c:115230:1 var _i int32 // sqlite3.c:115231:7 _ = _i Xsqlite3_finalize(tls, _pCsr.X1) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(8 /* X1 */))) = (unsafe.Pointer)(uintptr(i32(0))) _i = i32(0) _0: if _i >= i32(2) { goto _3 } Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(_i))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(_i))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _0 _3: return } func _pragmaVtabFilter(tls *crt.TLS, _pVtabCursor *Xsqlite3_file, _idxNum int32, _idxStr *int8, _argc int32, _argv **XMem) (r0 int32) { // sqlite3.c:115267:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115272:20 _ = _pCsr var _pTab *XPragmaVtab // sqlite3.c:115273:14 _ = _pTab var _rc int32 // sqlite3.c:115274:7 _ = _rc var _i int32 // sqlite3.c:115275:7 _ = _i var _j int32 // sqlite3.c:115275:10 _ = _j var _acc XStrAccum // sqlite3.c:115276:12 _ = _acc var _zSql *int8 // sqlite3.c:115277:8 _ = _zSql _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) _pTab = (*XPragmaVtab)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVtabCursor.X0)))) _pragmaVtabCursorClear(tls, _pCsr) _j = func() int32 { if (int32((*XPragmaName)(unsafe.Pointer(_pTab.X2)).X2) & i32(32)) != i32(0) { return i32(0) } return i32(1) }() _i = i32(0) _2: if _i >= _argc { goto _5 } func() int32 { if _j < i32(2) { return i32(0) } return func() int32 { 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(97844))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(_j))) = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))))) if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(_j)))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } r0 = i32(7) return _8: *func() *int32 { _i += 1; return &_j }() += 1 goto _2 _5: _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(112 /* X31 */))))) + 4*uintptr(i32(1))))) _sqlite3StrAccumAppendAll(tls, &_acc, str(97872)) if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(i32(1))))) == nil { goto _9 } _sqlite3XPrintf(tls, &_acc, str(97880), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(i32(1)))))) _9: _sqlite3StrAccumAppendAll(tls, &_acc, (*XPragmaName)(unsafe.Pointer(_pTab.X2)).X0) if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(i32(0))))) == nil { goto _10 } _sqlite3XPrintf(tls, &_acc, str(97884), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(i32(0)))))) _10: _zSql = _sqlite3StrAccumFinish(tls, &_acc) if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } r0 = i32(7) return _11: _rc = Xsqlite3_prepare_v2(tls, (*Xsqlite3)(unsafe.Pointer(_pTab.X1)), _zSql, i32(-1), (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(8 /* X1 */))), (**int8)(unsafe.Pointer(uintptr(i32(0))))) Xsqlite3_free(tls, (unsafe.Pointer)(_zSql)) if _rc == i32(0) { goto _12 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_vtab)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab))+uintptr(0 /* X0 */))))) + uintptr(16 /* X2 */))) = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer(Xsqlite3_errmsg(tls, (*Xsqlite3)(unsafe.Pointer(_pTab.X1))))) r0 = _rc return _12: r0 = _pragmaVtabNext(tls, _pVtabCursor) return } var _pragmaVtabFilterØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_pragmaVtabFilterØ00__func__Ø000[0], str(97888), 17) } func _pragmaVtabNext(tls *crt.TLS, _pVtabCursor *Xsqlite3_file) (r0 int32) { // sqlite3.c:115249:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115250:20 _ = _pCsr var _rc int32 // sqlite3.c:115251:7 _ = _rc _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) _rc = i32(0) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(16 /* X2 */))) += 1 func() int32 { if (_pCsr.X1) != nil { return i32(0) } return func() int32 { 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(97908))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(100) == Xsqlite3_step(tls, _pCsr.X1) { goto _2 } _rc = Xsqlite3_finalize(tls, _pCsr.X1) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(8 /* X1 */))) = (unsafe.Pointer)(uintptr(i32(0))) _pragmaVtabCursorClear(tls, _pCsr) _2: r0 = _rc return } var _pragmaVtabNextØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pragmaVtabNextØ00__func__Ø000[0], str(97924), 15) } func _pragmaVtabEof(tls *crt.TLS, _pVtabCursor *Xsqlite3_file) (r0 int32) { // sqlite3.c:115313:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115314:20 _ = _pCsr _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) r0 = bool2int(unsafe.Pointer(_pCsr.X1) == (unsafe.Pointer)(uintptr(i32(0)))) return } func _pragmaVtabColumn(tls *crt.TLS, _pVtabCursor *Xsqlite3_file, _ctx *Xsqlite3_context, _i int32) (r0 int32) { // sqlite3.c:115321:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115326:20 _ = _pCsr var _pTab *XPragmaVtab // sqlite3.c:115327:14 _ = _pTab _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) _pTab = (*XPragmaVtab)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVtabCursor.X0)))) if _i >= int32(_pTab.X4) { goto _0 } Xsqlite3_result_value(tls, _ctx, Xsqlite3_column_value(tls, _pCsr.X1, _i)) goto _1 _0: Xsqlite3_result_text(tls, _ctx, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(24 /* X3 */))))) + 8*uintptr(_i-int32(_pTab.X4)))), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _1: r0 = i32(0) return } func Xsqlite3_result_value(tls *crt.TLS, _pCtx *Xsqlite3_context, _pValue *XMem) { // sqlite3.c:76444:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemCopy(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _pValue) return } var _sqlite3_result_valueØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_valueØ00__func__Ø000[0], str(97940), 21) } func _pragmaVtabRowid(tls *crt.TLS, _pVtabCursor *Xsqlite3_file, _p *int64) (r0 int32) { // sqlite3.c:115339:1 var _pCsr *XPragmaVtabCursor // sqlite3.c:115340:20 _ = _pCsr _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) *_p = _pCsr.X2 r0 = i32(0) return } func _sqlite3VtabEponymousTableInit(tls *crt.TLS, _pParse *XParse, _pMod *XModule) (r0 int32) { // sqlite3.c:125659:1 var _pModule *Xsqlite3_module // sqlite3.c:125660:24 _ = _pModule var _pTab *XTable // sqlite3.c:125661:9 _ = _pTab var _zErr *int8 // sqlite3.c:125662:8 _ = _zErr var _rc int32 // sqlite3.c:125663:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:125664:11 _ = _db _pModule = (*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)) _zErr = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (*XTable)(unsafe.Pointer(_pMod.X4)) == nil { goto _0 } r0 = i32(1) return _0: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{(_pModule.X1)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{nil})) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{(_pModule.X1)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{(_pModule.X2)})))})) { goto _2 } r0 = i32(0) return _2: _pTab = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128)))) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = i32(0) return _3: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _pMod.X1) if (_pTab.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTab)) r0 = i32(0) return _4: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(32 /* X4 */))))) = _pTab *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(60 /* X8 */))) = uint32(i32(1)) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(112 /* X20 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(i32(0)))).X4)) func() int32 { if (_pTab.X16) == i32(0) { return i32(0) } return func() int32 { 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(97964))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(68 /* X10 */))) = int16(i32(-1)) _addModuleArgument(tls, _db, _pTab, _sqlite3DbStrDup(tls, _db, _pTab.X0)) _addModuleArgument(tls, _db, _pTab, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _addModuleArgument(tls, _db, _pTab, _sqlite3DbStrDup(tls, _db, _pTab.X0)) _rc = _vtabCallConstructor(tls, _db, _pTab, _pMod, *(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{(_pModule.X2)})), &_zErr) if _rc == 0 { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(24304), unsafe.Pointer(_zErr)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _sqlite3VtabEponymousTableClear(tls, _db, _pMod) r0 = i32(0) return _7: r0 = i32(1) return } var _sqlite3VtabEponymousTableInitØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabEponymousTableInitØ00__func__Ø000[0], str(97984), 30) } func _addModuleArgument(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable, _zArg *int8) { // sqlite3.c:124828:1 var _nBytes int32 // sqlite3.c:124829:7 _ = _nBytes var _azModuleArg **int8 // sqlite3.c:124830:8 _ = _azModuleArg var _2_i int32 // sqlite3.c:124835:9 _ = _2_i _nBytes = int32(u64(8) * uint64(i32(2)+(_pTable.X16))) _azModuleArg = (**int8)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pTable.X17), uint64(_nBytes)))) if _azModuleArg != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zArg)) goto _1 _0: _2_i = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(84 /* X16 */))), int32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azModuleArg)) + 8*uintptr(_2_i))) = _zArg *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azModuleArg)) + 8*uintptr(_2_i+i32(1)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(88 /* X17 */))) = _azModuleArg _1: return } func _sqlite3ViewGetColumnNames(tls *crt.TLS, _pParse *XParse, _pTable *XTable) (r0 int32) { // sqlite3.c:101598:1 var _pSelTab *XTable // sqlite3.c:101599:9 _ = _pSelTab var _pSel *XSelect // sqlite3.c:101600:10 _ = _pSel var _nErr int32 // sqlite3.c:101601:7 _ = _nErr var _n int32 // sqlite3.c:101602:7 _ = _n var _db *Xsqlite3 // sqlite3.c:101603:11 _ = _db var _xAuth func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 // sqlite3.c:101605:17 _ = _xAuth _nErr = i32(0) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _pTable != nil { return i32(0) } return func() int32 { 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(98016))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3VtabCallConnect(tls, _pParse, _pTable) == 0 { goto _2 } r0 = i32(1) return _2: if (_pTable.X16) == 0 { goto _3 } r0 = i32(0) return _3: if int32(_pTable.X11) <= i32(0) { goto _4 } r0 = i32(0) return _4: if int32(_pTable.X11) >= i32(0) { goto _5 } _sqlite3ErrorMsg(tls, _pParse, str(98024), unsafe.Pointer(_pTable.X0)) r0 = i32(1) return _5: func() int32 { if int32(_pTable.X11) >= i32(0) { return i32(0) } return func() int32 { 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(98056))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(_pTable.X3)) != nil { return i32(0) } return func() int32 { 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(98072))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSel = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pTable.X3)), i32(0)) if _pSel == nil { goto _10 } _n = _pParse.X17 _sqlite3SrcListAssignCursors(tls, _pParse, (*XSrcList)(unsafe.Pointer(_pSel.X8))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(70 /* X11 */))) = int16(i32(-1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 _xAuth = _db.X59 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(400 /* X59 */))) = nil _pSelTab = _sqlite3ResultSetOfSelect(tls, _pParse, _pSel) *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(400 /* X59 */))) = _xAuth *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = _n if (*XExprList)(unsafe.Pointer(_pTable.X6)) == nil { goto _11 } _sqlite3ColumnsFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pTable.X6)), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(70 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(8 /* X1 */)))))) if int32(_db.X17) != i32(0) || (_pParse.X16) != i32(0) || int32(_pTable.X11) != ((*XExprList)(unsafe.Pointer(_pSel.X0)).X0) { goto _14 } _sqlite3SelectAddColumnTypeAndCollation(tls, _pParse, _pTable, _pSel) _14: goto _15 _11: if _pSelTab == nil { goto _16 } func() int32 { if (*XColumn)(unsafe.Pointer(_pTable.X1)) == (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(98088))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(70 /* X11 */))) = _pSelTab.X11 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_pSelTab.X1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelTab)) + uintptr(70 /* X11 */))) = int16(i32(0)) *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelTab)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pTable.X20))) != 0 { return i32(0) } return func() int32 { 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(98104))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _21 _16: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(70 /* X11 */))) = int16(i32(0)) _nErr += 1 _21: _15: _sqlite3DeleteTable(tls, _db, _pSelTab) _sqlite3SelectDelete(tls, _db, _pSel) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) -= 1 goto _22 _10: _nErr += 1 _22: { p := (*uint16)(unsafe.Pointer(uintptr(_pTable.X20) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) | i32(2)) sink4530 = *p } r0 = _nErr return } var _sqlite3ViewGetColumnNamesØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ViewGetColumnNamesØ00__func__Ø000[0], str(98152), 26) } func _sqlite3VtabCallConnect(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 int32) { // sqlite3.c:125148:1 var _db *Xsqlite3 // sqlite3.c:125149:11 _ = _db var _zMod *int8 // sqlite3.c:125150:14 _ = _zMod var _pMod *XModule // sqlite3.c:125151:10 _ = _pMod var _rc int32 // sqlite3.c:125152:7 _ = _rc var _2_zModule *int8 // sqlite3.c:125164:16 _ = _2_zModule var _3_zErr *int8 // sqlite3.c:125168:10 _ = _3_zErr _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _pTab != nil { return i32(0) } return func() int32 { 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(98180))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTab.X16) != 0 && _sqlite3GetVTable(tls, _db, _pTab) == nil { goto _3 } r0 = i32(0) return _3: _zMod = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 8*uintptr(i32(0)))) _pMod = (*XModule)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */))), _zMod))) if _pMod != nil { goto _4 } _2_zModule = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 8*uintptr(i32(0)))) _sqlite3ErrorMsg(tls, _pParse, str(95336), unsafe.Pointer(_2_zModule)) _rc = i32(1) goto _5 _4: _3_zErr = nil _rc = _vtabCallConstructor(tls, _db, _pTab, _pMod, *(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X2)})), &_3_zErr) if _rc == i32(0) { goto _6 } _sqlite3ErrorMsg(tls, _pParse, str(24304), unsafe.Pointer(_3_zErr)) _6: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_zErr)) _5: r0 = _rc return } var _sqlite3VtabCallConnectØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabCallConnectØ00__func__Ø000[0], str(98188), 23) } func _sqlite3ResultSetOfSelect(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) (r0 *XTable) { // sqlite3.c:118038:1 var _pTab *XTable // sqlite3.c:118039:9 _ = _pTab var _db *Xsqlite3 // sqlite3.c:118040:11 _ = _db var _savedFlags int32 // sqlite3.c:118041:7 _ = _savedFlags _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _savedFlags = _db.X6 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-5) sink961 = *p } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(64) sink961 = *p } _sqlite3SelectPrep(tls, _pParse, _pSelect, (*XNameContext)(unsafe.Pointer(uintptr(i32(0))))) if (_pParse.X16) == 0 { goto _0 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _0: _1: if (*XSelect)(unsafe.Pointer(_pSelect.X13)) == nil { goto _2 } _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X13)) goto _1 _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) = _savedFlags _pTab = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128)))) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _3: func() int32 { if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X0) != 0 { return i32(0) } return func() int32 { 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(98212))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(60 /* X8 */))) = uint32(i32(1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(72 /* X12 */))) = int16(i32(200)) func() int32 { if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { return i32(0) } return func() int32 { 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(49500))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ColumnsFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSelect.X0)), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab))+uintptr(70 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab))+uintptr(8 /* X1 */)))))) _sqlite3SelectAddColumnTypeAndCollation(tls, _pParse, _pTab, _pSelect) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(68 /* X10 */))) = int16(i32(-1)) if (_db.X17) == 0 { goto _8 } _sqlite3DeleteTable(tls, _db, _pTab) r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _8: r0 = _pTab return } var _sqlite3ResultSetOfSelectØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ResultSetOfSelectØ00__func__Ø000[0], str(98236), 25) } func _sqlite3SelectAddColumnTypeAndCollation(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pSelect *XSelect) { // sqlite3.c:117989:1 var _db *Xsqlite3 // sqlite3.c:117994:11 _ = _db var _sNC XNameContext // sqlite3.c:117995:15 _ = _sNC var _pCol *XColumn // sqlite3.c:117996:10 _ = _pCol var _pColl *XCollSeq // sqlite3.c:117997:11 _ = _pColl var _i int32 // sqlite3.c:117998:7 _ = _i var _p *XExpr // sqlite3.c:117999:8 _ = _p var _a *TExprList_item // sqlite3.c:118000:24 _ = _a var _szAll uint64 // sqlite3.c:118001:7 _ = _szAll var _1_zType *int8 // sqlite3.c:118011:16 _ = _1_zType var _1_n int32 // sqlite3.c:118012:9 _ = _1_n var _1_m int32 // sqlite3.c:118012:12 _ = _1_m _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _szAll = u64(0) func() int32 { if _pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(98264))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pSelect.X3) & uint32(i32(4))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(98276))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pTab.X11) == ((*XExprList)(unsafe.Pointer(_pSelect.X0)).X0)) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(98316))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 { goto _7 } return _7: crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u64(56)) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_pSelect.X8)) _a = (*TExprList_item)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_pSelect.X0)).X1)) *func() **XColumn { _i = i32(0); return &_pCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) _8: if _i >= int32(_pTab.X11) { goto _11 } _p = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 32*uintptr(_i))).X0)) _1_zType = _columnTypeImpl(tls, &_sNC, _p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol))+uintptr(26 /* X5 */)))) { p := &_szAll *p = (*p) + uint64(_pCol.X5) sink992 = *p } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(25 /* X4 */))) = _sqlite3ExprAffinity(tls, _p) if _1_zType == nil || store961(&_1_m, _sqlite3Strlen30(tls, _1_zType)) <= i32(0) { goto _13 } _1_n = _sqlite3Strlen30(tls, _pCol.X0) *(**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))))) if (_pCol.X0) == nil { goto _14 } crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol.X0))+1*uintptr(_1_n+i32(1))))), (unsafe.Pointer)(_1_zType), uint64(_1_m+i32(1))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(27 /* X6 */))) *p = uint8(int32(*p) | i32(4)) sink4537 = *p } _14: _13: if int32(_pCol.X4) != i32(0) { goto _15 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(25 /* X4 */))) = int8(i32(65)) _15: _pColl = _sqlite3ExprCollSeq(tls, _pParse, _p) if _pColl == nil || (_pCol.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(16 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pColl.X0) _17: *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(32) goto _8 _11: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(74 /* X13 */))) = _sqlite3LogEst(tls, _szAll*uint64(i32(4))) return } var _sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000 [39]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000[0], str(98372), 39) } func _columnTypeImpl(tls *crt.TLS, _pNC *XNameContext, _pExpr *XExpr, _pEstWidth *uint8) (r0 *int8) { // sqlite3.c:117618:1 var _zType *int8 // sqlite3.c:117628:14 _ = _zType var _j int32 // sqlite3.c:117629:7 _ = _j var _estWidth uint8 // sqlite3.c:117630:6 _ = _estWidth var _2_pTab *XTable // sqlite3.c:117646:13 _ = _2_pTab var _2_pS *XSelect // sqlite3.c:117647:14 _ = _2_pS var _2_iCol int32 // sqlite3.c:117648:11 _ = _2_iCol var _3_pTabList *XSrcList // sqlite3.c:117652:17 _ = _3_pTabList var _8_sNC XNameContext // sqlite3.c:117697:23 _ = _8_sNC var _8_p *XExpr // sqlite3.c:117698:16 _ = _8_p var _12_sNC XNameContext // sqlite3.c:117740:19 _ = _12_sNC var _12_pS *XSelect // sqlite3.c:117741:14 _ = _12_pS var _12_p *XExpr // sqlite3.c:117742:12 _ = _12_p _zType = nil _estWidth = u8(1) func() int32 { if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44732))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSrcList)(unsafe.Pointer(_pNC.X1)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(98412))) crt.X__builtin_abort(tls) return i32(0) }() }() switch int32(_pExpr.X0) { case i32(119): goto _7 case i32(152): goto _6 case i32(154): goto _5 default: goto _8 } _5: _6: _2_pTab = nil _2_pS = nil _2_iCol = int32(_pExpr.X9) _9: if _pNC == nil || _2_pTab != nil { goto _10 } _3_pTabList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) _j = i32(0) _12: if _j >= (_3_pTabList.X0) || ((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(_j))).X11) == (_pExpr.X8) { goto _16 } _j += 1 goto _12 _16: if _j >= (_3_pTabList.X0) { goto _17 } _2_pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_j))).X4)) _2_pS = (*XSelect)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_j))).X5)) goto _18 _17: _pNC = (*XNameContext)(unsafe.Pointer(_pNC.X4)) _18: goto _9 _10: if _2_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } goto _8 _19: func() int32 { if (_2_pTab != nil) && ((*XTable)(unsafe.Pointer(_pExpr.X14)) == _2_pTab) { return i32(0) } return func() int32 { 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(98432))) crt.X__builtin_abort(tls) return i32(0) }() }() if _2_pS == nil { goto _23 } if _2_iCol < i32(0) || func() int32 { if _2_iCol < ((*XExprList)(unsafe.Pointer(_2_pS.X0)).X0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _27 } _8_p = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_2_pS.X0)).X1) + 32*uintptr(_2_iCol))).X0)) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_sNC)) + uintptr(8 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_2_pS.X8)) *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_sNC)) + uintptr(32 /* X4 */))))) = _pNC *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_sNC)) + uintptr(0 /* X0 */))))) = (*XParse)(unsafe.Pointer(_pNC.X0)) _zType = _columnTypeImpl(tls, &_8_sNC, _8_p, &_estWidth) _27: goto _28 _23: if (*XSchema)(unsafe.Pointer(_2_pTab.X20)) == nil { goto _29 } func() int32 { if _2_pS == nil { return i32(0) } return func() int32 { 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(98460))) crt.X__builtin_abort(tls) return i32(0) }() }() if _2_iCol >= i32(0) { goto _32 } _2_iCol = int32(_2_pTab.X10) _32: func() int32 { if (_2_iCol == i32(-1)) || ((_2_iCol >= i32(0)) && (_2_iCol < int32(_2_pTab.X11))) { return i32(0) } return func() int32 { 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(98464))) crt.X__builtin_abort(tls) return i32(0) }() }() if _2_iCol >= i32(0) { goto _37 } _zType = str(25736) goto _38 _37: _zType = _sqlite3ColumnType(tls, (*XColumn)(unsafe.Pointer(uintptr(_2_pTab.X1)+32*uintptr(_2_iCol))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) _estWidth = (*XColumn)(unsafe.Pointer(uintptr(_2_pTab.X1) + 32*uintptr(_2_iCol))).X5 _38: _29: _28: goto _8 _7: _12_pS = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _12_p = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_12_pS.X0)).X1) + 32*uintptr(i32(0)))).X0)) func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(46336))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sNC)) + uintptr(8 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_12_pS.X8)) *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sNC)) + uintptr(32 /* X4 */))))) = _pNC *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sNC)) + uintptr(0 /* X0 */))))) = (*XParse)(unsafe.Pointer(_pNC.X0)) _zType = _columnTypeImpl(tls, &_12_sNC, _12_p, &_estWidth) goto _8 _8: if _pEstWidth == nil { goto _41 } *_pEstWidth = _estWidth _41: r0 = _zType return } var _columnTypeImplØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_columnTypeImplØ00__func__Ø000[0], str(98508), 15) } func _sqlite3ExprCollSeq(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 *XCollSeq) { // sqlite3.c:90866:1 var _db *Xsqlite3 // sqlite3.c:90867:11 _ = _db var _pColl *XCollSeq // sqlite3.c:90868:11 _ = _pColl var _p *XExpr // sqlite3.c:90869:8 _ = _p var _1_op int32 // sqlite3.c:90871:9 _ = _1_op var _4_j int32 // sqlite3.c:90887:11 _ = _4_j var _5_zColl *int8 // sqlite3.c:90889:20 _ = _5_zColl var _8_pNext *XExpr // sqlite3.c:90898:14 _ = _8_pNext var _9_i int32 // sqlite3.c:90905:15 _ = _9_i _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pColl = nil _p = _pExpr _0: if _p == nil { goto _1 } _1_op = int32(_p.X0) if ((_p.X2) & uint32(i32(512))) == 0 { goto _2 } goto _1 _2: if _1_op != i32(66) && _1_op != i32(156) { goto _4 } _p = (*XExpr)(unsafe.Pointer(_p.X4)) goto _0 _4: if _1_op != i32(53) && (_1_op != i32(157) || int32(_p.X12) != i32(53)) { goto _7 } _pColl = _sqlite3GetCollSeq(tls, _pParse, _db.X14, (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) goto _1 _7: 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)))) { goto _12 } _4_j = int32(_p.X9) if _4_j < i32(0) { goto _13 } _5_zColl = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_p.X14)).X1) + 32*uintptr(_4_j))).X2 _pColl = _sqlite3FindCollSeq(tls, _db, _db.X14, _5_zColl, i32(0)) _13: goto _1 _12: if ((_p.X2) & uint32(i32(256))) == 0 { goto _14 } if (*XExpr)(unsafe.Pointer(_p.X4)) == nil || (((*XExpr)(unsafe.Pointer(_p.X4)).X2)&uint32(i32(256))) == uint32(i32(0)) { goto _16 } _p = (*XExpr)(unsafe.Pointer(_p.X4)) goto _17 _16: _8_pNext = (*XExpr)(unsafe.Pointer(_p.X5)) func() int32 { if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(20808))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || func() int32 { if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _24 } _9_i = i32(0) _25: if func() int32 { if _9_i < ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))).X0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _30 } if (((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_9_i))).X0)).X2) & uint32(i32(256))) == uint32(i32(0)) { goto _31 } _8_pNext = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_9_i))).X0)) goto _30 _31: _9_i += 1 goto _25 _30: _24: _p = _8_pNext _17: goto _32 _14: goto _1 _32: goto _0 _1: if _sqlite3CheckCollSeq(tls, _pParse, _pColl) == 0 { goto _33 } _pColl = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) _33: r0 = _pColl return } var _sqlite3ExprCollSeqØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCollSeqØ00__func__Ø000[0], str(98524), 19) } func _sqlite3CheckCollSeq(tls *crt.TLS, _pParse *XParse, _pColl *XCollSeq) (r0 int32) { // sqlite3.c:104023:1 var _1_zName *int8 // sqlite3.c:104025:16 _ = _1_zName var _1_db *Xsqlite3 // sqlite3.c:104026:13 _ = _1_db var _1_p *XCollSeq // sqlite3.c:104027:13 _ = _1_p if _pColl == nil { goto _0 } _1_zName = _pColl.X0 _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _1_p = _sqlite3GetCollSeq(tls, _pParse, _1_db.X14, _pColl, _1_zName) if _1_p != nil { goto _1 } r0 = i32(1) return _1: func() int32 { if _1_p == _pColl { return i32(0) } return func() int32 { 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(98544))) crt.X__builtin_abort(tls) return i32(0) }() }() _0: r0 = i32(0) return } var _sqlite3CheckCollSeqØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CheckCollSeqØ00__func__Ø000[0], str(98556), 20) } func _sqlite3IndexedByLookup(tls *crt.TLS, _pParse *XParse, _pFrom *TSrcList_item) (r0 int32) { // sqlite3.c:120195:1 var _1_pTab *XTable // sqlite3.c:120197:11 _ = _1_pTab var _1_zIndexedBy *int8 // sqlite3.c:120198:10 _ = _1_zIndexedBy var _1_pIdx *XIndex // sqlite3.c:120199:11 _ = _1_pIdx if (*XTable)(unsafe.Pointer(_pFrom.X4)) == nil || ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(60 /* X9 */))).X1)>>uint(i32(1)))<>uint(i32(31))) == 0 { goto _1 } _1_pTab = (*XTable)(unsafe.Pointer(_pFrom.X4)) _1_zIndexedBy = *(**int8)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(96 /* X15 */))))) _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pTab.X2)) _2: if _1_pIdx == nil || _sqlite3StrICmp(tls, _1_pIdx.X0, _1_zIndexedBy) == 0 { goto _6 } _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pIdx.X5)) goto _2 _6: if _1_pIdx != nil { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(98576), unsafe.Pointer(_1_zIndexedBy), i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) r0 = i32(1) return _7: *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(104 /* X16 */))))) = _1_pIdx _1: r0 = i32(0) return } func _sqliteProcessJoin(tls *crt.TLS, _pParse *XParse, _p *XSelect) (r0 int32) { // sqlite3.c:116651:1 var _pSrc *XSrcList // sqlite3.c:116652:11 _ = _pSrc var _i int32 // sqlite3.c:116653:7 _ = _i var _j int32 // sqlite3.c:116653:10 _ = _j var _pLeft *TSrcList_item // sqlite3.c:116654:23 _ = _pLeft var _pRight *TSrcList_item // sqlite3.c:116655:23 _ = _pRight var _1_pLeftTab *XTable // sqlite3.c:116661:11 _ = _1_pLeftTab var _1_pRightTab *XTable // sqlite3.c:116662:11 _ = _1_pRightTab var _1_isOuter int32 // sqlite3.c:116663:9 _ = _1_isOuter var _4_zName *int8 // sqlite3.c:116678:14 _ = _4_zName var _4_iLeft int32 // sqlite3.c:116679:13 _ = _4_iLeft var _4_iLeftCol int32 // sqlite3.c:116680:13 _ = _4_iLeftCol var _8_pList *XIdList // sqlite3.c:116715:14 _ = _8_pList var _9_zName *int8 // sqlite3.c:116717:14 _ = _9_zName var _9_iLeft int32 // sqlite3.c:116718:13 _ = _9_iLeft var _9_iLeftCol int32 // sqlite3.c:116719:13 _ = _9_iLeftCol var _9_iRightCol int32 // sqlite3.c:116720:13 _ = _9_iRightCol _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) _pLeft = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))) _pRight = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLeft)) + 112*uintptr(i32(1)))) _i = i32(0) _0: if _i >= ((_pSrc.X0) - i32(1)) { goto _3 } _1_pLeftTab = (*XTable)(unsafe.Pointer(_pLeft.X4)) _1_pRightTab = (*XTable)(unsafe.Pointer(_pRight.X4)) if func() int32 { if (_1_pLeftTab == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) || (_1_pRightTab == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _7 } goto _1 _7: _1_isOuter = bool2int((int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight))+uintptr(60 /* X9 */))).X0) & i32(32)) != i32(0)) if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight))+uintptr(60 /* X9 */))).X0) & i32(4)) == 0 { goto _8 } if (*XExpr)(unsafe.Pointer(_pRight.X12)) == nil && (*XIdList)(unsafe.Pointer(_pRight.X13)) == nil { goto _10 } _sqlite3ErrorMsg(tls, _pParse, str(98596), i32(0)) r0 = i32(1) return _10: _j = i32(0) _11: if _j >= int32(_1_pRightTab.X11) { goto _14 } _4_zName = (*XColumn)(unsafe.Pointer(uintptr(_1_pRightTab.X1) + 32*uintptr(_j))).X0 if _tableAndColumnIndex(tls, _pSrc, _i+i32(1), _4_zName, &_4_iLeft, &_4_iLeftCol) == 0 { goto _15 } _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(56 /* X9 */)))))) _15: _j += 1 goto _11 _14: _8: if (*XExpr)(unsafe.Pointer(_pRight.X12)) == nil || (*XIdList)(unsafe.Pointer(_pRight.X13)) == nil { goto _17 } _sqlite3ErrorMsg(tls, _pParse, str(98648)) r0 = i32(1) return _17: if (*XExpr)(unsafe.Pointer(_pRight.X12)) == nil { goto _18 } if _1_isOuter == 0 { goto _19 } _setJoinExpr(tls, (*XExpr)(unsafe.Pointer(_pRight.X12)), _pRight.X11) _19: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X9 */))))) = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(_p.X9)), (*XExpr)(unsafe.Pointer(_pRight.X12))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight)) + uintptr(72 /* X12 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _18: if (*XIdList)(unsafe.Pointer(_pRight.X13)) == nil { goto _20 } _8_pList = (*XIdList)(unsafe.Pointer(_pRight.X13)) _j = i32(0) _21: if _j >= (_8_pList.X1) { goto _24 } _9_zName = (*TIdList_item)(unsafe.Pointer(uintptr(_8_pList.X0) + 16*uintptr(_j))).X0 _9_iRightCol = _columnIndex(tls, _1_pRightTab, _9_zName) if _9_iRightCol >= i32(0) && _tableAndColumnIndex(tls, _pSrc, _i+i32(1), _9_zName, &_9_iLeft, &_9_iLeftCol) != 0 { goto _26 } _sqlite3ErrorMsg(tls, _pParse, str(98704), unsafe.Pointer(_9_zName)) r0 = i32(1) return _26: _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(56 /* X9 */)))))) _j += 1 goto _21 _24: _20: _1: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pRight }())) += uintptr(112) return &_pLeft }())) += uintptr(112) goto _0 _3: r0 = i32(0) return } var _sqliteProcessJoinØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqliteProcessJoinØ00__func__Ø000[0], str(98768), 18) } func _tableAndColumnIndex(tls *crt.TLS, _pSrc *XSrcList, _N int32, _zCol *int8, _piTab *int32, _piCol *int32) (r0 int32) { // sqlite3.c:116526:1 var _i int32 // sqlite3.c:116533:7 _ = _i var _iCol int32 // sqlite3.c:116534:7 _ = _iCol func() int32 { if (_piTab == (*int32)(unsafe.Pointer(uintptr(i32(0))))) == (_piCol == (*int32)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(98788))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= _N { goto _5 } _iCol = _columnIndex(tls, (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_i))).X4)), _zCol) if _iCol < i32(0) { goto _6 } if _piTab == nil { goto _7 } *_piTab = _i *_piCol = _iCol _7: r0 = i32(1) return _6: _i += 1 goto _2 _5: r0 = i32(0) return } var _tableAndColumnIndexØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_tableAndColumnIndexØ00__func__Ø000[0], str(98812), 20) } func _columnIndex(tls *crt.TLS, _pTab *XTable, _zCol *int8) (r0 int32) { // sqlite3.c:116509:1 var _i int32 // sqlite3.c:116510:7 _ = _i _i = i32(0) _0: if _i >= int32(_pTab.X11) { goto _3 } if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X0, _zCol) != i32(0) { goto _4 } r0 = _i return _4: _i += 1 goto _0 _3: r0 = i32(-1) return } 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 var _db *Xsqlite3 // sqlite3.c:116571:11 _ = _db var _pE1 *XExpr // sqlite3.c:116572:8 _ = _pE1 var _pE2 *XExpr // sqlite3.c:116573:8 _ = _pE2 var _pEq *XExpr // sqlite3.c:116574:8 _ = _pEq _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _iLeft < _iRight { return i32(0) } return func() int32 { 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(98832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pSrc.X0) > _iRight { return i32(0) } return func() int32 { 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(98848))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_iLeft))).X4)) != nil { return i32(0) } return func() int32 { 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(98868))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_iRight))).X4)) != nil { return i32(0) } return func() int32 { 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(98888))) crt.X__builtin_abort(tls) return i32(0) }() }() _pE1 = _sqlite3CreateColumnExpr(tls, _db, _pSrc, _iLeft, _iColLeft) _pE2 = _sqlite3CreateColumnExpr(tls, _db, _pSrc, _iRight, _iColRight) _pEq = _sqlite3PExpr(tls, _pParse, i32(37), _pE1, _pE2) if _pEq == nil || _isOuterJoin == 0 { goto _9 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEq)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } func() int32 { if ((_pEq.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(98912))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEq)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEq)) + uintptr(52 /* X11 */))) = int16(_pE2.X8) _9: *_ppWhere = _sqlite3ExprAnd(tls, _db, *_ppWhere, _pEq) return } var _addWhereTermØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_addWhereTermØ00__func__Ø000[0], str(98960), 13) } func _sqlite3CreateColumnExpr(tls *crt.TLS, _db *Xsqlite3, _pSrc *XSrcList, _iSrc int32, _iCol int32) (r0 *XExpr) { // sqlite3.c:89691:1 var _p *XExpr // sqlite3.c:89692:8 _ = _p var _1_pItem *TSrcList_item // sqlite3.c:89694:25 _ = _1_pItem _p = _sqlite3ExprAlloc(tls, _db, i32(152), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) if _p == nil { goto _0 } _1_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_iSrc))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X14 */))))) = (*XTable)(unsafe.Pointer(_1_pItem.X4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X8 */))) = _1_pItem.X11 if int32((*XTable)(unsafe.Pointer(_p.X14)).X10) != _iCol { goto _1 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X9 */))) = int16(i32(-1)) goto _2 _1: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X9 */))) = int16(_iCol) { p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(88 /* X14 */))) *p = (*p) | (u64(1) << uint(func() int32 { if _iCol >= i32(64) { return i32(63) } return _iCol }())) sink992 = *p } _2: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(4)) sink985 = *p } _0: r0 = _p return } func _sqlite3PExpr(tls *crt.TLS, _pParse *XParse, _op int32, _pLeft *XExpr, _pRight *XExpr) (r0 *XExpr) { // sqlite3.c:91556:1 var _p *XExpr // sqlite3.c:91562:8 _ = _p if _op != i32(28) || (_pParse.X16) != i32(0) { goto _1 } _p = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pLeft, _pRight) goto _2 _1: _p = (*XExpr)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), u64(72)))) if _p == nil { goto _3 } crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(72)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(_op & i32(255)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X10 */))) = int16(i32(-1)) _3: _sqlite3ExprAttachSubtrees(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _p, _pLeft, _pRight) _2: if _p == nil { goto _4 } _sqlite3ExprCheckHeight(tls, _pParse, _p.X7) _4: r0 = _p return } func _sqlite3ExprAnd(tls *crt.TLS, _db *Xsqlite3, _pLeft *XExpr, _pRight *XExpr) (r0 *XExpr) { // sqlite3.c:91632:1 var _4_pNew *XExpr // sqlite3.c:91642:10 _ = _4_pNew if _pLeft != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _pRight return _0: if _pRight != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = _pLeft return _2: if _exprAlwaysFalse(tls, _pLeft) == 0 && _exprAlwaysFalse(tls, _pRight) == 0 { goto _5 } _sqlite3ExprDelete(tls, _db, _pLeft) _sqlite3ExprDelete(tls, _db, _pRight) r0 = _sqlite3ExprAlloc(tls, _db, i32(134), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3IntTokens))+16*uintptr(i32(0)))), i32(0)) return _5: _4_pNew = _sqlite3ExprAlloc(tls, _db, i32(28), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _sqlite3ExprAttachSubtrees(tls, _db, _4_pNew, _pLeft, _pRight) r0 = _4_pNew return } func _exprAlwaysFalse(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:91617:1 var _v int32 // sqlite3.c:91618:7 _ = _v _v = i32(0) if ((_p.X2) & uint32(i32(1))) == uint32(i32(0)) { goto _0 } r0 = i32(0) return _0: if _sqlite3ExprIsInteger(tls, _p, &_v) != 0 { goto _1 } r0 = i32(0) return _1: r0 = bool2int(_v == i32(0)) return } func _sqlite3ExprIsInteger(tls *crt.TLS, _p *XExpr, _pValue *int32) (r0 int32) { // sqlite3.c:92595:1 var _rc int32 // sqlite3.c:92596:7 _ = _rc var _4_v int32 // sqlite3.c:92614:11 _ = _4_v _rc = i32(0) if _p != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: func() int32 { if ((int32(_p.X0) != i32(134)) || (((_p.X2) & uint32(i32(1024))) != uint32(i32(0)))) || (_sqlite3GetInt32(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))), &_rc) == i32(0)) { return i32(0) } return func() int32 { 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(98976))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_p.X2) & uint32(i32(1024))) == 0 { goto _5 } *_pValue = *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))) r0 = i32(1) return _5: switch int32(_p.X0) { case i32(155): goto _8 case i32(156): goto _7 default: goto _9 } _7: _rc = _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_p.X4)), _pValue) goto _10 _8: if _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_p.X4)), &_4_v) == 0 { goto _11 } func() int32 { if _4_v != i32(-2147483648) { return i32(0) } return func() int32 { 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(99068))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pValue = -_4_v _rc = i32(1) _11: goto _10 _9: goto _10 _10: r0 = _rc return } var _sqlite3ExprIsIntegerØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprIsIntegerØ00__func__Ø000[0], str(99088), 21) } var _sqlite3IntTokens [2]XToken // sqlite3.c:17382:28 func init() { _sqlite3IntTokens = [2]XToken{XToken{X0: str(3880), X1: u32(1)}, XToken{X0: str(51524), X1: u32(1)}} } func _sqlite3ExprAttachSubtrees(tls *crt.TLS, _db *Xsqlite3, _pRoot *XExpr, _pLeft *XExpr, _pRight *XExpr) { // sqlite3.c:91526:1 if _pRoot != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprDelete(tls, _db, _pLeft) _sqlite3ExprDelete(tls, _db, _pRight) goto _3 _0: if _pRight == nil { goto _4 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(24 /* X5 */))))) = _pRight { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(4 /* X2 */))) *p = (*p) | (uint32(i32(2097408)) & (_pRight.X2)) sink985 = *p } _4: if _pLeft == nil { goto _5 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(16 /* X4 */))))) = _pLeft { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(4 /* X2 */))) *p = (*p) | (uint32(i32(2097408)) & (_pLeft.X2)) sink985 = *p } _5: _exprSetHeight(tls, _pRoot) _3: return } var _sqlite3ExprAttachSubtreesØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprAttachSubtreesØ00__func__Ø000[0], str(99112), 26) } func _exprSetHeight(tls *crt.TLS, _p *XExpr) { // sqlite3.c:91391:1 var _nHeight int32 // sqlite3.c:91392:7 _ = _nHeight _nHeight = i32(0) _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X4)), &_nHeight) _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X5)), &_nHeight) if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _0 } _heightOfSelect(tls, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))), &_nHeight) goto _1 _0: if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == nil { goto _2 } _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))), &_nHeight) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) *p = (*p) | (uint32(i32(2097408)) & _sqlite3ExprListFlags(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))))) sink985 = *p } _2: _1: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X7 */))) = _nHeight + i32(1) return } func _heightOfExpr(tls *crt.TLS, _p *XExpr, _pnHeight *int32) { // sqlite3.c:91353:1 if _p == nil { goto _0 } if (_p.X7) <= (*_pnHeight) { goto _1 } *_pnHeight = _p.X7 _1: _0: return } func _heightOfSelect(tls *crt.TLS, _p *XSelect, _pnHeight *int32) { // sqlite3.c:91368:1 if _p == nil { goto _0 } _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X9)), _pnHeight) _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X11)), _pnHeight) _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X15)), _pnHeight) _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X16)), _pnHeight) _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(_p.X0)), _pnHeight) _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(_p.X10)), _pnHeight) _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(_p.X12)), _pnHeight) _heightOfSelect(tls, (*XSelect)(unsafe.Pointer(_p.X13)), _pnHeight) _0: return } func _heightOfExprList(tls *crt.TLS, _p *XExprList, _pnHeight *int32) { // sqlite3.c:91360:1 var _1_i int32 // sqlite3.c:91362:9 _ = _1_i if _p == nil { goto _0 } _1_i = i32(0) _1: if _1_i >= (_p.X0) { goto _4 } _heightOfExpr(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(_1_i))).X0)), _pnHeight) _1_i += 1 goto _1 _4: _0: return } func _sqlite3ExprListFlags(tls *crt.TLS, _pList *XExprList) (r0 uint32) { // sqlite3.c:92419:1 var _i int32 // sqlite3.c:92420:7 _ = _i var _m uint32 // sqlite3.c:92421:7 _ = _m var _2_pExpr *XExpr // sqlite3.c:92424:13 _ = _2_pExpr _m = u32(0) if _pList == nil { goto _0 } _i = i32(0) _1: if _i >= (_pList.X0) { goto _4 } _2_pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(_i))).X0)) func() int32 { if _2_pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44732))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_m *p = (*p) | (_2_pExpr.X2) sink985 = *p } _i += 1 goto _1 _4: _0: r0 = _m return } var _sqlite3ExprListFlagsØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListFlagsØ00__func__Ø000[0], str(99140), 21) } func _sqlite3ExprCheckHeight(tls *crt.TLS, _pParse *XParse, _nHeight int32) (r0 int32) { // sqlite3.c:91332:1 var _rc int32 // sqlite3.c:91333:7 _ = _rc var _mxHeight int32 // sqlite3.c:91334:7 _ = _mxHeight _rc = i32(0) _mxHeight = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(3)))) if _nHeight <= _mxHeight { goto _0 } _sqlite3ErrorMsg(tls, _pParse, str(99164), _mxHeight) _rc = i32(1) _0: r0 = _rc return } func _setJoinExpr(tls *crt.TLS, _p *XExpr, _iTable int32) { // sqlite3.c:116620:1 var _2_i int32 // sqlite3.c:116627:11 _ = _2_i _0: if _p == nil { goto _1 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } func() int32 { if ((_p.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(50868))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X11 */))) = int16(_iTable) if int32(_p.X0) != i32(151) || (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == nil { goto _5 } _2_i = i32(0) _6: if _2_i >= ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))).X0) { goto _9 } _setJoinExpr(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))).X1)+32*uintptr(_2_i))).X0)), _iTable) _2_i += 1 goto _6 _9: _5: _setJoinExpr(tls, (*XExpr)(unsafe.Pointer(_p.X4)), _iTable) _p = (*XExpr)(unsafe.Pointer(_p.X5)) goto _0 _1: return } var _setJoinExprØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_setJoinExprØ00__func__Ø000[0], str(99212), 12) } func _sqlite3MatchSpanName(tls *crt.TLS, _zSpan *int8, _zCol *int8, _zTab *int8, _zDb *int8) (r0 int32) { // sqlite3.c:89313:1 var _n int32 // sqlite3.c:89319:7 _ = _n _n = i32(0) _0: if func() int32 { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) != 0 { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) == i32(46) { goto _6 } _n += 1 goto _0 _6: if _zDb == nil || Xsqlite3_strnicmp(tls, _zSpan, _zDb, _n) == i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDb)) + 1*uintptr(_n)))) == i32(0) { goto _9 } r0 = i32(0) return _9: { p := &_zSpan *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n+i32(1)))) sink1025 = *p } _n = i32(0) _10: if func() int32 { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) != 0 { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) == i32(46) { goto _16 } _n += 1 goto _10 _16: if _zTab == nil || Xsqlite3_strnicmp(tls, _zSpan, _zTab, _n) == i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTab)) + 1*uintptr(_n)))) == i32(0) { goto _19 } r0 = i32(0) return _19: { p := &_zSpan *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n+i32(1)))) sink1025 = *p } if _zCol == nil || _sqlite3StrICmp(tls, _zSpan, _zCol) == i32(0) { goto _21 } r0 = i32(0) return _21: r0 = i32(1) return } var _sqlite3MatchSpanNameØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MatchSpanNameØ00__func__Ø000[0], str(99224), 21) } func _sqlite3IdListIndex(tls *crt.TLS, _pList *XIdList, _zName *int8) (r0 int32) { // sqlite3.c:103084:1 var _i int32 // sqlite3.c:103085:7 _ = _i if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(-1) return _0: _i = i32(0) _1: if _i >= (_pList.X1) { goto _4 } if _sqlite3StrICmp(tls, (*TIdList_item)(unsafe.Pointer(uintptr(_pList.X0)+16*uintptr(_i))).X0, _zName) != i32(0) { goto _5 } r0 = _i return _5: _i += 1 goto _1 _4: r0 = i32(-1) return } func _sqlite3TokenInit(tls *crt.TLS, _p *XToken, _z *int8) { // sqlite3.c:27885:1 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _z *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint32(_sqlite3Strlen30(tls, _z)) return } func _sqlite3ExprListSetName(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pName *XToken, _dequote int32) { // sqlite3.c:92337:1 var _1_pItem *TExprList_item // sqlite3.c:92345:26 _ = _1_pItem func() int32 { if (_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != i32(0)) { return i32(0) } return func() int32 { 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(99248))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pList == nil { goto _3 } func() int32 { if (_pList.X0) > i32(0) { return i32(0) } return func() int32 { 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(49244))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_pItem = (*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr((_pList.X0)-i32(1)))) func() int32 { if (_1_pItem.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(99288))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(8 /* X1 */))) = _sqlite3DbStrNDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName.X0, uint64(_pName.X1)) if _dequote == 0 { goto _8 } _sqlite3Dequote(tls, _1_pItem.X1) _8: _3: return } var _sqlite3ExprListSetNameØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListSetNameØ00__func__Ø000[0], str(99304), 23) } func _selectPopWith(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) { // sqlite3.c:120488:1 var _pParse *XParse // sqlite3.c:120489:9 _ = _pParse var _1_pWith *XWith // sqlite3.c:120491:10 _ = _1_pWith _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) if (*XWith)(unsafe.Pointer(_pParse.X70)) == nil || (*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _1_pWith = (*XWith)(unsafe.Pointer(_findRightmost(tls, _p).X17)) if _1_pWith == (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } func() int32 { if (*XWith)(unsafe.Pointer(_pParse.X70)) == _1_pWith { return i32(0) } return func() int32 { 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(99328))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(584 /* X70 */))))) = (*XWith)(unsafe.Pointer(_1_pWith.X1)) _2: _1: return } func _findRightmost(tls *crt.TLS, _p *XSelect) (r0 *XSelect) { // sqlite3.c:116426:1 _0: if (*XSelect)(unsafe.Pointer(_p.X14)) == nil { goto _1 } _p = (*XSelect)(unsafe.Pointer(_p.X14)) goto _0 _1: r0 = _p return } var _selectPopWithØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_selectPopWithØ00__func__Ø000[0], str(99352), 14) } func _sqlite3ResolveSelectNames(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pOuterNC *XNameContext) { // sqlite3.c:90682:1 var _w XWalker // sqlite3.c:90687:10 _ = _w func() int32 { if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _resolveExprStep *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))))) = _resolveSelectStep *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pParse *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))))) = _pOuterNC _sqlite3WalkSelect(tls, &_w, _p) return } var _sqlite3ResolveSelectNamesØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ResolveSelectNamesØ00__func__Ø000[0], str(99368), 26) } func _resolveExprStep(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89756:1 var _pNC *XNameContext // sqlite3.c:89757:15 _ = _pNC var _pParse *XParse // sqlite3.c:89758:9 _ = _pParse var _1_pSrcList *XSrcList // sqlite3.c:89769:13 _ = _1_pSrcList var _1_i int32 // sqlite3.c:89770:9 _ = _1_i var _4_zColumn *int8 // sqlite3.c:89808:18 _ = _4_zColumn var _4_zTable *int8 // sqlite3.c:89809:18 _ = _4_zTable var _4_zDb *int8 // sqlite3.c:89810:18 _ = _4_zDb var _4_pRight *XExpr // sqlite3.c:89811:12 _ = _4_pRight var _9_pList *XExprList // sqlite3.c:89837:16 _ = _9_pList var _9_n int32 // sqlite3.c:89838:11 _ = _9_n var _9_no_such_func int32 // sqlite3.c:89839:11 _ = _9_no_such_func var _9_wrong_num_args int32 // sqlite3.c:89840:11 _ = _9_wrong_num_args var _9_is_agg int32 // sqlite3.c:89841:11 _ = _9_is_agg var _9_nId int32 // sqlite3.c:89842:11 _ = _9_nId var _9_zId *int8 // sqlite3.c:89843:18 _ = _9_zId var _9_pDef *XFuncDef // sqlite3.c:89844:15 _ = _9_pDef var _9_enc uint8 // sqlite3.c:89845:10 _ = _9_enc var _18_auth int32 // sqlite3.c:89885:15 _ = _18_auth var _26_pNC2 *XNameContext // sqlite3.c:89930:21 _ = _26_pNC2 var _30_nRef int32 // sqlite3.c:89958:13 _ = _30_nRef var _33_nLeft int32 // sqlite3.c:89982:11 _ = _33_nLeft var _33_nRight int32 // sqlite3.c:89982:18 _ = _33_nRight _pNC = (*XNameContext)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))) func() int32 { if _pNC != (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(99396))) crt.X__builtin_abort(tls) return i32(0) }() }() _pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) func() int32 { if _pParse == (*XParse)(unsafe.Pointer(_pWalker.X0)) { return i32(0) } return func() int32 { 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(99404))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pExpr.X2) & uint32(i32(4))) == uint32(i32(0)) { goto _4 } r0 = i32(1) return _4: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(4)) sink985 = *p } if (*XSrcList)(unsafe.Pointer(_pNC.X1)) == nil || ((*XSrcList)(unsafe.Pointer(_pNC.X1)).X1) <= uint32(i32(0)) { goto _6 } _1_pSrcList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) _1_i = i32(0) _7: if _1_i >= ((*XSrcList)(unsafe.Pointer(_pNC.X1)).X0) { goto _10 } func() int32 { if (((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrcList))+uintptr(8 /* X2 */))))) + 112*uintptr(_1_i))).X11) >= i32(0)) && (((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrcList))+uintptr(8 /* X2 */))))) + 112*uintptr(_1_i))).X11) < (_pParse.X17)) { return i32(0) } return func() int32 { 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(99428))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_i += 1 goto _7 _10: _6: switch int32(_pExpr.X0) { case i32(20): goto _19 case i32(29): goto _29 case i32(32): goto _22 case i32(33): goto _20 case i32(36): goto _24 case i32(37): goto _23 case i32(38): goto _27 case i32(39): goto _26 case i32(40): goto _25 case i32(41): goto _28 case i32(55): goto _15 case i32(119): goto _18 case i32(122): goto _16 case i32(135): goto _21 case i32(148): goto _30 case i32(151): goto _17 default: goto _31 } _15: _16: if int32(_pExpr.X0) != i32(55) { goto _32 } _4_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _4_zTable = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _4_zColumn = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) goto _33 _32: _notValid(tls, _pParse, _pNC, str(99496), i32(32)) _4_pRight = (*XExpr)(unsafe.Pointer(_pExpr.X5)) if int32(_4_pRight.X0) != i32(55) { goto _34 } _4_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _4_zTable = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(8 /* X3 */))))) _4_zColumn = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pRight)) + uintptr(8 /* X3 */))))) goto _35 _34: func() int32 { if int32(_4_pRight.X0) == i32(122) { return i32(0) } return func() int32 { 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(99516))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_zDb = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(8 /* X3 */))))) _4_zTable = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_4_pRight.X4) + uintptr(8 /* X3 */))))) _4_zColumn = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_4_pRight.X5) + uintptr(8 /* X3 */))))) _35: _33: r0 = _lookupName(tls, _pParse, _4_zDb, _4_zTable, _4_zColumn, _pNC, _pExpr) return _17: _9_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _9_n = func() int32 { if _9_pList != nil { return (_9_pList.X0) } return i32(0) }() _9_no_such_func = i32(0) _9_wrong_num_args = i32(0) _9_is_agg = i32(0) _9_enc = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X14 func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() _9_zId = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) _9_nId = _sqlite3Strlen30(tls, _9_zId) _9_pDef = _sqlite3FindFunction(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_zId, _9_n, _9_enc, uint8(i32(0))) if _9_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { goto _42 } _9_pDef = _sqlite3FindFunction(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_zId, i32(-2), _9_enc, uint8(i32(0))) if _9_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { goto _43 } _9_no_such_func = i32(1) goto _44 _43: _9_wrong_num_args = i32(1) _44: goto _45 _42: _9_is_agg = bool2int(*(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{(*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(_9_pDef.X5)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context) }{nil}))) if (int32(_9_pDef.X1) & i32(1024)) == 0 { goto _46 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(266240)) sink985 = *p } if _9_n != i32(2) { goto _47 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = _exprProbability(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_9_pList.X1)+32*uintptr(i32(1)))).X0))) if (_pExpr.X8) >= i32(0) { goto _48 } _sqlite3ErrorMsg(tls, _pParse, str(99536)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(44 /* X6 */))) += 1 _48: goto _49 _47: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pDef.X6)) + 1*uintptr(i32(0))))) == i32(117) { return i32(8388608) } return i32(125829120) }() _49: _46: _18_auth = _sqlite3AuthCheck(tls, _pParse, i32(31), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _9_pDef.X6, (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _18_auth == i32(0) { goto _52 } if _18_auth != i32(1) { goto _53 } _sqlite3ErrorMsg(tls, _pParse, str(99608), unsafe.Pointer(_9_pDef.X6)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(44 /* X6 */))) += 1 _53: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) r0 = i32(1) return _52: if (int32(_9_pDef.X1) & i32(10240)) == 0 { goto _54 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(524288)) sink985 = *p } _54: if (int32(_9_pDef.X1) & i32(2048)) != i32(0) { goto _55 } _notValid(tls, _pParse, _pNC, str(99644), i32(34)) _55: _45: if _9_is_agg == 0 || (int32(_pNC.X7)&i32(1)) != i32(0) { goto _57 } _sqlite3ErrorMsg(tls, _pParse, str(99672), _9_nId, unsafe.Pointer(_9_zId)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(44 /* X6 */))) += 1 _9_is_agg = i32(0) goto _58 _57: if _9_no_such_func == 0 || int32((*T5414794)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(164 /* X33 */))).X2) != i32(0) { goto _60 } _sqlite3ErrorMsg(tls, _pParse, str(99708), _9_nId, unsafe.Pointer(_9_zId)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(44 /* X6 */))) += 1 goto _61 _60: if _9_wrong_num_args == 0 { goto _62 } _sqlite3ErrorMsg(tls, _pParse, str(99732), _9_nId, unsafe.Pointer(_9_zId)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(44 /* X6 */))) += 1 _62: _61: _58: if _9_is_agg == 0 { goto _63 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) & i32(-2)) sink4530 = *p } _63: _sqlite3WalkExprList(tls, _pWalker, _9_pList) if _9_is_agg == 0 { goto _64 } _26_pNC2 = _pNC *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(153)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(54 /* X12 */))) = uint8(i32(0)) _65: if _26_pNC2 == nil || _sqlite3FunctionUsesThisSrc(tls, _pExpr, (*XSrcList)(unsafe.Pointer(_26_pNC2.X1))) != 0 { goto _66 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(54 /* X12 */))) += 1 _26_pNC2 = (*XNameContext)(unsafe.Pointer(_26_pNC2.X4)) goto _65 _66: func() int32 { if _9_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(99780))) crt.X__builtin_abort(tls) return i32(0) }() }() if _26_pNC2 == nil { goto _70 } i32(0) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNC2)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) | (i32(16) | (int32(_9_pDef.X1) & i32(4096)))) sink4530 = *p } _70: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _64: r0 = i32(1) return _18: _19: _20: if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _71 } _30_nRef = _pNC.X5 _notValid(tls, _pParse, _pNC, str(99788), i32(38)) _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) func() int32 { if (_pNC.X5) >= _30_nRef { return i32(0) } return func() int32 { 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(99800))) crt.X__builtin_abort(tls) return i32(0) }() }() if _30_nRef == (_pNC.X5) { goto _74 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(32)) sink985 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) | i32(64)) sink4530 = *p } _74: _71: goto _31 _21: _notValid(tls, _pParse, _pNC, str(99816), i32(38)) goto _31 _22: _23: _24: _25: _26: _27: _28: _29: _30: if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { goto _75 } goto _31 _75: func() int32 { if (*XExpr)(unsafe.Pointer(_pExpr.X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(99828))) crt.X__builtin_abort(tls) return i32(0) }() }() _33_nLeft = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) if int32(_pExpr.X0) != i32(32) { goto _78 } _33_nRight = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1)+32*uintptr(i32(0)))).X0))) if _33_nRight != _33_nLeft { goto _79 } _33_nRight = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1)+32*uintptr(i32(1)))).X0))) _79: goto _80 _78: func() int32 { if (*XExpr)(unsafe.Pointer(_pExpr.X5)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(99844))) crt.X__builtin_abort(tls) return i32(0) }() }() _33_nRight = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) _80: if _33_nLeft == _33_nRight { goto _83 } _sqlite3ErrorMsg(tls, _pParse, str(44256)) _83: goto _31 _31: r0 = func() int32 { if (_pParse.X16) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(2) } return i32(0) }() return } var _resolveExprStepØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_resolveExprStepØ00__func__Ø000[0], str(99864), 16) } func _notValid(tls *crt.TLS, _pParse *XParse, _pNC *XNameContext, _zMsg *int8, _validMask int32) { // sqlite3.c:89714:1 var _1_zIn *int8 // sqlite3.c:89722:16 _ = _1_zIn func() int32 { if (_validMask & i32(-39)) == i32(0) { return i32(0) } return func() int32 { 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(99880))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pNC.X7) & _validMask) == i32(0) { goto _2 } _1_zIn = str(99932) if (int32(_pNC.X7) & i32(32)) == 0 { goto _3 } _1_zIn = str(99960) goto _4 _3: if (int32(_pNC.X7) & i32(4)) == 0 { goto _5 } _1_zIn = str(99980) _5: _4: _sqlite3ErrorMsg(tls, _pParse, str(100000), unsafe.Pointer(_zMsg), unsafe.Pointer(_1_zIn)) _2: return } var _notValidØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_notValidØ00__func__Ø000[0], str(100020), 9) } func _lookupName(tls *crt.TLS, _pParse *XParse, _zDb *int8, _zTab *int8, _zCol *int8, _pNC *XNameContext, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89363:1 var _i int32 // sqlite3.c:89371:7 _ = _i var _j int32 // sqlite3.c:89371:10 _ = _j var _cnt int32 // sqlite3.c:89372:7 _ = _cnt var _cntTab int32 // sqlite3.c:89373:7 _ = _cntTab var _nSubquery int32 // sqlite3.c:89374:7 _ = _nSubquery var _db *Xsqlite3 // sqlite3.c:89375:11 _ = _db var _pItem *TSrcList_item // sqlite3.c:89376:23 _ = _pItem var _pMatch *TSrcList_item // sqlite3.c:89377:23 _ = _pMatch var _pTopNC *XNameContext // sqlite3.c:89378:15 _ = _pTopNC var _pSchema *XSchema // sqlite3.c:89379:10 _ = _pSchema var _isTrigger int32 // sqlite3.c:89380:7 _ = _isTrigger var _pTab *XTable // sqlite3.c:89381:9 _ = _pTab var _pCol *XColumn // sqlite3.c:89382:10 _ = _pCol var _6_pEList *XExprList // sqlite3.c:89420:14 _ = _6_pEList var _6_pSrcList *XSrcList // sqlite3.c:89421:13 _ = _6_pSrcList var _9_hit int32 // sqlite3.c:89429:15 _ = _9_hit var _13_zTabName *int8 // sqlite3.c:89446:22 _ = _13_zTabName var _21_op int32 // sqlite3.c:89490:11 _ = _21_op var _25_iCol int32 // sqlite3.c:89503:13 _ = _25_iCol var _36_zAs *int8 // sqlite3.c:89577:14 _ = _36_zAs var _37_pOrig *XExpr // sqlite3.c:89579:16 _ = _37_pOrig var _41_zErr *int8 // sqlite3.c:89631:16 _ = _41_zErr var _45_n int32 // sqlite3.c:89651:9 _ = _45_n _cnt = i32(0) _cntTab = i32(0) _nSubquery = i32(0) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pMatch = nil _pTopNC = _pNC _pSchema = nil _isTrigger = i32(0) _pTab = nil func() int32 { if _pNC != nil { return i32(0) } return func() int32 { 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(100032))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _zCol != nil { return i32(0) } return func() int32 { 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(100036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(100044))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = i32(-1) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(64 /* X14 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } if _zDb == nil { goto _6 } if (int32(_pNC.X7) & i32(6)) == i32(0) { goto _7 } _zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _8 _7: _i = i32(0) _9: if _i >= (_db.X5) { goto _12 } func() int32 { if ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X0) != nil { return i32(0) } return func() int32 { 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(100096))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3StrICmp(tls, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_i))).X0, _zDb) != i32(0) { goto _15 } _pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X4)) goto _12 _15: _i += 1 goto _9 _12: _8: _6: func() int32 { if (_pNC != nil) && (_cnt == i32(0)) { return i32(0) } return func() int32 { 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(100116))) crt.X__builtin_abort(tls) return i32(0) }() }() _19: _6_pSrcList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) if _6_pSrcList == nil { goto _20 } *func() **TSrcList_item { _i = i32(0); return &_pItem }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pSrcList)) + uintptr(8 /* X2 */))))) _21: if _i >= (_6_pSrcList.X0) { goto _24 } _pTab = (*XTable)(unsafe.Pointer(_pItem.X4)) func() int32 { if (_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0))))) && ((_pTab.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(100132))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pTab.X11) > i32(0) { return i32(0) } return func() int32 { 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(100160))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XSelect)(unsafe.Pointer(_pItem.X5)) == nil || (((*XSelect)(unsafe.Pointer(_pItem.X5)).X3)&uint32(i32(2048))) == uint32(i32(0)) { goto _31 } _9_hit = i32(0) _6_pEList = (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_pItem.X5)).X0)) _j = i32(0) _32: if _j >= (_6_pEList.X0) { goto _35 } if _sqlite3MatchSpanName(tls, (*TExprList_item)(unsafe.Pointer(uintptr(_6_pEList.X1)+32*uintptr(_j))).X2, _zCol, _zTab, _zDb) == 0 { goto _36 } _cnt += 1 _cntTab = i32(2) _pMatch = _pItem *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(48 /* X9 */))) = int16(_j) _9_hit = i32(1) _36: _j += 1 goto _32 _35: if _9_hit == 0 && _zTab != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _38 } goto _22 _38: _31: if _zDb == nil || (*XSchema)(unsafe.Pointer(_pTab.X20)) == _pSchema { goto _40 } goto _22 _40: if _zTab == nil { goto _41 } _13_zTabName = func() *int8 { if (_pItem.X3) != nil { return (_pItem.X3) } return (_pTab.X0) }() func() int32 { if _13_zTabName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(100176))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3StrICmp(tls, _13_zTabName, _zTab) == i32(0) { goto _46 } goto _22 _46: _41: if i32(0) != postInc961(&_cntTab, int32(1)) { goto _47 } _pMatch = _pItem _47: *func() **XColumn { _j = i32(0); return &_pCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) _48: if _j >= int32(_pTab.X11) { goto _51 } if _sqlite3StrICmp(tls, _pCol.X0, _zCol) != i32(0) { goto _52 } if _cnt != i32(1) { goto _53 } if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X0) & i32(4)) == 0 { goto _54 } goto _49 _54: if _nameInUsingClause(tls, (*XIdList)(unsafe.Pointer(_pItem.X13)), _zCol) == 0 { goto _55 } goto _49 _55: _53: _cnt += 1 _pMatch = _pItem *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(48 /* X9 */))) = int16(func() int32 { if _j == int32(_pTab.X10) { return i32(-1) } return int32(int16(_j)) }()) goto _51 _52: _49: *(*uintptr)(unsafe.Pointer(func() **XColumn { _j += 1; return &_pCol }())) += uintptr(32) goto _48 _51: _22: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pItem }())) += uintptr(112) goto _21 _24: if _pMatch == nil { goto _58 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = _pMatch.X11 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(64 /* X14 */))))) = (*XTable)(unsafe.Pointer(_pMatch.X4)) func() int32 { if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMatch))+uintptr(60 /* X9 */))).X0) & i32(16)) == i32(0) { return i32(0) } return func() int32 { 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(100188))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMatch))+uintptr(60 /* X9 */))).X0) & i32(8)) == i32(0) { goto _61 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1048576)) sink985 = *p } _61: _pSchema = (*XSchema)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pExpr.X14)).X20)) _58: _20: 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)))) { goto _65 } _21_op = int32(_pParse.X45) func() int32 { if ((_21_op == i32(109)) || (_21_op == i32(110))) || (_21_op == i32(108)) { return i32(0) } return func() int32 { 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(100224))) crt.X__builtin_abort(tls) return i32(0) }() }() if _21_op == i32(109) || _sqlite3StrICmp(tls, str(44248), _zTab) != i32(0) { goto _71 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = i32(1) _pTab = (*XTable)(unsafe.Pointer(_pParse.X40)) goto _72 _71: if _21_op == i32(108) || _sqlite3StrICmp(tls, str(44252), _zTab) != i32(0) { goto _74 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = i32(0) _pTab = (*XTable)(unsafe.Pointer(_pParse.X40)) goto _75 _74: _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _75: _72: if _pTab == nil { goto _76 } _pSchema = (*XSchema)(unsafe.Pointer(_pTab.X20)) _cntTab += 1 *func() **XColumn { _25_iCol = i32(0); return &_pCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) _77: if _25_iCol >= int32(_pTab.X11) { goto _80 } if _sqlite3StrICmp(tls, _pCol.X0, _zCol) != i32(0) { goto _81 } if _25_iCol != int32(_pTab.X10) { goto _82 } _25_iCol = i32(-1) _82: goto _80 _81: *(*uintptr)(unsafe.Pointer(func() **XColumn { _25_iCol += 1; return &_pCol }())) += uintptr(32) goto _77 _80: if _25_iCol < int32(_pTab.X11) || _sqlite3IsRowid(tls, _zCol) == 0 || ((_pTab.X9)&uint32(i32(64))) != uint32(i32(0)) { goto _85 } _25_iCol = i32(-1) _85: if _25_iCol >= int32(_pTab.X11) { goto _86 } _cnt += 1 if _25_iCol >= i32(0) { goto _87 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = int8(i32(68)) goto _88 _87: if (_pExpr.X8) != i32(0) { goto _89 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(192 /* X43 */))) *p = (*p) | func() uint32 { if _25_iCol >= i32(32) { return u32(4294967295) } return (u32(1) << uint(_25_iCol)) }() sink985 = *p } goto _92 _89: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(196 /* X44 */))) *p = (*p) | func() uint32 { if _25_iCol >= i32(32) { return u32(4294967295) } return (u32(1) << uint(_25_iCol)) }() sink985 = *p } _92: _88: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(48 /* X9 */))) = int16(_25_iCol) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(64 /* X14 */))))) = _pTab _isTrigger = i32(1) _86: _76: _65: 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)) { goto _100 } _cnt = i32(1) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(48 /* X9 */))) = int16(i32(-1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = int8(i32(68)) _100: if store5429888(&_6_pEList, (*XExprList)(unsafe.Pointer(_pNC.X2))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || _zTab != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _cnt != i32(0) { goto _103 } _j = i32(0) _104: if _j >= (_6_pEList.X0) { goto _107 } _36_zAs = (*TExprList_item)(unsafe.Pointer(uintptr(_6_pEList.X1) + 32*uintptr(_j))).X1 if _36_zAs == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3StrICmp(tls, _36_zAs, _zCol) != i32(0) { goto _109 } func() int32 { if ((*XExpr)(unsafe.Pointer(_pExpr.X4)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer(_pExpr.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(100272))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(100308))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(100328))) crt.X__builtin_abort(tls) return i32(0) }() }() _37_pOrig = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_6_pEList.X1) + 32*uintptr(_j))).X0)) if (int32(_pNC.X7)&i32(1)) != i32(0) || ((_37_pOrig.X2)&uint32(i32(2))) == uint32(i32(0)) { goto _118 } _sqlite3ErrorMsg(tls, _pParse, str(100348), unsafe.Pointer(_36_zAs)) r0 = i32(2) return _118: if _sqlite3ExprVectorSize(tls, _37_pOrig) == i32(1) { goto _119 } _sqlite3ErrorMsg(tls, _pParse, str(44256)) r0 = i32(2) return _119: _resolveAlias(tls, _pParse, _6_pEList, _j, _pExpr, str(196), _nSubquery) _cnt = i32(1) _pMatch = (*TSrcList_item)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if (_zTab == (*int8)(unsafe.Pointer(uintptr(i32(0))))) && (_zDb == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(100380))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _lookupname_end _109: _j += 1 goto _104 _107: _103: if _cnt == 0 { goto _123 } goto _124 _123: _pNC = (*XNameContext)(unsafe.Pointer(_pNC.X4)) _nSubquery += 1 if _pNC != nil { goto _19 } _124: if _cnt != i32(0) || _zTab != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || ((_pExpr.X2)&uint32(i32(64))) == uint32(i32(0)) { goto _127 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(97)) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(64 /* X14 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) r0 = i32(1) return _127: if _cnt == i32(1) { goto _128 } _41_zErr = func() *int8 { if _cnt == i32(0) { return str(100400) } return str(100416) }() if _zDb == nil { goto _131 } _sqlite3ErrorMsg(tls, _pParse, str(100440), unsafe.Pointer(_41_zErr), unsafe.Pointer(_zDb), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) goto _132 _131: if _zTab == nil { goto _133 } _sqlite3ErrorMsg(tls, _pParse, str(51288), unsafe.Pointer(_41_zErr), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) goto _134 _133: _sqlite3ErrorMsg(tls, _pParse, str(51300), unsafe.Pointer(_41_zErr), unsafe.Pointer(_zCol)) _134: _132: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTopNC)) + uintptr(44 /* X6 */))) += 1 _128: if int32(_pExpr.X9) < i32(0) || _pMatch == (*TSrcList_item)(unsafe.Pointer(uintptr(i32(0)))) { goto _136 } _45_n = int32(_pExpr.X9) if _45_n < i32(64) { goto _137 } _45_n = i32(63) _137: func() int32 { if (_pMatch.X11) == (_pExpr.X8) { return i32(0) } return func() int32 { 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(100456))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMatch)) + uintptr(88 /* X14 */))) *p = (*p) | (u64(1) << uint(_45_n)) sink992 = *p } _136: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X5))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(24 /* X5 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(func() int32 { if _isTrigger != 0 { return i32(88) } return i32(152) }()) _lookupname_end: if _cnt != i32(1) { goto _142 } func() int32 { if _pNC != (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(99396))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pExpr.X2) & uint32(i32(4194304))) != uint32(i32(0)) { goto _145 } _sqlite3AuthRead(tls, _pParse, _pExpr, _pSchema, (*XSrcList)(unsafe.Pointer(_pNC.X1))) _145: _146: func() int32 { if _pTopNC != (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(100488))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTopNC)) + uintptr(40 /* X5 */))) += 1 if _pTopNC != _pNC { goto _151 } goto _148 _151: _pTopNC = (*XNameContext)(unsafe.Pointer(_pTopNC.X4)) goto _146 _148: r0 = i32(1) return _142: r0 = i32(2) return } var _lookupNameØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_lookupNameØ00__func__Ø000[0], str(100500), 11) } func _nameInUsingClause(tls *crt.TLS, _pUsing *XIdList, _zCol *int8) (r0 int32) { // sqlite3.c:89296:1 var _1_k int32 // sqlite3.c:89298:9 _ = _1_k if _pUsing == nil { goto _0 } _1_k = i32(0) _1: if _1_k >= (_pUsing.X1) { goto _4 } if _sqlite3StrICmp(tls, (*TIdList_item)(unsafe.Pointer(uintptr(_pUsing.X0)+16*uintptr(_1_k))).X0, _zCol) != i32(0) { goto _5 } r0 = i32(1) return _5: _1_k += 1 goto _1 _4: _0: r0 = i32(0) return } func _sqlite3IsRowid(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:92704:1 if _sqlite3StrICmp(tls, _z, str(100512)) != i32(0) { goto _0 } r0 = i32(1) return _0: if _sqlite3StrICmp(tls, _z, str(100520)) != i32(0) { goto _1 } r0 = i32(1) return _1: if _sqlite3StrICmp(tls, _z, str(100528)) != i32(0) { goto _2 } r0 = i32(1) return _2: r0 = i32(0) return } func _resolveAlias(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _iCol int32, _pExpr *XExpr, _zType *int8, _nSubquery int32) { // sqlite3.c:89247:1 var _pOrig *XExpr // sqlite3.c:89255:8 _ = _pOrig var _pDup *XExpr // sqlite3.c:89256:8 _ = _pDup var _db *Xsqlite3 // sqlite3.c:89257:11 _ = _db func() int32 { if (_iCol >= i32(0)) && (_iCol < (_pEList.X0)) { return i32(0) } return func() int32 { 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(100532))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOrig = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_iCol))).X0)) func() int32 { if _pOrig != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(100564))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pDup = _sqlite3ExprDup(tls, _db, _pOrig, i32(0)) if _pDup != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } return _5: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zType)) + 1*uintptr(i32(0))))) == i32(71) { goto _6 } _incrAggFunctionDepth(tls, _pDup, _nSubquery) _6: if int32(_pExpr.X0) != i32(53) { goto _7 } _pDup = _sqlite3ExprAddCollateString(tls, _pParse, _pDup, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) _7: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDup)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(4194304)) sink985 = *p } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(32768)) sink985 = *p } _sqlite3ExprDelete(tls, _db, _pExpr) crt.Xmemcpy(tls, (unsafe.Pointer)(_pExpr), (unsafe.Pointer)(_pDup), u64(72)) if ((_pExpr.X2)&uint32(i32(1024))) != uint32(i32(0)) || (*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } func() int32 { if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(100576))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) = _sqlite3DbStrDup(tls, _db, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(65536)) sink985 = *p } _9: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pDup)) return } var _resolveAliasØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_resolveAliasØ00__func__Ø000[0], str(100624), 13) } func _incrAggFunctionDepth(tls *crt.TLS, _pExpr *XExpr, _N int32) { // sqlite3.c:89218:1 var _1_w XWalker // sqlite3.c:89220:12 _ = _1_w if _N <= i32(0) { goto _0 } crt.Xmemset(tls, (unsafe.Pointer)(&_1_w), i32(0), u64(48)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_w)) + uintptr(8 /* X1 */))))) = _incrAggDepth *(*int32)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_w)) + uintptr(40 /* X6 */))))) = _N _sqlite3WalkExpr(tls, &_1_w, _pExpr) _0: return } func _incrAggDepth(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89214:1 if int32(_pExpr.X0) != i32(153) { goto _0 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(54 /* X12 */))) *p = uint8(int32(*p) + (*(*int32)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))) sink4537 = *p } _0: r0 = i32(0) return } func _sqlite3ExprAddCollateString(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _zC *int8) (r0 *XExpr) { // sqlite3.c:90831:1 var _s XToken // sqlite3.c:90832:9 _ = _s func() int32 { if _zC != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(100640))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3TokenInit(tls, &_s, _zC) r0 = _sqlite3ExprAddCollateToken(tls, _pParse, _pExpr, &_s, i32(0)) return } var _sqlite3ExprAddCollateStringØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprAddCollateStringØ00__func__Ø000[0], str(100648), 28) } func _sqlite3ExprAddCollateToken(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pCollName *XToken, _dequote int32) (r0 *XExpr) { // sqlite3.c:90815:1 var _1_pNew *XExpr // sqlite3.c:90822:10 _ = _1_pNew if (_pCollName.X1) <= uint32(i32(0)) { goto _0 } _1_pNew = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(53), _pCollName, _dequote) if _1_pNew == nil { goto _1 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(16 /* X4 */))))) = _pExpr { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(4352)) sink985 = *p } _pExpr = _1_pNew _1: _0: r0 = _pExpr return } func _sqlite3AuthRead(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pSchema *XSchema, _pTabList *XSrcList) { // sqlite3.c:99329:1 var _db *Xsqlite3 // sqlite3.c:99335:11 _ = _db var _pTab *XTable // sqlite3.c:99336:9 _ = _pTab var _zCol *int8 // sqlite3.c:99337:14 _ = _zCol var _iSrc int32 // sqlite3.c:99338:7 _ = _iSrc var _iDb int32 // sqlite3.c:99339:7 _ = _iDb var _iCol int32 // sqlite3.c:99340:7 _ = _iCol _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pTab = nil if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 }{(_db.X59)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 }{nil})) { goto _0 } return _0: _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pSchema) if _iDb >= i32(0) { goto _1 } return _1: func() int32 { if (int32(_pExpr.X0) == i32(152)) || (int32(_pExpr.X0) == i32(88)) { return i32(0) } return func() int32 { 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(100676))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pExpr.X0) != i32(88) { goto _5 } _pTab = (*XTable)(unsafe.Pointer(_pParse.X40)) goto _6 _5: func() int32 { if _pTabList != nil { return i32(0) } return func() int32 { 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(100724))) crt.X__builtin_abort(tls) return i32(0) }() }() _iSrc = i32(0) _9: if func() int32 { if _iSrc < (_pTabList.X0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _14 } if (_pExpr.X8) != ((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_iSrc))).X11) { goto _15 } _pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_iSrc))).X4)) goto _14 _15: _iSrc += 1 goto _9 _14: _6: _iCol = int32(_pExpr.X9) if func() int32 { if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _18 } return _18: if _iCol < i32(0) { goto _19 } func() int32 { if _iCol < int32(_pTab.X11) { return i32(0) } return func() int32 { 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(46780))) crt.X__builtin_abort(tls) return i32(0) }() }() _zCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))).X0 goto _22 _19: if int32(_pTab.X10) < i32(0) { goto _23 } func() int32 { if int32(_pTab.X10) < int32(_pTab.X11) { return i32(0) } return func() int32 { 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(100736))) crt.X__builtin_abort(tls) return i32(0) }() }() _zCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_pTab.X10))).X0 goto _26 _23: _zCol = str(100520) _26: _22: func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(2) != _sqlite3AuthReadCol(tls, _pParse, _pTab.X0, _zCol, _iDb) { goto _30 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) _30: return } var _sqlite3AuthReadØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AuthReadØ00__func__Ø000[0], str(100760), 16) } func _sqlite3AuthReadCol(tls *crt.TLS, _pParse *XParse, _zTab *int8, _zCol *int8, _iDb int32) (r0 int32) { // sqlite3.c:99291:1 var _db *Xsqlite3 // sqlite3.c:99297:11 _ = _db var _zDb *int8 // sqlite3.c:99298:8 _ = _zDb var _rc int32 // sqlite3.c:99299:7 _ = _rc _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { goto _0 } r0 = i32(0) return _0: _rc = (_db.X59)(tls, _db.X60, i32(20), _zTab, _zCol, _zDb, _pParse.X65) if _rc != i32(1) { goto _1 } if (_db.X5) <= i32(2) && _iDb == i32(0) { goto _3 } _sqlite3ErrorMsg(tls, _pParse, str(100776), unsafe.Pointer(_zDb), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) goto _4 _3: _sqlite3ErrorMsg(tls, _pParse, str(100812), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) _4: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = i32(23) goto _5 _1: if _rc == i32(2) || _rc == i32(0) { goto _7 } _sqliteAuthBadReturnCode(tls, _pParse) _7: _5: r0 = _rc return } func _exprProbability(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:89736:1 var _r float64 // sqlite3.c:89737:10 _ = _r _r = -1 if int32(_p.X0) == i32(132) { goto _0 } r0 = i32(-1) return _0: _sqlite3AtoF(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))), &_r, _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))), uint8(i32(1))) func() int32 { if _r >= float64(0) { return i32(0) } return func() int32 { 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(100844))) crt.X__builtin_abort(tls) return i32(0) }() }() if _r <= float64(1) { goto _3 } r0 = i32(-1) return _3: r0 = int32(_r * (1.34217728e+08)) return } var _exprProbabilityØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_exprProbabilityØ00__func__Ø000[0], str(100852), 16) } func _sqlite3FunctionUsesThisSrc(tls *crt.TLS, _pExpr *XExpr, _pSrcList *XSrcList) (r0 int32) { // sqlite3.c:95565:1 var _w XWalker // sqlite3.c:95566:10 _ = _w var _cnt TSrcCount // sqlite3.c:95567:19 _ = _cnt func() int32 { if int32(_pExpr.X0) == i32(153) { return i32(0) } return func() int32 { 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(100868))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _exprSrcCount *(**TSrcCount)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))))) = &_cnt *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cnt)) + uintptr(0 /* X0 */))))) = _pSrcList *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cnt)) + uintptr(8 /* X1 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cnt)) + uintptr(12 /* X2 */))) = i32(0) _sqlite3WalkExprList(tls, &_w, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) r0 = bool2int(((_cnt.X1) > i32(0)) || ((_cnt.X2) == i32(0))) return } var _sqlite3FunctionUsesThisSrcØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FunctionUsesThisSrcØ00__func__Ø000[0], str(100896), 27) } func _exprSrcCount(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:95536:1 var _1_i int32 // sqlite3.c:95543:9 _ = _1_i var _1_p *TSrcCount // sqlite3.c:95544:21 _ = _1_p var _1_pSrc *XSrcList // sqlite3.c:95545:13 _ = _1_pSrc var _1_nSrc int32 // sqlite3.c:95546:9 _ = _1_nSrc if int32(_pExpr.X0) != i32(152) && func() int32 { if int32(_pExpr.X0) == i32(154) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _3 } _1_p = (*TSrcCount)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))) _1_pSrc = (*XSrcList)(unsafe.Pointer(_1_p.X0)) _1_nSrc = func() int32 { if _1_pSrc != nil { return (_1_pSrc.X0) } return i32(0) }() _1_i = i32(0) _6: if _1_i >= _1_nSrc { goto _9 } if (_pExpr.X8) != ((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_1_i))).X11) { goto _10 } goto _9 _10: _1_i += 1 goto _6 _9: if _1_i >= _1_nSrc { goto _11 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(8 /* X1 */))) += 1 goto _12 _11: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(12 /* X2 */))) += 1 _12: _3: r0 = i32(0) return } var _exprSrcCountØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_exprSrcCountØ00__func__Ø000[0], str(100924), 13) } func _resolveSelectStep(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:90344:1 var _pOuterNC *XNameContext // sqlite3.c:90345:15 _ = _pOuterNC var _sNC XNameContext // sqlite3.c:90346:15 _ = _sNC var _isCompound int32 // sqlite3.c:90347:7 _ = _isCompound var _nCompound int32 // sqlite3.c:90348:7 _ = _nCompound var _pParse *XParse // sqlite3.c:90349:9 _ = _pParse var _i int32 // sqlite3.c:90350:7 _ = _i var _pGroupBy *XExprList // sqlite3.c:90351:12 _ = _pGroupBy var _pLeftmost *XSelect // sqlite3.c:90352:10 _ = _pLeftmost var _db *Xsqlite3 // sqlite3.c:90353:11 _ = _db var _5_pSub *XSelect // sqlite3.c:90402:14 _ = _5_pSub var _6_pItem *TSrcList_item // sqlite3.c:90412:27 _ = _6_pItem var _7_pNC *XNameContext // sqlite3.c:90414:21 _ = _7_pNC var _7_nRef int32 // sqlite3.c:90415:13 _ = _7_nRef var _7_zSavedContext *int8 // sqlite3.c:90416:20 _ = _7_zSavedContext var _11_pItem *TSrcList_item // sqlite3.c:90479:27 _ = _11_pItem var _13_pSub *XSelect // sqlite3.c:90499:14 _ = _13_pSub var _16_pItem *TExprList_item // sqlite3.c:90527:28 _ = _16_pItem func() int32 { if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_p.X3) & uint32(i32(4))) == 0 { goto _2 } r0 = i32(1) return _2: _pOuterNC = (*XNameContext)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))) _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if ((_p.X3) & uint32(i32(64))) != uint32(i32(0)) { goto _3 } _sqlite3SelectPrep(tls, _pParse, _p, _pOuterNC) r0 = func() int32 { if (_pParse.X16) != 0 || ((_db.X17) != 0) { return i32(2) } return i32(1) }() return _3: _isCompound = bool2int((*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) _nCompound = i32(0) _pLeftmost = _p _7: if _p == nil { goto _8 } func() int32 { if ((_p.X3) & uint32(i32(64))) != uint32(i32(0)) { return i32(0) } return func() int32 { 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(100940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X3) & uint32(i32(4))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(100972))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(4)) sink985 = *p } crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X15))) == 0 && _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X16))) == 0 { goto _14 } r0 = i32(2) return _14: if ((_p.X3) & uint32(i32(65536))) == 0 { goto _15 } _5_pSub = (*XSelect)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X5)) func() int32 { if (((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == i32(1)) && ((*XExprList)(unsafe.Pointer(_p.X12)) != nil) { return i32(0) } return func() int32 { 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(101004))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XSelect)(unsafe.Pointer(_5_pSub.X13)) != nil) && ((*XExprList)(unsafe.Pointer(_5_pSub.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(101036))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pSub)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(_p.X12)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _15: _i = i32(0) _22: if _i >= ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) { goto _25 } _6_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) if (*XSelect)(unsafe.Pointer(_6_pItem.X5)) == nil { goto _26 } _7_nRef = i32(0) _7_zSavedContext = _pParse.X65 _7_pNC = _pOuterNC _27: if _7_pNC == nil { goto _30 } { p := &_7_nRef *p = (*p) + (_7_pNC.X5) sink961 = *p } _7_pNC = (*XNameContext)(unsafe.Pointer(_7_pNC.X4)) goto _27 _30: if (_6_pItem.X2) == nil { goto _31 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(536 /* X65 */))) = _6_pItem.X2 _31: _sqlite3ResolveSelectNames(tls, _pParse, (*XSelect)(unsafe.Pointer(_6_pItem.X5)), _pOuterNC) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(536 /* X65 */))) = _7_zSavedContext if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _33 } r0 = i32(2) return _33: _7_pNC = _pOuterNC _34: if _7_pNC == nil { goto _37 } { p := &_7_nRef *p = (*p) - (_7_pNC.X5) sink961 = *p } _7_pNC = (*XNameContext)(unsafe.Pointer(_7_pNC.X4)) goto _34 _37: func() int32 { if (int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(3)))<>uint(i32(31))) == i32(0)) && (_7_nRef <= i32(0)) { return i32(0) } return func() int32 { 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(101072))) crt.X__builtin_abort(tls) return i32(0) }() }() storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(bool2int(_7_nRef != i32(0))), 8, 3) _26: _i += 1 goto _22 _25: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(48 /* X7 */))) = uint16(i32(1)) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_p.X8)) *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(32 /* X4 */))))) = _pOuterNC if _sqlite3ResolveExprListNames(tls, &_sNC, (*XExprList)(unsafe.Pointer(_p.X0))) == 0 { goto _41 } r0 = i32(2) return _41: func() int32 { if ((_p.X3) & uint32(i32(8))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(101112))) crt.X__builtin_abort(tls) return i32(0) }() }() _pGroupBy = (*XExprList)(unsafe.Pointer(_p.X10)) if _pGroupBy == nil && (int32(_sNC.X7)&i32(16)) == i32(0) { goto _45 } i32(0) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(8)|(int32(_sNC.X7)&i32(4096))) sink985 = *p } goto _46 _45: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) & i32(-2)) sink4530 = *p } _46: if (*XExpr)(unsafe.Pointer(_p.X11)) == nil || _pGroupBy != nil { goto _48 } _sqlite3ErrorMsg(tls, _pParse, str(101144)) r0 = i32(2) return _48: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(16 /* X2 */))))) = (*XExprList)(unsafe.Pointer(_p.X0)) if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X11))) == 0 { goto _49 } r0 = i32(2) return _49: if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X9))) == 0 { goto _50 } r0 = i32(2) return _50: _i = i32(0) _51: if _i >= ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) { goto _54 } _11_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2)))<>uint(i32(31))) == 0 || _sqlite3ResolveExprListNames(tls, &_sNC, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pItem)) + uintptr(96 /* X15 */)))))))) == 0 { goto _56 } r0 = i32(2) return _56: _i += 1 goto _51 _54: *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(32 /* X4 */))))) = (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } if ((_p.X3) & uint32(i32(65536))) == 0 { goto _57 } _13_pSub = (*XSelect)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X5)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(_13_pSub.X12)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pSub)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _57: if _isCompound > _nCompound || _resolveOrderGroupBy(tls, &_sNC, _p, (*XExprList)(unsafe.Pointer(_p.X12)), str(25672)) == 0 { goto _59 } r0 = i32(2) return _59: if (_db.X17) == 0 { goto _60 } r0 = i32(2) return _60: if _pGroupBy == nil { goto _61 } if _resolveOrderGroupBy(tls, &_sNC, _p, _pGroupBy, str(25680)) == 0 && (_db.X17) == 0 { goto _63 } r0 = i32(2) return _63: *func() **TExprList_item { _i = i32(0); return &_16_pItem }() = (*TExprList_item)(unsafe.Pointer(_pGroupBy.X1)) _64: if _i >= (_pGroupBy.X0) { goto _67 } if (((*XExpr)(unsafe.Pointer(_16_pItem.X0)).X2) & uint32(i32(2))) == uint32(i32(0)) { goto _68 } _sqlite3ErrorMsg(tls, _pParse, str(101188)) r0 = i32(2) return _68: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_16_pItem }())) += uintptr(32) goto _64 _67: _61: if (*XSelect)(unsafe.Pointer(_p.X14)) == nil || ((*XExprList)(unsafe.Pointer(_p.X0)).X0) == ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_p.X14)).X0)).X0) { goto _70 } _sqlite3SelectWrongNumTermsError(tls, _pParse, (*XSelect)(unsafe.Pointer(_p.X14))) r0 = i32(2) return _70: _p = (*XSelect)(unsafe.Pointer(_p.X13)) _nCompound += 1 goto _7 _8: if _isCompound == 0 || _resolveCompoundOrderBy(tls, _pParse, _pLeftmost) == 0 { goto _72 } r0 = i32(2) return _72: r0 = i32(1) return } var _resolveSelectStepØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_resolveSelectStepØ00__func__Ø000[0], str(101248), 18) } func _sqlite3ResolveExprNames(tls *crt.TLS, _pNC *XNameContext, _pExpr *XExpr) (r0 int32) { // sqlite3.c:90612:1 var _savedHasAgg uint16 // sqlite3.c:90616:7 _ = _savedHasAgg var _w XWalker // sqlite3.c:90617:10 _ = _w var _1_pParse *XParse // sqlite3.c:90622:11 _ = _1_pParse if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _1_pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) if _sqlite3ExprCheckHeight(tls, _1_pParse, (_pExpr.X7)+((*XParse)(unsafe.Pointer(_pNC.X0)).X57)) == 0 { goto _1 } r0 = i32(1) return _1: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pParse)) + uintptr(484 /* X57 */))) *p = (*p) + (_pExpr.X7) sink961 = *p } _savedHasAgg = uint16(int32(_pNC.X7) & i32(4112)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) & i32(-4113)) sink4530 = *p } *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = (*XParse)(unsafe.Pointer(_pNC.X0)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _resolveExprStep *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))))) = _resolveSelectStep *(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X3 */))))) = nil *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(32 /* X4 */))) = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(36 /* X5 */))) = uint8(i32(0)) *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))))) = _pNC _sqlite3WalkExpr(tls, &_w, _pExpr) { p := (*int32)(unsafe.Pointer(uintptr(_pNC.X0) + uintptr(484 /* X57 */))) *p = (*p) - (_pExpr.X7) sink961 = *p } if (_pNC.X6) <= i32(0) && ((*XParse)(unsafe.Pointer(_w.X0)).X16) <= i32(0) { goto _3 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(8)) sink985 = *p } _3: if (int32(_pNC.X7) & i32(16)) == 0 { goto _4 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(2)) sink985 = *p } _4: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(48 /* X7 */))) *p = uint16(int32(*p) | int32(_savedHasAgg)) sink4530 = *p } r0 = bool2int(((_pExpr.X2) & uint32(i32(8))) != uint32(i32(0))) return } func _sqlite3ResolveExprListNames(tls *crt.TLS, _pNC *XNameContext, _pList *XExprList) (r0 int32) { // sqlite3.c:90657:1 var _i int32 // sqlite3.c:90661:7 _ = _i if _pList == nil { goto _0 } _i = i32(0) _1: if _i >= (_pList.X0) { goto _4 } if _sqlite3ResolveExprNames(tls, _pNC, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X0))) == 0 { goto _5 } r0 = i32(2) return _5: _i += 1 goto _1 _4: _0: r0 = i32(0) return } func _resolveOrderGroupBy(tls *crt.TLS, _pNC *XNameContext, _pSelect *XSelect, _pOrderBy *XExprList, _zType *int8) (r0 int32) { // sqlite3.c:90286:1 var _i int32 // sqlite3.c:90292:7 _ = _i var _j int32 // sqlite3.c:90292:10 _ = _j var _iCol int32 // sqlite3.c:90293:7 _ = _iCol var _pItem *TExprList_item // sqlite3.c:90294:24 _ = _pItem var _pParse *XParse // sqlite3.c:90295:9 _ = _pParse var _nResult int32 // sqlite3.c:90296:7 _ = _nResult var _1_pE *XExpr // sqlite3.c:90302:10 _ = _1_pE var _1_pE2 *XExpr // sqlite3.c:90303:10 _ = _1_pE2 if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _nResult = (*XExprList)(unsafe.Pointer(_pSelect.X0)).X0 _pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) *func() **TExprList_item { _i = i32(0); return &_pItem }() = (*TExprList_item)(unsafe.Pointer(_pOrderBy.X1)) _1: if _i >= (_pOrderBy.X0) { goto _4 } _1_pE = (*XExpr)(unsafe.Pointer(_pItem.X0)) _1_pE2 = _sqlite3ExprSkipCollate(tls, _1_pE) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zType)) + 1*uintptr(i32(0))))) == i32(71) { goto _5 } _iCol = _resolveAsName(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSelect.X0)), _1_pE2) if _iCol <= i32(0) { goto _6 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_iCol) goto _2 _6: _5: if _sqlite3ExprIsInteger(tls, _1_pE2, &_iCol) == 0 { goto _7 } if _iCol >= i32(1) && _iCol <= i32(65535) { goto _9 } _resolveOutOfRangeError(tls, _pParse, _zType, _i+i32(1), _nResult) r0 = i32(1) return _9: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_iCol) goto _2 _7: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) if _sqlite3ResolveExprNames(tls, _pNC, _1_pE) == 0 { goto _10 } r0 = i32(1) return _10: _j = i32(0) _11: if _j >= ((*XExprList)(unsafe.Pointer(_pSelect.X0)).X0) { goto _14 } if _sqlite3ExprCompare(tls, _1_pE, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSelect.X0)).X1)+32*uintptr(_j))).X0)), i32(-1)) != i32(0) { goto _15 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_j + i32(1)) _15: _j += 1 goto _11 _14: _2: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _1 _4: r0 = _sqlite3ResolveOrderGroupBy(tls, _pParse, _pSelect, _pOrderBy, _zType) return } func _resolveAsName(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _pE *XExpr) (r0 int32) { // sqlite3.c:90025:1 var _i int32 // sqlite3.c:90030:7 _ = _i var _1_zCol *int8 // sqlite3.c:90035:10 _ = _1_zCol var _2_zAs *int8 // sqlite3.c:90037:12 _ = _2_zAs if int32(_pE.X0) != i32(55) { goto _0 } _1_zCol = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pE)) + uintptr(8 /* X3 */))))) _i = i32(0) _1: if _i >= (_pEList.X0) { goto _4 } _2_zAs = (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X1 if _2_zAs == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3StrICmp(tls, _2_zAs, _1_zCol) != i32(0) { goto _6 } r0 = _i + i32(1) return _6: _i += 1 goto _1 _4: _0: r0 = i32(0) return } func _resolveOutOfRangeError(tls *crt.TLS, _pParse *XParse, _zType *int8, _i int32, _mx int32) { // sqlite3.c:90111:1 _sqlite3ErrorMsg(tls, _pParse, str(101268), _i, unsafe.Pointer(_zType), _mx) return } func _sqlite3ExprCompare(tls *crt.TLS, _pA *XExpr, _pB *XExpr, _iTab int32) (r0 int32) { // sqlite3.c:95345:1 var _combinedFlags uint32 // sqlite3.c:95346:7 _ = _combinedFlags if _pA != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) && _pB != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = func() int32 { if _pB == _pA { return i32(0) } return i32(2) }() return _1: _combinedFlags = (_pA.X2) | (_pB.X2) if (_combinedFlags & uint32(i32(1024))) == 0 { goto _4 } if (((_pA.X2)&(_pB.X2))&uint32(i32(1024))) == uint32(i32(0)) || (*(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */)))))) != (*(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X3 */)))))) { goto _6 } r0 = i32(0) return _6: r0 = i32(2) return _4: if int32(_pA.X0) == int32(_pB.X0) { goto _7 } if int32(_pA.X0) != i32(53) || _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pA.X4)), _pB, _iTab) >= i32(2) { goto _9 } r0 = i32(1) return _9: if int32(_pB.X0) != i32(53) || _sqlite3ExprCompare(tls, _pA, (*XExpr)(unsafe.Pointer(_pB.X4)), _iTab) >= i32(2) { goto _11 } r0 = i32(1) return _11: r0 = i32(2) return _7: if int32(_pA.X0) == i32(152) || int32(_pA.X0) == i32(154) || (*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */)))))) == nil { goto _14 } if int32(_pA.X0) != i32(151) { goto _15 } if _sqlite3StrICmp(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */))))), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X3 */)))))) == i32(0) { goto _16 } r0 = i32(2) return _16: goto _17 _15: if crt.Xstrcmp(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */))))), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X3 */)))))) == i32(0) { goto _18 } r0 = func() int32 { if int32(_pA.X0) == i32(53) { return i32(1) } return i32(2) }() return _18: _17: _14: if ((_pA.X2) & uint32(i32(16))) == ((_pB.X2) & uint32(i32(16))) { goto _21 } r0 = i32(2) return _21: if func() int32 { if (_combinedFlags & uint32(i32(16384))) == uint32(i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _24 } if (_combinedFlags & uint32(i32(2048))) == 0 { goto _25 } r0 = i32(2) return _25: if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pA.X4)), (*XExpr)(unsafe.Pointer(_pB.X4)), _iTab) == 0 { goto _26 } r0 = i32(2) return _26: if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pA.X5)), (*XExpr)(unsafe.Pointer(_pB.X5)), _iTab) == 0 { goto _27 } r0 = i32(2) return _27: if _sqlite3ExprListCompare(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(32 /* X6 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(32 /* X6 */))))))), _iTab) == 0 { goto _28 } r0 = i32(2) return _28: if func() int32 { if (_combinedFlags & uint32(i32(8192))) == uint32(i32(0)) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || int32(_pA.X0) == i32(97) { goto _32 } if int32(_pA.X9) == int32(_pB.X9) { goto _33 } r0 = i32(2) return _33: if (_pA.X8) == (_pB.X8) || (_pA.X8) == _iTab && func() int32 { if (_pB.X8) >= i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _38 } r0 = i32(2) return _38: _32: _24: r0 = i32(0) return } var _sqlite3ExprCompareØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCompareØ00__func__Ø000[0], str(101324), 19) } func _sqlite3ExprListCompare(tls *crt.TLS, _pA *XExprList, _pB *XExprList, _iTab int32) (r0 int32) { // sqlite3.c:95403:1 var _i int32 // sqlite3.c:95404:7 _ = _i var _1_pExprA *XExpr // sqlite3.c:95409:10 _ = _1_pExprA var _1_pExprB *XExpr // sqlite3.c:95410:10 _ = _1_pExprB if _pA != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || _pB != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = i32(0) return _1: if _pA != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && _pB != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = i32(1) return _3: if (_pA.X0) == (_pB.X0) { goto _4 } r0 = i32(1) return _4: _i = i32(0) _5: if _i >= (_pA.X0) { goto _8 } _1_pExprA = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pA.X1) + 32*uintptr(_i))).X0)) _1_pExprB = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pB.X1) + 32*uintptr(_i))).X0)) if int32((*TExprList_item)(unsafe.Pointer(uintptr(_pA.X1)+32*uintptr(_i))).X3) == int32((*TExprList_item)(unsafe.Pointer(uintptr(_pB.X1)+32*uintptr(_i))).X3) { goto _9 } r0 = i32(1) return _9: if _sqlite3ExprCompare(tls, _1_pExprA, _1_pExprB, _iTab) == 0 { goto _10 } r0 = i32(1) return _10: _i += 1 goto _5 _8: r0 = i32(0) return } func _sqlite3ResolveOrderGroupBy(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect, _pOrderBy *XExprList, _zType *int8) (r0 int32) { // sqlite3.c:90235:1 var _i int32 // sqlite3.c:90241:7 _ = _i var _db *Xsqlite3 // sqlite3.c:90242:11 _ = _db var _pEList *XExprList // sqlite3.c:90243:12 _ = _pEList var _pItem *TExprList_item // sqlite3.c:90244:24 _ = _pItem _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { goto _1 } r0 = i32(0) return _1: if (_pOrderBy.X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(2))))) { goto _2 } _sqlite3ErrorMsg(tls, _pParse, str(101344), unsafe.Pointer(_zType)) r0 = i32(1) return _2: _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) func() int32 { if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46224))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **TExprList_item { _i = i32(0); return &_pItem }() = (*TExprList_item)(unsafe.Pointer(_pOrderBy.X1)) _5: if _i >= (_pOrderBy.X0) { goto _8 } if ((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(28 /* X5 */))))).X0) == 0 { goto _9 } if int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))).X0) <= (_pEList.X0) { goto _10 } _resolveOutOfRangeError(tls, _pParse, _zType, _i+i32(1), _pEList.X0) r0 = i32(1) return _10: _resolveAlias(tls, _pParse, _pEList, int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))).X0)-i32(1), (*XExpr)(unsafe.Pointer(_pItem.X0)), _zType, i32(0)) _9: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _5 _8: r0 = i32(0) return } var _sqlite3ResolveOrderGroupByØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ResolveOrderGroupByØ00__func__Ø000[0], str(101376), 27) } func _sqlite3SelectWrongNumTermsError(tls *crt.TLS, _pParse *XParse, _p *XSelect) { // sqlite3.c:118834:1 if ((_p.X3) & uint32(i32(512))) == 0 { goto _0 } _sqlite3ErrorMsg(tls, _pParse, str(101404)) goto _1 _0: _sqlite3ErrorMsg(tls, _pParse, str(101452), unsafe.Pointer(_selectOpName(tls, int32(_p.X1)))) _1: return } func _selectOpName(tls *crt.TLS, _id int32) (r0 *int8) { // sqlite3.c:117374:1 var _z *int8 // sqlite3.c:117375:8 _ = _z switch _id { case i32(116): goto _1 case i32(117): goto _3 case i32(118): goto _2 default: goto _4 } _1: _z = str(48376) goto _5 _2: _z = str(25604) goto _5 _3: _z = str(25596) goto _5 _4: _z = str(25584) goto _5 _5: r0 = _z return } func _resolveCompoundOrderBy(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) (r0 int32) { // sqlite3.c:90137:1 var _i int32 // sqlite3.c:90141:7 _ = _i var _pOrderBy *XExprList // sqlite3.c:90142:12 _ = _pOrderBy var _pEList *XExprList // sqlite3.c:90143:12 _ = _pEList var _db *Xsqlite3 // sqlite3.c:90144:11 _ = _db var _moreToDo int32 // sqlite3.c:90145:7 _ = _moreToDo var _4_pItem *TExprList_item // sqlite3.c:90165:26 _ = _4_pItem var _5_iCol int32 // sqlite3.c:90170:11 _ = _5_iCol var _5_pE *XExpr // sqlite3.c:90171:12 _ = _5_pE var _5_pDup *XExpr // sqlite3.c:90171:17 _ = _5_pDup var _11_pNew *XExpr // sqlite3.c:90193:14 _ = _11_pNew var _13_pParent *XExpr // sqlite3.c:90200:16 _ = _13_pParent _moreToDo = i32(1) _pOrderBy = (*XExprList)(unsafe.Pointer(_pSelect.X12)) if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pOrderBy.X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(2))))) { goto _1 } _sqlite3ErrorMsg(tls, _pParse, str(101536)) r0 = i32(1) return _1: _i = i32(0) _2: if _i >= (_pOrderBy.X0) { goto _5 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i)))))+uintptr(25 /* X4 */))), int8(i32(0)), 1, 0) _i += 1 goto _2 _5: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelect)) + uintptr(96 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _6: if (*XSelect)(unsafe.Pointer(_pSelect.X13)) == nil { goto _7 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pSelect.X13) + uintptr(96 /* X14 */))))) = _pSelect _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X13)) goto _6 _7: _8: if _pSelect == nil || _moreToDo == 0 { goto _9 } _moreToDo = i32(0) _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) func() int32 { if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46224))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **TExprList_item { _i = i32(0); return &_4_pItem }() = (*TExprList_item)(unsafe.Pointer(_pOrderBy.X1)) _13: if _i >= (_pOrderBy.X0) { goto _16 } _5_iCol = i32(-1) if ((uint32(_4_pItem.X4) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _17 } goto _14 _17: _5_pE = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_4_pItem.X0))) if _sqlite3ExprIsInteger(tls, _5_pE, &_5_iCol) == 0 { goto _18 } if _5_iCol > i32(0) && _5_iCol <= (_pEList.X0) { goto _20 } _resolveOutOfRangeError(tls, _pParse, str(25672), _i+i32(1), _pEList.X0) r0 = i32(1) return _20: goto _21 _18: _5_iCol = _resolveAsName(tls, _pParse, _pEList, _5_pE) if _5_iCol != i32(0) { goto _22 } _5_pDup = _sqlite3ExprDup(tls, _db, _5_pE, i32(0)) if (_db.X17) != 0 { goto _23 } func() int32 { if _5_pDup != nil { return i32(0) } return func() int32 { 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(101572))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_iCol = _resolveOrderByTermToExprList(tls, _pParse, _pSelect, _5_pDup) _23: _sqlite3ExprDelete(tls, _db, _5_pDup) _22: _21: if _5_iCol <= i32(0) { goto _26 } _11_pNew = _sqlite3Expr(tls, _db, i32(134), (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _11_pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _27 } r0 = i32(1) return _27: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1024)) sink985 = *p } *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pNew)) + uintptr(8 /* X3 */))))) = _5_iCol if (*XExpr)(unsafe.Pointer(_4_pItem.X0)) != _5_pE { goto _28 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem)) + uintptr(0 /* X0 */))))) = _11_pNew goto _29 _28: _13_pParent = (*XExpr)(unsafe.Pointer(_4_pItem.X0)) func() int32 { if int32(_13_pParent.X0) == i32(53) { return i32(0) } return func() int32 { 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(101580))) crt.X__builtin_abort(tls) return i32(0) }() }() _32: if int32((*XExpr)(unsafe.Pointer(_13_pParent.X4)).X0) != i32(53) { goto _33 } _13_pParent = (*XExpr)(unsafe.Pointer(_13_pParent.X4)) goto _32 _33: func() int32 { if (*XExpr)(unsafe.Pointer(_13_pParent.X4)) == _5_pE { return i32(0) } return func() int32 { 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(101604))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pParent)) + uintptr(16 /* X4 */))))) = _11_pNew _29: _sqlite3ExprDelete(tls, _db, _5_pE) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_5_iCol) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(25 /* X4 */))), int8(i32(1)), 1, 0) goto _36 _26: _moreToDo = i32(1) _36: _14: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_4_pItem }())) += uintptr(32) goto _13 _16: _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X14)) goto _8 _9: _i = i32(0) _37: if _i >= (_pOrderBy.X0) { goto _40 } if int32((uint32((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X4)<>uint(i32(31))) != i32(0) { goto _41 } _sqlite3ErrorMsg(tls, _pParse, str(101624), _i+i32(1)) r0 = i32(1) return _41: _i += 1 goto _37 _40: r0 = i32(0) return } var _resolveCompoundOrderByØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_resolveCompoundOrderByØ00__func__Ø000[0], str(101688), 23) } func _resolveOrderByTermToExprList(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect, _pE *XExpr) (r0 int32) { // sqlite3.c:90064:1 var _i int32 // sqlite3.c:90069:7 _ = _i var _pEList *XExprList // sqlite3.c:90070:12 _ = _pEList var _nc XNameContext // sqlite3.c:90071:15 _ = _nc var _db *Xsqlite3 // sqlite3.c:90072:11 _ = _db var _rc int32 // sqlite3.c:90073:7 _ = _rc var _savedSuppErr uint8 // sqlite3.c:90074:6 _ = _savedSuppErr func() int32 { if _sqlite3ExprIsInteger(tls, _pE, &_i) == i32(0) { return i32(0) } return func() int32 { 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(101712))) crt.X__builtin_abort(tls) return i32(0) }() }() _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) crt.Xmemset(tls, (unsafe.Pointer)(&_nc), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(0 /* X0 */))))) = _pParse *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(8 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_pSelect.X8)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(16 /* X2 */))))) = _pEList *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(48 /* X7 */))) = uint16(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(44 /* X6 */))) = i32(0) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _savedSuppErr = _db.X21 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(89 /* X21 */))) = uint8(i32(1)) _rc = _sqlite3ResolveExprNames(tls, &_nc, _pE) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(89 /* X21 */))) = _savedSuppErr if _rc == 0 { goto _2 } r0 = i32(0) return _2: _i = i32(0) _3: if _i >= (_pEList.X0) { goto _6 } if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_i))).X0)), _pE, i32(-1)) >= i32(2) { goto _7 } r0 = _i + i32(1) return _7: _i += 1 goto _3 _6: r0 = i32(0) return } var _resolveOrderByTermToExprListØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_resolveOrderByTermToExprListØ00__func__Ø000[0], str(101744), 29) } func _sqlite3SelectAddTypeInfo(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) { // sqlite3.c:120886:1 var _w XWalker // sqlite3.c:120888:10 _ = _w crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X3 */))))) = _selectAddSubqueryTypeInfo *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _sqlite3ExprWalkNoop *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pParse _sqlite3WalkSelect(tls, &_w, _pSelect) return } func _selectAddSubqueryTypeInfo(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) { // sqlite3.c:120852:1 var _pParse *XParse // sqlite3.c:120853:9 _ = _pParse var _i int32 // sqlite3.c:120854:7 _ = _i var _pTabList *XSrcList // sqlite3.c:120855:11 _ = _pTabList var _pFrom *TSrcList_item // sqlite3.c:120856:23 _ = _pFrom var _1_pTab *XTable // sqlite3.c:120864:11 _ = _1_pTab var _2_pSel *XSelect // sqlite3.c:120868:14 _ = _2_pSel func() int32 { if ((_p.X3) & uint32(i32(4))) != 0 { return i32(0) } return func() int32 { 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(101776))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_p.X3) & uint32(i32(128))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(101804))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(128)) sink985 = *p } _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) *func() **TSrcList_item { _i = i32(0); return &_pFrom }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) _4: if _i >= (_pTabList.X0) { goto _7 } _1_pTab = (*XTable)(unsafe.Pointer(_pFrom.X4)) func() int32 { if _1_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_1_pTab.X9) & uint32(i32(2))) == uint32(i32(0)) { goto _10 } _2_pSel = (*XSelect)(unsafe.Pointer(_pFrom.X5)) if _2_pSel == nil { goto _11 } _12: if (*XSelect)(unsafe.Pointer(_2_pSel.X13)) == nil { goto _13 } _2_pSel = (*XSelect)(unsafe.Pointer(_2_pSel.X13)) goto _12 _13: _sqlite3SelectAddColumnTypeAndCollation(tls, _pParse, _1_pTab, _2_pSel) _11: _10: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pFrom }())) += uintptr(112) goto _4 _7: return } var _selectAddSubqueryTypeInfoØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_selectAddSubqueryTypeInfoØ00__func__Ø000[0], str(101840), 26) } func _flattenSubquery(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iFrom int32, _isAgg int32, _subqueryIsAgg int32) (r0 int32) { // sqlite3.c:119621:1 var _zSavedAuthContext *int8 // sqlite3.c:119628:14 _ = _zSavedAuthContext var _pParent *XSelect // sqlite3.c:119629:10 _ = _pParent var _pSub *XSelect // sqlite3.c:119630:10 _ = _pSub var _pSub1 *XSelect // sqlite3.c:119631:10 _ = _pSub1 var _pSrc *XSrcList // sqlite3.c:119632:11 _ = _pSrc var _pSubSrc *XSrcList // sqlite3.c:119633:11 _ = _pSubSrc var _pList *XExprList // sqlite3.c:119634:12 _ = _pList var _iParent int32 // sqlite3.c:119635:7 _ = _iParent var _i int32 // sqlite3.c:119636:7 _ = _i var _pWhere *XExpr // sqlite3.c:119637:8 _ = _pWhere var _pSubitem *TSrcList_item // sqlite3.c:119638:23 _ = _pSubitem var _db *Xsqlite3 // sqlite3.c:119639:11 _ = _db var _16_ii int32 // sqlite3.c:119764:11 _ = _16_ii var _18_pNew *XSelect // sqlite3.c:119815:12 _ = _18_pNew var _18_pOrderBy *XExprList // sqlite3.c:119816:14 _ = _18_pOrderBy var _18_pLimit *XExpr // sqlite3.c:119817:10 _ = _18_pLimit var _18_pOffset *XExpr // sqlite3.c:119818:10 _ = _18_pOffset var _18_pPrior *XSelect // sqlite3.c:119819:12 _ = _18_pPrior var _21_pTabToDel *XTable // sqlite3.c:119870:11 _ = _21_pTabToDel var _22_pToplevel *XParse // sqlite3.c:119872:13 _ = _22_pToplevel var _24_nSubSrc int32 // sqlite3.c:119895:9 _ = _24_nSubSrc var _24_jointype uint8 // sqlite3.c:119896:8 _ = _24_jointype var _32_zName *int8 // sqlite3.c:119961:14 _ = _32_zName var _33_pOrderBy *XExprList // sqlite3.c:119977:16 _ = _33_pOrderBy _zSavedAuthContext = _pParse.X65 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(_p.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(101868))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_db.X13) & i32(1)) == i32(0) { goto _4 } r0 = i32(0) return _4: _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) func() int32 { if ((_pSrc != nil) && (_iFrom >= i32(0))) && (_iFrom < (_pSrc.X0)) { return i32(0) } return func() int32 { 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(101884))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSubitem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_iFrom))) _iParent = _pSubitem.X11 _pSub = (*XSelect)(unsafe.Pointer(_pSubitem.X5)) func() int32 { if _pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(101924))) crt.X__builtin_abort(tls) return i32(0) }() }() if _subqueryIsAgg == 0 { goto _11 } if _isAgg == 0 { goto _12 } r0 = i32(0) return _12: if (_pSrc.X0) <= i32(1) { goto _13 } r0 = i32(0) return _13: 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)) { goto _17 } r0 = i32(0) return _17: _11: _pSubSrc = (*XSrcList)(unsafe.Pointer(_pSub.X8)) func() int32 { if _pSubSrc != nil { return i32(0) } return func() int32 { 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(101932))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || (*XExpr)(unsafe.Pointer(_p.X15)) == nil { goto _21 } r0 = i32(0) return _21: if (*XExpr)(unsafe.Pointer(_pSub.X16)) == nil { goto _22 } r0 = i32(0) return _22: if ((_p.X3)&uint32(i32(256))) == uint32(i32(0)) || (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil { goto _24 } r0 = i32(0) return _24: if (_pSubSrc.X0) != i32(0) { goto _25 } r0 = i32(0) return _25: if ((_pSub.X3) & uint32(i32(1))) == 0 { goto _26 } r0 = i32(0) return _26: if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || (_pSrc.X0) <= i32(1) && _isAgg == 0 { goto _29 } r0 = i32(0) return _29: if ((_p.X3)&uint32(i32(1))) == uint32(i32(0)) || _subqueryIsAgg == 0 { goto _31 } r0 = i32(0) return _31: if (*XExprList)(unsafe.Pointer(_p.X12)) == nil || (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { goto _33 } r0 = i32(0) return _33: if _isAgg == 0 || (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { goto _35 } r0 = i32(0) return _35: if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || (*XExpr)(unsafe.Pointer(_p.X9)) == nil { goto _37 } r0 = i32(0) return _37: if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || ((_p.X3)&uint32(i32(1))) == uint32(i32(0)) { goto _39 } r0 = i32(0) return _39: if ((_pSub.X3) & uint32(i32(12288))) == 0 { goto _40 } r0 = i32(0) return _40: if ((_p.X3)&uint32(i32(8192))) == 0 || (*XSelect)(unsafe.Pointer(_pSub.X13)) == nil { goto _42 } r0 = i32(0) return _42: if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem))+uintptr(60 /* X9 */))).X0) & i32(32)) == i32(0) { goto _43 } r0 = i32(0) return _43: if (*XSelect)(unsafe.Pointer(_pSub.X13)) == nil { goto _44 } if (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { goto _45 } r0 = i32(0) return _45: if _isAgg == 0 && ((_p.X3)&uint32(i32(1))) == uint32(i32(0)) && (_pSrc.X0) == i32(1) { goto _48 } r0 = i32(0) return _48: _pSub1 = _pSub _49: if _pSub1 == nil { goto _52 } func() int32 { if (*XSrcList)(unsafe.Pointer(_pSub.X8)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(101940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(_pSub.X0)).X0) == ((*XExprList)(unsafe.Pointer(_pSub1.X0)).X0) { return i32(0) } return func() int32 { 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(101956))) crt.X__builtin_abort(tls) return i32(0) }() }() 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) { goto _60 } r0 = i32(0) return _60: _pSub1 = (*XSelect)(unsafe.Pointer(_pSub1.X13)) goto _49 _52: if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { goto _61 } _16_ii = i32(0) _62: if _16_ii >= ((*XExprList)(unsafe.Pointer(_p.X12)).X0) { goto _65 } if int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X12)).X1)+32*uintptr(_16_ii)))))+uintptr(28 /* X5 */))))).X0) != i32(0) { goto _66 } r0 = i32(0) return _66: _16_ii += 1 goto _62 _65: _61: _44: if (Xsqlite3SelectTrace & i32(1)) == 0 { goto _67 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(102000) }(), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_pSub), _iFrom) _67: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(536 /* X65 */))) = _pSubitem.X2 _i = _sqlite3AuthCheck(tls, _pParse, i32(21), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(536 /* X65 */))) = _zSavedAuthContext _pSub = (*XSelect)(unsafe.Pointer(_pSub.X13)) _68: if _pSub == nil { goto _71 } _18_pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) _18_pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) _18_pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) _18_pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))))) = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _18_pNew = _sqlite3SelectDup(tls, _db, _p, i32(0)) _sqlite3SelectSetName(tls, _18_pNew, (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub))+uintptr(24 /* X6 */)))))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = _18_pOffset *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = _18_pLimit *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = _18_pOrderBy *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))))) = _pSrc *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint8(i32(116)) if _18_pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _72 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _18_pPrior goto _73 _72: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pNew)) + uintptr(88 /* X13 */))))) = _18_pPrior if _18_pPrior == nil { goto _74 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pPrior)) + uintptr(96 /* X14 */))))) = _18_pNew _74: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pNew)) + uintptr(96 /* X14 */))))) = _p *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _18_pNew if (Xsqlite3SelectTrace & i32(2)) == 0 { goto _75 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(102028) }(), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pNew))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_18_pNew)) _75: _73: if (_db.X17) == 0 { goto _76 } r0 = i32(1) return _76: _pSub = (*XSelect)(unsafe.Pointer(_pSub.X13)) goto _68 _71: _pSub = store5518339(&_pSub1, (*XSelect)(unsafe.Pointer(_pSubitem.X5))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubitem.X1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubitem.X2)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubitem.X3)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(24 /* X3 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(40 /* X5 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) if func() int32 { if (*XTable)(unsafe.Pointer(_pSubitem.X4)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _79 } _21_pTabToDel = (*XTable)(unsafe.Pointer(_pSubitem.X4)) if (_21_pTabToDel.X8) != uint32(i32(1)) { goto _80 } _22_pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_pTabToDel)) + uintptr(120 /* X21 */))))) = (*XTable)(unsafe.Pointer(_22_pToplevel.X68)) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_22_pToplevel)) + uintptr(568 /* X68 */))))) = _21_pTabToDel goto _83 _80: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_pTabToDel)) + uintptr(60 /* X8 */))) -= 1 _83: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(32 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _79: _pParent = _p _84: if _pParent == nil { goto _87 } _24_jointype = uint8(i32(0)) _pSubSrc = (*XSrcList)(unsafe.Pointer(_pSub.X8)) _24_nSubSrc = _pSubSrc.X0 _pSrc = (*XSrcList)(unsafe.Pointer(_pParent.X8)) if _pSrc == nil { goto _88 } func() int32 { if _pParent == _p { return i32(0) } return func() int32 { 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(102080))) crt.X__builtin_abort(tls) return i32(0) }() }() _24_jointype = (*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(60 /* X9 */))).X0 goto _91 _88: func() int32 { if _pParent != _p { return i32(0) } return func() int32 { 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(102092))) crt.X__builtin_abort(tls) return i32(0) }() }() _pSrc = store5506706((**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent))+uintptr(48 /* X8 */))))), _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))))) if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _94 } func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _87 _94: _91: if _24_nSubSrc <= i32(1) { goto _97 } *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(48 /* X8 */))))) = store5506706(&_pSrc, _sqlite3SrcListEnlarge(tls, _db, _pSrc, _24_nSubSrc-i32(1), _iFrom+i32(1))) if (_db.X17) == 0 { goto _98 } goto _87 _98: _97: _i = i32(0) _99: if _i >= _24_nSubSrc { goto _102 } _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_i+_iFrom))).X13))) func() int32 { if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_i+_iFrom)))))+uintptr(60 /* X9 */))).X1)>>uint(i32(2)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(102104))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_i+_iFrom))) = *(*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))) crt.Xmemset(tls, (unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_i)))), i32(0), u64(112)) _i += 1 goto _99 _102: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_iFrom)))))+uintptr(60 /* X9 */))))) + uintptr(0 /* X0 */))) = _24_jointype _pList = (*XExprList)(unsafe.Pointer(_pParent.X0)) _i = i32(0) _105: if _i >= (_pList.X0) { goto _108 } if ((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(_i))).X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _109 } _32_zName = _sqlite3DbStrDup(tls, _db, (*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X2) _sqlite3Dequote(tls, _32_zName) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))))) + uintptr(8 /* X1 */))) = _32_zName _109: _i += 1 goto _105 _108: if (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { goto _110 } _33_pOrderBy = (*XExprList)(unsafe.Pointer(_pSub.X12)) _i = i32(0) _111: if _i >= (_33_pOrderBy.X0) { goto _114 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_33_pOrderBy.X1)+32*uintptr(_i)))))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) _i += 1 goto _111 _114: func() int32 { if (*XExprList)(unsafe.Pointer(_pParent.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102140))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(_pSub.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102164))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(80 /* X12 */))))) = _33_pOrderBy *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _110: _pWhere = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pSub.X9)), i32(0)) if _subqueryIsAgg == 0 { goto _119 } func() int32 { if (*XExpr)(unsafe.Pointer(_pParent.X11)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102180))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(72 /* X11 */))))) = (*XExpr)(unsafe.Pointer(_pParent.X9)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(56 /* X9 */))))) = _pWhere *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(72 /* X11 */))))) = _sqlite3ExprAnd(tls, _db, _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pSub.X11)), i32(0)), (*XExpr)(unsafe.Pointer(_pParent.X11))) func() int32 { if (*XExprList)(unsafe.Pointer(_pParent.X10)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102200))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(64 /* X10 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_pSub.X10)), i32(0)) goto _124 _119: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(56 /* X9 */))))) = _sqlite3ExprAnd(tls, _db, _pWhere, (*XExpr)(unsafe.Pointer(_pParent.X9))) _124: if int32(_db.X17) != i32(0) { goto _125 } _substSelect(tls, _pParse, _pParent, _iParent, (*XExprList)(unsafe.Pointer(_pSub.X0)), i32(0)) _125: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(12 /* X3 */))) *p = (*p) | ((_pSub.X3) & uint32(i32(1))) sink985 = *p } if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil { goto _126 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(_pSub.X15)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _126: *func() **XSelect { _pParent = (*XSelect)(unsafe.Pointer(_pParent.X13)); return &_pSub }() = (*XSelect)(unsafe.Pointer(_pSub.X13)) goto _84 _87: _sqlite3SelectDelete(tls, _db, _pSub1) if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _127 } if (Xsqlite3SelectTrace & i32(256)) == 0 { goto _128 } _sqlite3DebugPrintf(tls, func() *int8 { _sqlite3DebugPrintf(tls, str(46868), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X6 */)))))), unsafe.Pointer(_p)) return str(102224) }()) _128: _sqlite3TreeViewSelect(tls, (*T5516662)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) _127: r0 = i32(1) return } var _flattenSubqueryØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_flattenSubqueryØ00__func__Ø000[0], str(102244), 16) } func _substSelect(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iTable int32, _pEList *XExprList, _doPrior int32) { // sqlite3.c:119452:1 var _pSrc *XSrcList // sqlite3.c:119459:11 _ = _pSrc var _pItem *TSrcList_item // sqlite3.c:119460:23 _ = _pItem var _i int32 // sqlite3.c:119461:7 _ = _i if _p != nil { goto _0 } return _0: _1: _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X0)), _iTable, _pEList) _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X10)), _iTable, _pEList) _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X12)), _iTable, _pEList) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X11 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X11)), _iTable, _pEList) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X9 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X9)), _iTable, _pEList) _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) func() int32 { if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49140))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **TSrcList_item { _i = _pSrc.X0; return &_pItem }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(8 /* X2 */))))) _4: if _i <= i32(0) { goto _7 } _substSelect(tls, _pParse, (*XSelect)(unsafe.Pointer(_pItem.X5)), _iTable, _pEList, i32(1)) if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _8 } _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(96 /* X15 */))))))), _iTable, _pEList) _8: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i -= 1; return &_pItem }())) += uintptr(112) goto _4 _7: if _doPrior != 0 && (store5518339(&_p, (*XSelect)(unsafe.Pointer(_p.X13))) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) { goto _1 } return } func _substExprList(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _iTable int32, _pEList *XExprList) { // sqlite3.c:119440:1 var _i int32 // sqlite3.c:119446:7 _ = _i if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _i = i32(0) _1: if _i >= (_pList.X0) { goto _4 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))))) + uintptr(0 /* X0 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X0)), _iTable, _pEList) _i += 1 goto _1 _4: return } func _substExpr(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _iTable int32, _pEList *XExprList) (r0 *XExpr) { // sqlite3.c:119401:1 var _db *Xsqlite3 // sqlite3.c:119407:11 _ = _db var _3_pNew *XExpr // sqlite3.c:119413:12 _ = _3_pNew var _3_pCopy *XExpr // sqlite3.c:119414:12 _ = _3_pCopy _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) return _0: if int32(_pExpr.X0) != i32(152) || (_pExpr.X8) != _iTable { goto _2 } if int32(_pExpr.X9) >= i32(0) { goto _3 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) goto _4 _3: _3_pCopy = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_pExpr.X9))).X0)) func() int32 { if (_pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) && (int32(_pExpr.X9) < (_pEList.X0)) { return i32(0) } return func() int32 { 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(102260))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExpr)(unsafe.Pointer(_pExpr.X4)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer(_pExpr.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(100272))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprIsVector(tls, _3_pCopy) == 0 { goto _11 } _sqlite3VectorErrorMsg(tls, _pParse, _3_pCopy) goto _12 _11: _3_pNew = _sqlite3ExprDup(tls, _db, _3_pCopy, i32(0)) if _3_pNew == nil || ((_pExpr.X2)&uint32(i32(1))) == 0 { goto _14 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNew)) + uintptr(52 /* X11 */))) = _pExpr.X11 { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } _14: _sqlite3ExprDelete(tls, _db, _pExpr) _pExpr = _3_pNew _12: _4: goto _15 _2: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(16 /* X4 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _iTable, _pEList) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(24 /* X5 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _iTable, _pEList) if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _16 } _substSelect(tls, _pParse, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), _iTable, _pEList, i32(1)) goto _17 _16: _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))), _iTable, _pEList) _17: _15: r0 = _pExpr return } var _substExprØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_substExprØ00__func__Ø000[0], str(102304), 10) } func _sqlite3VectorErrorMsg(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) { // sqlite3.c:93147:1 if ((_pExpr.X2) & uint32(i32(2048))) == 0 { goto _0 } _sqlite3SubselectError(tls, _pParse, (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0)).X0, i32(1)) goto _1 _0: _sqlite3ErrorMsg(tls, _pParse, str(44256)) _1: return } func _sqlite3SubselectError(tls *crt.TLS, _pParse *XParse, _nActual int32, _nExpect int32) { // sqlite3.c:93130:1 var _zFmt *int8 // sqlite3.c:93131:14 _ = _zFmt _zFmt = str(102316) _sqlite3ErrorMsg(tls, _pParse, _zFmt, _nActual, _nExpect) return } var _substSelectØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_substSelectØ00__func__Ø000[0], str(102360), 12) } func _multiSelect(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:118473:1 var _rc int32 // sqlite3.c:118478:7 _ = _rc var _pPrior *XSelect // sqlite3.c:118479:10 _ = _pPrior var _v *TVdbe // sqlite3.c:118480:8 _ = _v var _dest XSelectDest // sqlite3.c:118481:14 _ = _dest var _pDelete *XSelect // sqlite3.c:118482:10 _ = _pDelete var _db *Xsqlite3 // sqlite3.c:118483:11 _ = _db var _iSub1 int32 // sqlite3.c:118485:7 _ = _iSub1 var _iSub2 int32 // sqlite3.c:118486:7 _ = _iSub2 var _8_addr int32 // sqlite3.c:118550:11 _ = _8_addr var _8_nLimit int32 // sqlite3.c:118551:11 _ = _8_nLimit var _14_unionTab int32 // sqlite3.c:118594:11 _ = _14_unionTab var _14_op uint8 // sqlite3.c:118595:10 _ = _14_op var _14_priorOp int32 // sqlite3.c:118596:11 _ = _14_priorOp var _14_pLimit *XExpr // sqlite3.c:118597:12 _ = _14_pLimit var _14_pOffset *XExpr // sqlite3.c:118597:21 _ = _14_pOffset var _14_addr int32 // sqlite3.c:118598:11 _ = _14_addr var _14_uniondest XSelectDest // sqlite3.c:118599:18 _ = _14_uniondest var _21_iCont int32 // sqlite3.c:118671:13 _ = _21_iCont var _21_iBreak int32 // sqlite3.c:118671:20 _ = _21_iBreak var _21_iStart int32 // sqlite3.c:118671:28 _ = _21_iStart var _22_pFirst *XSelect // sqlite3.c:118674:18 _ = _22_pFirst var _23_tab1 int32 // sqlite3.c:118693:11 _ = _23_tab1 var _23_tab2 int32 // sqlite3.c:118693:17 _ = _23_tab2 var _23_iCont int32 // sqlite3.c:118694:11 _ = _23_iCont var _23_iBreak int32 // sqlite3.c:118694:18 _ = _23_iBreak var _23_iStart int32 // sqlite3.c:118694:26 _ = _23_iStart var _23_pLimit *XExpr // sqlite3.c:118695:12 _ = _23_pLimit var _23_pOffset *XExpr // sqlite3.c:118695:21 _ = _23_pOffset var _23_addr int32 // sqlite3.c:118696:11 _ = _23_addr var _23_intersectdest XSelectDest // sqlite3.c:118697:18 _ = _23_intersectdest var _23_r1 int32 // sqlite3.c:118698:11 _ = _23_r1 var _25_pFirst *XSelect // sqlite3.c:118749:16 _ = _25_pFirst var _26_i int32 // sqlite3.c:118784:9 _ = _26_i var _26_pKeyInfo *XKeyInfo // sqlite3.c:118785:13 _ = _26_pKeyInfo var _26_pLoop *XSelect // sqlite3.c:118786:12 _ = _26_pLoop var _26_apColl **XCollSeq // sqlite3.c:118787:13 _ = _26_apColl var _26_nCol int32 // sqlite3.c:118788:9 _ = _26_nCol var _31_addr int32 // sqlite3.c:118806:13 _ = _31_addr _rc = i32(0) _pDelete = nil _iSub1 = i32(0) _iSub2 = i32(0) func() int32 { if (_p != nil) && ((*XSelect)(unsafe.Pointer(_p.X13)) != nil) { return i32(0) } return func() int32 { 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(102372))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((((_p.X3) & uint32(i32(8192))) == uint32(i32(0))) || (int32(_p.X1) == i32(116))) || (int32(_p.X1) == i32(115)) { return i32(0) } return func() int32 { 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(102388))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) _dest = *_pDest if (*XExprList)(unsafe.Pointer(_pPrior.X12)) == nil { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(102456), unsafe.Pointer(_selectOpName(tls, int32(_p.X1)))) _rc = i32(1) goto _multi_select_end _7: if (*XExpr)(unsafe.Pointer(_pPrior.X15)) == nil { goto _8 } _sqlite3ErrorMsg(tls, _pParse, str(102504), unsafe.Pointer(_selectOpName(tls, int32(_p.X1)))) _rc = i32(1) goto _multi_select_end _8: _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_dest.X0) != i32(12) { goto _11 } func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { return i32(0) } return func() int32 { 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(102552))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(108), _dest.X2, (*XExprList)(unsafe.Pointer(_p.X0)).X0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_dest)) + uintptr(0 /* X0 */))) = uint8(i32(14)) _11: if ((_p.X3) & uint32(i32(1024))) == 0 { goto _14 } _rc = _multiSelectValues(tls, _pParse, _p, &_dest) goto _multi_select_end _14: func() int32 { if ((*XExprList)(unsafe.Pointer(_p.X0)) != nil) && ((*XExprList)(unsafe.Pointer(_pPrior.X0)) != nil) { return i32(0) } return func() int32 { 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(102564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(_p.X0)).X0) == ((*XExprList)(unsafe.Pointer(_pPrior.X0)).X0) { return i32(0) } return func() int32 { 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(102592))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_p.X3) & uint32(i32(8192))) == 0 { goto _20 } _generateWithRecursiveQuery(tls, _pParse, _p, &_dest) goto _21 _20: if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { goto _22 } r0 = _multiSelectOrderBy(tls, _pParse, _p, _pDest) return _22: switch int32(_p.X1) { case i32(115): goto _27 case i32(116): goto _25 case i32(117): goto _26 default: goto _28 } _25: _8_addr = i32(0) func() int32 { if (*XExpr)(unsafe.Pointer(_pPrior.X15)) == nil { return i32(0) } return func() int32 { 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(102632))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(16 /* X4 */))) = _p.X4 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(20 /* X5 */))) = _p.X5 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(_p.X15)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(_p.X16)) _iSub1 = _pParse.X59 _rc = _sqlite3Select(tls, _pParse, _pPrior, &_dest) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) if _rc == 0 { goto _31 } goto _multi_select_end _31: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = _pPrior.X4 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = _pPrior.X5 if (_p.X4) == 0 { goto _32 } _8_addr = _sqlite3VdbeAddOp1(tls, _v, i32(22), _p.X4) _sqlite3VdbeComment(tls, _v, str(102648)) if (_p.X5) == 0 { goto _33 } _sqlite3VdbeAddOp3(tls, _v, i32(147), _p.X4, (_p.X5)+i32(1), _p.X5) _33: _32: _iSub2 = _pParse.X59 _rc = _sqlite3Select(tls, _pParse, _p, &_dest) _pDelete = (*XSelect)(unsafe.Pointer(_p.X13)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _pPrior *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _sqlite3LogEstAdd(tls, _p.X2, _pPrior.X2) 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))) { goto _37 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _sqlite3LogEst(tls, uint64(_8_nLimit)) _37: if _8_addr == 0 { goto _38 } _sqlite3VdbeJumpHere(tls, _v, _8_addr) _38: goto _39 _26: _27: _14_op = u8(0) _14_priorOp = i32(1) if int32(_dest.X0) != _14_priorOp { goto _40 } func() int32 { if (*XExpr)(unsafe.Pointer(_p.X15)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102692))) crt.X__builtin_abort(tls) return i32(0) }() }() _14_unionTab = _dest.X2 goto _45 _40: _14_unionTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) func() int32 { if (*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102708))) crt.X__builtin_abort(tls) return i32(0) }() }() _14_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _14_unionTab, i32(0)) func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0))))) == i32(-1) { return i32(0) } return func() int32 { 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(102724))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0)))) = _14_addr { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_findRightmost(tls, _p))) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(32)) sink985 = *p } func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { return i32(0) } return func() int32 { 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(102552))) crt.X__builtin_abort(tls) return i32(0) }() }() _45: func() int32 { if (*XExprList)(unsafe.Pointer(_pPrior.X12)) == nil { return i32(0) } return func() int32 { 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(102752))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3SelectDestInit(tls, &_14_uniondest, _14_priorOp, _14_unionTab) _iSub1 = _pParse.X59 _rc = _sqlite3Select(tls, _pParse, _pPrior, &_14_uniondest) if _rc == 0 { goto _54 } goto _multi_select_end _54: if int32(_p.X1) != i32(117) { goto _55 } _14_op = uint8(i32(2)) goto _56 _55: func() int32 { if int32(_p.X1) == i32(115) { return i32(0) } return func() int32 { 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(102772))) crt.X__builtin_abort(tls) return i32(0) }() }() _14_op = uint8(i32(1)) _56: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _14_pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _14_pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_14_uniondest)) + uintptr(0 /* X0 */))) = _14_op _iSub2 = _pParse.X59 _rc = _sqlite3Select(tls, _pParse, _p, &_14_uniondest) _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12))) _pDelete = (*XSelect)(unsafe.Pointer(_p.X13)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _pPrior *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) if int32(_p.X1) != i32(115) { goto _59 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _sqlite3LogEstAdd(tls, _p.X2, _pPrior.X2) _59: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = _14_pLimit *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = _14_pOffset *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = i32(0) func() int32 { if (_14_unionTab == (_dest.X2)) || (int32(_dest.X0) != _14_priorOp) { return i32(0) } return func() int32 { 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(102788))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_dest.X0) == _14_priorOp { goto _63 } func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { return i32(0) } return func() int32 { 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(102552))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_dest.X0) != i32(9) { goto _66 } _22_pFirst = _p _67: if (*XSelect)(unsafe.Pointer(_22_pFirst.X13)) == nil { goto _68 } _22_pFirst = (*XSelect)(unsafe.Pointer(_22_pFirst.X13)) goto _67 _68: _generateColumnNames(tls, _pParse, (*XSrcList)(unsafe.Pointer(_22_pFirst.X8)), (*XExprList)(unsafe.Pointer(_22_pFirst.X0))) _66: _21_iBreak = _sqlite3VdbeMakeLabel(tls, _v) _21_iCont = _sqlite3VdbeMakeLabel(tls, _v) _computeLimitRegisters(tls, _pParse, _p, _21_iBreak) _sqlite3VdbeAddOp2(tls, _v, i32(58), _14_unionTab, _21_iBreak) _21_iStart = _sqlite3VdbeCurrentAddr(tls, _v) _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) _sqlite3VdbeResolveLabel(tls, _v, _21_iCont) _sqlite3VdbeAddOp2(tls, _v, i32(7), _14_unionTab, _21_iStart) _sqlite3VdbeResolveLabel(tls, _v, _21_iBreak) _sqlite3VdbeAddOp2(tls, _v, i32(112), _14_unionTab, i32(0)) _63: goto _39 _28: func() int32 { if int32(_p.X1) == i32(118) { return i32(0) } return func() int32 { 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(102836))) crt.X__builtin_abort(tls) return i32(0) }() }() _23_tab1 = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _23_tab2 = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) func() int32 { if (*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102708))) crt.X__builtin_abort(tls) return i32(0) }() }() _23_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _23_tab1, i32(0)) func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0))))) == i32(-1) { return i32(0) } return func() int32 { 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(102724))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0)))) = _23_addr { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_findRightmost(tls, _p))) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(32)) sink985 = *p } func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { return i32(0) } return func() int32 { 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(102552))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3SelectDestInit(tls, &_23_intersectdest, i32(1), _23_tab1) _iSub1 = _pParse.X59 _rc = _sqlite3Select(tls, _pParse, _pPrior, &_23_intersectdest) if _rc == 0 { goto _77 } goto _multi_select_end _77: _23_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _23_tab2, i32(0)) func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(1))))) == i32(-1) { return i32(0) } return func() int32 { 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(102856))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(1)))) = _23_addr *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _23_pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _23_pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_23_intersectdest)) + uintptr(16 /* X2 */))) = _23_tab2 _iSub2 = _pParse.X59 _rc = _sqlite3Select(tls, _pParse, _p, &_23_intersectdest) _pDelete = (*XSelect)(unsafe.Pointer(_p.X13)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _pPrior if int32(_p.X2) <= int32(_pPrior.X2) { goto _80 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _pPrior.X2 _80: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = _23_pLimit *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = _23_pOffset func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { return i32(0) } return func() int32 { 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(102552))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_dest.X0) != i32(9) { goto _83 } _25_pFirst = _p _84: if (*XSelect)(unsafe.Pointer(_25_pFirst.X13)) == nil { goto _85 } _25_pFirst = (*XSelect)(unsafe.Pointer(_25_pFirst.X13)) goto _84 _85: _generateColumnNames(tls, _pParse, (*XSrcList)(unsafe.Pointer(_25_pFirst.X8)), (*XExprList)(unsafe.Pointer(_25_pFirst.X0))) _83: _23_iBreak = _sqlite3VdbeMakeLabel(tls, _v) _23_iCont = _sqlite3VdbeMakeLabel(tls, _v) _computeLimitRegisters(tls, _pParse, _p, _23_iBreak) _sqlite3VdbeAddOp2(tls, _v, i32(58), _23_tab1, _23_iBreak) _23_r1 = _sqlite3GetTempReg(tls, _pParse) _23_iStart = _sqlite3VdbeAddOp2(tls, _v, i32(122), _23_tab1, _23_r1) _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _23_tab2, _23_iCont, _23_r1, i32(0)) _sqlite3ReleaseTempReg(tls, _pParse, _23_r1) _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) _sqlite3VdbeResolveLabel(tls, _v, _23_iCont) _sqlite3VdbeAddOp2(tls, _v, i32(7), _23_tab1, _23_iStart) _sqlite3VdbeResolveLabel(tls, _v, _23_iBreak) _sqlite3VdbeAddOp2(tls, _v, i32(112), _23_tab2, i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(112), _23_tab1, i32(0)) goto _39 _39: _21: _explainComposite(tls, _pParse, int32(_p.X1), _iSub1, _iSub2, bool2int(int32(_p.X1) != i32(116))) if ((_p.X3) & uint32(i32(32))) == 0 { goto _86 } func() int32 { if (*XSelect)(unsafe.Pointer(_p.X14)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102884))) crt.X__builtin_abort(tls) return i32(0) }() }() _26_nCol = (*XExprList)(unsafe.Pointer(_p.X0)).X0 _26_pKeyInfo = _sqlite3KeyInfoAlloc(tls, _db, _26_nCol, i32(1)) if _26_pKeyInfo != nil { goto _89 } _rc = _sqlite3NomemError(tls, i32(118794)) goto _multi_select_end _89: *func() ***XCollSeq { _26_i = i32(0); return &_26_apColl }() = (**XCollSeq)(unsafe.Pointer((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pKeyInfo)) + uintptr(32 /* X6 */))))) _90: if _26_i >= _26_nCol { goto _93 } *_26_apColl = _multiSelectCollSeq(tls, _pParse, _p, _26_i) if (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) != (*_26_apColl) { goto _94 } *_26_apColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _94: *(*uintptr)(unsafe.Pointer(func() ***XCollSeq { _26_i += 1; return &_26_apColl }())) += uintptr(8) goto _90 _93: _26_pLoop = _p _95: if _26_pLoop == nil { goto _98 } _26_i = i32(0) _99: if _26_i >= i32(2) { goto _102 } _31_addr = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLoop))+uintptr(36 /* X7 */))))) + 4*uintptr(_26_i))) if _31_addr >= i32(0) { goto _103 } func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLoop))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(1))))) < i32(0) { return i32(0) } return func() int32 { 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(102896))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _102 _103: _sqlite3VdbeChangeP2(tls, _v, uint32(_31_addr), _26_nCol) _sqlite3VdbeChangeP4(tls, _v, _31_addr, (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _26_pKeyInfo))), i32(-5)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLoop))+uintptr(36 /* X7 */))))) + 4*uintptr(_26_i))) = i32(-1) _26_i += 1 goto _99 _102: _26_pLoop = (*XSelect)(unsafe.Pointer(_26_pLoop.X13)) goto _95 _98: _sqlite3KeyInfoUnref(tls, _26_pKeyInfo) _86: _multi_select_end: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(20 /* X3 */))) = _dest.X3 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(24 /* X4 */))) = _dest.X4 _sqlite3SelectDelete(tls, _db, _pDelete) r0 = _rc return } var _multiSelectØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_multiSelectØ00__func__Ø000[0], str(102924), 12) } func _multiSelectValues(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:118410:1 var _pPrior *XSelect // sqlite3.c:118415:10 _ = _pPrior var _nRow int32 // sqlite3.c:118416:7 _ = _nRow var _rc int32 // sqlite3.c:118417:7 _ = _rc _nRow = i32(1) _rc = i32(0) func() int32 { if ((_p.X3) & uint32(i32(1024))) != 0 { return i32(0) } return func() int32 { 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(102936))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: func() int32 { if ((_p.X3) & uint32(i32(512))) != 0 { return i32(0) } return func() int32 { 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(102964))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_p.X1) == i32(116)) || ((int32(_p.X1) == i32(119)) && ((*XSelect)(unsafe.Pointer(_p.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))))) { return i32(0) } return func() int32 { 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(102988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer(_p.X15)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102692))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(103040))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } goto _17 _16: func() int32 { if (*XSelect)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_p.X13)).X14)) == _p { return i32(0) } return func() int32 { 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(103100))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XSelect)(unsafe.Pointer(_p.X13)) _nRow += 1 goto _2 _17: _20: if _p == nil { goto _21 } _pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _rc = _sqlite3Select(tls, _pParse, _p, _pDest) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _pPrior if _rc == 0 { goto _22 } goto _21 _22: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = int16(_nRow) _p = (*XSelect)(unsafe.Pointer(_p.X14)) goto _20 _21: r0 = _rc return } var _multiSelectValuesØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_multiSelectValuesØ00__func__Ø000[0], str(103120), 18) } func _generateWithRecursiveQuery(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) { // sqlite3.c:118260:1 var _pSrc *XSrcList // sqlite3.c:118265:11 _ = _pSrc var _nCol int32 // sqlite3.c:118266:7 _ = _nCol var _v *TVdbe // sqlite3.c:118267:8 _ = _v var _pSetup *XSelect // sqlite3.c:118268:10 _ = _pSetup var _addrTop int32 // sqlite3.c:118269:7 _ = _addrTop var _addrCont int32 // sqlite3.c:118270:7 _ = _addrCont var _addrBreak int32 // sqlite3.c:118270:17 _ = _addrBreak var _iCurrent int32 // sqlite3.c:118271:7 _ = _iCurrent var _regCurrent int32 // sqlite3.c:118272:7 _ = _regCurrent var _iQueue int32 // sqlite3.c:118273:7 _ = _iQueue var _iDistinct int32 // sqlite3.c:118274:7 _ = _iDistinct var _eDest int32 // sqlite3.c:118275:7 _ = _eDest var _destQueue XSelectDest // sqlite3.c:118276:14 _ = _destQueue var _i int32 // sqlite3.c:118277:7 _ = _i var _rc int32 // sqlite3.c:118278:7 _ = _rc var _pOrderBy *XExprList // sqlite3.c:118279:12 _ = _pOrderBy var _pLimit *XExpr // sqlite3.c:118280:8 _ = _pLimit var _pOffset *XExpr // sqlite3.c:118280:17 _ = _pOffset var _regLimit int32 // sqlite3.c:118281:7 _ = _regLimit var _regOffset int32 // sqlite3.c:118281:17 _ = _regOffset var _5_pKeyInfo *XKeyInfo // sqlite3.c:118322:13 _ = _5_pKeyInfo _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) _nCol = (*XExprList)(unsafe.Pointer(_p.X0)).X0 _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pSetup = (*XSelect)(unsafe.Pointer(_p.X13)) _iCurrent = i32(0) _iDistinct = i32(0) _eDest = i32(5) 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 { goto _0 } return _0: _addrBreak = _sqlite3VdbeMakeLabel(tls, _v) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = int16(i32(320)) _computeLimitRegisters(tls, _pParse, _p, _addrBreak) _pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) _pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) _regLimit = _p.X4 _regOffset = _p.X5 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = store5518888((**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(112 /* X16 */))))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))), i32(0)) _pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) _i = i32(0) _1: if func() int32 { if _i < (_pSrc.X0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _6 } if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_i)))))+uintptr(60 /* X9 */))).X1)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _7 } _iCurrent = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))).X11 goto _6 _7: _i += 1 goto _1 _6: _iQueue = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) if int32(_p.X1) != i32(115) { goto _8 } _eDest = func() int32 { if _pOrderBy != nil { return i32(8) } return i32(6) }() _iDistinct = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) goto _11 _8: _eDest = func() int32 { if _pOrderBy != nil { return i32(7) } return i32(5) }() _11: _sqlite3SelectDestInit(tls, &_destQueue, _eDest, _iQueue) _regCurrent = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp3(tls, _v, i32(111), _iCurrent, _regCurrent, _nCol) if _pOrderBy == nil { goto _14 } _5_pKeyInfo = _multiSelectOrderByKeyInfo(tls, _pParse, _p, i32(1)) _sqlite3VdbeAddOp4(tls, _v, i32(108), _iQueue, (_pOrderBy.X0)+i32(2), i32(0), (*int8)(unsafe.Pointer(_5_pKeyInfo)), i32(-5)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_destQueue)) + uintptr(32 /* X5 */))))) = _pOrderBy goto _15 _14: _sqlite3VdbeAddOp2(tls, _v, i32(108), _iQueue, _nCol) _15: _sqlite3VdbeComment(tls, _v, str(103140)) if _iDistinct == 0 { goto _16 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0)))) = _sqlite3VdbeAddOp2(tls, _v, i32(108), _iDistinct, i32(0)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(32)) sink985 = *p } _16: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSetup)) + uintptr(96 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _rc = _sqlite3Select(tls, _pParse, _pSetup, &_destQueue) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSetup)) + uintptr(96 /* X14 */))))) = _p if _rc == 0 { goto _17 } goto _end_of_recursive_query _17: _addrTop = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iQueue, _addrBreak) _sqlite3VdbeAddOp1(tls, _v, i32(124), _iCurrent) if _pOrderBy == nil { goto _18 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _iQueue, (_pOrderBy.X0)+i32(1), _regCurrent) goto _19 _18: _sqlite3VdbeAddOp2(tls, _v, i32(122), _iQueue, _regCurrent) _19: _sqlite3VdbeAddOp1(tls, _v, i32(118), _iQueue) _addrCont = _sqlite3VdbeMakeLabel(tls, _v) _codeOffset(tls, _v, _regOffset, _addrCont) _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) if _regLimit == 0 { goto _20 } _sqlite3VdbeAddOp2(tls, _v, i32(69), _regLimit, _addrBreak) _20: _sqlite3VdbeResolveLabel(tls, _v, _addrCont) if ((_p.X3) & uint32(i32(8))) == 0 { goto _21 } _sqlite3ErrorMsg(tls, _pParse, str(103152)) goto _22 _21: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3Select(tls, _pParse, _p, &_destQueue) func() int32 { if (*XSelect)(unsafe.Pointer(_p.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(101868))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _pSetup _22: _sqlite3VdbeGoto(tls, _v, _addrTop) _sqlite3VdbeResolveLabel(tls, _v, _addrBreak) _end_of_recursive_query: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(_p.X12))) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = _pOrderBy *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = _pLimit *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = _pOffset return } func _computeLimitRegisters(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iBreak int32) { // sqlite3.c:118113:1 var _v *TVdbe // sqlite3.c:118114:8 _ = _v var _iLimit int32 // sqlite3.c:118115:7 _ = _iLimit var _iOffset int32 // sqlite3.c:118116:7 _ = _iOffset var _n int32 // sqlite3.c:118117:7 _ = _n _v = nil _iLimit = i32(0) if (_p.X4) == 0 { goto _0 } return _0: _sqlite3ExprCacheClear(tls, _pParse) func() int32 { if ((*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X15)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(103196))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { goto _4 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = store961(&_iLimit, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_p.X15)), &_n) == 0 { goto _7 } _sqlite3VdbeAddOp2(tls, _v, i32(77), _n, _iLimit) _sqlite3VdbeComment(tls, _v, str(103228)) if _n != i32(0) { goto _8 } _sqlite3VdbeGoto(tls, _v, _iBreak) goto _9 _8: if _n < i32(0) || int32(_p.X2) <= int32(_sqlite3LogEst(tls, uint64(_n))) { goto _11 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _sqlite3LogEst(tls, uint64(_n)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(16384)) sink985 = *p } _11: _9: goto _12 _7: _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X15)), _iLimit) _sqlite3VdbeAddOp1(tls, _v, i32(17), _iLimit) _sqlite3VdbeComment(tls, _v, str(103228)) _sqlite3VdbeAddOp2(tls, _v, i32(22), _iLimit, _iBreak) _12: if (*XExpr)(unsafe.Pointer(_p.X16)) == nil { goto _13 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = store961(&_iOffset, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) += 1 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X16)), _iOffset) _sqlite3VdbeAddOp1(tls, _v, i32(17), _iOffset) _sqlite3VdbeComment(tls, _v, str(103244)) _sqlite3VdbeAddOp3(tls, _v, i32(147), _iLimit, _iOffset+i32(1), _iOffset) _sqlite3VdbeComment(tls, _v, str(103260)) _13: _4: return } func _sqlite3ExprCacheClear(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:94006:1 var _i int32 // sqlite3.c:94007:7 _ = _i if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(4096)) == 0 { goto _0 } crt.Xprintf(tls, str(103276)) _0: _i = i32(0) _1: if _i >= int32(_pParse.X13) { goto _4 } if ((*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */)))))+20*uintptr(_i))).X2) == 0 || int32(_pParse.X7) >= i32(8) { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(404 /* X49 */))))) + 4*uintptr(postInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(31 /* X7 */))), uint8(1))))) = (*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_i))).X4 _6: _i += 1 goto _1 _4: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(37 /* X13 */))) = uint8(i32(0)) return } var _computeLimitRegistersØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_computeLimitRegistersØ00__func__Ø000[0], str(103284), 22) } func _sqlite3VdbeGoto(tls *crt.TLS, _p *TVdbe, _iDest int32) (r0 int32) { // sqlite3.c:71556:1 r0 = _sqlite3VdbeAddOp3(tls, _p, i32(13), i32(0), _iDest, i32(0)) return } var _generateWithRecursiveQueryØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_generateWithRecursiveQueryØ00__func__Ø000[0], str(103308), 27) } func _multiSelectOrderByKeyInfo(tls *crt.TLS, _pParse *XParse, _p *XSelect, _nExtra int32) (r0 *XKeyInfo) { // sqlite3.c:118194:1 var _pOrderBy *XExprList // sqlite3.c:118195:12 _ = _pOrderBy var _nOrderBy int32 // sqlite3.c:118196:7 _ = _nOrderBy var _db *Xsqlite3 // sqlite3.c:118197:11 _ = _db var _pRet *XKeyInfo // sqlite3.c:118198:11 _ = _pRet var _1_i int32 // sqlite3.c:118200:9 _ = _1_i var _2_pItem *TExprList_item // sqlite3.c:118202:28 _ = _2_pItem var _2_pTerm *XExpr // sqlite3.c:118203:12 _ = _2_pTerm var _2_pColl *XCollSeq // sqlite3.c:118204:15 _ = _2_pColl _pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) _nOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)).X0 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pRet = _sqlite3KeyInfoAlloc(tls, _db, _nOrderBy+_nExtra, i32(1)) if _pRet == nil { goto _0 } _1_i = i32(0) _1: if _1_i >= _nOrderBy { goto _4 } _2_pItem = (*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 32*uintptr(_1_i))) _2_pTerm = (*XExpr)(unsafe.Pointer(_2_pItem.X0)) if ((_2_pTerm.X2) & uint32(i32(256))) == 0 { goto _5 } _2_pColl = _sqlite3ExprCollSeq(tls, _pParse, _2_pTerm) goto _6 _5: _2_pColl = _multiSelectCollSeq(tls, _pParse, _p, int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pItem))+uintptr(28 /* X5 */))))).X0)-i32(1)) if _2_pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _2_pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _7: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_1_i))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAddCollateString(tls, _pParse, _2_pTerm, _2_pColl.X0) _6: func() int32 { if _sqlite3KeyInfoIsWriteable(tls, _pRet) != 0 { return i32(0) } return func() int32 { 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(103336))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(32 /* X6 */))))) + 8*uintptr(_1_i))) = _2_pColl *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet.X5)) + 1*uintptr(_1_i))) = (*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 32*uintptr(_1_i))).X3 _1_i += 1 goto _1 _4: _0: r0 = _pRet return } func _multiSelectCollSeq(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iCol int32) (r0 *XCollSeq) { // sqlite3.c:118168:1 var _pRet *XCollSeq // sqlite3.c:118169:11 _ = _pRet if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _0 } _pRet = _multiSelectCollSeq(tls, _pParse, (*XSelect)(unsafe.Pointer(_p.X13)), _iCol) goto _1 _0: _pRet = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) _1: func() int32 { if _iCol >= i32(0) { return i32(0) } return func() int32 { 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(103368))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pRet != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) || func() int32 { if _iCol < ((*XExprList)(unsafe.Pointer(_p.X0)).X0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _7 } _pRet = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X0)).X1)+32*uintptr(_iCol))).X0))) _7: r0 = _pRet return } var _multiSelectCollSeqØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_multiSelectCollSeqØ00__func__Ø000[0], str(103376), 19) } var _multiSelectOrderByKeyInfoØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_multiSelectOrderByKeyInfoØ00__func__Ø000[0], str(103396), 26) } func _codeOffset(tls *crt.TLS, _v *TVdbe, _iOffset int32, _iContinue int32) { // sqlite3.c:116872:1 if _iOffset <= i32(0) { goto _0 } _sqlite3VdbeAddOp3(tls, _v, i32(67), _iOffset, _iContinue, i32(1)) _sqlite3VdbeComment(tls, _v, str(25308)) _0: return } 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 var _v *TVdbe // sqlite3.c:116931:8 _ = _v var _i int32 // sqlite3.c:116932:7 _ = _i var _hasDistinct int32 // sqlite3.c:116933:7 _ = _hasDistinct var _eDest int32 // sqlite3.c:116934:7 _ = _eDest var _iParm int32 // sqlite3.c:116935:7 _ = _iParm var _nResultCol int32 // sqlite3.c:116936:7 _ = _nResultCol var _nPrefixReg int32 // sqlite3.c:116937:7 _ = _nPrefixReg var _regResult int32 // sqlite3.c:116944:7 _ = _regResult var _regOrig int32 // sqlite3.c:116945:7 _ = _regOrig var _7_ecelFlags uint8 // sqlite3.c:116987:8 _ = _7_ecelFlags var _11_j int32 // sqlite3.c:117002:13 _ = _11_j var _15_pOp *XVdbeOp // sqlite3.c:117021:16 _ = _15_pOp var _15_iJump int32 // sqlite3.c:117022:13 _ = _15_iJump var _15_regPrev int32 // sqlite3.c:117023:13 _ = _15_regPrev var _16_pColl *XCollSeq // sqlite3.c:117043:19 _ = _16_pColl var _23_r1 int32 // sqlite3.c:117082:11 _ = _23_r1 var _25_r1 int32 // sqlite3.c:117106:11 _ = _25_r1 var _26_addr int32 // sqlite3.c:117119:13 _ = _26_addr var _28_r2 int32 // sqlite3.c:117129:13 _ = _28_r2 var _31_r1 int32 // sqlite3.c:117153:13 _ = _31_r1 var _40_nKey int32 // sqlite3.c:117215:11 _ = _40_nKey var _40_r1 int32 // sqlite3.c:117216:11 _ = _40_r1 var _40_r2 int32 // sqlite3.c:117216:15 _ = _40_r2 var _40_r3 int32 // sqlite3.c:117216:19 _ = _40_r3 var _40_addrTest int32 // sqlite3.c:117217:11 _ = _40_addrTest var _40_pSO *XExprList // sqlite3.c:117218:16 _ = _40_pSO _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _eDest = int32(_pDest.X0) _iParm = _pDest.X2 _nPrefixReg = i32(0) func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46224))) crt.X__builtin_abort(tls) return i32(0) }() }() _hasDistinct = func() int32 { if _pDistinct != nil { return int32(_pDistinct.X1) } return i32(0) }() if _pSort == nil || (*XExprList)(unsafe.Pointer(_pSort.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _pSort = (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) _7: if _pSort != (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) || _hasDistinct != 0 { goto _9 } func() int32 { if _iContinue != i32(0) { return i32(0) } return func() int32 { 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(103424))) crt.X__builtin_abort(tls) return i32(0) }() }() _codeOffset(tls, _v, _p.X5, _iContinue) _9: _nResultCol = _pEList.X0 if (_pDest.X3) != i32(0) { goto _12 } if _pSort == nil { goto _13 } _nPrefixReg = (*XExprList)(unsafe.Pointer(_pSort.X0)).X0 if (int32(_pSort.X7) & i32(1)) != 0 { goto _14 } _nPrefixReg += 1 _14: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nPrefixReg sink961 = *p } _13: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(20 /* X3 */))) = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nResultCol sink961 = *p } goto _15 _12: if ((_pDest.X3) + _nResultCol) <= (_pParse.X18) { goto _16 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nResultCol sink961 = *p } _16: _15: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(24 /* X4 */))) = _nResultCol _regOrig = store961(&_regResult, _pDest.X3) if _srcTab < i32(0) { goto _17 } _i = i32(0) _18: if _i >= _nResultCol { goto _21 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _i, _regResult+_i) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_i))).X1)) _i += 1 goto _18 _21: goto _22 _17: if _eDest == i32(3) { goto _23 } if _eDest != i32(10) && _eDest != i32(9) && _eDest != i32(13) { goto _26 } _7_ecelFlags = uint8(i32(1)) goto _27 _26: _7_ecelFlags = uint8(i32(0)) _27: if _pSort == nil || _hasDistinct != i32(0) || _eDest == i32(12) || _eDest == i32(14) { goto _31 } { p := &_7_ecelFlags *p = uint8(int32(*p) | i32(12)) sink4537 = *p } _i = _pSort.X1 _32: if _i >= ((*XExprList)(unsafe.Pointer(_pSort.X0)).X0) { goto _35 } if store961(&_11_j, int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSort.X0)).X1)+32*uintptr(_i)))))+uintptr(28 /* X5 */))))).X0)) <= i32(0) { goto _36 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_11_j-i32(1))))))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16((_i + i32(1)) - (_pSort.X1)) _36: _i += 1 goto _32 _35: _regOrig = i32(0) func() int32 { if (((_eDest == i32(11)) || (_eDest == i32(10))) || (_eDest == i32(13))) || (_eDest == i32(9)) { return i32(0) } return func() int32 { 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(103440))) crt.X__builtin_abort(tls) return i32(0) }() }() _31: _nResultCol = _sqlite3ExprCodeExprList(tls, _pParse, _pEList, _regResult, i32(0), _7_ecelFlags) _23: _22: if _hasDistinct == 0 { goto _42 } switch int32(_pDistinct.X1) { case i32(1): goto _45 case i32(2): goto _44 default: goto _46 } _44: _15_regPrev = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nResultCol sink961 = *p } _sqlite3VdbeChangeToNoop(tls, _v, _pDistinct.X3) _15_pOp = _sqlite3VdbeGetOp(tls, _v, _pDistinct.X3) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(80)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pOp)) + uintptr(4 /* X3 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pOp)) + uintptr(8 /* X4 */))) = _15_regPrev _15_iJump = _sqlite3VdbeCurrentAddr(tls, _v) + _nResultCol _i = i32(0) _47: if _i >= _nResultCol { goto _50 } _16_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_i))).X0))) if _i >= (_nResultCol - i32(1)) { goto _51 } _sqlite3VdbeAddOp3(tls, _v, i32(36), _regResult+_i, _15_iJump, _15_regPrev+_i) goto _52 _51: _sqlite3VdbeAddOp3(tls, _v, i32(37), _regResult+_i, _iContinue, _15_regPrev+_i) _52: _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_16_pColl)), i32(-3)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) _i += 1 goto _47 _50: func() int32 { if (_sqlite3VdbeCurrentAddr(tls, _v) == _15_iJump) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(103520))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, i32(85), _regResult, _15_regPrev, _nResultCol-i32(1)) goto _56 _45: _sqlite3VdbeChangeToNoop(tls, _v, _pDistinct.X3) goto _56 _46: func() int32 { if int32(_pDistinct.X1) == i32(3) { return i32(0) } return func() int32 { 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(103584))) crt.X__builtin_abort(tls) return i32(0) }() }() _codeDistinct(tls, _pParse, _pDistinct.X2, _iContinue, _nResultCol, _regResult) goto _56 _56: if _pSort != (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) { goto _59 } _codeOffset(tls, _v, _p.X5, _iContinue) _59: _42: switch _eDest { case i32(1): goto _61 case i32(2): goto _62 case i32(3): goto _68 case i32(5): goto _63 case i32(6): goto _64 case i32(7): goto _73 case i32(8): goto _72 case i32(9): goto _71 case i32(10): goto _69 case i32(11): goto _67 case i32(12): goto _66 case i32(13): goto _70 case i32(14): goto _65 default: goto _74 } _61: _23_r1 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(100), _regResult, _nResultCol, _23_r1) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _23_r1, _regResult, _nResultCol) _sqlite3ReleaseTempReg(tls, _pParse, _23_r1) goto _75 _62: _sqlite3VdbeAddOp3(tls, _v, i32(127), _iParm, _regResult, _nResultCol) goto _75 _63: _64: _65: _66: _25_r1 = _sqlite3GetTempRange(tls, _pParse, _nPrefixReg+i32(1)) _sqlite3VdbeAddOp3(tls, _v, i32(100), _regResult, _nResultCol, _25_r1+_nPrefixReg) if _eDest != i32(6) { goto _76 } _26_addr = _sqlite3VdbeCurrentAddr(tls, _v) + i32(4) _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iParm+i32(1), _26_addr, _25_r1, i32(0)) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm+i32(1), _25_r1, _regResult, _nResultCol) func() int32 { if _pSort == (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(103632))) crt.X__builtin_abort(tls) return i32(0) }() }() _76: if _pSort == nil { goto _79 } _pushOntoSorter(tls, _pParse, _pSort, _p, _25_r1+_nPrefixReg, _regResult, i32(1), _nPrefixReg) goto _80 _79: _28_r2 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp2(tls, _v, i32(115), _iParm, _28_r2) _sqlite3VdbeAddOp3(tls, _v, i32(116), _iParm, _25_r1, _28_r2) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) _sqlite3ReleaseTempReg(tls, _pParse, _28_r2) _80: _sqlite3ReleaseTempRange(tls, _pParse, _25_r1, _nPrefixReg+i32(1)) goto _75 _67: if _pSort == nil { goto _81 } _pushOntoSorter(tls, _pParse, _pSort, _p, _regResult, _regOrig, _nResultCol, _nPrefixReg) goto _82 _81: _31_r1 = _sqlite3GetTempReg(tls, _pParse) func() int32 { if _sqlite3Strlen30(tls, _pDest.X1) == _nResultCol { return i32(0) } return func() int32 { 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(103644))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(100), _regResult, _nResultCol, _31_r1, _pDest.X1, _nResultCol) _sqlite3ExprCacheAffinityChange(tls, _pParse, _regResult, _nResultCol) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _31_r1, _regResult, _nResultCol) _sqlite3ReleaseTempReg(tls, _pParse, _31_r1) _82: goto _75 _68: _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _iParm) goto _75 _69: if _pSort == nil { goto _85 } func() int32 { if _nResultCol <= (_pDest.X4) { return i32(0) } return func() int32 { 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(103692))) crt.X__builtin_abort(tls) return i32(0) }() }() _pushOntoSorter(tls, _pParse, _pSort, _p, _regResult, _regOrig, _nResultCol, _nPrefixReg) goto _88 _85: func() int32 { if _nResultCol == (_pDest.X4) { return i32(0) } return func() int32 { 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(103720))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _regResult == _iParm { return i32(0) } return func() int32 { 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(103748))) crt.X__builtin_abort(tls) return i32(0) }() }() _88: goto _75 _70: _71: if _pSort == nil { goto _93 } _pushOntoSorter(tls, _pParse, _pSort, _p, _regResult, _regOrig, _nResultCol, _nPrefixReg) goto _94 _93: if _eDest != i32(13) { goto _95 } _sqlite3VdbeAddOp1(tls, _v, i32(16), _pDest.X2) goto _96 _95: _sqlite3VdbeAddOp2(tls, _v, i32(88), _regResult, _nResultCol) _sqlite3ExprCacheAffinityChange(tls, _pParse, _regResult, _nResultCol) _96: _94: goto _75 _72: _73: _40_addrTest = i32(0) _40_pSO = (*XExprList)(unsafe.Pointer(_pDest.X5)) func() int32 { if _40_pSO != nil { return i32(0) } return func() int32 { 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(103768))) crt.X__builtin_abort(tls) return i32(0) }() }() _40_nKey = _40_pSO.X0 _40_r1 = _sqlite3GetTempReg(tls, _pParse) _40_r2 = _sqlite3GetTempRange(tls, _pParse, _40_nKey+i32(2)) _40_r3 = (_40_r2 + _40_nKey) + i32(1) if _eDest != i32(8) { goto _99 } _40_addrTest = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iParm+i32(1), i32(0), _regResult, _nResultCol) _99: _sqlite3VdbeAddOp3(tls, _v, i32(100), _regResult, _nResultCol, _40_r3) if _eDest != i32(8) { goto _100 } _sqlite3VdbeAddOp2(tls, _v, i32(126), _iParm+i32(1), _40_r3) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) _100: _i = i32(0) _101: if _i >= _40_nKey { goto _104 } _sqlite3VdbeAddOp2(tls, _v, i32(86), (_regResult+int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_40_pSO.X1)+32*uintptr(_i)))))+uintptr(28 /* X5 */))))).X0))-i32(1), _40_r2+_i) _i += 1 goto _101 _104: _sqlite3VdbeAddOp2(tls, _v, i32(114), _iParm, _40_r2+_40_nKey) _sqlite3VdbeAddOp3(tls, _v, i32(100), _40_r2, _40_nKey+i32(2), _40_r1) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _40_r1, _40_r2, _40_nKey+i32(2)) if _40_addrTest == 0 { goto _105 } _sqlite3VdbeJumpHere(tls, _v, _40_addrTest) _105: _sqlite3ReleaseTempReg(tls, _pParse, _40_r1) _sqlite3ReleaseTempRange(tls, _pParse, _40_r2, _40_nKey+i32(2)) goto _75 _74: func() int32 { if _eDest == i32(4) { return i32(0) } return func() int32 { 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(103772))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _75 _75: if _pSort != (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) || (_p.X4) == 0 { goto _109 } _sqlite3VdbeAddOp2(tls, _v, i32(69), _p.X4, _iBreak) _109: return } var _selectInnerLoopØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_selectInnerLoopØ00__func__Ø000[0], str(103792), 16) } func _sqlite3ExprCodeExprList(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _target int32, _srcReg int32, _flags uint8) (r0 int32) { // sqlite3.c:94905:1 var _pItem *TExprList_item // sqlite3.c:94912:24 _ = _pItem var _i int32 // sqlite3.c:94913:7 _ = _i var _j int32 // sqlite3.c:94913:10 _ = _j var _n int32 // sqlite3.c:94913:13 _ = _n var _copyOp uint8 // sqlite3.c:94914:6 _ = _copyOp var _v *TVdbe // sqlite3.c:94915:8 _ = _v var _1_pExpr *XExpr // sqlite3.c:94922:10 _ = _1_pExpr var _6_inReg int32 // sqlite3.c:94933:11 _ = _6_inReg var _7_pOp *XVdbeOp // sqlite3.c:94935:16 _ = _7_pOp _copyOp = uint8(func() int32 { if (int32(_flags) & i32(1)) != 0 { return i32(85) } return i32(86) }()) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(92144))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _target > i32(0) { return i32(0) } return func() int32 { 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(103808))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*TVdbe)(unsafe.Pointer(_pParse.X2)) != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(103820))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = _pList.X0 if (_pParse.X11) != 0 { goto _8 } { p := &_flags *p = uint8(int32(*p) & i32(-3)) sink4537 = *p } _8: *func() *int32 { _pItem = (*TExprList_item)(unsafe.Pointer(_pList.X1)); return &_i }() = i32(0) _9: if _i >= _n { goto _12 } _1_pExpr = (*XExpr)(unsafe.Pointer(_pItem.X0)) if (int32(_flags)&i32(4)) == i32(0) || store961(&_j, int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(28 /* X5 */))))).X0)) <= i32(0) { goto _14 } if (int32(_flags) & i32(8)) == 0 { goto _15 } _i -= 1 _n -= 1 goto _16 _15: _sqlite3VdbeAddOp2(tls, _v, int32(_copyOp), (_j+_srcReg)-i32(1), _target+_i) _16: goto _17 _14: if (int32(_flags)&i32(2)) == i32(0) || _sqlite3ExprIsConstant(tls, _1_pExpr) == 0 { goto _19 } _sqlite3ExprCodeAtInit(tls, _pParse, _1_pExpr, _target+_i) goto _20 _19: _6_inReg = _sqlite3ExprCodeTarget(tls, _pParse, _1_pExpr, _target+_i) if _6_inReg == (_target + _i) { goto _21 } if int32(_copyOp) != i32(85) || int32(store5776833(&_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) { goto _25 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pOp)) + uintptr(12 /* X5 */))) += 1 goto _26 _25: _sqlite3VdbeAddOp2(tls, _v, int32(_copyOp), _6_inReg, _target+_i) _26: _21: _20: _17: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _9 _12: r0 = _n return } var _sqlite3ExprCodeExprListØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeExprListØ00__func__Ø000[0], str(103840), 24) } func _sqlite3ExprIsConstant(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:92535:1 r0 = _exprIsConst(tls, _p, i32(1), i32(0)) return } func _exprIsConst(tls *crt.TLS, _p *XExpr, _initFlag int32, _iCur int32) (r0 int32) { // sqlite3.c:92516:1 var _w XWalker // sqlite3.c:92517:10 _ = _w crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(36 /* X5 */))) = uint8(_initFlag) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _exprNodeIsConstant *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))))) = _selectNodeIsConstant *(*int32)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))) = _iCur _sqlite3WalkExpr(tls, &_w, _p) r0 = int32(_w.X5) return } func _exprNodeIsConstant(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:92457:1 if int32(_pWalker.X5) != i32(2) || ((_pExpr.X2)&uint32(i32(1))) == uint32(i32(0)) { goto _1 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) = uint8(i32(0)) r0 = i32(2) return _1: switch int32(_pExpr.X0) { case i32(55): goto _4 case i32(135): goto _8 case i32(151): goto _3 case i32(152): goto _5 case i32(153): goto _6 case i32(154): goto _7 default: goto _9 } _3: if int32(_pWalker.X5) < i32(4) && ((_pExpr.X2)&uint32(i32(524288))) == uint32(i32(0)) { goto _11 } r0 = i32(0) return _11: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) = uint8(i32(0)) r0 = i32(2) return _4: _5: _6: _7: if int32(_pWalker.X5) != i32(3) || (_pExpr.X8) != (*(*int32)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */)))))) { goto _14 } r0 = i32(0) return _14: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) = uint8(i32(0)) r0 = i32(2) return _8: if int32(_pWalker.X5) != i32(5) { goto _16 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) goto _17 _16: if int32(_pWalker.X5) != i32(4) { goto _18 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) = uint8(i32(0)) r0 = i32(2) return _18: _17: _9: r0 = i32(0) return } func _selectNodeIsConstant(tls *crt.TLS, _pWalker *XWalker, _NotUsed *XSelect) (r0 int32) { // sqlite3.c:92511:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) = uint8(i32(0)) r0 = i32(2) return } func _sqlite3ExprCodeAtInit(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _regDest int32) (r0 int32) { // sqlite3.c:94755:1 var _p *XExprList // sqlite3.c:94760:12 _ = _p var _1_pItem *TExprList_item // sqlite3.c:94764:26 _ = _1_pItem var _1_i int32 // sqlite3.c:94765:9 _ = _1_i var _4_pItem *TExprList_item // sqlite3.c:94775:27 _ = _4_pItem func() int32 { if (_pParse.X11) != 0 { return i32(0) } return func() int32 { 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(103864))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XExprList)(unsafe.Pointer(_pParse.X27)) if _regDest >= i32(0) || _p == nil { goto _3 } *func() *int32 { _1_pItem = (*TExprList_item)(unsafe.Pointer(_p.X1)); return &_1_i }() = _p.X0 _4: if _1_i <= i32(0) { goto _7 } if ((uint32((_1_pItem.X4)>>uint(i32(2)))<>uint(i32(31))) == 0 || _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_1_pItem.X0)), _pExpr, i32(-1)) != i32(0) { goto _9 } r0 = *(*int32)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(28 /* X5 */))))) return _9: *func() *int32 { *(*uintptr)(unsafe.Pointer(&_1_pItem)) += uintptr(32); return &_1_i }() -= 1 goto _4 _7: _3: _pExpr = _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pExpr, i32(0)) _p = _sqlite3ExprListAppend(tls, _pParse, _p, _pExpr) if _p == nil { goto _10 } _4_pItem = (*TExprList_item)(unsafe.Pointer(uintptr(_p.X1) + 32*uintptr((_p.X0)-i32(1)))) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(25 /* X4 */))), int8(bool2int(_regDest < i32(0))), 4, 2) if _regDest >= i32(0) { goto _11 } _regDest = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _11: *(*int32)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem)) + uintptr(28 /* X5 */))))) = _regDest _10: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(96 /* X27 */))))) = _p r0 = _regDest return } var _sqlite3ExprCodeAtInitØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeAtInitØ00__func__Ø000[0], str(103888), 22) } func _sqlite3VdbeChangeToNoop(tls *crt.TLS, _p *TVdbe, _addr int32) (r0 int32) { // sqlite3.c:72234:1 var _pOp *XVdbeOp // sqlite3.c:72235:10 _ = _pOp if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { goto _0 } r0 = i32(0) return _0: func() int32 { if (_addr >= i32(0)) && (_addr < (_p.X27)) { return i32(0) } return func() int32 { 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(103912))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr(_addr))) _freeP4(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), int32(_pOp.X1), *(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(0)) *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(162)) r0 = i32(1) return } var _sqlite3VdbeChangeToNoopØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeChangeToNoopØ00__func__Ø000[0], str(103936), 24) } func _sqlite3VdbeCurrentAddr(tls *crt.TLS, _p *TVdbe) (r0 int32) { // sqlite3.c:71969:1 func() int32 { if (_p.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(38332))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _p.X27 return } var _sqlite3VdbeCurrentAddrØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeCurrentAddrØ00__func__Ø000[0], str(103960), 23) } func _codeDistinct(tls *crt.TLS, _pParse *XParse, _iTab int32, _addrRepeat int32, _N int32, _iMem int32) { // sqlite3.c:116892:1 var _v *TVdbe // sqlite3.c:116899:8 _ = _v var _r1 int32 // sqlite3.c:116900:7 _ = _r1 _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _r1 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iTab, _addrRepeat, _iMem, _N) _sqlite3VdbeAddOp3(tls, _v, i32(100), _iMem, _N, _r1) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iTab, _r1, _iMem, _N) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) _sqlite3ReleaseTempReg(tls, _pParse, _r1) return } func _sqlite3GetTempReg(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:95785:1 if int32(_pParse.X7) != i32(0) { goto _0 } r0 = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) return _0: r0 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(404 /* X49 */))))) + 4*uintptr(preInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(31 /* X7 */))), byte(255))))) return } func _sqlite3ReleaseTempReg(tls *crt.TLS, _pParse *XParse, _iReg int32) { // sqlite3.c:95800:1 var _1_i int32 // sqlite3.c:95802:9 _ = _1_i var _1_p *TyColCache // sqlite3.c:95803:22 _ = _1_p if _iReg == 0 || int32(_pParse.X7) >= i32(8) { goto _1 } *func() **TyColCache { _1_i = i32(0); return &_1_p }() = (*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(204 /* X48 */))))) _2: if _1_i >= int32(_pParse.X13) { goto _5 } if (_1_p.X4) != _iReg { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(6 /* X2 */))) = uint8(i32(1)) return _6: *(*uintptr)(unsafe.Pointer(func() **TyColCache { _1_i += 1; return &_1_p }())) += uintptr(20) goto _2 _5: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(404 /* X49 */))))) + 4*uintptr(postInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(31 /* X7 */))), uint8(1))))) = _iReg _1: return } func _sqlite3GetTempRange(tls *crt.TLS, _pParse *XParse, _nReg int32) (r0 int32) { // sqlite3.c:95817:1 var _i int32 // sqlite3.c:95818:7 _ = _i var _n int32 // sqlite3.c:95818:10 _ = _n if _nReg != i32(1) { goto _0 } r0 = _sqlite3GetTempReg(tls, _pParse) return _0: _i = _pParse.X15 _n = _pParse.X14 if _nReg > _n { goto _1 } func() int32 { if _usedAsColumnCache(tls, _pParse, _i, (_i+_n)-i32(1)) == 0 { return i32(0) } return func() int32 { 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(103984))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X15 */))) *p = (*p) + _nReg sink961 = *p } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X14 */))) *p = (*p) - _nReg sink961 = *p } goto _4 _1: _i = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nReg sink961 = *p } _4: r0 = _i return } func _usedAsColumnCache(tls *crt.TLS, _pParse *XParse, _iFrom int32, _iTo int32) (r0 int32) { // sqlite3.c:94050:1 var _i int32 // sqlite3.c:94051:7 _ = _i var _p *TyColCache // sqlite3.c:94052:20 _ = _p var _1_r int32 // sqlite3.c:94054:9 _ = _1_r *func() **TyColCache { _i = i32(0); return &_p }() = (*TyColCache)(unsafe.Pointer((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(204 /* X48 */))))) _0: if _i >= int32(_pParse.X13) { goto _3 } _1_r = _p.X4 if _1_r < _iFrom || _1_r > _iTo { goto _5 } r0 = i32(1) return _5: *(*uintptr)(unsafe.Pointer(func() **TyColCache { _i += 1; return &_p }())) += uintptr(20) goto _0 _3: r0 = i32(0) return } var _sqlite3GetTempRangeØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GetTempRangeØ00__func__Ø000[0], str(104024), 20) } func _pushOntoSorter(tls *crt.TLS, _pParse *XParse, _pSort *XSortCtx, _pSelect *XSelect, _regData int32, _regOrigData int32, _nData int32, _nPrefixReg int32) { // sqlite3.c:116751:1 var _v *TVdbe // sqlite3.c:116760:8 _ = _v var _bSeq int32 // sqlite3.c:116761:7 _ = _bSeq var _nExpr int32 // sqlite3.c:116762:7 _ = _nExpr var _nBase int32 // sqlite3.c:116763:7 _ = _nBase var _regBase int32 // sqlite3.c:116764:7 _ = _regBase var _regRecord int32 // sqlite3.c:116765:7 _ = _regRecord var _nOBSat int32 // sqlite3.c:116766:7 _ = _nOBSat var _op int32 // sqlite3.c:116767:7 _ = _op var _iLimit int32 // sqlite3.c:116768:7 _ = _iLimit var _5_regPrevKey int32 // sqlite3.c:116792:9 _ = _5_regPrevKey var _5_addrFirst int32 // sqlite3.c:116793:9 _ = _5_addrFirst var _5_addrJmp int32 // sqlite3.c:116794:9 _ = _5_addrJmp var _5_pOp *XVdbeOp // sqlite3.c:116795:12 _ = _5_pOp var _5_nKey int32 // sqlite3.c:116796:9 _ = _5_nKey var _5_pKI *XKeyInfo // sqlite3.c:116797:13 _ = _5_pKI var _11_addr int32 // sqlite3.c:116840:9 _ = _11_addr var _11_r1 int32 // sqlite3.c:116841:9 _ = _11_r1 var _13_iBrk int32 // sqlite3.c:116860:11 _ = _13_iBrk _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _bSeq = bool2int((int32(_pSort.X7) & i32(1)) == i32(0)) _nExpr = (*XExprList)(unsafe.Pointer(_pSort.X0)).X0 _nBase = (_nExpr + _bSeq) + _nData _regRecord = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _nOBSat = _pSort.X1 func() int32 { if (_bSeq == i32(0)) || (_bSeq == i32(1)) { return i32(0) } return func() int32 { 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(104044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_nData == i32(1)) || (_regData == _regOrigData)) || (_regOrigData == i32(0)) { return i32(0) } return func() int32 { 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(104064))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nPrefixReg == 0 { goto _7 } func() int32 { if _nPrefixReg == (_nExpr + _bSeq) { return i32(0) } return func() int32 { 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(104116))) crt.X__builtin_abort(tls) return i32(0) }() }() _regBase = (_regData - _nExpr) - _bSeq goto _10 _7: _regBase = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nBase sink961 = *p } _10: func() int32 { if ((_pSelect.X5) == i32(0)) || ((_pSelect.X4) != i32(0)) { return i32(0) } return func() int32 { 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(104140))) crt.X__builtin_abort(tls) return i32(0) }() }() _iLimit = func() int32 { if (_pSelect.X5) != 0 { return ((_pSelect.X5) + i32(1)) } return (_pSelect.X4) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSort)) + uintptr(28 /* X6 */))) = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprCodeExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSort.X0)), _regBase, _regOrigData, uint8(i32(1)|func() int32 { if _regOrigData != 0 { return i32(4) } return i32(0) }())) if _bSeq == 0 { goto _18 } _sqlite3VdbeAddOp2(tls, _v, i32(114), _pSort.X2, _regBase+_nExpr) _18: if _nPrefixReg != i32(0) || _nData <= i32(0) { goto _20 } _sqlite3ExprCodeMove(tls, _pParse, _regData, (_regBase+_nExpr)+_bSeq, _nData) _20: _sqlite3VdbeAddOp3(tls, _v, i32(100), _regBase+_nOBSat, _nBase-_nOBSat, _regRecord) if _nOBSat <= i32(0) { goto _21 } _5_regPrevKey = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + (_pSort.X1) sink961 = *p } _5_nKey = (_nExpr - (_pSort.X1)) + _bSeq if _bSeq == 0 { goto _22 } _5_addrFirst = _sqlite3VdbeAddOp1(tls, _v, i32(22), _regBase+_nExpr) goto _23 _22: _5_addrFirst = _sqlite3VdbeAddOp1(tls, _v, i32(110), _pSort.X2) _23: _sqlite3VdbeAddOp3(tls, _v, i32(96), _5_regPrevKey, _regBase, _pSort.X1) _5_pOp = _sqlite3VdbeGetOp(tls, _v, _pSort.X5) if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { goto _24 } return _24: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pOp)) + uintptr(8 /* X4 */))) = _5_nKey + _nData _5_pKI = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pOp)) + uintptr(16 /* X6 */))))))) crt.Xmemset(tls, (unsafe.Pointer)(_5_pKI.X5), i32(0), uint64(_5_pKI.X2)) _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_5_pKI)), i32(-5)) *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5777046)(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)) _5_addrJmp = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp3(tls, _v, i32(18), _5_addrJmp+i32(1), i32(0), _5_addrJmp+i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSort)) + uintptr(20 /* X4 */))) = _sqlite3VdbeMakeLabel(tls, _v) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSort)) + uintptr(16 /* X3 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(14), _pSort.X3, _pSort.X4) _sqlite3VdbeAddOp1(tls, _v, i32(133), _pSort.X2) if _iLimit == 0 { goto _25 } _sqlite3VdbeAddOp2(tls, _v, i32(22), _iLimit, _pSort.X6) _25: _sqlite3VdbeJumpHere(tls, _v, _5_addrFirst) _sqlite3ExprCodeMove(tls, _pParse, _regBase, _5_regPrevKey, _pSort.X1) _sqlite3VdbeJumpHere(tls, _v, _5_addrJmp) _21: if (int32(_pSort.X7) & i32(1)) == 0 { goto _26 } _op = i32(125) goto _27 _26: _op = i32(126) _27: _sqlite3VdbeAddOp4Int(tls, _v, _op, _pSort.X2, _regRecord, _regBase+_nOBSat, _nBase-_nOBSat) if _iLimit == 0 { goto _28 } _11_r1 = i32(0) _11_addr = _sqlite3VdbeAddOp1(tls, _v, i32(68), _iLimit) _sqlite3VdbeAddOp1(tls, _v, i32(53), _pSort.X2) if (_pSort.X8) == 0 { goto _29 } _11_r1 = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp3(tls, _v, i32(98), _pSort.X2, _nExpr, _11_r1) _sqlite3VdbeComment(tls, _v, str(97640)) _29: _sqlite3VdbeAddOp1(tls, _v, i32(118), _pSort.X2) if (_pSort.X8) == 0 { goto _30 } _13_iBrk = _sqlite3VdbeCurrentAddr(tls, _v) + i32(2) _sqlite3VdbeAddOp3(tls, _v, i32(37), _regBase+_nExpr, _13_iBrk, _11_r1) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) _30: _sqlite3VdbeJumpHere(tls, _v, _11_addr) _28: return } var _pushOntoSorterØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pushOntoSorterØ00__func__Ø000[0], str(104184), 15) } func _sqlite3ExprCodeMove(tls *crt.TLS, _pParse *XParse, _iFrom int32, _iTo int32, _nReg int32) { // sqlite3.c:94036:1 func() int32 { if (_iFrom >= (_iTo + _nReg)) || ((_iFrom + _nReg) <= _iTo) { return i32(0) } return func() int32 { 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(104200))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), i32(84), _iFrom, _iTo, _nReg) _sqlite3ExprCacheRemove(tls, _pParse, _iFrom, _nReg) return } var _sqlite3ExprCodeMoveØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeMoveØ00__func__Ø000[0], str(104236), 20) } func _keyInfoFromExprList(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _iStart int32, _nExtra int32) (r0 *XKeyInfo) { // sqlite3.c:117344:1 var _nExpr int32 // sqlite3.c:117350:7 _ = _nExpr var _pInfo *XKeyInfo // sqlite3.c:117351:11 _ = _pInfo var _pItem *TExprList_item // sqlite3.c:117352:24 _ = _pItem var _db *Xsqlite3 // sqlite3.c:117353:11 _ = _db var _i int32 // sqlite3.c:117354:7 _ = _i var _2_pColl *XCollSeq // sqlite3.c:117361:15 _ = _2_pColl _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _nExpr = _pList.X0 _pInfo = _sqlite3KeyInfoAlloc(tls, _db, _nExpr-_iStart, _nExtra+i32(1)) if _pInfo == nil { goto _0 } func() int32 { if _sqlite3KeyInfoIsWriteable(tls, _pInfo) != 0 { return i32(0) } return func() int32 { 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(104256))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **TExprList_item { _i = _iStart; return &_pItem }() = (*TExprList_item)(unsafe.Pointer(uintptr(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(_pList.X1)))) + uintptr(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_iStart)))))*uintptr(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(32))))))))))) _3: if _i >= _nExpr { goto _6 } _2_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pItem.X0))) if _2_pColl != nil { goto _7 } _2_pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _7: *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(32 /* X6 */))))) + 8*uintptr(_i-_iStart))) = _2_pColl *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo.X5)) + 1*uintptr(_i-_iStart))) = _pItem.X3 *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _3 _6: _0: r0 = _pInfo return } var _keyInfoFromExprListØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_keyInfoFromExprListØ00__func__Ø000[0], str(104292), 20) } func _sqlite3ReleaseTempRange(tls *crt.TLS, _pParse *XParse, _iReg int32, _nReg int32) { // sqlite3.c:95832:1 if _nReg != i32(1) { goto _0 } _sqlite3ReleaseTempReg(tls, _pParse, _iReg) return _0: _sqlite3ExprCacheRemove(tls, _pParse, _iReg, _nReg) if _nReg <= (_pParse.X14) { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X14 */))) = _nReg *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X15 */))) = _iReg _1: return } func _sqlite3VdbeResolveLabel(tls *crt.TLS, _v *TVdbe, _x int32) { // sqlite3.c:71709:1 var _p *XParse // sqlite3.c:71710:9 _ = _p var _j int32 // sqlite3.c:71711:7 _ = _j _p = (*XParse)(unsafe.Pointer(_v.X3)) _j = i32(-1) - _x func() int32 { if (_v.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(46052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _j < (_p.X25) { return i32(0) } return func() int32 { 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(104312))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _j >= i32(0) { return i32(0) } return func() int32 { 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(104324))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X26) == nil { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X26)) + 4*uintptr(_j))) = _v.X27 _6: return } var _sqlite3VdbeResolveLabelØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeResolveLabelØ00__func__Ø000[0], str(104332), 24) } func _multiSelectOrderBy(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:119072:1 var _i int32 // sqlite3.c:119077:7 _ = _i var _j int32 // sqlite3.c:119077:10 _ = _j var _pPrior *XSelect // sqlite3.c:119078:10 _ = _pPrior var _v *TVdbe // sqlite3.c:119079:8 _ = _v var _destA XSelectDest // sqlite3.c:119080:14 _ = _destA var _destB XSelectDest // sqlite3.c:119081:14 _ = _destB var _regAddrA int32 // sqlite3.c:119082:7 _ = _regAddrA var _regAddrB int32 // sqlite3.c:119083:7 _ = _regAddrB var _addrSelectA int32 // sqlite3.c:119084:7 _ = _addrSelectA var _addrSelectB int32 // sqlite3.c:119085:7 _ = _addrSelectB var _regOutA int32 // sqlite3.c:119086:7 _ = _regOutA var _regOutB int32 // sqlite3.c:119087:7 _ = _regOutB var _addrOutA int32 // sqlite3.c:119088:7 _ = _addrOutA var _addrOutB int32 // sqlite3.c:119089:7 _ = _addrOutB var _addrEofA int32 // sqlite3.c:119090:7 _ = _addrEofA var _addrEofA_noB int32 // sqlite3.c:119091:7 _ = _addrEofA_noB var _addrEofB int32 // sqlite3.c:119092:7 _ = _addrEofB var _addrAltB int32 // sqlite3.c:119093:7 _ = _addrAltB var _addrAeqB int32 // sqlite3.c:119094:7 _ = _addrAeqB var _addrAgtB int32 // sqlite3.c:119095:7 _ = _addrAgtB var _regLimitA int32 // sqlite3.c:119096:7 _ = _regLimitA var _regLimitB int32 // sqlite3.c:119097:7 _ = _regLimitB var _regPrev int32 // sqlite3.c:119098:7 _ = _regPrev var _savedLimit int32 // sqlite3.c:119099:7 _ = _savedLimit var _savedOffset int32 // sqlite3.c:119100:7 _ = _savedOffset var _labelCmpr int32 // sqlite3.c:119101:7 _ = _labelCmpr var _labelEnd int32 // sqlite3.c:119102:7 _ = _labelEnd var _addr1 int32 // sqlite3.c:119103:7 _ = _addr1 var _op int32 // sqlite3.c:119104:7 _ = _op var _pKeyDup *XKeyInfo // sqlite3.c:119105:11 _ = _pKeyDup var _pKeyMerge *XKeyInfo // sqlite3.c:119106:11 _ = _pKeyMerge var _db *Xsqlite3 // sqlite3.c:119107:11 _ = _db var _pOrderBy *XExprList // sqlite3.c:119108:12 _ = _pOrderBy var _nOrderBy int32 // sqlite3.c:119109:7 _ = _nOrderBy var _aPermute *int32 // sqlite3.c:119110:7 _ = _aPermute var _iSub1 int32 // sqlite3.c:119112:7 _ = _iSub1 var _iSub2 int32 // sqlite3.c:119113:7 _ = _iSub2 var _2_pItem *TExprList_item // sqlite3.c:119140:28 _ = _2_pItem var _4_pNew *XExpr // sqlite3.c:119146:14 _ = _4_pNew var _5_pItem *TExprList_item // sqlite3.c:119165:26 _ = _5_pItem var _9_nExpr int32 // sqlite3.c:119189:9 _ = _9_nExpr var _24_pFirst *XSelect // sqlite3.c:119363:12 _ = _24_pFirst _addrOutB = i32(0) _pKeyDup = nil func() int32 { if (*XExprList)(unsafe.Pointer(_p.X12)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(104356))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pKeyDup == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(104372))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _labelEnd = _sqlite3VdbeMakeLabel(tls, _v) _labelCmpr = _sqlite3VdbeMakeLabel(tls, _v) _op = int32(_p.X1) _pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) func() int32 { if (*XExprList)(unsafe.Pointer(_pPrior.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(104384))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) func() int32 { if _pOrderBy != nil { return i32(0) } return func() int32 { 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(104404))) crt.X__builtin_abort(tls) return i32(0) }() }() _nOrderBy = _pOrderBy.X0 if _op == i32(116) { goto _10 } _i = i32(1) _11: if int32(_db.X17) != i32(0) || _i > ((*XExprList)(unsafe.Pointer(_p.X0)).X0) { goto _15 } *func() **TExprList_item { _j = i32(0); return &_2_pItem }() = (*TExprList_item)(unsafe.Pointer(_pOrderBy.X1)) _16: if _j >= _nOrderBy { goto _19 } func() int32 { if int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pItem))+uintptr(28 /* X5 */))))).X0) > i32(0) { return i32(0) } return func() int32 { 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(104416))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pItem))+uintptr(28 /* X5 */))))).X0) != _i { goto _22 } goto _19 _22: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _j += 1; return &_2_pItem }())) += uintptr(32) goto _16 _19: if _j != _nOrderBy { goto _23 } _4_pNew = _sqlite3Expr(tls, _db, i32(134), (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _4_pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _24 } r0 = _sqlite3NomemError(tls, i32(119147)) return _24: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pNew)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1024)) sink985 = *p } *(*int32)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pNew)) + uintptr(8 /* X3 */))))) = _i _pOrderBy = _sqlite3ExprListAppend(tls, _pParse, _pOrderBy, _4_pNew) if _pOrderBy == nil { goto _25 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(postInc961(&_nOrderBy, int32(1)))))))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_i) _25: _23: _i += 1 goto _11 _15: _10: _aPermute = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(4)*uint64(_nOrderBy+i32(1))))) if _aPermute == nil { goto _26 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPermute)) + 4*uintptr(i32(0)))) = _nOrderBy *func() **TExprList_item { _i = i32(1); return &_5_pItem }() = (*TExprList_item)(unsafe.Pointer(_pOrderBy.X1)) _27: if _i > _nOrderBy { goto _30 } func() int32 { if int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem))+uintptr(28 /* X5 */))))).X0) > i32(0) { return i32(0) } return func() int32 { 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(104416))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem))+uintptr(28 /* X5 */))))).X0) <= ((*XExprList)(unsafe.Pointer(_p.X0)).X0) { return i32(0) } return func() int32 { 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(104444))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPermute)) + 4*uintptr(_i))) = int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem))+uintptr(28 /* X5 */))))).X0) - i32(1) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_5_pItem }())) += uintptr(32) goto _27 _30: _pKeyMerge = _multiSelectOrderByKeyInfo(tls, _pParse, _p, i32(1)) goto _35 _26: _pKeyMerge = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) _35: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X12 */))))) = _pOrderBy *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(80 /* X12 */))))) = _sqlite3ExprListDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pOrderBy, i32(0)) if _op != i32(116) { goto _36 } _regPrev = i32(0) goto _37 _36: _9_nExpr = (*XExprList)(unsafe.Pointer(_p.X0)).X0 func() int32 { if (_nOrderBy >= _9_nExpr) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(104488))) crt.X__builtin_abort(tls) return i32(0) }() }() _regPrev = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + (_9_nExpr + i32(1)) sink961 = *p } _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regPrev) _pKeyDup = _sqlite3KeyInfoAlloc(tls, _db, _9_nExpr, i32(1)) if _pKeyDup == nil { goto _41 } func() int32 { if _sqlite3KeyInfoIsWriteable(tls, _pKeyDup) != 0 { return i32(0) } return func() int32 { 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(104524))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _44: if _i >= _9_nExpr { goto _47 } *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyDup))+uintptr(32 /* X6 */))))) + 8*uintptr(_i))) = _multiSelectCollSeq(tls, _pParse, _p, _i) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyDup.X5)) + 1*uintptr(_i))) = uint8(i32(0)) _i += 1 goto _44 _47: _41: _37: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(96 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ResolveOrderGroupBy(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X12)), str(25672)) if (*XSelect)(unsafe.Pointer(_pPrior.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _48 } _sqlite3ResolveOrderGroupBy(tls, _pParse, _pPrior, (*XExprList)(unsafe.Pointer(_pPrior.X12)), str(25672)) _48: _computeLimitRegisters(tls, _pParse, _p, _labelEnd) if (_p.X4) == 0 || _op != i32(116) { goto _50 } _regLimitA = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _regLimitB = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(85), func() int32 { if (_p.X5) != 0 { return ((_p.X5) + i32(1)) } return (_p.X4) }(), _regLimitA) _sqlite3VdbeAddOp2(tls, _v, i32(85), _regLimitA, _regLimitB) goto _53 _50: _regLimitA = store961(&_regLimitB, i32(0)) _53: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X16))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _regAddrA = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _regAddrB = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _regOutA = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _regOutB = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3SelectDestInit(tls, &_destA, i32(13), _regAddrA) _sqlite3SelectDestInit(tls, &_destB, i32(13), _regAddrB) _addrSelectA = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) _addr1 = _sqlite3VdbeAddOp3(tls, _v, i32(15), _regAddrA, i32(0), _addrSelectA) _sqlite3VdbeComment(tls, _v, str(104560)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(16 /* X4 */))) = _regLimitA _iSub1 = _pParse.X59 _sqlite3Select(tls, _pParse, _pPrior, &_destA) _sqlite3VdbeEndCoroutine(tls, _v, _regAddrA) _sqlite3VdbeJumpHere(tls, _v, _addr1) _addrSelectB = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) _addr1 = _sqlite3VdbeAddOp3(tls, _v, i32(15), _regAddrB, i32(0), _addrSelectB) _sqlite3VdbeComment(tls, _v, str(104572)) _savedLimit = _p.X4 _savedOffset = _p.X5 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = _regLimitB *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = i32(0) _iSub2 = _pParse.X59 _sqlite3Select(tls, _pParse, _p, &_destB) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = _savedLimit *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = _savedOffset _sqlite3VdbeEndCoroutine(tls, _v, _regAddrB) _sqlite3VdbeNoopComment(tls, _v, str(104588)) _addrOutA = _generateOutputSubroutine(tls, _pParse, _p, &_destA, _pDest, _regOutA, _regPrev, _pKeyDup, _labelEnd) if _op != i32(116) && _op != i32(115) { goto _55 } _sqlite3VdbeNoopComment(tls, _v, str(104612)) _addrOutB = _generateOutputSubroutine(tls, _pParse, _p, &_destB, _pDest, _regOutB, _regPrev, _pKeyDup, _labelEnd) _55: _sqlite3KeyInfoUnref(tls, _pKeyDup) if _op != i32(117) && _op != i32(118) { goto _57 } _addrEofA_noB = store961(&_addrEofA, _labelEnd) goto _58 _57: _sqlite3VdbeNoopComment(tls, _v, str(104636)) _addrEofA = _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutB, _addrOutB) _addrEofA_noB = _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrB, _labelEnd) _sqlite3VdbeGoto(tls, _v, _addrEofA) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _sqlite3LogEstAdd(tls, _p.X2, _pPrior.X2) _58: if _op != i32(118) { goto _59 } _addrEofB = _addrEofA if int32(_p.X2) <= int32(_pPrior.X2) { goto _60 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _pPrior.X2 _60: goto _61 _59: _sqlite3VdbeNoopComment(tls, _v, str(104656)) _addrEofB = _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutA, _addrOutA) _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _labelEnd) _sqlite3VdbeGoto(tls, _v, _addrEofB) _61: _sqlite3VdbeNoopComment(tls, _v, str(104676)) _addrAltB = _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutA, _addrOutA) _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _addrEofA) _sqlite3VdbeGoto(tls, _v, _labelCmpr) if _op != i32(116) { goto _62 } _addrAeqB = _addrAltB goto _63 _62: if _op != i32(118) { goto _64 } _addrAeqB = _addrAltB _addrAltB += 1 goto _65 _64: _sqlite3VdbeNoopComment(tls, _v, str(104696)) _addrAeqB = _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _addrEofA) _sqlite3VdbeGoto(tls, _v, _labelCmpr) _65: _63: _sqlite3VdbeNoopComment(tls, _v, str(104716)) _addrAgtB = _sqlite3VdbeCurrentAddr(tls, _v) if _op != i32(116) && _op != i32(115) { goto _67 } _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutB, _addrOutB) _67: _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrB, _addrEofB) _sqlite3VdbeGoto(tls, _v, _labelCmpr) _sqlite3VdbeJumpHere(tls, _v, _addr1) _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _addrEofA_noB) _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrB, _addrEofB) _sqlite3VdbeResolveLabel(tls, _v, _labelCmpr) _sqlite3VdbeAddOp4(tls, _v, i32(95), i32(0), i32(0), i32(0), (*int8)(unsafe.Pointer(_aPermute)), i32(-12)) _sqlite3VdbeAddOp4(tls, _v, i32(96), _destA.X3, _destB.X3, _nOrderBy, (*int8)(unsafe.Pointer(_pKeyMerge)), i32(-5)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) _sqlite3VdbeAddOp3(tls, _v, i32(18), _addrAltB, _addrAeqB, _addrAgtB) _sqlite3VdbeResolveLabel(tls, _v, _labelEnd) if int32(_pDest.X0) != i32(9) { goto _68 } _24_pFirst = _pPrior _69: if (*XSelect)(unsafe.Pointer(_24_pFirst.X13)) == nil { goto _70 } _24_pFirst = (*XSelect)(unsafe.Pointer(_24_pFirst.X13)) goto _69 _70: _generateColumnNames(tls, _pParse, (*XSrcList)(unsafe.Pointer(_24_pFirst.X8)), (*XExprList)(unsafe.Pointer(_24_pFirst.X0))) _68: if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _71 } _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_p.X13))) _71: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X13 */))))) = _pPrior *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(96 /* X14 */))))) = _p _explainComposite(tls, _pParse, int32(_p.X1), _iSub1, _iSub2, i32(0)) r0 = bool2int((_pParse.X16) != i32(0)) return } var _multiSelectOrderByØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_multiSelectOrderByØ00__func__Ø000[0], str(104736), 19) } func _sqlite3VdbeEndCoroutine(tls *crt.TLS, _v *TVdbe, _regYield int32) { // sqlite3.c:71663:1 _sqlite3VdbeAddOp1(tls, _v, i32(74), _regYield) *(*uint8)(unsafe.Pointer(uintptr(_v.X3) + uintptr(31 /* X7 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr(_v.X3) + uintptr(40 /* X14 */))) = i32(0) return } func _sqlite3VdbeNoopComment(tls *crt.TLS, _p *TVdbe, _zFormat *int8, args ...interface{}) { // sqlite3.c:72390:1 var _ap []interface{} // sqlite3.c:72391:11 _ = _ap if _p == nil { goto _0 } _sqlite3VdbeAddOp0(tls, _p, i32(162)) _ap = args _vdbeVComment(tls, _p, _zFormat, _ap) _ap = nil _0: return } 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 var _v *TVdbe // sqlite3.c:118873:8 _ = _v var _iContinue int32 // sqlite3.c:118874:7 _ = _iContinue var _addr int32 // sqlite3.c:118875:7 _ = _addr var _1_addr1 int32 // sqlite3.c:118883:9 _ = _1_addr1 var _1_addr2 int32 // sqlite3.c:118883:16 _ = _1_addr2 var _3_r1 int32 // sqlite3.c:118904:11 _ = _3_r1 var _3_r2 int32 // sqlite3.c:118905:11 _ = _3_r2 var _4_r1 int32 // sqlite3.c:118919:11 _ = _4_r1 _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _addr = _sqlite3VdbeCurrentAddr(tls, _v) _iContinue = _sqlite3VdbeMakeLabel(tls, _v) if _regPrev == 0 { goto _0 } _1_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(22), _regPrev) _1_addr2 = _sqlite3VdbeAddOp4(tls, _v, i32(96), _pIn.X3, _regPrev+i32(1), _pIn.X4, (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _pKeyInfo))), i32(-5)) _sqlite3VdbeAddOp3(tls, _v, i32(18), _1_addr2+i32(2), _iContinue, _1_addr2+i32(2)) _sqlite3VdbeJumpHere(tls, _v, _1_addr1) _sqlite3VdbeAddOp3(tls, _v, i32(85), _pIn.X3, _regPrev+i32(1), (_pIn.X4)-i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _regPrev) _0: if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { goto _1 } r0 = i32(0) return _1: _codeOffset(tls, _v, _p.X5, _iContinue) func() int32 { if int32(_pDest.X0) != i32(3) { return i32(0) } return func() int32 { 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(104756))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pDest.X0) != i32(14) { return i32(0) } return func() int32 { 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(104784))) crt.X__builtin_abort(tls) return i32(0) }() }() switch int32(_pDest.X0) { case i32(10): goto _9 case i32(11): goto _8 case i32(12): goto _7 case i32(13): goto _10 default: goto _11 } _7: _3_r1 = _sqlite3GetTempReg(tls, _pParse) _3_r2 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(100), _pIn.X3, _pIn.X4, _3_r1) _sqlite3VdbeAddOp2(tls, _v, i32(115), _pDest.X2, _3_r2) _sqlite3VdbeAddOp3(tls, _v, i32(116), _pDest.X2, _3_r1, _3_r2) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) _sqlite3ReleaseTempReg(tls, _pParse, _3_r2) _sqlite3ReleaseTempReg(tls, _pParse, _3_r1) goto _12 _8: _4_r1 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp4(tls, _v, i32(100), _pIn.X3, _pIn.X4, _4_r1, _pDest.X1, _pIn.X4) _sqlite3ExprCacheAffinityChange(tls, _pParse, _pIn.X3, _pIn.X4) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _pDest.X2, _4_r1, _pIn.X3, _pIn.X4) _sqlite3ReleaseTempReg(tls, _pParse, _4_r1) goto _12 _9: func() int32 { if ((_pIn.X4) == i32(1)) || ((_pParse.X16) > i32(0)) { return i32(0) } return func() int32 { 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(104808))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCodeMove(tls, _pParse, _pIn.X3, _pDest.X2, i32(1)) goto _12 _10: if (_pDest.X3) != i32(0) { goto _16 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(20 /* X3 */))) = _sqlite3GetTempRange(tls, _pParse, _pIn.X4) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(24 /* X4 */))) = _pIn.X4 _16: _sqlite3ExprCodeMove(tls, _pParse, _pIn.X3, _pDest.X3, _pIn.X4) _sqlite3VdbeAddOp1(tls, _v, i32(16), _pDest.X2) goto _12 _11: func() int32 { if int32(_pDest.X0) == i32(9) { return i32(0) } return func() int32 { 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(104840))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(88), _pIn.X3, _pIn.X4) _sqlite3ExprCacheAffinityChange(tls, _pParse, _pIn.X3, _pIn.X4) goto _12 _12: if (_p.X4) == 0 { goto _19 } _sqlite3VdbeAddOp2(tls, _v, i32(69), _p.X4, _iBreak) _19: _sqlite3VdbeResolveLabel(tls, _v, _iContinue) _sqlite3VdbeAddOp1(tls, _v, i32(73), _regReturn) r0 = _addr return } func _sqlite3KeyInfoRef(tls *crt.TLS, _p *XKeyInfo) (r0 *XKeyInfo) { // sqlite3.c:117312:1 if _p == nil { goto _0 } func() int32 { if (_p.X0) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(12832))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 _0: r0 = _p return } var _sqlite3KeyInfoRefØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3KeyInfoRefØ00__func__Ø000[0], str(104868), 18) } var _generateOutputSubroutineØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_generateOutputSubroutineØ00__func__Ø000[0], str(104888), 25) } func _sqlite3LogEstAdd(tls *crt.TLS, _a int16, _b int16) (r0 int16) { // sqlite3.c:28995:1 if int32(_a) < int32(_b) { goto _0 } if int32(_a) <= (int32(_b) + i32(49)) { goto _1 } r0 = _a return _1: if int32(_a) <= (int32(_b) + i32(31)) { goto _2 } r0 = int16(int32(_a) + i32(1)) return _2: r0 = int16(int32(_a) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LogEstAddØ00xØ001)) + 1*uintptr(int32(_a)-int32(_b)))))) return _0: if int32(_b) <= (int32(_a) + i32(49)) { goto _4 } r0 = _b return _4: if int32(_b) <= (int32(_a) + i32(31)) { goto _5 } r0 = int16(int32(_b) + i32(1)) return _5: r0 = int16(int32(_b) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LogEstAddØ00xØ001)) + 1*uintptr(int32(_b)-int32(_a)))))) return } var _sqlite3LogEstAddØ00xØ001 [32]uint8 // sqlite3.c:28996:30 func init() { _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} } func _generateColumnNames(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pEList *XExprList) { // sqlite3.c:117809:1 var _v *TVdbe // sqlite3.c:117814:8 _ = _v var _i int32 // sqlite3.c:117815:7 _ = _i var _j int32 // sqlite3.c:117815:10 _ = _j var _db *Xsqlite3 // sqlite3.c:117816:11 _ = _db var _fullNames int32 // sqlite3.c:117817:7 _ = _fullNames var _shortNames int32 // sqlite3.c:117817:18 _ = _shortNames var _2_p *XExpr // sqlite3.c:117834:10 _ = _2_p var _3_zName *int8 // sqlite3.c:117838:12 _ = _3_zName var _4_pTab *XTable // sqlite3.c:117841:13 _ = _4_pTab var _4_zCol *int8 // sqlite3.c:117842:12 _ = _4_zCol var _4_iCol int32 // sqlite3.c:117843:11 _ = _4_iCol var _9_zName *int8 // sqlite3.c:117860:14 _ = _9_zName var _11_z *int8 // sqlite3.c:117867:18 _ = _11_z _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X54) == 0 { goto _0 } return _0: if (_pParse.X4) == 0 && (_db.X17) == 0 { goto _2 } return _2: func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pTabList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(104916))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(28 /* X4 */))) = uint8(i32(1)) _fullNames = bool2int(((_db.X6) & i32(4)) != i32(0)) _shortNames = bool2int(((_db.X6) & i32(64)) != i32(0)) _sqlite3VdbeSetNumCols(tls, _v, _pEList.X0) _i = i32(0) _7: if _i >= (_pEList.X0) { goto _10 } _2_p = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X0)) if func() int32 { if _2_p == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _13 } goto _8 _13: if ((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X1) == nil { goto _14 } _3_zName = (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X1 _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _3_zName, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) goto _15 _14: if int32(_2_p.X0) != i32(152) && int32(_2_p.X0) != i32(154) { goto _17 } _4_iCol = int32(_2_p.X9) _j = i32(0) _18: if func() int32 { if _j < (_pTabList.X0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _23 } if ((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_j))).X11) != (_2_p.X8) { goto _24 } goto _23 _24: _j += 1 goto _18 _23: func() int32 { if _j < (_pTabList.X0) { return i32(0) } return func() int32 { 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(104928))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_j))).X4)) if _4_iCol >= i32(0) { goto _27 } _4_iCol = int32(_4_pTab.X10) _27: func() int32 { if (_4_iCol == i32(-1)) || ((_4_iCol >= i32(0)) && (_4_iCol < int32(_4_pTab.X11))) { return i32(0) } return func() int32 { 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(98464))) crt.X__builtin_abort(tls) return i32(0) }() }() if _4_iCol >= i32(0) { goto _32 } _4_zCol = str(27380) goto _33 _32: _4_zCol = (*XColumn)(unsafe.Pointer(uintptr(_4_pTab.X1) + 32*uintptr(_4_iCol))).X0 _33: if _shortNames != 0 || _fullNames != 0 { goto _35 } _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _sqlite3DbStrDup(tls, _db, (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_i))).X2), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) goto _36 _35: if _fullNames == 0 { goto _37 } _9_zName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _9_zName = _sqlite3MPrintf(tls, _db, str(6548), unsafe.Pointer(_4_pTab.X0), unsafe.Pointer(_4_zCol)) _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _9_zName, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) goto _38 _37: _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _4_zCol, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _38: _36: goto _39 _17: _11_z = (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X2 _11_z = func() *int8 { if _11_z == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return _sqlite3MPrintf(tls, _db, str(104948), _i+i32(1)) } return _sqlite3DbStrDup(tls, _db, _11_z) }() _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _11_z, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _39: _15: _8: _i += 1 goto _7 _10: _generateColumnTypes(tls, _pParse, _pTabList, _pEList) return } var _generateColumnNamesØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_generateColumnNamesØ00__func__Ø000[0], str(104960), 20) } func _generateColumnTypes(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pEList *XExprList) { // sqlite3.c:117769:1 var _v *TVdbe // sqlite3.c:117775:8 _ = _v var _i int32 // sqlite3.c:117776:7 _ = _i var _sNC XNameContext // sqlite3.c:117777:15 _ = _sNC var _1_p *XExpr // sqlite3.c:117781:10 _ = _1_p var _1_zType *int8 // sqlite3.c:117782:16 _ = _1_zType _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X1 */))))) = _pTabList *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse _i = i32(0) _0: if _i >= (_pEList.X0) { goto _3 } _1_p = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X0)) _1_zType = _columnTypeImpl(tls, &_sNC, _1_p, (*uint8)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3VdbeSetColName(tls, _v, _i, i32(1), _1_zType, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _i += 1 goto _0 _3: return } func _explainComposite(tls *crt.TLS, _pParse *XParse, _op int32, _iSub1 int32, _iSub2 int32, _bUseTmp int32) { // sqlite3.c:117434:1 var _1_v *TVdbe // sqlite3.c:117443:10 _ = _1_v var _1_zMsg *int8 // sqlite3.c:117444:10 _ = _1_zMsg func() int32 { if (((_op == i32(115)) || (_op == i32(117))) || (_op == i32(118))) || (_op == i32(116)) { return i32(0) } return func() int32 { 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(104980))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pParse.X54) != i32(2) { goto _5 } _1_v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _1_zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(105044), _iSub1, _iSub2, unsafe.Pointer(func() *int8 { if _bUseTmp != 0 { return str(105084) } return str(196) }()), unsafe.Pointer(_selectOpName(tls, _op))) _sqlite3VdbeAddOp4(tls, _1_v, i32(163), _pParse.X58, i32(0), i32(0), _1_zMsg, i32(-1)) _5: return } var _explainCompositeØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_explainCompositeØ00__func__Ø000[0], str(105104), 17) } func _sqlite3SelectExprHeight(tls *crt.TLS, _p *XSelect) (r0 int32) { // sqlite3.c:91422:1 var _nHeight int32 // sqlite3.c:91423:7 _ = _nHeight _nHeight = i32(0) _heightOfSelect(tls, _p, &_nHeight) r0 = _nHeight return } func _pushDownWhereTerms(tls *crt.TLS, _pParse *XParse, _pSubq *XSelect, _pWhere *XExpr, _iCursor int32) (r0 int32) { // sqlite3.c:120074:1 var _pNew *XExpr // sqlite3.c:120080:8 _ = _pNew var _nChng int32 // sqlite3.c:120081:7 _ = _nChng var _pX *XSelect // sqlite3.c:120082:10 _ = _pX _nChng = i32(0) if _pWhere != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _pX = _pSubq _1: if _pX == nil { goto _4 } if ((_pX.X3) & uint32(i32(8200))) == uint32(i32(0)) { goto _5 } r0 = i32(0) return _5: _pX = (*XSelect)(unsafe.Pointer(_pX.X13)) goto _1 _4: if (*XExpr)(unsafe.Pointer(_pSubq.X15)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } r0 = i32(0) return _6: _7: if int32(_pWhere.X0) != i32(28) { goto _8 } { p := &_nChng *p = (*p) + _pushDownWhereTerms(tls, _pParse, _pSubq, (*XExpr)(unsafe.Pointer(_pWhere.X5)), _iCursor) sink961 = *p } _pWhere = (*XExpr)(unsafe.Pointer(_pWhere.X4)) goto _7 _8: if ((_pWhere.X2) & uint32(i32(1))) == uint32(i32(0)) { goto _9 } r0 = i32(0) return _9: if _sqlite3ExprIsTableConstant(tls, _pWhere, _iCursor) == 0 { goto _10 } _nChng += 1 _11: if _pSubq == nil { goto _12 } _pNew = _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pWhere, i32(0)) _pNew = _substExpr(tls, _pParse, _pNew, _iCursor, (*XExprList)(unsafe.Pointer(_pSubq.X0))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubq)) + uintptr(56 /* X9 */))))) = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(_pSubq.X9)), _pNew) _pSubq = (*XSelect)(unsafe.Pointer(_pSubq.X13)) goto _11 _12: _10: r0 = _nChng return } func _sqlite3ExprIsTableConstant(tls *crt.TLS, _p *XExpr, _iCur int32) (r0 int32) { // sqlite3.c:92555:1 r0 = _exprIsConst(tls, _p, i32(3), _iCur) return } func _sqlite3ClearTempRegCache(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:95847:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(31 /* X7 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X14 */))) = i32(0) return } func _sqlite3VdbeChangeP1(tls *crt.TLS, _p *TVdbe, _addr uint32, _val int32) { // sqlite3.c:72114:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(4 /* X3 */))) = _val return } func _sqlite3VdbeChangeOpcode(tls *crt.TLS, _p *TVdbe, _addr uint32, _iNewOpcode uint8) { // sqlite3.c:72111:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(0 /* X0 */))) = _iNewOpcode return } 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 var _nByteWInfo int32 // sqlite3.c:134212:7 _ = _nByteWInfo var _nTabList int32 // sqlite3.c:134213:7 _ = _nTabList var _pWInfo *XWhereInfo // sqlite3.c:134214:13 _ = _pWInfo var _v *TVdbe // sqlite3.c:134215:8 _ = _v var _notReady uint64 // sqlite3.c:134216:11 _ = _notReady var _sWLB XWhereLoopBuilder // sqlite3.c:134217:20 _ = _sWLB var _pMaskSet *XWhereMaskSet // sqlite3.c:134218:16 _ = _pMaskSet var _pLevel *XWhereLevel // sqlite3.c:134219:14 _ = _pLevel var _pLoop *XWhereLoop // sqlite3.c:134220:13 _ = _pLoop var _ii int32 // sqlite3.c:134221:7 _ = _ii var _db *Xsqlite3 // sqlite3.c:134222:11 _ = _db var _rc int32 // sqlite3.c:134223:7 _ = _rc var _bFordelete uint8 // sqlite3.c:134224:6 _ = _bFordelete var _9_m uint64 // sqlite3.c:134351:13 _ = _9_m var _17_tabUsed uint64 // sqlite3.c:134446:13 _ = _17_tabUsed var _19_pTerm *XWhereTerm // sqlite3.c:134451:17 _ = _19_pTerm var _19_pEnd *XWhereTerm // sqlite3.c:134451:25 _ = _19_pEnd var _23_wsFlags int32 // sqlite3.c:134482:9 _ = _23_wsFlags var _23_bOnerow int32 // sqlite3.c:134483:9 _ = _23_bOnerow var _27_pTab *XTable // sqlite3.c:134502:11 _ = _27_pTab var _27_iDb int32 // sqlite3.c:134503:9 _ = _27_iDb var _27_pTabItem *TSrcList_item // sqlite3.c:134504:25 _ = _27_pTabItem var _29_pVTab *int8 // sqlite3.c:134515:18 _ = _29_pVTab var _29_iCur int32 // sqlite3.c:134516:11 _ = _29_iCur var _31_op int32 // sqlite3.c:134524:11 _ = _31_op var _33_b uint64 // sqlite3.c:134534:17 _ = _33_b var _33_n int32 // sqlite3.c:134535:13 _ = _33_n var _37_pIx *XIndex // sqlite3.c:134556:13 _ = _37_pIx var _37_iIndexCur int32 // sqlite3.c:134557:11 _ = _37_iIndexCur var _37_op int32 // sqlite3.c:134558:11 _ = _37_op var _39_pJ *XIndex // sqlite3.c:134569:15 _ = _39_pJ var _45_addrExplain int32 // sqlite3.c:134625:9 _ = _45_addrExplain var _45_wsFlags int32 // sqlite3.c:134626:9 _ = _45_wsFlags _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _bFordelete = u8(0) func() int32 { if ((int32(_wctrlFlags) & i32(8)) == i32(0)) || (((int32(_wctrlFlags) & i32(4)) != i32(0)) && ((int32(_wctrlFlags) & i32(32)) == i32(0))) { return i32(0) } return func() int32 { 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(105124))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((int32(_wctrlFlags) & i32(32)) == i32(0)) || ((int32(_wctrlFlags) & i32(16384)) == i32(0)) { return i32(0) } return func() int32 { 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(105252))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) crt.Xmemset(tls, (unsafe.Pointer)(&_sWLB), i32(0), u64(48)) if _pOrderBy == nil || (_pOrderBy.X0) < i32(64) { goto _8 } _pOrderBy = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _8: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(16 /* X2 */))))) = _pOrderBy if (int32(_db.X13) & i32(32)) == i32(0) { goto _9 } { p := &_wctrlFlags *p = uint16(int32(*p) & i32(-257)) sink4530 = *p } _9: if (_pTabList.X0) <= i32(64) { goto _10 } _sqlite3ErrorMsg(tls, _pParse, str(105328), i32(64)) r0 = (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) return _10: _nTabList = func() int32 { if (int32(_wctrlFlags) & i32(32)) != 0 { return i32(1) } return (_pTabList.X0) }() _nByteWInfo = int32(((u64(1000) + (uint64(_nTabList-i32(1)) * u64(88))) + uint64(i32(7))) & uint64(i32(-8))) _pWInfo = (*XWhereInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nByteWInfo)+u64(104)))) if (_db.X17) == 0 { goto _13 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pWInfo)) _pWInfo = (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) goto _whereBeginError _13: *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(0 /* X0 */))))) = _pParse *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(8 /* X1 */))))) = _pTabList *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(16 /* X2 */))))) = _pOrderBy *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(24 /* X3 */))))) = _pResultSet *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(36 /* X5 */))))) + 4*uintptr(i32(0)))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(36 /* X5 */)))))+4*uintptr(i32(1)))), i32(-1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(58 /* X10 */))) = uint8(_nTabList) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(48 /* X7 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(44 /* X6 */))), _sqlite3VdbeMakeLabel(tls, _v)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(56 /* X9 */))) = _wctrlFlags *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(32 /* X4 */))) = int16(_iAuxArg) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(52 /* X8 */))) = int32(_pParse.X42) crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(59 /* X11 */)))), i32(0), u64(37)) crt.Xmemset(tls, (unsafe.Pointer)((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */)))))+88*uintptr(i32(0))))), i32(0), u64(104)+(uint64(_nTabList)*u64(88))) func() int32 { if int32(_pWInfo.X13) == i32(0) { return i32(0) } return func() int32 { 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(105356))) crt.X__builtin_abort(tls) return i32(0) }() }() _pMaskSet = (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(648 /* X22 */))) *(**XWhereInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(0 /* X0 */))))) = _pWInfo *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(8 /* X1 */))))) = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(96 /* X21 */))) *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(24 /* X3 */))))) = (*XWhereLoop)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pWInfo)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_nByteWInfo))))))))) func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*XWhereLoop)(unsafe.Pointer(_sWLB.X3))))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(105388))) crt.X__builtin_abort(tls) return i32(0) }() }() _whereLoopInit(tls, (*XWhereLoop)(unsafe.Pointer(_sWLB.X3))) *(*int8)(unsafe.Pointer(uintptr(_sWLB.X3) + uintptr(16 /* X2 */))) = int8(i32(42)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMaskSet)) + uintptr(0 /* X0 */))) = i32(0) _sqlite3WhereClauseInit(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */))), _pWInfo) _sqlite3WhereSplit(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */))), _pWhere, uint8(i32(28))) _ii = i32(0) _18: if _ii >= ((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X3) { goto _21 } if _nTabList != i32(0) && _sqlite3ExprIsConstantNotJoin(tls, (*XExpr)(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)+64*uintptr(_ii))).X0))) == 0 { goto _23 } _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)+64*uintptr(_ii))).X0)), _pWInfo.X7, i32(16)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)+64*uintptr(_ii))))) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } _23: _ii += 1 goto _18 _21: if _nTabList != i32(0) { goto _24 } if _pOrderBy == nil { goto _25 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(59 /* X11 */))) = int8(_pOrderBy.X0) _25: if (int32(_wctrlFlags) & i32(256)) == 0 { goto _26 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(63 /* X15 */))) = uint8(i32(1)) _26: _24: _ii = i32(0) _27: if _ii >= (_pTabList.X0) { goto _30 } _createMask(tls, _pMaskSet, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(_ii))).X11) _sqlite3WhereTabFuncArgs(tls, _pParse, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(_ii))), (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */)))) _ii += 1 goto _27 _30: _ii = i32(0) _31: if _ii >= (_pTabList.X0) { goto _34 } _9_m = _sqlite3WhereGetMask(tls, _pMaskSet, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(_ii))).X11) func() int32 { if _9_m == (u64(1) << uint(_ii)) { return i32(0) } return func() int32 { 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(105420))) crt.X__builtin_abort(tls) return i32(0) }() }() _ii += 1 goto _31 _34: _sqlite3WhereExprAnalyze(tls, _pTabList, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */)))) if (_db.X17) == 0 { goto _37 } goto _whereBeginError _37: if (int32(_wctrlFlags) & i32(256)) == 0 { goto _38 } if _isDistinctRedundant(tls, _pParse, _pTabList, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */))), _pResultSet) == 0 { goto _39 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(63 /* X15 */))) = uint8(i32(1)) goto _40 _39: if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _41 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(56 /* X9 */))) *p = uint16(int32(*p) | i32(128)) sink4530 = *p } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(16 /* X2 */))))) = _pResultSet _41: _40: _38: if _nTabList == i32(1) && _whereShortCut(tls, &_sWLB) != i32(0) { goto _43 } _rc = _whereLoopAddAll(tls, &_sWLB) if _rc == 0 { goto _44 } goto _whereBeginError _44: _wherePathSolver(tls, _pWInfo, int16(i32(0))) if (_db.X17) == 0 { goto _45 } goto _whereBeginError _45: if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) == nil { goto _46 } _wherePathSolver(tls, _pWInfo, int16(int32(_pWInfo.X20)+i32(1))) if (_db.X17) == 0 { goto _47 } goto _whereBeginError _47: _46: _43: if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || ((_db.X6)&i32(131072)) == i32(0) { goto _49 } *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(80 /* X19 */))) = u64(18446744073709551615) _49: if (_pParse.X16) == 0 && func() int32 { if (_db.X17) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _53 } goto _whereBeginError _53: if int32(_pWInfo.X10) < i32(2) || _pResultSet == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || (int32(_db.X13)&i32(1024)) != i32(0) { goto _56 } _17_tabUsed = _sqlite3WhereExprListUsage(tls, _pMaskSet, _pResultSet) if (*XExprList)(unsafe.Pointer(_sWLB.X2)) == nil { goto _57 } { p := &_17_tabUsed *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_sWLB.X2))) sink992 = *p } _57: _58: if int32(_pWInfo.X10) < i32(2) { goto _59 } _pLoop = (*XWhereLoop)(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(int32(_pWInfo.X10)-i32(1)))).X18)) if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */)))))+112*uintptr(_pLoop.X3)))))+uintptr(60 /* X9 */))).X0) & i32(8)) != i32(0) { goto _60 } goto _59 _60: if (int32(_wctrlFlags)&i32(256)) != i32(0) || ((_pLoop.X9)&uint32(i32(4096))) != uint32(i32(0)) { goto _62 } goto _59 _62: if (_17_tabUsed & (_pLoop.X1)) == uint64(i32(0)) { goto _63 } goto _59 _63: _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(64))))))))))) _19_pTerm = (*XWhereTerm)(unsafe.Pointer((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)) _64: if uintptr(unsafe.Pointer(_19_pTerm)) >= uintptr(unsafe.Pointer(_19_pEnd)) { goto _67 } if ((_19_pTerm.X12)&(_pLoop.X1)) == uint64(i32(0)) || (((*XExpr)(unsafe.Pointer(_19_pTerm.X0)).X2)&uint32(i32(1))) != uint32(i32(0)) { goto _69 } goto _67 _69: *(*uintptr)(unsafe.Pointer(&_19_pTerm)) += uintptr(64) goto _64 _67: if uintptr(unsafe.Pointer(_19_pTerm)) >= uintptr(unsafe.Pointer(_19_pEnd)) { goto _70 } goto _59 _70: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(58 /* X10 */))) -= 1 _nTabList -= 1 goto _58 _59: _56: { p := (*uint32)(unsafe.Pointer(uintptr(_pWInfo.X0) + uintptr(188 /* X42 */))) *p = (*p) + uint32(_pWInfo.X20) sink985 = *p } func() int32 { if ((int32(_wctrlFlags) & i32(4)) == i32(0)) || (int32(_pWInfo.X10) == i32(1)) { return i32(0) } return func() int32 { 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(105436))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_wctrlFlags) & i32(4)) == i32(0) { goto _74 } _23_wsFlags = int32((*XWhereLoop)(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(i32(0)))).X18)).X9) _23_bOnerow = bool2int((_23_wsFlags & i32(4096)) != i32(0)) if _23_bOnerow == 0 && ((int32(_wctrlFlags)&i32(8)) == i32(0) || i32(0) != (_23_wsFlags&i32(1024))) { goto _77 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(61 /* X13 */))) = uint8(func() int32 { if _23_bOnerow != 0 { return i32(1) } return i32(2) }()) if (((*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X4)).X9)&uint32(i32(32))) != uint32(i32(0)) || (_23_wsFlags&i32(64)) == 0 { goto _81 } if (int32(_wctrlFlags) & i32(8)) == 0 { goto _82 } _bFordelete = uint8(i32(8)) _82: *(*uint32)(unsafe.Pointer(uintptr((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */)))))+88*uintptr(i32(0)))).X18) + uintptr(48 /* X9 */))) = uint32(_23_wsFlags & i32(-65)) _81: _77: _74: *func() **XWhereLevel { _ii = i32(0); return &_pLevel }() = (*XWhereLevel)(unsafe.Pointer((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(912 /* X23 */))))) _83: if _ii >= _nTabList { goto _86 } _27_pTabItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_pLevel.X11))) _27_pTab = (*XTable)(unsafe.Pointer(_27_pTabItem.X4)) _27_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_27_pTab.X20))) _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) if ((_27_pTab.X9)&uint32(i32(2))) == uint32(i32(0)) && (*XSelect)(unsafe.Pointer(_27_pTab.X3)) == nil { goto _88 } goto _89 _88: if ((_pLoop.X9) & uint32(i32(1024))) == uint32(i32(0)) { goto _90 } _29_pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _27_pTab))) _29_iCur = _27_pTabItem.X11 _sqlite3VdbeAddOp4(tls, _v, i32(156), _29_iCur, i32(0), i32(0), _29_pVTab, i32(-8)) goto _91 _90: if (_27_pTab.X16) == 0 { goto _92 } goto _93 _92: if ((_pLoop.X9)&uint32(i32(64))) != uint32(i32(0)) || (int32(_wctrlFlags)&i32(32)) != i32(0) { goto _95 } _31_op = i32(105) if int32(_pWInfo.X13) == i32(0) { goto _96 } _31_op = i32(106) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(36 /* X5 */))))) + 4*uintptr(i32(0)))) = _27_pTabItem.X11 _96: _sqlite3OpenTable(tls, _pParse, _27_pTabItem.X11, _27_iDb, _27_pTab, _31_op) func() int32 { if (_27_pTabItem.X11) == (_pLevel.X1) { return i32(0) } return func() int32 { 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(105500))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pWInfo.X13) != i32(0) || int32(_27_pTab.X11) >= i32(64) || ((_27_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) { goto _101 } _33_b = _27_pTabItem.X14 _33_n = i32(0) _102: if _33_b == 0 { goto _105 } *func() *int32 { _33_b = _33_b >> uint(i32(1)); return &_33_n }() += 1 goto _102 _105: _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer((unsafe.Pointer)(uintptr(int64(_33_n))))), i32(-11)) func() int32 { if _33_n <= int32(_27_pTab.X11) { return i32(0) } return func() int32 { 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(105536))) crt.X__builtin_abort(tls) return i32(0) }() }() _101: _sqlite3VdbeChangeP5(tls, _v, uint16(_bFordelete)) goto _108 _95: _sqlite3TableLock(tls, _pParse, _27_iDb, _27_pTab.X7, uint8(i32(0)), _27_pTab.X0) _108: _93: _91: _89: if ((_pLoop.X9) & uint32(i32(512))) == 0 { goto _109 } _37_pIx = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X3)) _37_op = i32(105) func() int32 { if (_iAuxArg != i32(0)) || ((int32(_pWInfo.X9) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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(105552))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_27_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_37_pIx.X16)<>uint(i32(30))) != i32(2) || (int32(_wctrlFlags)&i32(32)) == i32(0) { goto _115 } _37_iIndexCur = _pLevel.X1 _37_op = i32(0) goto _116 _115: if int32(_pWInfo.X13) == i32(0) { goto _117 } _39_pJ = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_27_pTabItem.X4)).X2)) _37_iIndexCur = _iAuxArg func() int32 { if (int32(_wctrlFlags) & i32(4)) != 0 { return i32(0) } return func() int32 { 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(105616))) crt.X__builtin_abort(tls) return i32(0) }() }() _120: if func() int32 { if _39_pJ != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || _39_pJ == _37_pIx { goto _121 } _37_iIndexCur += 1 _39_pJ = (*XIndex)(unsafe.Pointer(_39_pJ.X5)) goto _120 _121: _37_op = i32(106) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(36 /* X5 */))))) + 4*uintptr(i32(1)))) = _37_iIndexCur goto _125 _117: if _iAuxArg == 0 || (int32(_wctrlFlags)&i32(32)) == i32(0) { goto _127 } _37_iIndexCur = _iAuxArg _37_op = i32(104) goto _128 _127: _37_iIndexCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _128: _125: _116: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(8 /* X2 */))) = _37_iIndexCur func() int32 { if (*XSchema)(unsafe.Pointer(_37_pIx.X6)) == (*XSchema)(unsafe.Pointer(_27_pTab.X20)) { return i32(0) } return func() int32 { 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(105652))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _37_iIndexCur >= i32(0) { return i32(0) } return func() int32 { 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(105680))) crt.X__builtin_abort(tls) return i32(0) }() }() if _37_op == 0 { goto _133 } _sqlite3VdbeAddOp3(tls, _v, _37_op, _37_iIndexCur, _37_pIx.X11, _27_iDb) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _37_pIx) if ((_pLoop.X9)&uint32(i32(15))) == uint32(i32(0)) || ((_pLoop.X9)&uint32(i32(32770))) != uint32(i32(0)) || (int32(_pWInfo.X9)&i32(1)) != i32(0) { goto _136 } _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) _136: _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_37_pIx.X0)) _133: _109: if _27_iDb < i32(0) { goto _137 } _sqlite3CodeVerifySchema(tls, _pParse, _27_iDb) _137: *(*uintptr)(unsafe.Pointer(func() **XWhereLevel { _ii += 1; return &_pLevel }())) += uintptr(88) goto _83 _86: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(68 /* X17 */))) = _sqlite3VdbeCurrentAddr(tls, _v) if (_db.X17) == 0 { goto _138 } goto _whereBeginError _138: _notReady = u64(18446744073709551615) _ii = i32(0) _139: if _ii >= _nTabList { goto _142 } _pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(_ii))) _45_wsFlags = int32((*XWhereLoop)(unsafe.Pointer(_pLevel.X18)).X9) if (((*XWhereLoop)(unsafe.Pointer(_pLevel.X18)).X9) & uint32(i32(16384))) == uint32(i32(0)) { goto _143 } _constructAutomaticIndex(tls, _pParse, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */))), (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(_pLevel.X11))), _notReady, _pLevel) if (_db.X17) == 0 { goto _144 } goto _whereBeginError _144: _143: _45_addrExplain = _sqlite3WhereExplainOneScan(tls, _pParse, _pTabList, _pLevel, _ii, int32(_pLevel.X11), _wctrlFlags) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(32 /* X8 */))) = _sqlite3VdbeCurrentAddr(tls, _v) _notReady = _sqlite3WhereCodeOneLoopStart(tls, _pWInfo, _ii, _notReady) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(44 /* X6 */))) = _pLevel.X6 if (_45_wsFlags&i32(8192)) != i32(0) || (int32(_wctrlFlags)&i32(32)) != i32(0) { goto _146 } _146: _ii += 1 goto _139 _142: r0 = _pWInfo return _whereBeginError: if _pWInfo == nil { goto _147 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(188 /* X42 */))) = uint32(_pWInfo.X8) _whereInfoFree(tls, _db, _pWInfo) _147: r0 = (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3WhereBeginØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereBeginØ00__func__Ø000[0], str(105696), 18) } func _whereLoopInit(tls *crt.TLS, _p *XWhereLoop) { // sqlite3.c:131605:1 *(***XWhereTerm)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X13 */))))) = (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X15 */))))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X10 */))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))) = uint16(i32(3)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X9 */))) = uint32(i32(0)) return } func _sqlite3WhereClauseInit(tls *crt.TLS, _pWC *XWhereClause, _pWInfo *XWhereInfo) { // sqlite3.c:129705:1 *(**XWhereInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(0 /* X0 */))))) = _pWInfo *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(8 /* X1 */))))) = (*XWhereClause)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(20 /* X3 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(24 /* X4 */))) = i32(8) *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(32 /* X5 */))))) = (*XWhereTerm)(unsafe.Pointer((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(40 /* X6 */))))) return } func _sqlite3WhereSplit(tls *crt.TLS, _pWC *XWhereClause, _pExpr *XExpr, _op uint8) { // sqlite3.c:129690:1 var _pE2 *XExpr // sqlite3.c:129691:8 _ = _pE2 _pE2 = _sqlite3ExprSkipCollate(tls, _pExpr) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(16 /* X2 */))) = _op if _pE2 != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: if int32(_pE2.X0) == int32(_op) { goto _1 } _whereClauseInsert(tls, _pWC, _pExpr, uint16(i32(0))) goto _2 _1: _sqlite3WhereSplit(tls, _pWC, (*XExpr)(unsafe.Pointer(_pE2.X4)), _op) _sqlite3WhereSplit(tls, _pWC, (*XExpr)(unsafe.Pointer(_pE2.X5)), _op) _2: return } func _whereClauseInsert(tls *crt.TLS, _pWC *XWhereClause, _p *XExpr, _wtFlags uint16) (r0 int32) { // sqlite3.c:128438:1 var _pTerm *XWhereTerm // sqlite3.c:128439:13 _ = _pTerm var _idx int32 // sqlite3.c:128440:7 _ = _idx var _1_pOld *XWhereTerm // sqlite3.c:128443:15 _ = _1_pOld var _1_db *Xsqlite3 // sqlite3.c:128444:13 _ = _1_db if (_pWC.X3) < (_pWC.X4) { goto _0 } _1_pOld = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _1_db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)).X0)) *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(32 /* X5 */))))) = (*XWhereTerm)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _1_db, (u64(64)*uint64(_pWC.X4))*uint64(i32(2))))) if (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } if (int32(_wtFlags) & i32(1)) == 0 { goto _2 } _sqlite3ExprDelete(tls, _1_db, _p) _2: *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(32 /* X5 */))))) = _1_pOld r0 = i32(0) return _1: crt.Xmemcpy(tls, _pWC.X5, (unsafe.Pointer)(_1_pOld), u64(64)*uint64(_pWC.X3)) if _1_pOld == (*XWhereTerm)(unsafe.Pointer((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC))+uintptr(40 /* X6 */))))) { goto _3 } _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_1_pOld)) _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(24 /* X4 */))) = int32(uint64(_sqlite3DbMallocSize(tls, _1_db, _pWC.X5)) / u64(64)) _0: _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(store961(&_idx, postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC))+uintptr(20 /* X3 */))), int32(1)))))) if _p == nil || ((_p.X2)&uint32(i32(262144))) == uint32(i32(0)) { goto _5 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(16 /* X2 */))) = int16(int32(_sqlite3LogEst(tls, uint64(_p.X8))) - i32(270)) goto _6 _5: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(16 /* X2 */))) = int16(i32(1)) _6: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(0 /* X0 */))))) = _sqlite3ExprSkipCollate(tls, _p) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) = _wtFlags *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(8 /* X1 */))))) = _pWC *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(24 /* X7 */))) = i32(-1) crt.Xmemset(tls, (unsafe.Pointer)((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm))+uintptr(20 /* X4 */)))), i32(0), u64(44)) r0 = _idx return } func _sqlite3ExprIsConstantNotJoin(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:92545:1 r0 = _exprIsConst(tls, _p, i32(2), i32(0)) return } func _sqlite3ExprIfFalse(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _jumpIfNull int32) { // sqlite3.c:95163:1 var _v *TVdbe // sqlite3.c:95164:8 _ = _v var _op int32 // sqlite3.c:95165:7 _ = _op var _regFree1 int32 // sqlite3.c:95166:7 _ = _regFree1 var _regFree2 int32 // sqlite3.c:95167:7 _ = _regFree2 var _r1 int32 // sqlite3.c:95168:7 _ = _r1 var _r2 int32 // sqlite3.c:95168:11 _ = _r2 var _3_d2 int32 // sqlite3.c:95215:11 _ = _3_d2 var _10_destIfNull int32 // sqlite3.c:95281:13 _ = _10_destIfNull _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _op = i32(0) _regFree1 = i32(0) _regFree2 = i32(0) func() int32 { if (_jumpIfNull == i32(16)) || (_jumpIfNull == i32(0)) { return i32(0) } return func() int32 { 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(105716))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if _v == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _5 } return _5: if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } return _6: _op = ((int32(_pExpr.X0) + i32(0)) ^ i32(1)) - i32(0) func() int32 { if (int32(_pExpr.X0) != i32(34)) || (_op == i32(35)) { return i32(0) } return func() int32 { 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(105764))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(35)) || (_op == i32(34)) { return i32(0) } return func() int32 { 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(105804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(36)) || (_op == i32(37)) { return i32(0) } return func() int32 { 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(105844))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(37)) || (_op == i32(36)) { return i32(0) } return func() int32 { 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(105876))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(40)) || (_op == i32(41)) { return i32(0) } return func() int32 { 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(105908))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(39)) || (_op == i32(38)) { return i32(0) } return func() int32 { 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(105940))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(38)) || (_op == i32(39)) { return i32(0) } return func() int32 { 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(105972))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pExpr.X0) != i32(41)) || (_op == i32(40)) { return i32(0) } return func() int32 { 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(106004))) crt.X__builtin_abort(tls) return i32(0) }() }() switch int32(_pExpr.X0) { case i32(19): goto _34 case i32(27): goto _33 case i32(28): goto _32 case i32(29): goto _35 case i32(32): goto _45 case i32(33): goto _46 case i32(34): goto _43 case i32(35): goto _44 case i32(36): goto _41 case i32(37): goto _42 case i32(38): goto _39 case i32(39): goto _38 case i32(40): goto _37 case i32(41): goto _40 case i32(148): goto _36 default: goto _47 } _32: _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) _sqlite3ExprCachePop(tls, _pParse) goto _48 _33: _3_d2 = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _3_d2, _jumpIfNull^i32(16)) _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) _sqlite3VdbeResolveLabel(tls, _v, _3_d2) _sqlite3ExprCachePop(tls, _pParse) goto _48 _34: _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) goto _48 _35: _36: _op = func() int32 { if int32(_pExpr.X0) == i32(29) { return i32(36) } return i32(37) }() _jumpIfNull = i32(128) _37: _38: _39: _40: _41: _42: if _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == 0 { goto _51 } goto _default_expr _51: _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) _codeCompare(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), (*XExpr)(unsafe.Pointer(_pExpr.X5)), _op, _r1, _r2, _dest, _jumpIfNull) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) goto _48 _43: _44: _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _sqlite3VdbeAddOp2(tls, _v, _op, _r1, _dest) goto _48 _45: _exprCodeBetween(tls, _pParse, _pExpr, _dest, _sqlite3ExprIfFalse, _jumpIfNull) goto _48 _46: if _jumpIfNull == 0 { goto _52 } _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _dest, _dest) goto _53 _52: _10_destIfNull = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _dest, _10_destIfNull) _sqlite3VdbeResolveLabel(tls, _v, _10_destIfNull) _53: goto _48 _47: _default_expr: if _exprAlwaysFalse(tls, _pExpr) == 0 { goto _54 } _sqlite3VdbeGoto(tls, _v, _dest) goto _55 _54: if _exprAlwaysTrue(tls, _pExpr) == 0 { goto _56 } goto _57 _56: _r1 = _sqlite3ExprCodeTemp(tls, _pParse, _pExpr, &_regFree1) _sqlite3VdbeAddOp3(tls, _v, i32(22), _r1, _dest, bool2int(_jumpIfNull != i32(0))) _57: _55: goto _48 _48: _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) _sqlite3ReleaseTempReg(tls, _pParse, _regFree2) return } var _sqlite3ExprIfFalseØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprIfFalseØ00__func__Ø000[0], str(106036), 19) } func _sqlite3ExprCachePop(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:93870:1 var _i int32 // sqlite3.c:93871:7 _ = _i _i = i32(0) func() int32 { if (_pParse.X23) >= i32(1) { return i32(0) } return func() int32 { 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(106056))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(76 /* X23 */))) -= 1 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(4096)) == 0 { goto _2 } crt.Xprintf(tls, str(106080), _pParse.X23) _2: _3: if _i >= int32(_pParse.X13) { goto _4 } if ((*TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]TyColCache)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(204 /* X48 */))))) + 20*uintptr(_i))).X3) <= (_pParse.X23) { goto _5 } _cacheEntryClear(tls, _pParse, _i) goto _6 _5: _i += 1 _6: goto _3 _4: return } var _sqlite3ExprCachePopØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCachePopØ00__func__Ø000[0], str(106092), 20) } func _sqlite3ExprIfTrue(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _jumpIfNull int32) { // sqlite3.c:95040:1 var _v *TVdbe // sqlite3.c:95041:8 _ = _v var _op int32 // sqlite3.c:95042:7 _ = _op var _regFree1 int32 // sqlite3.c:95043:7 _ = _regFree1 var _regFree2 int32 // sqlite3.c:95044:7 _ = _regFree2 var _r1 int32 // sqlite3.c:95045:7 _ = _r1 var _r2 int32 // sqlite3.c:95045:11 _ = _r2 var _2_d2 int32 // sqlite3.c:95053:11 _ = _2_d2 var _8_destIfFalse int32 // sqlite3.c:95126:11 _ = _8_destIfFalse var _8_destIfNull int32 // sqlite3.c:95127:11 _ = _8_destIfNull _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _op = i32(0) _regFree1 = i32(0) _regFree2 = i32(0) func() int32 { if (_jumpIfNull == i32(16)) || (_jumpIfNull == i32(0)) { return i32(0) } return func() int32 { 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(105716))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if _v == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _5 } return _5: if func() int32 { if _pExpr == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _8 } return _8: _op = int32(_pExpr.X0) switch _op { case i32(19): goto _12 case i32(27): goto _11 case i32(28): goto _10 case i32(29): goto _13 case i32(32): goto _23 case i32(33): goto _24 case i32(34): goto _21 case i32(35): goto _22 case i32(36): goto _19 case i32(37): goto _20 case i32(38): goto _17 case i32(39): goto _16 case i32(40): goto _15 case i32(41): goto _18 case i32(148): goto _14 default: goto _25 } _10: _2_d2 = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _2_d2, _jumpIfNull^i32(16)) _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) _sqlite3VdbeResolveLabel(tls, _v, _2_d2) _sqlite3ExprCachePop(tls, _pParse) goto _26 _11: _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) _sqlite3ExprCachePop(tls, _pParse) goto _26 _12: _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) goto _26 _13: _14: _op = func() int32 { if _op == i32(29) { return i32(37) } return i32(36) }() _jumpIfNull = i32(128) _15: _16: _17: _18: _19: _20: if _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == 0 { goto _29 } goto _default_expr _29: _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) _codeCompare(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), (*XExpr)(unsafe.Pointer(_pExpr.X5)), _op, _r1, _r2, _dest, _jumpIfNull) i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) goto _26 _21: _22: i32(0) i32(0) _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) _sqlite3VdbeAddOp2(tls, _v, _op, _r1, _dest) goto _26 _23: _exprCodeBetween(tls, _pParse, _pExpr, _dest, _sqlite3ExprIfTrue, _jumpIfNull) goto _26 _24: _8_destIfFalse = _sqlite3VdbeMakeLabel(tls, _v) _8_destIfNull = func() int32 { if _jumpIfNull != 0 { return _dest } return _8_destIfFalse }() _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _8_destIfFalse, _8_destIfNull) _sqlite3VdbeGoto(tls, _v, _dest) _sqlite3VdbeResolveLabel(tls, _v, _8_destIfFalse) goto _26 _25: _default_expr: if _exprAlwaysTrue(tls, _pExpr) == 0 { goto _32 } _sqlite3VdbeGoto(tls, _v, _dest) goto _33 _32: if _exprAlwaysFalse(tls, _pExpr) == 0 { goto _34 } goto _35 _34: _r1 = _sqlite3ExprCodeTemp(tls, _pParse, _pExpr, &_regFree1) _sqlite3VdbeAddOp3(tls, _v, i32(21), _r1, _dest, bool2int(_jumpIfNull != i32(0))) _35: _33: goto _26 _26: _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) _sqlite3ReleaseTempReg(tls, _pParse, _regFree2) return } var _sqlite3ExprIfTrueØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprIfTrueØ00__func__Ø000[0], str(106112), 18) } func _sqlite3ExprCodeTemp(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pReg *int32) (r0 int32) { // sqlite3.c:94797:1 var _r2 int32 // sqlite3.c:94798:7 _ = _r2 var _2_r1 int32 // sqlite3.c:94807:9 _ = _2_r1 _pExpr = _sqlite3ExprSkipCollate(tls, _pExpr) if (_pParse.X11) == 0 || int32(_pExpr.X0) == i32(157) || _sqlite3ExprIsConstantNotJoin(tls, _pExpr) == 0 { goto _2 } *_pReg = i32(0) _r2 = _sqlite3ExprCodeAtInit(tls, _pParse, _pExpr, i32(-1)) goto _3 _2: _2_r1 = _sqlite3GetTempReg(tls, _pParse) _r2 = _sqlite3ExprCodeTarget(tls, _pParse, _pExpr, _2_r1) if _r2 != _2_r1 { goto _4 } *_pReg = _2_r1 goto _5 _4: _sqlite3ReleaseTempReg(tls, _pParse, _2_r1) *_pReg = i32(0) _5: _3: r0 = _r2 return } 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 var _p5 int32 // sqlite3.c:91046:7 _ = _p5 var _addr int32 // sqlite3.c:91047:7 _ = _addr var _p4 *XCollSeq // sqlite3.c:91048:11 _ = _p4 _p4 = _sqlite3BinaryCompareCollSeq(tls, _pParse, _pLeft, _pRight) _p5 = int32(_binaryCompareP5(tls, _pLeft, _pRight, _jumpIfNull)) _addr = _sqlite3VdbeAddOp4(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), _opcode, _in2, _dest, _in1, (*int8)(unsafe.Pointer((unsafe.Pointer)(_p4))), i32(-3)) _sqlite3VdbeChangeP5(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), uint16(uint8(_p5))) r0 = _addr return } func _sqlite3BinaryCompareCollSeq(tls *crt.TLS, _pParse *XParse, _pLeft *XExpr, _pRight *XExpr) (r0 *XCollSeq) { // sqlite3.c:91014:1 var _pColl *XCollSeq // sqlite3.c:91019:11 _ = _pColl func() int32 { if _pLeft != nil { return i32(0) } return func() int32 { 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(43776))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pLeft.X2) & uint32(i32(256))) == 0 { goto _2 } _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pLeft) goto _3 _2: if _pRight == nil || ((_pRight.X2)&uint32(i32(256))) == uint32(i32(0)) { goto _5 } _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pRight) goto _6 _5: _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pLeft) if _pColl != nil { goto _7 } _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pRight) _7: _6: _3: r0 = _pColl return } var _sqlite3BinaryCompareCollSeqØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BinaryCompareCollSeqØ00__func__Ø000[0], str(106132), 28) } func _binaryCompareP5(tls *crt.TLS, _pExpr1 *XExpr, _pExpr2 *XExpr, _jumpIfNull int32) (r0 uint8) { // sqlite3.c:90996:1 var _aff uint8 // sqlite3.c:90997:6 _ = _aff _aff = uint8(_sqlite3ExprAffinity(tls, _pExpr2)) _aff = uint8(int32(uint8(_sqlite3CompareAffinity(tls, _pExpr1, int8(_aff)))) | int32(uint8(_jumpIfNull))) r0 = _aff return } 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 var _exprAnd XExpr // sqlite3.c:94978:7 _ = _exprAnd var _compLeft XExpr // sqlite3.c:94979:8 _ = _compLeft var _compRight XExpr // sqlite3.c:94980:8 _ = _compRight var _exprX XExpr // sqlite3.c:94981:8 _ = _exprX var _regFree1 int32 // sqlite3.c:94982:7 _ = _regFree1 _regFree1 = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_compLeft), i32(0), u64(72)) crt.Xmemset(tls, (unsafe.Pointer)(&_compRight), i32(0), u64(72)) crt.Xmemset(tls, (unsafe.Pointer)(&_exprAnd), i32(0), u64(72)) func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() _exprX = *(*XExpr)(unsafe.Pointer(_pExpr.X4)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnd)) + uintptr(0 /* X0 */))) = uint8(i32(28)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnd)) + uintptr(16 /* X4 */))))) = &_compLeft *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnd)) + uintptr(24 /* X5 */))))) = &_compRight *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compLeft)) + uintptr(0 /* X0 */))) = uint8(i32(41)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compLeft)) + uintptr(16 /* X4 */))))) = &_exprX *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compLeft)) + uintptr(24 /* X5 */))))) = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(0)))).X0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compRight)) + uintptr(0 /* X0 */))) = uint8(i32(39)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compRight)) + uintptr(16 /* X4 */))))) = &_exprX *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compRight)) + uintptr(24 /* X5 */))))) = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(1)))).X0)) _exprToRegister(tls, &_exprX, _exprCodeVector(tls, _pParse, &_exprX, &_regFree1)) if _xJump == nil { goto _2 } _xJump(tls, _pParse, &_exprAnd, _dest, _jumpIfNull) goto _3 _2: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprX)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } _sqlite3ExprCodeTarget(tls, _pParse, &_exprAnd, _dest) _3: _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) return } var _exprCodeBetweenØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_exprCodeBetweenØ00__func__Ø000[0], str(106160), 16) } func _exprToRegister(tls *crt.TLS, _p *XExpr, _iReg int32) { // sqlite3.c:94067:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(54 /* X12 */))) = _p.X0 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(i32(157)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X8 */))) = _iReg { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) *p = (*p) & uint32(i32(-4097)) sink985 = *p } return } func _exprCodeVector(tls *crt.TLS, _pParse *XParse, _p *XExpr, _piFreeable *int32) (r0 int32) { // sqlite3.c:94084:1 var _iResult int32 // sqlite3.c:94085:7 _ = _iResult var _nResult int32 // sqlite3.c:94086:7 _ = _nResult var _4_i int32 // sqlite3.c:94094:11 _ = _4_i _nResult = _sqlite3ExprVectorSize(tls, _p) if _nResult != i32(1) { goto _0 } _iResult = _sqlite3ExprCodeTemp(tls, _pParse, _p, _piFreeable) goto _1 _0: *_piFreeable = i32(0) if int32(_p.X0) != i32(119) { goto _2 } _iResult = _sqlite3CodeSubselect(tls, _pParse, _p, i32(0), i32(0)) goto _3 _2: _iResult = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nResult sink961 = *p } _4_i = i32(0) _4: if _4_i >= _nResult { goto _7 } _sqlite3ExprCodeFactorable(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))).X1)+32*uintptr(_4_i))).X0)), _4_i+_iResult) _4_i += 1 goto _4 _7: _3: _1: r0 = _iResult return } func _sqlite3ExprCodeFactorable(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94857:1 if (_pParse.X11) == 0 || _sqlite3ExprIsConstant(tls, _pExpr) == 0 { goto _1 } _sqlite3ExprCodeAtInit(tls, _pParse, _pExpr, _target) goto _2 _1: _sqlite3ExprCode(tls, _pParse, _pExpr, _target) _2: return } func _sqlite3ExprCodeIN(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _destIfFalse int32, _destIfNull int32) { // sqlite3.c:93472:1 var _rRhsHasNull int32 // sqlite3.c:93478:7 _ = _rRhsHasNull var _eType int32 // sqlite3.c:93479:7 _ = _eType var _rLhs int32 // sqlite3.c:93480:7 _ = _rLhs var _rLhsOrig int32 // sqlite3.c:93481:7 _ = _rLhsOrig var _v *TVdbe // sqlite3.c:93482:8 _ = _v var _aiMap *int32 // sqlite3.c:93483:7 _ = _aiMap var _zAff *int8 // sqlite3.c:93484:8 _ = _zAff var _nVector int32 // sqlite3.c:93485:7 _ = _nVector var _iDummy int32 // sqlite3.c:93486:7 _ = _iDummy var _pLeft *XExpr // sqlite3.c:93487:8 _ = _pLeft var _i int32 // sqlite3.c:93488:7 _ = _i var _destStep2 int32 // sqlite3.c:93489:7 _ = _destStep2 var _destStep6 int32 // sqlite3.c:93490:7 _ = _destStep6 var _addrTruthOp int32 // sqlite3.c:93491:7 _ = _addrTruthOp var _destNotNull int32 // sqlite3.c:93492:7 _ = _destNotNull var _addrTop int32 // sqlite3.c:93493:7 _ = _addrTop var _1_j int32 // sqlite3.c:93522:9 _ = _1_j var _1_cnt int32 // sqlite3.c:93522:12 _ = _1_cnt var _6_pList *XExprList // sqlite3.c:93558:14 _ = _6_pList var _6_pColl *XCollSeq // sqlite3.c:93559:13 _ = _6_pColl var _6_labelOk int32 // sqlite3.c:93560:9 _ = _6_labelOk var _6_r2 int32 // sqlite3.c:93561:9 _ = _6_r2 var _6_regToFree int32 // sqlite3.c:93561:13 _ = _6_regToFree var _6_regCkNull int32 // sqlite3.c:93562:9 _ = _6_regCkNull var _6_ii int32 // sqlite3.c:93563:9 _ = _6_ii var _15_p *XExpr // sqlite3.c:93607:10 _ = _15_p var _23_p *XExpr // sqlite3.c:93669:10 _ = _23_p var _23_pColl *XCollSeq // sqlite3.c:93670:13 _ = _23_pColl var _23_r3 int32 // sqlite3.c:93671:9 _ = _23_r3 _rRhsHasNull = i32(0) _aiMap = nil _zAff = nil _destStep6 = i32(0) _pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) if _sqlite3ExprCheckIN(tls, _pParse, _pExpr) == 0 { goto _0 } return _0: _zAff = _exprINAffinity(tls, _pParse, _pExpr) _nVector = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _aiMap = (*int32)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (uint64(_nVector)*u64(5))+uint64(i32(1))))) if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { goto _1 } goto _sqlite3ExprCodeIN_oom_error _1: _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeNoopComment(tls, _v, str(106176)) _eType = _sqlite3FindInIndex(tls, _pParse, _pExpr, uint32(i32(3)), func() *int32 { if _destIfFalse == _destIfNull { return (*int32)(unsafe.Pointer(uintptr(i32(0)))) } return &_rRhsHasNull }(), _aiMap) func() int32 { if ((((_pParse.X16) != 0 || (_nVector == i32(1))) || (_eType == i32(2))) || (_eType == i32(3))) || (_eType == i32(4)) { return i32(0) } return func() int32 { 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(106192))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _12: if _i >= _nVector { goto _15 } _1_cnt = store961(&_1_j, i32(0)) _16: if _1_j >= _nVector { goto _19 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_1_j)))) != _i { goto _20 } _1_cnt += 1 _20: _1_j += 1 goto _16 _19: func() int32 { if _1_cnt == i32(1) { return i32(0) } return func() int32 { 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(106304))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _12 _15: _sqlite3ExprCachePush(tls, _pParse) _rLhsOrig = _exprCodeVector(tls, _pParse, _pLeft, &_iDummy) _i = i32(0) _23: if _i >= _nVector || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_i)))) != _i { goto _27 } _i += 1 goto _23 _27: if _i != _nVector { goto _28 } _rLhs = _rLhsOrig goto _29 _28: _rLhs = _sqlite3GetTempRange(tls, _pParse, _nVector) _i = i32(0) _30: if _i >= _nVector { goto _33 } _sqlite3VdbeAddOp3(tls, _v, i32(85), _rLhsOrig+_i, _rLhs+(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_i)))), i32(0)) _i += 1 goto _30 _33: _29: if _eType != i32(5) { goto _34 } _6_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _6_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _6_labelOk = _sqlite3VdbeMakeLabel(tls, _v) _6_regCkNull = i32(0) func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() if _destIfNull == _destIfFalse { goto _37 } _6_regCkNull = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(43), _rLhs, _rLhs, _6_regCkNull) _37: _6_ii = i32(0) _38: if _6_ii >= (_6_pList.X0) { goto _41 } _6_r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_6_pList.X1)+32*uintptr(_6_ii))).X0)), &_6_regToFree) if _6_regCkNull == 0 || _sqlite3ExprCanBeNull(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_6_pList.X1)+32*uintptr(_6_ii))).X0))) == 0 { goto _43 } _sqlite3VdbeAddOp3(tls, _v, i32(43), _6_regCkNull, _6_r2, _6_regCkNull) _43: if _6_ii >= ((_6_pList.X0)-i32(1)) && _destIfNull == _destIfFalse { goto _45 } _sqlite3VdbeAddOp4(tls, _v, i32(37), _rLhs, _6_labelOk, _6_r2, (*int8)(unsafe.Pointer((unsafe.Pointer)(_6_pColl))), i32(-3)) _sqlite3VdbeChangeP5(tls, _v, uint16(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(i32(0)))))) goto _46 _45: func() int32 { if _destIfNull == _destIfFalse { return i32(0) } return func() int32 { 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(106312))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(36), _rLhs, _destIfFalse, _6_r2, (*int8)(unsafe.Pointer((unsafe.Pointer)(_6_pColl))), i32(-3)) _sqlite3VdbeChangeP5(tls, _v, uint16(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(i32(0)))))|i32(16))) _46: _sqlite3ReleaseTempReg(tls, _pParse, _6_regToFree) _6_ii += 1 goto _38 _41: if _6_regCkNull == 0 { goto _49 } _sqlite3VdbeAddOp2(tls, _v, i32(34), _6_regCkNull, _destIfNull) _sqlite3VdbeGoto(tls, _v, _destIfFalse) _49: _sqlite3VdbeResolveLabel(tls, _v, _6_labelOk) _sqlite3ReleaseTempReg(tls, _pParse, _6_regCkNull) goto _sqlite3ExprCodeIN_finished _34: if _destIfNull != _destIfFalse { goto _50 } _destStep2 = _destIfFalse goto _51 _50: _destStep2 = store961(&_destStep6, _sqlite3VdbeMakeLabel(tls, _v)) _51: _i = i32(0) _52: if _i >= _nVector { goto _55 } _15_p = _sqlite3VectorFieldSubexpr(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _i) if _sqlite3ExprCanBeNull(tls, _15_p) == 0 { goto _56 } _sqlite3VdbeAddOp2(tls, _v, i32(34), _rLhs+_i, _destStep2) _56: _i += 1 goto _52 _55: if _eType != i32(1) { goto _57 } _sqlite3VdbeAddOp3(tls, _v, i32(32), _pExpr.X8, _destIfFalse, _rLhs) _addrTruthOp = _sqlite3VdbeAddOp0(tls, _v, i32(13)) goto _58 _57: _sqlite3VdbeAddOp4(tls, _v, i32(99), _rLhs, _nVector, i32(0), _zAff, _nVector) if _destIfFalse != _destIfNull { goto _59 } _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _pExpr.X8, _destIfFalse, _rLhs, _nVector) goto _sqlite3ExprCodeIN_finished _59: _addrTruthOp = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _pExpr.X8, i32(0), _rLhs, _nVector) _58: if _rRhsHasNull == 0 || _nVector != i32(1) { goto _61 } _sqlite3VdbeAddOp2(tls, _v, i32(35), _rRhsHasNull, _destIfFalse) _61: if _destIfFalse != _destIfNull { goto _62 } _sqlite3VdbeGoto(tls, _v, _destIfFalse) _62: if _destStep6 == 0 { goto _63 } _sqlite3VdbeResolveLabel(tls, _v, _destStep6) _63: _addrTop = _sqlite3VdbeAddOp2(tls, _v, i32(58), _pExpr.X8, _destIfFalse) if _nVector <= i32(1) { goto _64 } _destNotNull = _sqlite3VdbeMakeLabel(tls, _v) goto _65 _64: _destNotNull = _destIfFalse _65: _i = i32(0) _66: if _i >= _nVector { goto _69 } _23_r3 = _sqlite3GetTempReg(tls, _pParse) _23_p = _sqlite3VectorFieldSubexpr(tls, _pLeft, _i) _23_pColl = _sqlite3ExprCollSeq(tls, _pParse, _23_p) _sqlite3VdbeAddOp3(tls, _v, i32(98), _pExpr.X8, _i, _23_r3) _sqlite3VdbeAddOp4(tls, _v, i32(36), _rLhs+_i, _destNotNull, _23_r3, (*int8)(unsafe.Pointer((unsafe.Pointer)(_23_pColl))), i32(-3)) _sqlite3ReleaseTempReg(tls, _pParse, _23_r3) _i += 1 goto _66 _69: _sqlite3VdbeAddOp2(tls, _v, i32(13), i32(0), _destIfNull) if _nVector <= i32(1) { goto _70 } _sqlite3VdbeResolveLabel(tls, _v, _destNotNull) _sqlite3VdbeAddOp2(tls, _v, i32(7), _pExpr.X8, _addrTop+i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(13), i32(0), _destIfFalse) _70: _sqlite3VdbeJumpHere(tls, _v, _addrTruthOp) _sqlite3ExprCodeIN_finished: if _rLhs == _rLhsOrig { goto _71 } _sqlite3ReleaseTempReg(tls, _pParse, _rLhs) _71: _sqlite3ExprCachePop(tls, _pParse) _sqlite3VdbeComment(tls, _v, str(106336)) _sqlite3ExprCodeIN_oom_error: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_aiMap)) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_zAff)) return } func _sqlite3ExprCheckIN(tls *crt.TLS, _pParse *XParse, _pIn *XExpr) (r0 int32) { // sqlite3.c:93431:1 var _nVector int32 // sqlite3.c:93432:7 _ = _nVector _nVector = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pIn.X4))) if ((_pIn.X2) & uint32(i32(2048))) == 0 { goto _0 } if _nVector == ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(32 /* X6 */))))))).X0)).X0) { goto _1 } _sqlite3SubselectError(tls, _pParse, (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(32 /* X6 */))))))).X0)).X0, _nVector) r0 = i32(1) return _1: goto _2 _0: if _nVector == i32(1) { goto _3 } _sqlite3VectorErrorMsg(tls, _pParse, (*XExpr)(unsafe.Pointer(_pIn.X4))) r0 = i32(1) return _3: _2: r0 = i32(0) return } var _sqlite3ExprCodeINØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeINØ00__func__Ø000[0], str(106348), 18) } func _sqlite3FindInIndex(tls *crt.TLS, _pParse *XParse, _pX *XExpr, _inFlags uint32, _prRhsHasNull *int32, _aiMap *int32) (r0 int32) { // sqlite3.c:92876:1 var _p *XSelect // sqlite3.c:92883:10 _ = _p var _eType int32 // sqlite3.c:92884:7 _ = _eType var _iTab int32 // sqlite3.c:92885:7 _ = _iTab var _mustBeUnique int32 // sqlite3.c:92886:7 _ = _mustBeUnique var _v *TVdbe // sqlite3.c:92887:8 _ = _v var _1_i int32 // sqlite3.c:92898:9 _ = _1_i var _1_pEList *XExprList // sqlite3.c:92899:14 _ = _1_pEList var _4_db *Xsqlite3 // sqlite3.c:92912:13 _ = _4_db var _4_pTab *XTable // sqlite3.c:92913:11 _ = _4_pTab var _4_iDb int16 // sqlite3.c:92914:9 _ = _4_iDb var _4_pEList *XExprList // sqlite3.c:92915:14 _ = _4_pEList var _4_nExpr int32 // sqlite3.c:92916:9 _ = _4_nExpr var _5_iAddr int32 // sqlite3.c:92931:11 _ = _5_iAddr var _6_pIdx *XIndex // sqlite3.c:92939:13 _ = _6_pIdx var _6_affinity_ok int32 // sqlite3.c:92940:11 _ = _6_affinity_ok var _6_i int32 // sqlite3.c:92941:11 _ = _6_i var _7_pLhs *XExpr // sqlite3.c:92948:14 _ = _7_pLhs var _7_iCol int32 // sqlite3.c:92949:13 _ = _7_iCol var _7_idxaff int8 // sqlite3.c:92950:14 _ = _7_idxaff var _7_cmpaff int8 // sqlite3.c:92951:14 _ = _7_cmpaff var _10_colUsed uint64 // sqlite3.c:92972:19 _ = _10_colUsed var _10_mCol uint64 // sqlite3.c:92973:19 _ = _10_mCol var _13_pLhs *XExpr // sqlite3.c:92990:18 _ = _13_pLhs var _13_pRhs *XExpr // sqlite3.c:92991:18 _ = _13_pRhs var _13_pReq *XCollSeq // sqlite3.c:92992:21 _ = _13_pReq var _13_j int32 // sqlite3.c:92993:17 _ = _13_j var _16_iAddr int32 // sqlite3.c:93014:17 _ = _16_iAddr var _20_savedNQueryLoop uint32 // sqlite3.c:93063:9 _ = _20_savedNQueryLoop var _20_rMayHaveNull int32 // sqlite3.c:93064:9 _ = _20_rMayHaveNull var _25_i int32 // sqlite3.c:93081:9 _ = _25_i var _25_n int32 // sqlite3.c:93081:12 _ = _25_n _eType = i32(0) _iTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if int32(_pX.X0) == i32(33) { return i32(0) } return func() int32 { 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(106368))) crt.X__builtin_abort(tls) return i32(0) }() }() _mustBeUnique = bool2int((_inFlags & uint32(i32(4))) != uint32(i32(0))) if _prRhsHasNull == nil || ((_pX.X2)&uint32(i32(2048))) == 0 { goto _3 } _1_pEList = (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(32 /* X6 */))))))).X0)) _1_i = i32(0) _4: if _1_i >= (_1_pEList.X0) { goto _7 } if _sqlite3ExprCanBeNull(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_1_pEList.X1)+32*uintptr(_1_i))).X0))) == 0 { goto _8 } goto _7 _8: _1_i += 1 goto _4 _7: if _1_i != (_1_pEList.X0) { goto _9 } _prRhsHasNull = (*int32)(unsafe.Pointer(uintptr(i32(0)))) _9: _3: if (_pParse.X16) != i32(0) || store5518339(&_p, _isCandidateForInOpt(tls, _pX)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } _4_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _4_pEList = (*XExprList)(unsafe.Pointer(_p.X0)) _4_nExpr = _4_pEList.X0 func() int32 { if (*XExprList)(unsafe.Pointer(_p.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(47308))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X0)).X1)+32*uintptr(i32(0)))).X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(106384))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSrcList)(unsafe.Pointer(_p.X8)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(106412))) crt.X__builtin_abort(tls) return i32(0) }() }() _4_pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X4)) _4_iDb = int16(_sqlite3SchemaToIndex(tls, _4_db, (*XSchema)(unsafe.Pointer(_4_pTab.X20)))) _sqlite3CodeVerifySchema(tls, _pParse, int32(_4_iDb)) _sqlite3TableLock(tls, _pParse, int32(_4_iDb), _4_pTab.X7, uint8(i32(0)), _4_pTab.X0) func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() if _4_nExpr != i32(1) || int32((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_4_pEList.X1)+32*uintptr(i32(0)))).X0)).X9) >= i32(0) { goto _21 } _5_iAddr = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _sqlite3OpenTable(tls, _pParse, _iTab, int32(_4_iDb), _4_pTab, i32(105)) _eType = i32(1) _sqlite3VdbeJumpHere(tls, _v, _5_iAddr) goto _22 _21: _6_affinity_ok = i32(1) _6_i = i32(0) _23: if _6_i >= _4_nExpr || _6_affinity_ok == 0 { goto _27 } _7_pLhs = _sqlite3VectorFieldSubexpr(tls, (*XExpr)(unsafe.Pointer(_pX.X4)), _6_i) _7_iCol = int32((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_4_pEList.X1) + 32*uintptr(_6_i))).X0)).X9) _7_idxaff = _sqlite3TableColumnAffinity(tls, _4_pTab, _7_iCol) _7_cmpaff = _sqlite3CompareAffinity(tls, _7_pLhs, _7_idxaff) switch int32(_7_cmpaff) { case i32(65): goto _29 case i32(66): goto _30 default: goto _31 } _29: goto _32 _30: func() int32 { if int32(_7_idxaff) == i32(66) { return i32(0) } return func() int32 { 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(106424))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _32 _31: _6_affinity_ok = bool2int(int32(_7_idxaff) >= i32(67)) _32: _6_i += 1 goto _23 _27: if _6_affinity_ok == 0 { goto _35 } _6_pIdx = (*XIndex)(unsafe.Pointer(_4_pTab.X2)) _36: if _6_pIdx == nil || _eType != i32(0) { goto _40 } if int32(_6_pIdx.X14) >= _4_nExpr { goto _41 } goto _37 _41: if int32(_6_pIdx.X14) < i32(63) { goto _42 } goto _37 _42: if _mustBeUnique == 0 { goto _43 } if int32(_6_pIdx.X13) <= _4_nExpr && (int32(_6_pIdx.X14) <= _4_nExpr || int32(_6_pIdx.X15) != i32(0)) { goto _46 } goto _37 _46: _43: _10_colUsed = uint64(i32(0)) _6_i = i32(0) _47: if _6_i >= _4_nExpr { goto _50 } _13_pLhs = _sqlite3VectorFieldSubexpr(tls, (*XExpr)(unsafe.Pointer(_pX.X4)), _6_i) _13_pRhs = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_4_pEList.X1) + 32*uintptr(_6_i))).X0)) _13_pReq = _sqlite3BinaryCompareCollSeq(tls, _pParse, _13_pLhs, _13_pRhs) func() int32 { if ((_13_pReq != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_13_pRhs.X9) == i32(-1))) || (_pParse.X16) != 0 { return i32(0) } return func() int32 { 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(106448))) crt.X__builtin_abort(tls) return i32(0) }() }() _13_j = i32(0) _55: if _13_j >= _4_nExpr { goto _58 } if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X1)) + 2*uintptr(_13_j)))) == int32(_13_pRhs.X9) { goto _59 } goto _56 _59: func() int32 { if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X8)) + 8*uintptr(_13_j)))) != nil { return i32(0) } return func() int32 { 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(106500))) crt.X__builtin_abort(tls) return i32(0) }() }() if _13_pReq == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3StrICmp(tls, _13_pReq.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X8)) + 8*uintptr(_13_j)))) == i32(0) { goto _63 } goto _56 _63: goto _58 _56: _13_j += 1 goto _55 _58: if _13_j != _4_nExpr { goto _64 } goto _50 _64: _10_mCol = u64(1) << uint(_13_j) if (_10_mCol & _10_colUsed) == 0 { goto _65 } goto _50 _65: { p := &_10_colUsed *p = (*p) | _10_mCol sink992 = *p } if _aiMap == nil { goto _66 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_6_i))) = _13_j _66: _6_i += 1 goto _47 _50: func() int32 { if (_6_i == _4_nExpr) || (_10_colUsed != ((u64(1) << uint(_4_nExpr)) - uint64(i32(1)))) { return i32(0) } return func() int32 { 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(106516))) crt.X__builtin_abort(tls) return i32(0) }() }() if _10_colUsed != ((u64(1) << uint(_4_nExpr)) - uint64(i32(1))) { goto _70 } _16_iAddr = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _sqlite3VdbeAddOp4(tls, _v, i32(163), i32(0), i32(0), i32(0), _sqlite3MPrintf(tls, _4_db, str(106556), unsafe.Pointer(_6_pIdx.X0)), i32(-1)) _sqlite3VdbeAddOp3(tls, _v, i32(105), _iTab, _6_pIdx.X11, int32(_4_iDb)) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _6_pIdx) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_6_pIdx.X0)) i32(0) _eType = i32(3) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X7)) + 1*uintptr(i32(0))))) if _prRhsHasNull == nil { goto _71 } *_prRhsHasNull = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) if _4_nExpr != i32(1) { goto _72 } _sqlite3SetHasNullFlag(tls, _v, _iTab, *_prRhsHasNull) _72: _71: _sqlite3VdbeJumpHere(tls, _v, _16_iAddr) _70: _37: _6_pIdx = (*XIndex)(unsafe.Pointer(_6_pIdx.X5)) goto _36 _40: _35: _22: _11: 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((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(32 /* X6 */))))))).X0) > i32(2) { goto _77 } _eType = i32(5) _77: if _eType != i32(0) { goto _78 } _20_savedNQueryLoop = _pParse.X42 _20_rMayHaveNull = i32(0) _eType = i32(2) if (_inFlags & uint32(i32(4))) == 0 { goto _79 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(188 /* X42 */))) = uint32(i32(0)) if int32((*XExpr)(unsafe.Pointer(_pX.X4)).X9) >= i32(0) || ((_pX.X2)&uint32(i32(2048))) != uint32(i32(0)) { goto _81 } _eType = i32(1) _81: goto _82 _79: if _prRhsHasNull == nil { goto _83 } *_prRhsHasNull = store961(&_20_rMayHaveNull, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) _83: _82: _sqlite3CodeSubselect(tls, _pParse, _pX, _20_rMayHaveNull, bool2int(_eType == i32(1))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(188 /* X42 */))) = _20_savedNQueryLoop goto _84 _78: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(44 /* X8 */))) = _iTab _84: if _aiMap == nil || _eType == i32(3) || _eType == i32(4) { goto _87 } _25_n = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pX.X4))) _25_i = i32(0) _88: if _25_i >= _25_n { goto _91 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_25_i))) = _25_i _25_i += 1 goto _88 _91: _87: r0 = _eType return } var _sqlite3FindInIndexØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FindInIndexØ00__func__Ø000[0], str(106588), 19) } func _sqlite3ExprCanBeNull(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:92641:1 var _op uint8 // sqlite3.c:92642:6 _ = _op _0: if int32(_p.X0) != i32(156) && int32(_p.X0) != i32(155) { goto _1 } _p = (*XExpr)(unsafe.Pointer(_p.X4)) goto _0 _1: _op = _p.X0 if int32(_op) != i32(157) { goto _3 } _op = _p.X12 _3: switch int32(_op) { case i32(97): goto _6 case i32(132): goto _7 case i32(133): goto _8 case i32(134): goto _5 case i32(152): goto _9 default: goto _10 } _5: _6: _7: _8: r0 = i32(0) return _9: func() int32 { if (*XTable)(unsafe.Pointer(_p.X14)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(106608))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)+32*uintptr(_p.X9))).X3) == i32(0)))) return _10: r0 = i32(1) return } var _sqlite3ExprCanBeNullØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCanBeNullØ00__func__Ø000[0], str(106620), 21) } func _isCandidateForInOpt(tls *crt.TLS, _pX *XExpr) (r0 *XSelect) { // sqlite3.c:92719:1 var _p *XSelect // sqlite3.c:92720:10 _ = _p var _pSrc *XSrcList // sqlite3.c:92721:11 _ = _pSrc var _pEList *XExprList // sqlite3.c:92722:12 _ = _pEList var _pTab *XTable // sqlite3.c:92723:9 _ = _pTab var _i int32 // sqlite3.c:92724:7 _ = _i var _2_pRes *XExpr // sqlite3.c:92750:10 _ = _2_pRes if ((_pX.X2) & uint32(i32(2048))) != uint32(i32(0)) { goto _0 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _0: if ((_pX.X2) & uint32(i32(32))) == uint32(i32(0)) { goto _1 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _1: _p = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(32 /* X6 */))))))) if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _2 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _2: if ((_p.X3) & uint32(i32(9))) == 0 { goto _3 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _3: func() int32 { if (*XExprList)(unsafe.Pointer(_p.X10)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(47968))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { goto _6 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _6: func() int32 { if (*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(102692))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExpr)(unsafe.Pointer(_p.X9)) == nil { goto _9 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _9: _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) func() int32 { if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(49140))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pSrc.X0) == i32(1) { goto _12 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _12: if (*XSelect)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X5)) == nil { goto _13 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _13: _pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X4)) func() int32 { if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(_pTab.X3)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(106644))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTab.X16) == 0 { goto _18 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _18: _pEList = (*XExprList)(unsafe.Pointer(_p.X0)) func() int32 { if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46224))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _21: if _i >= (_pEList.X0) { goto _24 } _2_pRes = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1) + 32*uintptr(_i))).X0)) if int32(_2_pRes.X0) == i32(152) { goto _25 } r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) return _25: func() int32 { if (_2_pRes.X8) == ((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X11) { return i32(0) } return func() int32 { 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(106664))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _21 _24: r0 = _p return } var _isCandidateForInOptØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_isCandidateForInOptØ00__func__Ø000[0], str(106700), 20) } func _sqlite3CodeVerifySchema(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:103508:1 var _pToplevel *XParse // sqlite3.c:103509:9 _ = _pToplevel _pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() func() int32 { if (_iDb >= i32(0)) && (_iDb < ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X5)) { return i32(0) } return func() int32 { 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(106720))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+32*uintptr(_iDb))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (_iDb == i32(1)) { return i32(0) } return func() int32 { 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(106752))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iDb < i32(12) { return i32(0) } return func() int32 { 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(106792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3SchemaMutexHeld(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(106820))) crt.X__builtin_abort(tls) return i32(0) }() }() if bool2int(((_pToplevel.X30)&(u32(1)<>uint(i32(2)))<>uint(i32(31))) != i32(0) { goto _0 } return _0: _pTab = (*XTable)(unsafe.Pointer(_pItem.X4)) func() int32 { if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() _pArgs = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(96 /* X15 */))))))) if _pArgs != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } return _3: _j = store961(&_k, i32(0)) _4: if _j >= (_pArgs.X0) { goto _7 } _8: if _k >= int32(_pTab.X11) || (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_k))).X6)&i32(2)) != i32(0) { goto _9 } _k += 1 goto _8 _9: if _k < int32(_pTab.X11) { goto _11 } _sqlite3ErrorMsg(tls, _pParse, str(107136), unsafe.Pointer(_pTab.X0), _j) return _11: _pColRef = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(152), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) if _pColRef != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } return _12: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColRef)) + uintptr(44 /* X8 */))) = _pItem.X11 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColRef)) + uintptr(48 /* X9 */))) = int16(postInc961(&_k, int32(1))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColRef)) + uintptr(64 /* X14 */))))) = _pTab _pTerm = _sqlite3PExpr(tls, _pParse, i32(37), _pColRef, _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pArgs.X1)+32*uintptr(_j))).X0)), i32(0))) _whereClauseInsert(tls, _pWC, _pTerm, uint16(i32(1))) _j += 1 goto _4 _7: return } var _sqlite3WhereTabFuncArgsØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereTabFuncArgsØ00__func__Ø000[0], str(107172), 24) } func _sqlite3WhereGetMask(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _iCursor int32) (r0 uint64) { // sqlite3.c:129998:1 var _i int32 // sqlite3.c:129999:7 _ = _i func() int32 { if (_pMaskSet.X0) <= i32(64) { return i32(0) } return func() int32 { 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(107196))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= (_pMaskSet.X0) { goto _5 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[64]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMaskSet))+uintptr(4 /* X1 */))))) + 4*uintptr(_i)))) != _iCursor { goto _6 } r0 = u64(1) << uint(_i) return _6: _i += 1 goto _2 _5: r0 = uint64(i32(0)) return } var _sqlite3WhereGetMaskØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereGetMaskØ00__func__Ø000[0], str(107232), 20) } func _sqlite3WhereExprAnalyze(tls *crt.TLS, _pTabList *XSrcList, _pWC *XWhereClause) { // sqlite3.c:129783:1 var _i int32 // sqlite3.c:129787:7 _ = _i _i = (_pWC.X3) - i32(1) _0: if _i < i32(0) { goto _3 } _exprAnalyze(tls, _pTabList, _pWC, _i) _i -= 1 goto _0 _3: return } func _exprAnalyze(tls *crt.TLS, _pSrc *XSrcList, _pWC *XWhereClause, _idxTerm int32) { // sqlite3.c:129283:1 var _pWInfo *XWhereInfo // sqlite3.c:129288:13 _ = _pWInfo var _pTerm *XWhereTerm // sqlite3.c:129289:13 _ = _pTerm var _pMaskSet *XWhereMaskSet // sqlite3.c:129290:16 _ = _pMaskSet var _pExpr *XExpr // sqlite3.c:129291:8 _ = _pExpr var _prereqLeft uint64 // sqlite3.c:129292:11 _ = _prereqLeft var _prereqAll uint64 // sqlite3.c:129293:11 _ = _prereqAll var _extraRight uint64 // sqlite3.c:129294:11 _ = _extraRight var _pStr1 *XExpr // sqlite3.c:129295:8 _ = _pStr1 var _isComplete int32 // sqlite3.c:129296:7 _ = _isComplete var _noCase int32 // sqlite3.c:129297:7 _ = _noCase var _op int32 // sqlite3.c:129298:7 _ = _op var _pParse *XParse // sqlite3.c:129299:9 _ = _pParse var _db *Xsqlite3 // sqlite3.c:129300:11 _ = _db var _eOp2 uint8 // sqlite3.c:129301:17 _ = _eOp2 var _nLeft int32 // sqlite3.c:129302:7 _ = _nLeft var _7_x uint64 // sqlite3.c:129328:13 _ = _7_x var _9_iCur int32 // sqlite3.c:129342:9 _ = _9_iCur var _9_iColumn int32 // sqlite3.c:129342:15 _ = _9_iColumn var _9_pLeft *XExpr // sqlite3.c:129343:10 _ = _9_pLeft var _9_pRight *XExpr // sqlite3.c:129344:10 _ = _9_pRight var _9_opMask uint16 // sqlite3.c:129345:9 _ = _9_opMask var _12_pNew *XWhereTerm // sqlite3.c:129362:17 _ = _12_pNew var _12_pDup *XExpr // sqlite3.c:129363:12 _ = _12_pDup var _12_eExtraOp uint16 // sqlite3.c:129364:11 _ = _12_eExtraOp var _13_idxNew int32 // sqlite3.c:129367:13 _ = _13_idxNew var _17_pList *XExprList // sqlite3.c:129416:14 _ = _17_pList var _17_i int32 // sqlite3.c:129417:9 _ = _17_i var _18_pNewExpr *XExpr // sqlite3.c:129422:12 _ = _18_pNewExpr var _18_idxNew int32 // sqlite3.c:129423:11 _ = _18_idxNew var _20_pLeft *XExpr // sqlite3.c:129465:10 _ = _20_pLeft var _20_pStr2 *XExpr // sqlite3.c:129466:10 _ = _20_pStr2 var _20_pNewExpr1 *XExpr // sqlite3.c:129467:10 _ = _20_pNewExpr1 var _20_pNewExpr2 *XExpr // sqlite3.c:129468:10 _ = _20_pNewExpr2 var _20_idxNew1 int32 // sqlite3.c:129469:9 _ = _20_idxNew1 var _20_idxNew2 int32 // sqlite3.c:129470:9 _ = _20_idxNew2 var _20_zCollSeqName *int8 // sqlite3.c:129471:16 _ = _20_zCollSeqName var _20_wtFlags uint16 // sqlite3.c:129472:15 _ = _20_wtFlags var _21_i int32 // sqlite3.c:129482:11 _ = _21_i var _21_c int8 // sqlite3.c:129483:12 _ = _21_c var _23_c uint8 // sqlite3.c:129492:10 _ = _23_c var _23_pC *uint8 // sqlite3.c:129492:13 _ = _23_pC var _26_idxNew int32 // sqlite3.c:129540:9 _ = _26_idxNew var _26_pRight *XExpr // sqlite3.c:129541:10 _ = _26_pRight var _26_pLeft *XExpr // sqlite3.c:129541:19 _ = _26_pLeft var _26_pNewTerm *XWhereTerm // sqlite3.c:129542:15 _ = _26_pNewTerm var _26_prereqColumn uint64 // sqlite3.c:129543:13 _ = _26_prereqColumn var _26_prereqExpr uint64 // sqlite3.c:129543:27 _ = _26_prereqExpr var _27_pNewExpr *XExpr // sqlite3.c:129550:12 _ = _27_pNewExpr var _28_i int32 // sqlite3.c:129583:9 _ = _28_i var _29_idxNew int32 // sqlite3.c:129585:11 _ = _29_idxNew var _29_pNew *XExpr // sqlite3.c:129586:12 _ = _29_pNew var _29_pLeft *XExpr // sqlite3.c:129587:12 _ = _29_pLeft var _29_pRight *XExpr // sqlite3.c:129588:12 _ = _29_pRight var _30_i int32 // sqlite3.c:129612:9 _ = _30_i var _31_idxNew int32 // sqlite3.c:129614:11 _ = _31_idxNew _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pWC.X0)) _extraRight = u64(0) _pStr1 = nil _isComplete = i32(0) _noCase = i32(0) _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_db.X17) == 0 { goto _0 } return _0: _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) _pMaskSet = (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(648 /* X22 */))) _pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) func() int32 { if (int32(_pExpr.X0) != i32(24)) && (int32(_pExpr.X0) != i32(53)) { return i32(0) } return func() int32 { 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(107252))) crt.X__builtin_abort(tls) return i32(0) }() }() _prereqLeft = _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _op = int32(_pExpr.X0) if _op != i32(33) { goto _4 } func() int32 { if (*XExpr)(unsafe.Pointer(_pExpr.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(107296))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprCheckIN(tls, _pParse, _pExpr) == 0 { goto _7 } return _7: if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _8 } *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(48 /* X11 */))) = _exprSelectUsage(tls, _pMaskSet, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) goto _9 _8: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(48 /* X11 */))) = _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) _9: goto _10 _4: if _op != i32(34) { goto _11 } *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(48 /* X11 */))) = uint64(i32(0)) goto _12 _11: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(48 /* X11 */))) = _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pExpr.X5))) _12: _10: _prereqAll = _sqlite3WhereExprUsage(tls, _pMaskSet, _pExpr) if ((_pExpr.X2) & uint32(i32(1))) == uint32(i32(0)) { goto _13 } _7_x = _sqlite3WhereGetMask(tls, _pMaskSet, int32(_pExpr.X11)) { p := &_prereqAll *p = (*p) | _7_x sink992 = *p } _extraRight = _7_x - uint64(i32(1)) if (_prereqAll >> uint(i32(1))) < _7_x { goto _14 } _sqlite3ErrorMsg(tls, _pParse, str(107316)) return _14: _13: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(56 /* X12 */))) = _prereqAll *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X8 */))) = i32(-1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(24 /* X7 */))) = i32(-1) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X4 */))) = uint16(i32(0)) if _allowedOp(tls, _op) == 0 { goto _15 } _9_pLeft = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _9_pRight = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) _9_opMask = uint16(func() int32 { if ((_pTerm.X11) & _prereqLeft) == uint64(i32(0)) { return i32(8191) } return i32(2048) }()) if (_pTerm.X9) <= i32(0) { goto _18 } func() int32 { if _op == i32(33) { return i32(0) } return func() int32 { 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(107360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_9_pLeft.X0) == i32(158) { return i32(0) } return func() int32 { 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(107372))) crt.X__builtin_abort(tls) return i32(0) }() }() _9_pLeft = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pLeft)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr((_pTerm.X9)-i32(1)))).X0)) _18: if _exprMightBeIndexed(tls, _pSrc, _op, _prereqLeft, _9_pLeft, &_9_iCur, &_9_iColumn) == 0 { goto _23 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X8 */))) = _9_iCur *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))) = _9_iColumn *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X4 */))) = uint16(int32(_operatorMask(tls, _op)) & int32(_9_opMask)) _23: if _op != i32(29) { goto _24 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(2048)) sink4530 = *p } _24: if _9_pRight == nil || _exprMightBeIndexed(tls, _pSrc, _op, _pTerm.X11, _9_pRight, &_9_iCur, &_9_iColumn) == 0 { goto _26 } _12_eExtraOp = u16(0) func() int32 { if (_pTerm.X9) == i32(0) { return i32(0) } return func() int32 { 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(107396))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTerm.X8) < i32(0) { goto _29 } _12_pDup = _sqlite3ExprDup(tls, _db, _pExpr, i32(0)) if (_db.X17) == 0 { goto _30 } _sqlite3ExprDelete(tls, _db, _12_pDup) return _30: _13_idxNew = _whereClauseInsert(tls, _pWC, _12_pDup, uint16(i32(3))) if _13_idxNew != i32(0) { goto _31 } return _31: _12_pNew = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_13_idxNew))) _markTermAsChild(tls, _pWC, _13_idxNew, _idxTerm) if _op != i32(29) { goto _32 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(2048)) sink4530 = *p } _32: _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } if _termIsEquivalence(tls, _pParse, _12_pDup) == 0 { goto _33 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X4 */))) *p = uint16(int32(*p) | i32(2048)) sink4530 = *p } _12_eExtraOp = uint16(i32(2048)) _33: goto _34 _29: _12_pDup = _pExpr _12_pNew = _pTerm _34: _exprCommute(tls, _pParse, _12_pDup) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(28 /* X8 */))) = _9_iCur *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(40 /* X10 */))))) = _9_iColumn *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(48 /* X11 */))) = _prereqLeft | _extraRight *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(56 /* X12 */))) = _prereqAll *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(20 /* X4 */))) = uint16((int32(_operatorMask(tls, int32(_12_pDup.X0))) + int32(_12_eExtraOp)) & int32(_9_opMask)) _26: goto _35 _15: if int32(_pExpr.X0) != i32(32) || int32(_pWC.X2) != i32(28) { goto _37 } _17_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) func() int32 { if _17_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(92144))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_17_pList.X0) == i32(2) { return i32(0) } return func() int32 { 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(107416))) crt.X__builtin_abort(tls) return i32(0) }() }() _17_i = i32(0) _42: if _17_i >= i32(2) { goto _45 } _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((*TExprList_item)(unsafe.Pointer(uintptr(_17_pList.X1)+32*uintptr(_17_i))).X0)), i32(0))) _transferJoinMarkings(tls, _18_pNewExpr, _pExpr) _18_idxNew = _whereClauseInsert(tls, _pWC, _18_pNewExpr, uint16(i32(3))) _exprAnalyze(tls, _pSrc, _pWC, _18_idxNew) _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) _markTermAsChild(tls, _pWC, _18_idxNew, _idxTerm) _17_i += 1 goto _42 _45: goto _46 _37: if int32(_pExpr.X0) != i32(27) { goto _47 } func() int32 { if int32(_pWC.X2) == i32(28) { return i32(0) } return func() int32 { 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(107432))) crt.X__builtin_abort(tls) return i32(0) }() }() _exprAnalyzeOrTerm(tls, _pSrc, _pWC, _idxTerm) _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) _47: _46: _35: if int32(_pWC.X2) != i32(28) || _isLikeOrGlob(tls, _pParse, _pExpr, &_pStr1, &_isComplete, &_noCase) == 0 { goto _51 } _20_wtFlags = u16(259) _20_pLeft = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(1)))).X0)) _20_pStr2 = _sqlite3ExprDup(tls, _db, _pStr1, i32(0)) if _noCase == 0 || ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { goto _53 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(1024)) sink4530 = *p } _21_i = i32(0) _54: if int32(store973(&_21_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pStr1)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_21_i))))) == i32(0) { goto _57 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(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)))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(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))))) _21_i += 1 goto _54 _57: _53: if (_db.X17) != 0 { goto _58 } _23_pC = (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pStr2)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pStr2)) + uintptr(8 /* X3 */))))))-i32(1)))))) _23_c = *_23_pC if _noCase == 0 { goto _59 } if int32(_23_c) != i32(64) { goto _60 } _isComplete = i32(0) _60: _23_c = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(_23_c))) _59: *_23_pC = uint8(int32(_23_c) + i32(1)) _58: _20_zCollSeqName = func() *int8 { if _noCase != 0 { return str(107448) } return str(38588) }() _20_pNewExpr1 = _sqlite3ExprDup(tls, _db, _20_pLeft, i32(0)) _20_pNewExpr1 = _sqlite3PExpr(tls, _pParse, i32(41), _sqlite3ExprAddCollateString(tls, _pParse, _20_pNewExpr1, _20_zCollSeqName), _pStr1) _transferJoinMarkings(tls, _20_pNewExpr1, _pExpr) _20_idxNew1 = _whereClauseInsert(tls, _pWC, _20_pNewExpr1, _20_wtFlags) _exprAnalyze(tls, _pSrc, _pWC, _20_idxNew1) _20_pNewExpr2 = _sqlite3ExprDup(tls, _db, _20_pLeft, i32(0)) _20_pNewExpr2 = _sqlite3PExpr(tls, _pParse, i32(40), _sqlite3ExprAddCollateString(tls, _pParse, _20_pNewExpr2, _20_zCollSeqName), _20_pStr2) _transferJoinMarkings(tls, _20_pNewExpr2, _pExpr) _20_idxNew2 = _whereClauseInsert(tls, _pWC, _20_pNewExpr2, _20_wtFlags) _exprAnalyze(tls, _pSrc, _pWC, _20_idxNew2) _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) if _isComplete == 0 { goto _63 } _markTermAsChild(tls, _pWC, _20_idxNew1, _idxTerm) _markTermAsChild(tls, _pWC, _20_idxNew2, _idxTerm) _63: _51: if int32(_pWC.X2) != i32(28) || _isMatchOfColumn(tls, _pExpr, &_eOp2) == 0 { goto _65 } _26_pRight = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(0)))).X0)) _26_pLeft = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(1)))).X0)) _26_prereqExpr = _sqlite3WhereExprUsage(tls, _pMaskSet, _26_pRight) _26_prereqColumn = _sqlite3WhereExprUsage(tls, _pMaskSet, _26_pLeft) if (_26_prereqExpr & _26_prereqColumn) != uint64(i32(0)) { goto _66 } _27_pNewExpr = _sqlite3PExpr(tls, _pParse, i32(30), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3ExprDup(tls, _db, _26_pRight, i32(0))) _26_idxNew = _whereClauseInsert(tls, _pWC, _27_pNewExpr, uint16(i32(3))) _26_pNewTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_26_idxNew))) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(48 /* X11 */))) = _26_prereqExpr *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(28 /* X8 */))) = _26_pLeft.X8 *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(40 /* X10 */))))) = int32(_26_pLeft.X9) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(20 /* X4 */))) = uint16(i32(64)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(23 /* X6 */))) = _eOp2 _markTermAsChild(tls, _pWC, _26_idxNew, _idxTerm) _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(8)) sink4530 = *p } *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(56 /* X12 */))) = _pTerm.X12 _66: _65: 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)) { goto _73 } _28_i = i32(0) _74: if _28_i >= _nLeft { goto _77 } _29_pLeft = _sqlite3ExprForVectorField(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _28_i) _29_pRight = _sqlite3ExprForVectorField(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _28_i) _29_pNew = _sqlite3PExpr(tls, _pParse, int32(_pExpr.X0), _29_pLeft, _29_pRight) _transferJoinMarkings(tls, _29_pNew, _pExpr) _29_idxNew = _whereClauseInsert(tls, _pWC, _29_pNew, uint16(i32(1))) _exprAnalyze(tls, _pSrc, _pWC, _29_idxNew) _28_i += 1 goto _74 _77: _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) = uint16(i32(6)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X4 */))) = uint16(i32(0)) _73: 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((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _82 } _30_i = i32(0) _83: if _30_i >= _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) { goto _86 } _31_idxNew = _whereClauseInsert(tls, _pWC, _pExpr, uint16(i32(2))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_31_idxNew))))) + uintptr(32 /* X9 */))) = _30_i + i32(1) _exprAnalyze(tls, _pSrc, _pWC, _31_idxNew) _markTermAsChild(tls, _pWC, _31_idxNew, _idxTerm) _30_i += 1 goto _83 _86: _82: _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) { p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(48 /* X11 */))) *p = (*p) | _extraRight sink992 = *p } return } var _exprAnalyzeØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_exprAnalyzeØ00__func__Ø000[0], str(107456), 12) } func _sqlite3WhereExprUsage(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _p *XExpr) (r0 uint64) { // sqlite3.c:129746:1 var _mask uint64 // sqlite3.c:129747:11 _ = _mask if _p != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = uint64(i32(0)) return _0: if int32(_p.X0) != i32(152) { goto _1 } _mask = _sqlite3WhereGetMask(tls, _pMaskSet, _p.X8) r0 = _mask return _1: func() int32 { if ((_p.X2) & uint32(i32(16384))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(107468))) crt.X__builtin_abort(tls) return i32(0) }() }() _mask = func() uint64 { if (*XExpr)(unsafe.Pointer(_p.X5)) != nil { return _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_p.X5))) } return uint64(i32(0)) }() if (*XExpr)(unsafe.Pointer(_p.X4)) == nil { goto _6 } { p := &_mask *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_p.X4))) sink992 = *p } _6: if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _7 } { p := &_mask *p = (*p) | _exprSelectUsage(tls, _pMaskSet, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */)))))))) sink992 = *p } goto _8 _7: if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) == nil { goto _9 } { p := &_mask *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */)))))))) sink992 = *p } _9: _8: r0 = _mask return } var _sqlite3WhereExprUsageØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereExprUsageØ00__func__Ø000[0], str(107504), 22) } func _exprSelectUsage(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _pS *XSelect) (r0 uint64) { // sqlite3.c:129186:1 var _mask uint64 // sqlite3.c:129187:11 _ = _mask var _1_pSrc *XSrcList // sqlite3.c:129189:13 _ = _1_pSrc var _2_i int32 // sqlite3.c:129196:11 _ = _2_i _mask = u64(0) _0: if _pS == nil { goto _1 } _1_pSrc = (*XSrcList)(unsafe.Pointer(_pS.X8)) { p := &_mask *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_pS.X0))) sink992 = *p } { p := &_mask *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_pS.X10))) sink992 = *p } { p := &_mask *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_pS.X12))) sink992 = *p } { p := &_mask *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pS.X9))) sink992 = *p } { p := &_mask *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pS.X11))) sink992 = *p } if func() int32 { if _1_pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _4 } _2_i = i32(0) _5: if _2_i >= (_1_pSrc.X0) { goto _8 } { p := &_mask *p = (*p) | _exprSelectUsage(tls, _pMaskSet, (*XSelect)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_2_i))).X5))) sink992 = *p } { p := &_mask *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(_2_i))).X12))) sink992 = *p } _2_i += 1 goto _5 _8: _4: _pS = (*XSelect)(unsafe.Pointer(_pS.X13)) goto _0 _1: r0 = _mask return } func _sqlite3WhereExprListUsage(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _pList *XExprList) (r0 uint64) { // sqlite3.c:129763:1 var _i int32 // sqlite3.c:129764:7 _ = _i var _mask uint64 // sqlite3.c:129765:11 _ = _mask _mask = u64(0) if _pList == nil { goto _0 } _i = i32(0) _1: if _i >= (_pList.X0) { goto _4 } { p := &_mask *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X0))) sink992 = *p } _i += 1 goto _1 _4: _0: r0 = _mask return } var _exprSelectUsageØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_exprSelectUsageØ00__func__Ø000[0], str(107528), 16) } func _allowedOp(tls *crt.TLS, _op int32) (r0 int32) { // sqlite3.c:128479:1 i32(0) i32(0) i32(0) i32(0) r0 = bool2int((((_op == i32(33)) || ((_op >= i32(37)) && (_op <= i32(41)))) || (_op == i32(34))) || (_op == i32(29))) return } func _exprMightBeIndexed(tls *crt.TLS, _pFrom *XSrcList, _op int32, _mPrereq uint64, _pExpr *XExpr, _piCur *int32, _piColumn *int32) (r0 int32) { // sqlite3.c:129220:1 var _pIdx *XIndex // sqlite3.c:129228:9 _ = _pIdx var _i int32 // sqlite3.c:129229:7 _ = _i var _iCur int32 // sqlite3.c:129230:7 _ = _iCur i32(0) i32(0) func() int32 { if _op <= i32(41) { return i32(0) } return func() int32 { 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(107544))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pExpr.X0) != i32(158) || (_op < i32(38) || func() int32 { if _op <= i32(41) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0) { goto _6 } _pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(i32(0)))).X0)) _6: if int32(_pExpr.X0) != i32(152) { goto _7 } *_piCur = _pExpr.X8 *_piColumn = int32(_pExpr.X9) r0 = i32(1) return _7: if _mPrereq != uint64(i32(0)) { goto _8 } r0 = i32(0) return _8: if (_mPrereq & (_mPrereq - uint64(i32(1)))) == uint64(i32(0)) { goto _9 } r0 = i32(0) return _9: _i = i32(0) _10: if _mPrereq <= uint64(i32(1)) { goto _13 } { p := func() *uint64 { _i += 1; return &_mPrereq }() *p = (*p) >> uint(i32(1)) sink992 = *p } goto _10 _13: _iCur = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))).X11 _pIdx = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */))))) + 112*uintptr(_i))).X4)).X2)) _14: if _pIdx == nil { goto _17 } if (*XExprList)(unsafe.Pointer(_pIdx.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } goto _15 _18: _i = i32(0) _19: if _i >= int32(_pIdx.X13) { goto _22 } if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) == i32(-2) { goto _23 } goto _20 _23: if _sqlite3ExprCompareSkip(tls, _pExpr, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+32*uintptr(_i))).X0)), _iCur) != i32(0) { goto _24 } *_piCur = _iCur *_piColumn = i32(-2) r0 = i32(1) return _24: _20: _i += 1 goto _19 _22: _15: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _14 _17: r0 = i32(0) return } var _exprMightBeIndexedØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_exprMightBeIndexedØ00__func__Ø000[0], str(107556), 19) } func _sqlite3ExprCompareSkip(tls *crt.TLS, _pA *XExpr, _pB *XExpr, _iTab int32) (r0 int32) { // sqlite3.c:95421:1 r0 = _sqlite3ExprCompare(tls, _sqlite3ExprSkipCollate(tls, _pA), _sqlite3ExprSkipCollate(tls, _pB), _iTab) return } func _operatorMask(tls *crt.TLS, _op int32) (r0 uint16) { // sqlite3.c:128530:1 var _c uint16 // sqlite3.c:128531:7 _ = _c func() int32 { if _allowedOp(tls, _op) != 0 { return i32(0) } return func() int32 { 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(107576))) crt.X__builtin_abort(tls) return i32(0) }() }() if _op != i32(33) { goto _2 } _c = uint16(i32(1)) goto _3 _2: if _op != i32(34) { goto _4 } _c = uint16(i32(256)) goto _5 _4: if _op != i32(29) { goto _6 } _c = uint16(i32(128)) goto _7 _6: func() int32 { if (i32(2) << uint(_op-i32(37))) < i32(32767) { return i32(0) } return func() int32 { 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(107592))) crt.X__builtin_abort(tls) return i32(0) }() }() _c = uint16(i32(2) << uint(_op-i32(37))) _7: _5: _3: func() int32 { if (_op != i32(34)) || (int32(_c) == i32(256)) { return i32(0) } return func() int32 { 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(107624))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(33)) || (int32(_c) == i32(1)) { return i32(0) } return func() int32 { 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(107656))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(37)) || (int32(_c) == i32(2)) { return i32(0) } return func() int32 { 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(107680))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(40)) || (int32(_c) == i32(16)) { return i32(0) } return func() int32 { 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(107704))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(39)) || (int32(_c) == i32(8)) { return i32(0) } return func() int32 { 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(107728))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(38)) || (int32(_c) == i32(4)) { return i32(0) } return func() int32 { 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(107752))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(41)) || (int32(_c) == i32(32)) { return i32(0) } return func() int32 { 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(107776))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op != i32(29)) || (int32(_c) == i32(128)) { return i32(0) } return func() int32 { 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(107800))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _c return } var _operatorMaskØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_operatorMaskØ00__func__Ø000[0], str(107824), 13) } func _markTermAsChild(tls *crt.TLS, _pWC *XWhereClause, _iChild int32, _iParent int32) { // sqlite3.c:128728:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_iChild))))) + uintptr(24 /* X7 */))) = _iParent *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_iChild))))) + uintptr(16 /* X2 */))) = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_iParent))).X2 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_iParent))))) + uintptr(22 /* X5 */))) += 1 return } func _termIsEquivalence(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 int32) { // sqlite3.c:129158:1 var _aff1 int8 // sqlite3.c:129159:8 _ = _aff1 var _aff2 int8 // sqlite3.c:129159:14 _ = _aff2 var _pColl *XCollSeq // sqlite3.c:129160:11 _ = _pColl var _zColl1 *int8 // sqlite3.c:129161:14 _ = _zColl1 var _zColl2 *int8 // sqlite3.c:129161:23 _ = _zColl2 if (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X13) & i32(512)) == i32(0) { goto _0 } r0 = i32(0) return _0: if int32(_pExpr.X0) == i32(37) || int32(_pExpr.X0) == i32(29) { goto _2 } r0 = i32(0) return _2: if ((_pExpr.X2) & uint32(i32(1))) == uint32(i32(0)) { goto _3 } r0 = i32(0) return _3: _aff1 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _aff2 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) if int32(_aff1) == int32(_aff2) || int32(_aff1) >= i32(67) && int32(_aff2) >= i32(67) { goto _6 } r0 = i32(0) return _6: _pColl = _sqlite3BinaryCompareCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), (*XExpr)(unsafe.Pointer(_pExpr.X5))) if _pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3StrICmp(tls, _pColl.X0, str(38588)) != i32(0) { goto _8 } r0 = i32(1) return _8: _pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) _zColl1 = func() *int8 { if _pColl != nil { return (_pColl.X0) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() _pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5))) _zColl2 = func() *int8 { if _pColl != nil { return (_pColl.X0) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() r0 = bool2int(Xsqlite3_stricmp(tls, _zColl1, _zColl2) == i32(0)) return } func _exprCommute(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) { // sqlite3.c:128499:1 var _expRight uint16 // sqlite3.c:128500:7 _ = _expRight var _expLeft uint16 // sqlite3.c:128501:7 _ = _expLeft var _4_t *XExpr // sqlite3.c:128516:12 _ = _4_t _expRight = uint16(((*XExpr)(unsafe.Pointer(_pExpr.X5)).X2) & uint32(i32(256))) _expLeft = uint16(((*XExpr)(unsafe.Pointer(_pExpr.X4)).X2) & uint32(i32(256))) func() int32 { if _allowedOp(tls, int32(_pExpr.X0)) != 0 && (int32(_pExpr.X0) != i32(33)) { return i32(0) } return func() int32 { 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(107840))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_expRight) != int32(_expLeft) { goto _3 } if _expRight == 0 { goto _4 } { p := (*uint32)(unsafe.Pointer(uintptr(_pExpr.X5) + uintptr(4 /* X2 */))) *p = (*p) & uint32(i32(-257)) sink985 = *p } goto _5 _4: if _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } { p := (*uint32)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(256)) sink985 = *p } _6: _5: _3: _4_t = (*XExpr)(unsafe.Pointer(_pExpr.X5)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(24 /* X5 */))))) = (*XExpr)(unsafe.Pointer(_pExpr.X4)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(16 /* X4 */))))) = _4_t if int32(_pExpr.X0) < i32(38) { goto _7 } i32(0) i32(0) i32(0) i32(0) func() int32 { if (int32(_pExpr.X0) >= i32(38)) && (int32(_pExpr.X0) <= i32(41)) { return i32(0) } return func() int32 { 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(107884))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(((int32(_pExpr.X0) - i32(38)) ^ i32(2)) + i32(38)) _7: return } var _exprCommuteØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_exprCommuteØ00__func__Ø000[0], str(107924), 12) } var _exprAnalyzeØ00opsØ001 [2]uint8 // sqlite3.c:129418:21 func init() { _exprAnalyzeØ00opsØ001 = [2]uint8{41, 39} } func _transferJoinMarkings(tls *crt.TLS, _pDerived *XExpr, _pBase *XExpr) { // sqlite3.c:128718:1 if _pDerived == nil { goto _0 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDerived)) + uintptr(4 /* X2 */))) *p = (*p) | ((_pBase.X2) & uint32(i32(1))) sink985 = *p } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDerived)) + uintptr(52 /* X11 */))) = _pBase.X11 _0: return } func _exprAnalyzeOrTerm(tls *crt.TLS, _pSrc *XSrcList, _pWC *XWhereClause, _idxTerm int32) { // sqlite3.c:128895:1 var _pWInfo *XWhereInfo // sqlite3.c:128900:13 _ = _pWInfo var _pParse *XParse // sqlite3.c:128901:9 _ = _pParse var _db *Xsqlite3 // sqlite3.c:128902:11 _ = _db var _pTerm *XWhereTerm // sqlite3.c:128903:13 _ = _pTerm var _pExpr *XExpr // sqlite3.c:128904:8 _ = _pExpr var _i int32 // sqlite3.c:128905:7 _ = _i var _pOrWc *XWhereClause // sqlite3.c:128906:15 _ = _pOrWc var _pOrTerm *XWhereTerm // sqlite3.c:128907:13 _ = _pOrTerm var _pOrInfo *XWhereOrInfo // sqlite3.c:128908:15 _ = _pOrInfo var _chngToIN uint64 // sqlite3.c:128909:11 _ = _chngToIN var _indexable uint64 // sqlite3.c:128910:11 _ = _indexable var _2_pAndInfo *XWhereAndInfo // sqlite3.c:128937:20 _ = _2_pAndInfo var _3_pAndWC *XWhereClause // sqlite3.c:128942:21 _ = _3_pAndWC var _3_pAndTerm *XWhereTerm // sqlite3.c:128943:19 _ = _3_pAndTerm var _3_j int32 // sqlite3.c:128944:13 _ = _3_j var _3_b uint64 // sqlite3.c:128945:17 _ = _3_b var _8_b uint64 // sqlite3.c:128971:15 _ = _8_b var _9_pOther *XWhereTerm // sqlite3.c:128974:19 _ = _9_pOther var _12_iOne int32 // sqlite3.c:128996:9 _ = _12_iOne var _12_pOne *XWhereTerm // sqlite3.c:128997:15 _ = _12_pOne var _13_iTwo int32 // sqlite3.c:128999:11 _ = _13_iTwo var _13_pTwo *XWhereTerm // sqlite3.c:129000:17 _ = _13_pTwo var _15_okToChngToIN int32 // sqlite3.c:129029:9 _ = _15_okToChngToIN var _15_iColumn int32 // sqlite3.c:129030:9 _ = _15_iColumn var _15_iCursor int32 // sqlite3.c:129031:9 _ = _15_iCursor var _15_j int32 // sqlite3.c:129032:9 _ = _15_j var _24_affLeft int32 // sqlite3.c:129086:15 _ = _24_affLeft var _24_affRight int32 // sqlite3.c:129086:24 _ = _24_affRight var _27_pDup *XExpr // sqlite3.c:129107:12 _ = _27_pDup var _27_pList *XExprList // sqlite3.c:129108:16 _ = _27_pList var _27_pLeft *XExpr // sqlite3.c:129109:12 _ = _27_pLeft var _27_pNew *XExpr // sqlite3.c:129110:12 _ = _27_pNew var _29_idxNew int32 // sqlite3.c:129125:13 _ = _29_idxNew _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pWC.X0)) _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) _pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) func() int32 { if (int32(_pTerm.X3) & i32(49)) == i32(0) { return i32(0) } return func() int32 { 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(107936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pExpr.X0) == i32(27) { return i32(0) } return func() int32 { 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(108000))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XWhereOrInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))))) = store6579482(&_pOrInfo, (*XWhereOrInfo)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(560))))) if _pOrInfo != (*XWhereOrInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } return _4: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } _pOrWc = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrInfo)) + uintptr(0 /* X0 */))) crt.Xmemset(tls, (unsafe.Pointer)((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrWc))+uintptr(40 /* X6 */)))), i32(0), u64(512)) _sqlite3WhereClauseInit(tls, _pOrWc, _pWInfo) _sqlite3WhereSplit(tls, _pOrWc, _pExpr, uint8(i32(27))) _sqlite3WhereExprAnalyze(tls, _pSrc, _pOrWc) if (_db.X17) == 0 { goto _5 } return _5: func() int32 { if (_pOrWc.X3) >= i32(2) { return i32(0) } return func() int32 { 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(108020))) crt.X__builtin_abort(tls) return i32(0) }() }() _indexable = u64(18446744073709551615) _chngToIN = u64(18446744073709551615) *func() **XWhereTerm { _i = (_pOrWc.X3) - i32(1); return &_pOrTerm }() = (*XWhereTerm)(unsafe.Pointer(_pOrWc.X5)) _8: if _i < i32(0) || _indexable == 0 { goto _12 } if (int32(_pOrTerm.X4) & i32(511)) != i32(0) { goto _13 } func() int32 { if (int32(_pOrTerm.X3) & i32(48)) == i32(0) { return i32(0) } return func() int32 { 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(108036))) crt.X__builtin_abort(tls) return i32(0) }() }() _chngToIN = uint64(i32(0)) _2_pAndInfo = (*XWhereAndInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(552)))) if _2_pAndInfo == nil { goto _16 } _3_b = uint64(i32(0)) *(**XWhereAndInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(40 /* X10 */))))))) = _2_pAndInfo { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(32)) sink4530 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(20 /* X4 */))) = uint16(i32(1024)) _3_pAndWC = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pAndInfo)) + uintptr(0 /* X0 */))) crt.Xmemset(tls, (unsafe.Pointer)((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAndWC))+uintptr(40 /* X6 */)))), i32(0), u64(512)) _sqlite3WhereClauseInit(tls, _3_pAndWC, (*XWhereInfo)(unsafe.Pointer(_pWC.X0))) _sqlite3WhereSplit(tls, _3_pAndWC, (*XExpr)(unsafe.Pointer(_pOrTerm.X0)), uint8(i32(28))) _sqlite3WhereExprAnalyze(tls, _pSrc, _3_pAndWC) *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAndWC)) + uintptr(8 /* X1 */))))) = _pWC if (_db.X17) != 0 { goto _17 } *func() **XWhereTerm { _3_j = i32(0); return &_3_pAndTerm }() = (*XWhereTerm)(unsafe.Pointer(_3_pAndWC.X5)) _18: if _3_j >= (_3_pAndWC.X3) { goto _21 } func() int32 { if (*XExpr)(unsafe.Pointer(_3_pAndTerm.X0)) != nil { return i32(0) } return func() int32 { 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(108088))) crt.X__builtin_abort(tls) return i32(0) }() }() if _allowedOp(tls, int32((*XExpr)(unsafe.Pointer(_3_pAndTerm.X0)).X0)) == 0 && int32(_3_pAndTerm.X4) != i32(64) { goto _25 } { p := &_3_b *p = (*p) | _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _3_pAndTerm.X8) sink992 = *p } _25: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _3_j += 1; return &_3_pAndTerm }())) += uintptr(64) goto _18 _21: _17: { p := &_indexable *p = (*p) & _3_b sink992 = *p } _16: goto _26 _13: if (int32(_pOrTerm.X3) & i32(8)) == 0 { goto _27 } goto _28 _27: _8_b = _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _pOrTerm.X8) if (int32(_pOrTerm.X3) & i32(2)) == 0 { goto _29 } _9_pOther = (*XWhereTerm)(unsafe.Pointer(uintptr(_pOrWc.X5) + 64*uintptr(_pOrTerm.X7))) { p := &_8_b *p = (*p) | _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _9_pOther.X8) sink992 = *p } _29: { p := &_indexable *p = (*p) & _8_b sink992 = *p } if (int32(_pOrTerm.X4) & i32(2)) != i32(0) { goto _30 } _chngToIN = uint64(i32(0)) goto _31 _30: { p := &_chngToIN *p = (*p) & _8_b sink992 = *p } _31: _28: _26: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(64) goto _8 _12: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrInfo)) + uintptr(552 /* X1 */))) = _indexable *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X4 */))) = uint16(func() int32 { if _indexable == uint64(i32(0)) { return i32(0) } return i32(512) }()) if _indexable == 0 || (_pOrWc.X3) != i32(2) { goto _35 } _12_iOne = i32(0) _36: if store6568967(&_12_pOne, _whereNthSubterm(tls, (*XWhereTerm)(unsafe.Pointer(uintptr(_pOrWc.X5)+64*uintptr(i32(0)))), postInc961(&_12_iOne, int32(1)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _37 } _13_iTwo = i32(0) _38: if store6568967(&_13_pTwo, _whereNthSubterm(tls, (*XWhereTerm)(unsafe.Pointer(uintptr(_pOrWc.X5)+64*uintptr(i32(1)))), postInc961(&_13_iTwo, int32(1)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _39 } _whereCombineDisjuncts(tls, _pSrc, _pWC, _12_pOne, _13_pTwo) goto _38 _39: goto _36 _37: _35: if _chngToIN == 0 { goto _40 } _15_okToChngToIN = i32(0) _15_iColumn = i32(-1) _15_iCursor = i32(-1) _15_j = i32(0) _15_j = i32(0) _41: if _15_j >= i32(2) || _15_okToChngToIN != 0 { goto _45 } _pOrTerm = (*XWhereTerm)(unsafe.Pointer(_pOrWc.X5)) _i = (_pOrWc.X3) - i32(1) _46: if _i < i32(0) { goto _49 } func() int32 { if (int32(_pOrTerm.X4) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(108104))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) & i32(-65)) sink4530 = *p } if (_pOrTerm.X8) != _15_iCursor { goto _52 } func() int32 { if _15_j == i32(1) { return i32(0) } return func() int32 { 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(108132))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _47 _52: if (_chngToIN & _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _pOrTerm.X8)) != uint64(i32(0)) { goto _55 } func() int32 { if (int32(_pOrTerm.X3) & i32(10)) != 0 { return i32(0) } return func() int32 { 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(108140))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _47 _55: _15_iColumn = *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(40 /* X10 */))))) _15_iCursor = _pOrTerm.X8 goto _49 _47: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(64) goto _46 _49: if _i >= i32(0) { goto _58 } func() int32 { if _15_j == i32(1) { return i32(0) } return func() int32 { 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(108132))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_chngToIN & (_chngToIN - uint64(i32(1)))) == uint64(i32(0)) { return i32(0) } return func() int32 { 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(108188))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _chngToIN == _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _15_iCursor) { return i32(0) } return func() int32 { 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(108212))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _45 _58: _15_okToChngToIN = i32(1) _65: if _i < i32(0) || _15_okToChngToIN == 0 { goto _69 } func() int32 { if (int32(_pOrTerm.X4) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(108104))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pOrTerm.X8) == _15_iCursor { goto _72 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) & i32(-65)) sink4530 = *p } goto _73 _72: if (*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(40 /* X10 */)))))) == _15_iColumn { goto _74 } _15_okToChngToIN = i32(0) goto _75 _74: _24_affRight = int32(_sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X5)))) _24_affLeft = int32(_sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X4)))) if _24_affRight == i32(0) || _24_affRight == _24_affLeft { goto _77 } _15_okToChngToIN = i32(0) goto _78 _77: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(64)) sink4530 = *p } _78: _75: _73: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(64) goto _65 _69: _15_j += 1 goto _41 _45: if _15_okToChngToIN == 0 { goto _79 } _27_pList = nil _27_pLeft = nil *func() **XWhereTerm { _i = (_pOrWc.X3) - i32(1); return &_pOrTerm }() = (*XWhereTerm)(unsafe.Pointer(_pOrWc.X5)) _80: if _i < i32(0) { goto _83 } if (int32(_pOrTerm.X3) & i32(64)) != i32(0) { goto _84 } goto _81 _84: func() int32 { if (int32(_pOrTerm.X4) & i32(2)) != 0 { return i32(0) } return func() int32 { 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(108104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pOrTerm.X8) == _15_iCursor { return i32(0) } return func() int32 { 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(108272))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(40 /* X10 */)))))) == _15_iColumn { return i32(0) } return func() int32 { 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(108304))) crt.X__builtin_abort(tls) return i32(0) }() }() _27_pDup = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X5)), i32(0)) _27_pList = _sqlite3ExprListAppend(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), _27_pList, _27_pDup) _27_pLeft = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X4)) _81: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(64) goto _80 _83: func() int32 { if _27_pLeft != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(108336))) crt.X__builtin_abort(tls) return i32(0) }() }() _27_pDup = _sqlite3ExprDup(tls, _db, _27_pLeft, i32(0)) _27_pNew = _sqlite3PExpr(tls, _pParse, i32(33), _27_pDup, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if _27_pNew == nil { goto _93 } _transferJoinMarkings(tls, _27_pNew, _pExpr) func() int32 { if ((_27_pNew.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(108348))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_27_pNew)) + uintptr(32 /* X6 */))))))) = _27_pList _29_idxNew = _whereClauseInsert(tls, _pWC, _27_pNew, uint16(i32(3))) _exprAnalyze(tls, _pSrc, _pWC, _29_idxNew) _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_idxTerm))) _markTermAsChild(tls, _pWC, _29_idxNew, _idxTerm) goto _96 _93: _sqlite3ExprListDelete(tls, _db, _27_pList) _96: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X4 */))) = uint16(i32(4096)) _79: _40: return } var _exprAnalyzeOrTermØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_exprAnalyzeOrTermØ00__func__Ø000[0], str(108388), 18) } func _whereNthSubterm(tls *crt.TLS, _pTerm *XWhereTerm, _N int32) (r0 *XWhereTerm) { // sqlite3.c:128739:1 if int32(_pTerm.X4) == i32(1024) { goto _0 } r0 = func() *XWhereTerm { if _N == i32(0) { return _pTerm } return (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) }() return _0: if _N >= ((*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) + uintptr(0 /* X0 */))).X3) { goto _3 } r0 = (*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))))+uintptr(0 /* X0 */))).X5) + 64*uintptr(_N))) return _3: r0 = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) return } func _whereCombineDisjuncts(tls *crt.TLS, _pSrc *XSrcList, _pWC *XWhereClause, _pOne *XWhereTerm, _pTwo *XWhereTerm) { // sqlite3.c:128769:1 var _eOp uint16 // sqlite3.c:128775:7 _ = _eOp var _db *Xsqlite3 // sqlite3.c:128776:11 _ = _db var _pNew *XExpr // sqlite3.c:128777:8 _ = _pNew var _op int32 // sqlite3.c:128778:7 _ = _op var _idxNew int32 // sqlite3.c:128779:7 _ = _idxNew _eOp = uint16(int32(_pOne.X4) | int32(_pTwo.X4)) if (int32(_pOne.X4) & i32(62)) != i32(0) { goto _0 } return _0: if (int32(_pTwo.X4) & i32(62)) != i32(0) { goto _1 } return _1: if (int32(_eOp)&i32(26)) == int32(_eOp) || (int32(_eOp)&i32(38)) == int32(_eOp) { goto _3 } return _3: func() int32 { 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))))) { return i32(0) } return func() int32 { 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(108408))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))))) { return i32(0) } return func() int32 { 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(108456))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOne.X0)).X4)), (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTwo.X0)).X4)), i32(-1)) == 0 { goto _10 } return _10: if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOne.X0)).X5)), (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTwo.X0)).X5)), i32(-1)) == 0 { goto _11 } return _11: if (int32(_eOp) & (int32(_eOp) - i32(1))) == i32(0) { goto _12 } if (int32(_eOp) & i32(24)) == 0 { goto _13 } _eOp = uint16(i32(8)) goto _14 _13: func() int32 { if (int32(_eOp) & i32(36)) != 0 { return i32(0) } return func() int32 { 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(108504))) crt.X__builtin_abort(tls) return i32(0) }() }() _eOp = uint16(i32(32)) _14: _12: _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)).X0)) _pNew = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pOne.X0)), i32(0)) if _pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } return _17: _op = i32(37) _18: if int32(_eOp) == (i32(2) << uint(_op-i32(37))) { goto _21 } func() int32 { if _op < i32(41) { return i32(0) } return func() int32 { 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(108524))) crt.X__builtin_abort(tls) return i32(0) }() }() _op += 1 goto _18 _21: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = uint8(_op) _idxNew = _whereClauseInsert(tls, _pWC, _pNew, uint16(i32(3))) _exprAnalyze(tls, _pSrc, _pWC, _idxNew) return } var _whereCombineDisjunctsØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_whereCombineDisjunctsØ00__func__Ø000[0], str(108536), 22) } func _isLikeOrGlob(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _ppPrefix **XExpr, _pisComplete *int32, _pnoCase *int32) (r0 int32) { // sqlite3.c:128568:1 var _z *int8 // sqlite3.c:128575:14 _ = _z var _pRight *XExpr // sqlite3.c:128576:8 _ = _pRight var _pLeft *XExpr // sqlite3.c:128576:17 _ = _pLeft var _pList *XExprList // sqlite3.c:128577:12 _ = _pList var _c int32 // sqlite3.c:128578:7 _ = _c var _cnt int32 // sqlite3.c:128579:7 _ = _cnt var _wc [3]int8 // sqlite3.c:128580:8 _ = _wc var _db *Xsqlite3 // sqlite3.c:128581:11 _ = _db var _pVal *XMem // sqlite3.c:128582:17 _ = _pVal var _op int32 // sqlite3.c:128583:7 _ = _op var _rc int32 // sqlite3.c:128584:7 _ = _rc var _2_pReprepare *TVdbe // sqlite3.c:128598:10 _ = _2_pReprepare var _2_iCol int32 // sqlite3.c:128599:9 _ = _2_iCol var _9_pPrefix *XExpr // sqlite3.c:128632:12 _ = _9_pPrefix var _10_v *TVdbe // sqlite3.c:128638:14 _ = _10_v var _11_r1 int32 // sqlite3.c:128647:15 _ = _11_r1 _z = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pVal = nil if _sqlite3IsLikeFunction(tls, _db, _pExpr, _pnoCase, (*int8)(unsafe.Pointer(&_wc))) != 0 { goto _0 } r0 = i32(0) return _0: _pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) _pLeft = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(i32(1)))).X0)) _pRight = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(i32(0)))).X0))) _op = int32(_pRight.X0) if _op != i32(135) { goto _1 } _2_pReprepare = (*TVdbe)(unsafe.Pointer(_pParse.X61)) _2_iCol = int32(_pRight.X9) _pVal = _sqlite3VdbeGetBoundValue(tls, _2_pReprepare, _2_iCol, uint8(i32(65))) if _pVal == nil || Xsqlite3_value_type(tls, _pVal) != i32(3) { goto _3 } _z = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, _pVal))) _3: _sqlite3VdbeSetVarmask(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), _2_iCol) func() int32 { if (int32(_pRight.X0) == i32(135)) || (int32(_pRight.X0) == i32(157)) { return i32(0) } return func() int32 { 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(108560))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _7 _1: if _op != i32(97) { goto _8 } _z = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight)) + uintptr(8 /* X3 */))))) _8: _7: if _z == nil { goto _9 } 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) { goto _11 } if int32(_pLeft.X0) == i32(152) && int32(_sqlite3ExprAffinity(tls, _pLeft)) == i32(66) && ((*XTable)(unsafe.Pointer(_pLeft.X14)).X16) == 0 { goto _14 } _sqlite3ValueFree(tls, _pVal) r0 = i32(0) return _14: _11: _cnt = i32(0) _15: 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))))) { goto _16 } _cnt += 1 goto _15 _16: if _cnt == i32(0) || i32(255) == int32(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_cnt-i32(1)))))) { goto _21 } *_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))) _9_pPrefix = _sqlite3Expr(tls, _db, i32(97), _z) if _9_pPrefix == nil { goto _23 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pPrefix)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_cnt))) = int8(i32(0)) _23: *_ppPrefix = _9_pPrefix if _op != i32(135) { goto _24 } _10_v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _sqlite3VdbeSetVarmask(tls, _10_v, int32(_pRight.X9)) if (*_pisComplete) == 0 || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == 0 { goto _26 } _11_r1 = _sqlite3GetTempReg(tls, _pParse) _sqlite3ExprCodeTarget(tls, _pParse, _pRight, _11_r1) _sqlite3VdbeChangeP3(tls, _10_v, uint32(_sqlite3VdbeCurrentAddr(tls, _10_v)-i32(1)), i32(0)) _sqlite3ReleaseTempReg(tls, _pParse, _11_r1) _26: _24: goto _27 _21: _z = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _27: _9: _rc = bool2int(_z != (*int8)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3ValueFree(tls, _pVal) r0 = _rc return } func _sqlite3IsLikeFunction(tls *crt.TLS, _db *Xsqlite3, _pExpr *XExpr, _pIsNocase *int32, _aWc *int8) (r0 int32) { // sqlite3.c:107002:1 var _pDef *XFuncDef // sqlite3.c:107003:11 _ = _pDef if int32(_pExpr.X0) == i32(151) && (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) != nil && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0) == i32(2) { goto _2 } r0 = i32(0) return _2: func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() _pDef = _sqlite3FindFunction(tls, _db, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), i32(2), uint8(i32(1)), uint8(i32(0))) if func() int32 { if _pDef == (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 && (int32(_pDef.X1)&i32(4)) != i32(0) { goto _8 } r0 = i32(0) return _8: crt.Xmemcpy(tls, (unsafe.Pointer)(_aWc), _pDef.X2, uint64(i32(3))) func() int32 { if (*int8)(unsafe.Pointer(&_likeInfoAlt)) == (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_likeInfoAlt))+uintptr(0 /* X0 */))))) { return i32(0) } return func() int32 { 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(108612))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 */))))) { return i32(0) } return func() int32 { 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(108664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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 */))))) { return i32(0) } return func() int32 { 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(108724))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pIsNocase = bool2int((int32(_pDef.X1) & i32(8)) == i32(0)) r0 = i32(1) return } var _sqlite3IsLikeFunctionØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3IsLikeFunctionØ00__func__Ø000[0], str(108784), 22) } var _likeInfoAlt TcompareInfo // sqlite3.c:105887:33 func init() { _likeInfoAlt = TcompareInfo{X0: u8(37), X1: u8(95), X2: u8(0), X3: u8(0)} } func _sqlite3VdbeGetBoundValue(tls *crt.TLS, _v *TVdbe, _iVar int32, _aff uint8) (r0 *XMem) { // sqlite3.c:75867:1 var _1_pMem *XMem // sqlite3.c:75870:9 _ = _1_pMem var _2_pRet *XMem // sqlite3.c:75872:21 _ = _2_pRet func() int32 { if _iVar > i32(0) { return i32(0) } return func() int32 { 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(108808))) crt.X__builtin_abort(tls) return i32(0) }() }() if _v == nil { goto _2 } _1_pMem = (*XMem)(unsafe.Pointer(uintptr(_v.X24) + 72*uintptr(_iVar-i32(1)))) if i32(0) != (int32(_1_pMem.X1) & i32(1)) { goto _3 } _2_pRet = _sqlite3ValueNew(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0))) if _2_pRet == nil { goto _4 } _sqlite3VdbeMemCopy(tls, _2_pRet, _1_pMem) _sqlite3ValueApplyAffinity(tls, _2_pRet, _aff, uint8(i32(1))) _4: r0 = _2_pRet return _3: _2: r0 = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) return } var _sqlite3VdbeGetBoundValueØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeGetBoundValueØ00__func__Ø000[0], str(108816), 25) } func _sqlite3VdbeSetVarmask(tls *crt.TLS, _v *TVdbe, _iVar int32) { // sqlite3.c:75888:1 func() int32 { if _iVar > i32(0) { return i32(0) } return func() int32 { 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(108808))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iVar < i32(32) { goto _2 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(268 /* X41 */))) *p = (*p) | u32(2147483648) sink985 = *p } goto _3 _2: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(268 /* X41 */))) *p = (*p) | (u32(1) << uint(_iVar-i32(1))) sink985 = *p } _3: return } var _sqlite3VdbeSetVarmaskØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeSetVarmaskØ00__func__Ø000[0], str(108844), 22) } var _isLikeOrGlobØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_isLikeOrGlobØ00__func__Ø000[0], str(108868), 13) } func _sqlite3VdbeChangeP3(tls *crt.TLS, _p *TVdbe, _addr uint32, _val int32) { // sqlite3.c:72120:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(12 /* X5 */))) = _val return } func _isMatchOfColumn(tls *crt.TLS, _pExpr *XExpr, _peOp2 *uint8) (r0 int32) { // sqlite3.c:128676:1 var _pList *XExprList // sqlite3.c:128689:12 _ = _pList var _pCol *XExpr // sqlite3.c:128690:8 _ = _pCol var _i int32 // sqlite3.c:128691:7 _ = _i if int32(_pExpr.X0) == i32(151) { goto _0 } r0 = i32(0) return _0: _pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && (_pList.X0) == i32(2) { goto _2 } r0 = i32(0) return _2: _pCol = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(i32(1)))).X0)) if int32(_pCol.X0) == i32(152) && ((*XTable)(unsafe.Pointer(_pCol.X14)).X16) != 0 { goto _4 } r0 = i32(0) return _4: _i = i32(0) _5: if _i >= i32(4) { goto _8 } if _sqlite3StrICmp(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_isMatchOfColumnØ00aOpØ001))+16*uintptr(_i))).X0) != i32(0) { goto _9 } *_peOp2 = (*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_isMatchOfColumnØ00aOpØ001)) + 16*uintptr(_i))).X1 r0 = i32(1) return _9: _i += 1 goto _5 _8: r0 = i32(0) return } var _isMatchOfColumnØ00aOpØ001 [4]TEncName // sqlite3.c:128683:5 func init() { _isMatchOfColumnØ00aOpØ001 = [4]TEncName{TEncName{X0: str(97716), X1: u8(64)}, TEncName{X0: str(6480), X1: u8(66)}, TEncName{X0: str(6488), X1: u8(65)}, TEncName{X0: str(108884), X1: u8(67)}} } func _sqlite3ExprForVectorField(tls *crt.TLS, _pParse *XParse, _pVector *XExpr, _iField int32) (r0 *XExpr) { // sqlite3.c:91141:1 var _pRet *XExpr // sqlite3.c:91146:8 _ = _pRet if int32(_pVector.X0) != i32(119) { goto _0 } func() int32 { if ((_pVector.X2) & uint32(i32(2048))) != 0 { return i32(0) } return func() int32 { 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(108892))) crt.X__builtin_abort(tls) return i32(0) }() }() _pRet = _sqlite3PExpr(tls, _pParse, i32(159), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if _pRet == nil { goto _3 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(48 /* X9 */))) = int16(_iField) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X4 */))))) = _pVector _3: func() int32 { if (_pRet == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((_pRet.X8) == i32(0)) { return i32(0) } return func() int32 { 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(108924))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _7 _0: if int32(_pVector.X0) != i32(158) { goto _8 } _pVector = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_iField))).X0)) _8: _pRet = _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pVector, i32(0)) _7: r0 = _pRet return } var _sqlite3ExprForVectorFieldØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprForVectorFieldØ00__func__Ø000[0], str(108952), 26) } func _isDistinctRedundant(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pWC *XWhereClause, _pDistinct *XExprList) (r0 int32) { // sqlite3.c:130276:1 var _pTab *XTable // sqlite3.c:130282:9 _ = _pTab var _pIdx *XIndex // sqlite3.c:130283:9 _ = _pIdx var _i int32 // sqlite3.c:130284:7 _ = _i var _iBase int32 // sqlite3.c:130285:7 _ = _iBase var _1_p *XExpr // sqlite3.c:130299:10 _ = _1_p if (_pTabList.X0) == i32(1) { goto _0 } r0 = i32(0) return _0: _iBase = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X11 _pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X4)) _i = i32(0) _1: if _i >= (_pDistinct.X0) { goto _4 } _1_p = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pDistinct.X1)+32*uintptr(_i))).X0))) if int32(_1_p.X0) != i32(152) || (_1_p.X8) != _iBase || int32(_1_p.X9) >= i32(0) { goto _7 } r0 = i32(1) return _7: _i += 1 goto _1 _4: _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _8: if _pIdx == nil { goto _11 } if int32(_pIdx.X15) != i32(0) { goto _12 } goto _9 _12: _i = i32(0) _13: if _i >= int32(_pIdx.X13) { goto _16 } if (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) != _sqlite3WhereFindTerm(tls, _pWC, _iBase, _i, u64(18446744073709551615), uint32(i32(2)), _pIdx) { goto _17 } if _findIndexCol(tls, _pParse, _pDistinct, _iBase, _pIdx, _i) >= i32(0) { goto _18 } goto _16 _18: if _indexColumnNotNull(tls, _pIdx, _i) != i32(0) { goto _19 } goto _16 _19: _17: _i += 1 goto _13 _16: if _i != int32(_pIdx.X13) { goto _20 } r0 = i32(1) return _20: _9: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _8 _11: r0 = i32(0) return } func _sqlite3WhereFindTerm(tls *crt.TLS, _pWC *XWhereClause, _iCur int32, _iColumn int32, _notReady uint64, _op uint32, _pIdx *XIndex) (r0 *XWhereTerm) { // sqlite3.c:130190:1 var _pResult *XWhereTerm // sqlite3.c:130198:13 _ = _pResult var _p *XWhereTerm // sqlite3.c:130199:13 _ = _p var _scan XWhereScan // sqlite3.c:130200:13 _ = _scan _pResult = nil _p = _whereScanInit(tls, &_scan, _pWC, _iCur, _iColumn, _op, _pIdx) { p := &_op *p = (*p) & uint32(i32(130)) sink985 = *p } _0: if _p == nil { goto _1 } if ((_p.X11) & _notReady) != uint64(i32(0)) { goto _2 } if (_p.X11) != uint64(i32(0)) || (uint32(_p.X4)&_op) == uint32(i32(0)) { goto _4 } r0 = _p return _4: if _pResult != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _pResult = _p _5: _2: _p = _whereScanNext(tls, &_scan) goto _0 _1: r0 = _pResult return } func _whereScanInit(tls *crt.TLS, _pScan *XWhereScan, _pWC *XWhereClause, _iCur int32, _iColumn int32, _opMask uint32, _pIdx *XIndex) (r0 *XWhereTerm) { // sqlite3.c:130128:1 var _1_j int32 // sqlite3.c:130142:9 _ = _1_j *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(0 /* X0 */))))) = _pWC *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(8 /* X1 */))))) = _pWC *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(24 /* X3 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(32 /* X4 */))) = int8(i32(0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if _pIdx == nil { goto _0 } _1_j = _iColumn _iColumn = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_j)))) if _iColumn != i32(-2) { goto _1 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(24 /* X3 */))))) = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1) + 32*uintptr(_1_j))).X0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(16 /* X2 */))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_1_j))) goto _2 _1: if _iColumn != int32((*XTable)(unsafe.Pointer(_pIdx.X3)).X10) { goto _3 } _iColumn = i32(-1) goto _4 _3: if _iColumn < i32(0) { goto _5 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(32 /* X4 */))) = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIdx.X3)).X1) + 32*uintptr(_iColumn))).X4 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(16 /* X2 */))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_1_j))) _5: _4: _2: goto _6 _0: if _iColumn != i32(-2) { goto _7 } r0 = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) return _7: _6: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(36 /* X7 */))) = _opMask *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(40 /* X8 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(44 /* X9 */))))) + 4*uintptr(i32(0)))) = _iCur *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(88 /* X10 */))))) + 2*uintptr(i32(0)))) = int16(_iColumn) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(33 /* X5 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(34 /* X6 */))) = uint8(i32(1)) r0 = _whereScanNext(tls, _pScan) return } func _whereScanNext(tls *crt.TLS, _pScan *XWhereScan) (r0 *XWhereTerm) { // sqlite3.c:130027:1 var _iCur int32 // sqlite3.c:130028:7 _ = _iCur var _iColumn int16 // sqlite3.c:130029:7 _ = _iColumn var _pX *XExpr // sqlite3.c:130030:8 _ = _pX var _pWC *XWhereClause // sqlite3.c:130031:15 _ = _pWC var _pTerm *XWhereTerm // sqlite3.c:130032:13 _ = _pTerm var _k int32 // sqlite3.c:130033:7 _ = _k var _5_j int32 // sqlite3.c:130054:17 _ = _5_j var _10_pColl *XCollSeq // sqlite3.c:130070:23 _ = _10_pColl var _10_pParse *XParse // sqlite3.c:130071:21 _ = _10_pParse _k = _pScan.X8 func() int32 { if int32(_pScan.X6) <= int32(_pScan.X5) { return i32(0) } return func() int32 { 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(108980))) crt.X__builtin_abort(tls) return i32(0) }() }() _pWC = (*XWhereClause)(unsafe.Pointer(_pScan.X1)) _2: _iColumn = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(88 /* X10 */))))) + 2*uintptr(int32(_pScan.X6)-i32(1)))) _iCur = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(44 /* X9 */))))) + 4*uintptr(int32(_pScan.X6)-i32(1)))) func() int32 { if _pWC != (*XWhereClause)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(109012))) crt.X__builtin_abort(tls) return i32(0) }() }() _6: _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(64))))))))))) _7: if _k >= (_pWC.X3) { goto _10 } if (_pTerm.X8) != _iCur || (*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* 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)) { goto _16 } if (int32(_pTerm.X4)&i32(2048)) == i32(0) || int32(_pScan.X5) >= i32(11) || int32(store5518888(&_pX, _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)))).X0) != i32(152) { goto _19 } _5_j = i32(0) _20: if _5_j >= int32(_pScan.X5) { goto _23 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(44 /* X9 */))))) + 4*uintptr(_5_j)))) != (_pX.X8) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(88 /* X10 */))))) + 2*uintptr(_5_j)))) != int32(_pX.X9) { goto _25 } goto _23 _25: _5_j += 1 goto _20 _23: if _5_j != int32(_pScan.X5) { goto _26 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(44 /* X9 */))))) + 4*uintptr(_5_j))) = _pX.X8 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(88 /* X10 */))))) + 2*uintptr(_5_j))) = _pX.X9 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(33 /* X5 */))) += 1 _26: _19: if (uint32(_pTerm.X4) & (_pScan.X7)) == uint32(i32(0)) { goto _27 } if (_pScan.X2) == nil || (int32(_pTerm.X4)&i32(256)) != i32(0) { goto _29 } _10_pParse = (*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)) _pX = (*XExpr)(unsafe.Pointer(_pTerm.X0)) if _sqlite3IndexAffinityOk(tls, _pX, _pScan.X4) != 0 { goto _30 } goto _8 _30: func() int32 { if (*XExpr)(unsafe.Pointer(_pX.X4)) != nil { return i32(0) } return func() int32 { 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(109020))) crt.X__builtin_abort(tls) return i32(0) }() }() _10_pColl = _sqlite3BinaryCompareCollSeq(tls, _10_pParse, (*XExpr)(unsafe.Pointer(_pX.X4)), (*XExpr)(unsafe.Pointer(_pX.X5))) if _10_pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _33 } _10_pColl = (*XCollSeq)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_10_pParse.X0)).X2)) _33: if _sqlite3StrICmp(tls, _10_pColl.X0, _pScan.X2) == 0 { goto _34 } goto _8 _34: _29: if (int32(_pTerm.X4)&i32(130)) == i32(0) || int32(store5518888(&_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(44 /* X9 */))))) + 4*uintptr(i32(0))))) || int32(_pX.X9) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(88 /* X10 */))))) + 2*uintptr(i32(0))))) { goto _38 } goto _8 _38: *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(8 /* X1 */))))) = _pWC *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(40 /* X8 */))) = _k + i32(1) r0 = _pTerm return _27: _16: _8: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _k += 1; return &_pTerm }())) += uintptr(64) goto _7 _10: _pWC = (*XWhereClause)(unsafe.Pointer(_pWC.X1)) _k = i32(0) if _pWC != (*XWhereClause)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } if int32(_pScan.X6) < int32(_pScan.X5) { goto _39 } goto _3 _39: _pWC = (*XWhereClause)(unsafe.Pointer(_pScan.X0)) _k = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(34 /* X6 */))) += 1 goto _2 _3: r0 = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) return } var _whereScanNextØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_whereScanNextØ00__func__Ø000[0], str(109032), 14) } func _sqlite3IndexAffinityOk(tls *crt.TLS, _pExpr *XExpr, _idx_affinity int8) (r0 int32) { // sqlite3.c:90980:1 var _aff int8 // sqlite3.c:90981:8 _ = _aff _aff = _comparisonAffinity(tls, _pExpr) switch int32(_aff) { case i32(65): goto _1 case i32(66): goto _2 default: goto _3 } _1: r0 = i32(1) return _2: r0 = bool2int(int32(_idx_affinity) == i32(66)) return _3: r0 = bool2int(int32(_idx_affinity) >= i32(67)) return } func _comparisonAffinity(tls *crt.TLS, _pExpr *XExpr) (r0 int8) { // sqlite3.c:90957:1 var _aff int8 // sqlite3.c:90958:8 _ = _aff func() int32 { 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)) { return i32(0) } return func() int32 { 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(109048))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer(_pExpr.X4)) != nil { return i32(0) } return func() int32 { 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(109228))) crt.X__builtin_abort(tls) return i32(0) }() }() _aff = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) if (*XExpr)(unsafe.Pointer(_pExpr.X5)) == nil { goto _12 } _aff = _sqlite3CompareAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _aff) goto _13 _12: if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _14 } _aff = _sqlite3CompareAffinity(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0)).X1)+32*uintptr(i32(0)))).X0)), _aff) goto _15 _14: if int32(_aff) != i32(0) { goto _16 } _aff = int8(i32(65)) _16: _15: _13: r0 = _aff return } var _comparisonAffinityØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_comparisonAffinityØ00__func__Ø000[0], str(109244), 19) } func _findIndexCol(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _iBase int32, _pIdx *XIndex, _iCol int32) (r0 int32) { // sqlite3.c:130224:1 var _i int32 // sqlite3.c:130231:7 _ = _i var _zColl *int8 // sqlite3.c:130232:14 _ = _zColl var _1_p *XExpr // sqlite3.c:130235:10 _ = _1_p var _2_pColl *XCollSeq // sqlite3.c:130240:15 _ = _2_pColl _zColl = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_iCol))) _i = i32(0) _0: if _i >= (_pList.X0) { goto _3 } _1_p = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X0))) 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 { goto _6 } _2_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X0))) if _2_pColl == nil || i32(0) != _sqlite3StrICmp(tls, _2_pColl.X0, _zColl) { goto _8 } r0 = _i return _8: _6: _i += 1 goto _0 _3: r0 = i32(-1) return } func _indexColumnNotNull(tls *crt.TLS, _pIdx *XIndex, _iCol int32) (r0 int32) { // sqlite3.c:130253:1 var _j int32 // sqlite3.c:130254:7 _ = _j func() int32 { if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43052))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iCol >= i32(0)) && (_iCol < int32(_pIdx.X14)) { return i32(0) } return func() int32 { 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(109264))) crt.X__builtin_abort(tls) return i32(0) }() }() _j = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_iCol)))) if _j < i32(0) { goto _5 } r0 = int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIdx.X3)).X1) + 32*uintptr(_j))).X3) return _5: if _j != i32(-1) { goto _7 } r0 = i32(1) return _7: func() int32 { if _j == i32(-2) { return i32(0) } return func() int32 { 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(109296))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return } var _indexColumnNotNullØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_indexColumnNotNullØ00__func__Ø000[0], str(109304), 19) } func _whereShortCut(tls *crt.TLS, _pBuilder *XWhereLoopBuilder) (r0 int32) { // sqlite3.c:134036:1 var _pWInfo *XWhereInfo // sqlite3.c:134037:13 _ = _pWInfo var _pItem *TSrcList_item // sqlite3.c:134038:23 _ = _pItem var _pWC *XWhereClause // sqlite3.c:134039:15 _ = _pWC var _pTerm *XWhereTerm // sqlite3.c:134040:13 _ = _pTerm var _pLoop *XWhereLoop // sqlite3.c:134041:13 _ = _pLoop var _iCur int32 // sqlite3.c:134042:7 _ = _iCur var _j int32 // sqlite3.c:134043:7 _ = _j var _pTab *XTable // sqlite3.c:134044:9 _ = _pTab var _pIdx *XIndex // sqlite3.c:134045:9 _ = _pIdx var _3_opMask int32 // sqlite3.c:134070:11 _ = _3_opMask _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) if (int32(_pWInfo.X9) & i32(32)) == 0 { goto _0 } r0 = i32(0) return _0: func() int32 { if ((*XSrcList)(unsafe.Pointer(_pWInfo.X1)).X0) >= i32(1) { return i32(0) } return func() int32 { 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(109324))) crt.X__builtin_abort(tls) return i32(0) }() }() _pItem = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1) + uintptr(8 /* X2 */))))) _pTab = (*XTable)(unsafe.Pointer(_pItem.X4)) if (_pTab.X16) == 0 { goto _3 } r0 = i32(0) return _3: if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _4 } r0 = i32(0) return _4: _iCur = _pItem.X11 _pWC = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(96 /* X21 */))) _pLoop = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(48 /* X9 */))) = uint32(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(54 /* X11 */))) = uint16(i32(0)) _pTerm = _sqlite3WhereFindTerm(tls, _pWC, _iCur, i32(-1), uint64(i32(0)), uint32(i32(130)), (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) if _pTerm == nil { goto _5 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(48 /* X9 */))) = uint32(i32(4353)) *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(i32(0)))) = _pTerm *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(52 /* X10 */))) = uint16(i32(1)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(22 /* X6 */))) = int16(i32(33)) goto _6 _5: _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _7: if _pIdx == nil { goto _10 } func() int32 { if (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(80 /* X15 */))))) == (**XWhereTerm)(unsafe.Pointer(_pLoop.X13)) { return i32(0) } return func() int32 { 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(109352))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pIdx.X15) != i32(0) && (*XExpr)(unsafe.Pointer(_pIdx.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) && int32(_pIdx.X13) <= i32(3) { goto _15 } goto _8 _15: _3_opMask = func() int32 { if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { return i32(130) } return i32(2) }() _j = i32(0) _18: if _j >= int32(_pIdx.X13) { goto _21 } _pTerm = _sqlite3WhereFindTerm(tls, _pWC, _iCur, _j, uint64(i32(0)), uint32(_3_opMask), _pIdx) if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _22 } goto _21 _22: *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j))) = _pTerm _j += 1 goto _18 _21: if _j == int32(_pIdx.X13) { goto _23 } goto _8 _23: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(48 /* X9 */))) = uint32(i32(4609)) if ((uint32((_pIdx.X16)>>uint(i32(5)))<>uint(i32(31))) == 0 && ((_pItem.X14)&(^_columnsInIndex(tls, _pIdx))) != uint64(i32(0)) { goto _25 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(64)) sink985 = *p } _25: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(52 /* X10 */))) = uint16(_j) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(_j) *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = _pIdx *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(22 /* X6 */))) = int16(i32(39)) goto _10 _8: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _7 _10: _6: if (_pLoop.X9) == 0 { goto _26 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) = i16(1) *(**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(912 /* X23 */)))))+88*uintptr(i32(0)))))) + uintptr(72 /* X18 */))))) = _pLoop *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(8 /* X1 */))) = _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _iCur) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */)))))+88*uintptr(i32(0)))))) + uintptr(4 /* X1 */))) = _iCur *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(88 /* X20 */))) = int16(i32(1)) if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) == nil { goto _27 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(59 /* X11 */))) = int8((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) _27: if (int32(_pWInfo.X9) & i32(256)) == 0 { goto _28 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(63 /* X15 */))) = uint8(i32(1)) _28: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(16 /* X2 */))) = int8(i32(48)) r0 = i32(1) return _26: r0 = i32(0) return } var _whereShortCutØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_whereShortCutØ00__func__Ø000[0], str(109388), 14) } func _columnsInIndex(tls *crt.TLS, _pIdx *XIndex) (r0 uint64) { // sqlite3.c:132501:1 var _m uint64 // sqlite3.c:132502:11 _ = _m var _j int32 // sqlite3.c:132503:7 _ = _j var _1_x int32 // sqlite3.c:132505:9 _ = _1_x _m = u64(0) _j = int32(_pIdx.X14) - i32(1) _0: if _j < i32(0) { goto _3 } _1_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))) if _1_x < i32(0) { goto _4 } if _1_x >= i32(63) { goto _5 } { p := &_m *p = (*p) | (u64(1) << uint(_1_x)) sink992 = *p } _5: _4: _j -= 1 goto _0 _3: r0 = _m return } func _whereLoopAddAll(tls *crt.TLS, _pBuilder *XWhereLoopBuilder) (r0 int32) { // sqlite3.c:133222:1 var _pWInfo *XWhereInfo // sqlite3.c:133223:13 _ = _pWInfo var _mPrereq uint64 // sqlite3.c:133224:11 _ = _mPrereq var _mPrior uint64 // sqlite3.c:133225:11 _ = _mPrior var _iTab int32 // sqlite3.c:133226:7 _ = _iTab var _pTabList *XSrcList // sqlite3.c:133227:11 _ = _pTabList var _pItem *TSrcList_item // sqlite3.c:133228:23 _ = _pItem var _pEnd *TSrcList_item // sqlite3.c:133229:23 _ = _pEnd var _db *Xsqlite3 // sqlite3.c:133230:11 _ = _db var _rc int32 // sqlite3.c:133231:7 _ = _rc var _pNew *XWhereLoop // sqlite3.c:133232:13 _ = _pNew var _priorJointype uint8 // sqlite3.c:133233:6 _ = _priorJointype var _1_mUnusable uint64 // sqlite3.c:133239:13 _ = _1_mUnusable var _3_p *TSrcList_item // sqlite3.c:133250:27 _ = _3_p _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) _mPrereq = u64(0) _mPrior = u64(0) _pTabList = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) _pEnd = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_pWInfo.X10))) _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)) _rc = i32(0) _priorJointype = u8(0) _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) _whereLoopInit(tls, _pNew) *func() **TSrcList_item { _iTab = i32(0); return &_pItem }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) _0: if uintptr(unsafe.Pointer(_pItem)) >= uintptr(unsafe.Pointer(_pEnd)) { goto _3 } _1_mUnusable = uint64(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(17 /* X3 */))) = uint8(_iTab) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) = _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _pItem.X11) if ((int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(60 /* X9 */))).X0) | int32(_priorJointype)) & i32(10)) == i32(0) { goto _4 } _mPrereq = _mPrior _4: _priorJointype = (*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(60 /* X9 */))).X0 if ((*XTable)(unsafe.Pointer(_pItem.X4)).X16) == 0 { goto _5 } _3_p = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + 112*uintptr(i32(1)))) _6: if uintptr(unsafe.Pointer(_3_p)) >= uintptr(unsafe.Pointer(_pEnd)) { goto _9 } if _1_mUnusable == 0 && (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_p))+uintptr(60 /* X9 */))).X0)&i32(10)) == 0 { goto _11 } { p := &_1_mUnusable *p = (*p) | _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _3_p.X11) sink992 = *p } _11: *(*uintptr)(unsafe.Pointer(&_3_p)) += uintptr(112) goto _6 _9: _rc = _whereLoopAddVirtual(tls, _pBuilder, _mPrereq, _1_mUnusable) goto _12 _5: _rc = _whereLoopAddBtree(tls, _pBuilder, _mPrereq) _12: if _rc != i32(0) { goto _13 } _rc = _whereLoopAddOr(tls, _pBuilder, _mPrereq, _1_mUnusable) _13: { p := &_mPrior *p = (*p) | (_pNew.X1) sink992 = *p } if _rc == 0 && (_db.X17) == 0 { goto _15 } goto _3 _15: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _iTab += 1; return &_pItem }())) += uintptr(112) goto _0 _3: _whereLoopClear(tls, _db, _pNew) r0 = _rc return } func _whereLoopAddVirtual(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64, _mUnusable uint64) (r0 int32) { // sqlite3.c:132978:1 var _rc int32 // sqlite3.c:132983:7 _ = _rc var _pWInfo *XWhereInfo // sqlite3.c:132984:13 _ = _pWInfo var _pParse *XParse // sqlite3.c:132985:9 _ = _pParse var _pWC *XWhereClause // sqlite3.c:132986:15 _ = _pWC var _pSrc *TSrcList_item // sqlite3.c:132987:23 _ = _pSrc var _p *Xsqlite3_index_info // sqlite3.c:132988:22 _ = _p var _nConstraint int32 // sqlite3.c:132989:7 _ = _nConstraint var _bIn int32 // sqlite3.c:132990:7 _ = _bIn var _pNew *XWhereLoop // sqlite3.c:132991:13 _ = _pNew var _mBest uint64 // sqlite3.c:132992:11 _ = _mBest var _mNoOmit uint16 // sqlite3.c:132993:7 _ = _mNoOmit var _2_seenZero int32 // sqlite3.c:133025:9 _ = _2_seenZero var _2_seenZeroNoIN int32 // sqlite3.c:133026:9 _ = _2_seenZeroNoIN var _2_mPrev uint64 // sqlite3.c:133027:13 _ = _2_mPrev var _2_mBestNoIn uint64 // sqlite3.c:133028:13 _ = _2_mBestNoIn var _5_i int32 // sqlite3.c:133047:11 _ = _5_i var _5_mNext uint64 // sqlite3.c:133048:15 _ = _5_mNext var _6_mThis uint64 // sqlite3.c:133051:17 _ = _6_mThis _rc = i32(0) func() int32 { if (_mPrereq & _mUnusable) == uint64(i32(0)) { return i32(0) } return func() int32 { 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(109404))) crt.X__builtin_abort(tls) return i32(0) }() }() _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) _pSrc = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 112*uintptr(_pNew.X3))) func() int32 { if ((*XTable)(unsafe.Pointer(_pSrc.X4)).X16) != 0 { return i32(0) } return func() int32 { 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(109432))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _allocateIndexInfo(tls, _pParse, _pWC, _mUnusable, _pSrc, (*XExprList)(unsafe.Pointer(_pBuilder.X2)), &_mNoOmit) if _p != (*Xsqlite3_index_info)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } r0 = _sqlite3NomemError(tls, i32(133004)) return _4: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = uint32(i32(1024)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = uint16(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) _nConstraint = _p.X0 if _whereLoopResize(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pNew, _nConstraint) == 0 { goto _5 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_p)) r0 = _sqlite3NomemError(tls, i32(133012)) return _5: _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, u64(18446744073709551615), uint16(i32(0)), _p, _mNoOmit, &_bIn) if _rc != i32(0) || store992(&_mBest, (_pNew.X0)&(^_mPrereq)) == uint64(i32(0)) { goto _7 } _2_seenZero = i32(0) _2_seenZeroNoIN = i32(0) _2_mPrev = u64(0) _2_mBestNoIn = u64(0) if _bIn == 0 { goto _8 } _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, u64(18446744073709551615), uint16(i32(1)), _p, _mNoOmit, &_bIn) func() int32 { if _bIn == i32(0) { return i32(0) } return func() int32 { 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(109456))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_mBestNoIn = (_pNew.X0) & (^_mPrereq) if _2_mBestNoIn != uint64(i32(0)) { goto _11 } _2_seenZero = i32(1) _2_seenZeroNoIN = i32(1) _11: _8: _12: if _rc != i32(0) { goto _13 } _5_mNext = u64(18446744073709551615) func() int32 { if _5_mNext > uint64(i32(0)) { return i32(0) } return func() int32 { 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(109464))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_i = i32(0) _16: if _5_i >= _nConstraint { goto _19 } _6_mThis = ((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr(_p.X1)+12*uintptr(_5_i))).X3))).X11) & (^_mPrereq) if _6_mThis <= _2_mPrev || _6_mThis >= _5_mNext { goto _21 } _5_mNext = _6_mThis _21: _5_i += 1 goto _16 _19: _2_mPrev = _5_mNext if _5_mNext != u64(18446744073709551615) { goto _22 } goto _13 _22: if _5_mNext != _mBest && _5_mNext != _2_mBestNoIn { goto _24 } goto _12 _24: _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, _5_mNext|_mPrereq, uint16(i32(0)), _p, _mNoOmit, &_bIn) if (_pNew.X0) != _mPrereq { goto _25 } _2_seenZero = i32(1) if _bIn != i32(0) { goto _26 } _2_seenZeroNoIN = i32(1) _26: _25: goto _12 _13: if _rc != i32(0) || _2_seenZero != i32(0) { goto _28 } _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, _mPrereq, uint16(i32(0)), _p, _mNoOmit, &_bIn) if _bIn != i32(0) { goto _29 } _2_seenZeroNoIN = i32(1) _29: _28: if _rc != i32(0) || _2_seenZeroNoIN != i32(0) { goto _31 } _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, _mPrereq, uint16(i32(1)), _p, _mNoOmit, &_bIn) _31: _7: if (_p.X7) == 0 { goto _32 } Xsqlite3_free(tls, (unsafe.Pointer)(_p.X6)) _32: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_p)) r0 = _rc return } var _whereLoopAddVirtualØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopAddVirtualØ00__func__Ø000[0], str(109472), 20) } func _allocateIndexInfo(tls *crt.TLS, _pParse *XParse, _pWC *XWhereClause, _mUnusable uint64, _pSrc *TSrcList_item, _pOrderBy *XExprList, _pmNoOmit *uint16) (r0 *Xsqlite3_index_info) { // sqlite3.c:130668:1 var _i int32 // sqlite3.c:130676:7 _ = _i var _j int32 // sqlite3.c:130676:10 _ = _j var _nTerm int32 // sqlite3.c:130677:7 _ = _nTerm var _pIdxCons *Tsqlite3_index_constraint // sqlite3.c:130678:35 _ = _pIdxCons var _pIdxOrderBy *Tsqlite3_index_orderby // sqlite3.c:130679:32 _ = _pIdxOrderBy var _pUsage *Tsqlite3_index_orderby // sqlite3.c:130680:41 _ = _pUsage var _pTerm *XWhereTerm // sqlite3.c:130681:13 _ = _pTerm var _nOrderBy int32 // sqlite3.c:130682:7 _ = _nOrderBy var _pIdxInfo *Xsqlite3_index_info // sqlite3.c:130683:22 _ = _pIdxInfo var _mNoOmit uint16 // sqlite3.c:130684:7 _ = _mNoOmit var _2_n int32 // sqlite3.c:130708:9 _ = _2_n var _3_pExpr *XExpr // sqlite3.c:130710:12 _ = _3_pExpr var _6_op uint8 // sqlite3.c:130744:8 _ = _6_op var _9_pExpr *XExpr // sqlite3.c:130785:10 _ = _9_pExpr _mNoOmit = u16(0) *func() **XWhereTerm { _i = store961(&_nTerm, i32(0)); return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _0: if _i >= (_pWC.X3) { goto _3 } if (_pTerm.X8) == (_pSrc.X11) { goto _4 } goto _1 _4: if ((_pTerm.X11) & _mUnusable) == 0 { goto _5 } goto _1 _5: func() int32 { if ((int32(_pTerm.X4) & i32(-2049)) & ((int32(_pTerm.X4) & i32(-2049)) - i32(1))) == i32(0) { return i32(0) } return func() int32 { 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(109492))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pTerm.X4) & i32(-2433)) != i32(0) { goto _8 } goto _1 _8: if (int32(_pTerm.X3) & i32(0)) == 0 { goto _9 } goto _1 _9: func() int32 { if (*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) >= i32(-1) { return i32(0) } return func() int32 { 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(109536))) crt.X__builtin_abort(tls) return i32(0) }() }() _nTerm += 1 _1: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i += 1; return &_pTerm }())) += uintptr(64) goto _0 _3: _nOrderBy = i32(0) if _pOrderBy == nil { goto _12 } _2_n = _pOrderBy.X0 _i = i32(0) _13: if _i >= _2_n { goto _16 } _3_pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 32*uintptr(_i))).X0)) if int32(_3_pExpr.X0) == i32(152) && (_3_pExpr.X8) == (_pSrc.X11) { goto _18 } goto _16 _18: _i += 1 goto _13 _16: if _i != _2_n { goto _19 } _nOrderBy = _2_n _19: _12: _pIdxInfo = (*Xsqlite3_index_info)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (u64(96)+(u64(20)*uint64(_nTerm)))+(u64(8)*uint64(_nOrderBy))))) if _pIdxInfo != (*Xsqlite3_index_info)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } _sqlite3ErrorMsg(tls, _pParse, str(61408)) r0 = (*Xsqlite3_index_info)(unsafe.Pointer(uintptr(i32(0)))) return _20: _pIdxCons = (*Tsqlite3_index_constraint)(unsafe.Pointer((*Xsqlite3_index_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + 96*uintptr(i32(1)))))) _pIdxOrderBy = (*Tsqlite3_index_orderby)(unsafe.Pointer((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons)) + 12*uintptr(_nTerm))))) _pUsage = (*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxOrderBy)) + 8*uintptr(_nOrderBy))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(0 /* X0 */))) = _nTerm *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(16 /* X2 */))) = _nOrderBy *(**Tsqlite3_index_constraint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(8 /* X1 */))))) = _pIdxCons *(**Tsqlite3_index_orderby)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(24 /* X3 */))))) = _pIdxOrderBy *(**Tsqlite3_index_orderby)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(32 /* X4 */))))) = _pUsage *func() **XWhereTerm { _i = store961(&_j, i32(0)); return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _21: if _i >= (_pWC.X3) { goto _24 } if (_pTerm.X8) == (_pSrc.X11) { goto _25 } goto _22 _25: if ((_pTerm.X11) & _mUnusable) == 0 { goto _26 } goto _22 _26: func() int32 { if ((int32(_pTerm.X4) & i32(-2049)) & ((int32(_pTerm.X4) & i32(-2049)) - i32(1))) == i32(0) { return i32(0) } return func() int32 { 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(109492))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pTerm.X4) & i32(-2433)) != i32(0) { goto _29 } goto _22 _29: if (int32(_pTerm.X3) & i32(0)) == 0 { goto _30 } goto _22 _30: func() int32 { if (*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) >= i32(-1) { return i32(0) } return func() int32 { 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(109536))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(0 /* X0 */))) = *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(8 /* X3 */))) = _i _6_op = uint8(int32(uint8(_pTerm.X4)) & i32(8191)) if int32(_6_op) != i32(1) { goto _33 } _6_op = uint8(i32(2)) _33: if int32(_6_op) != i32(64) { goto _34 } _6_op = _pTerm.X6 _34: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(4 /* X1 */))) = _6_op i32(0) i32(0) i32(0) i32(0) i32(0) i32(0) func() int32 { if (int32(_pTerm.X4) & i32(127)) != 0 { return i32(0) } return func() int32 { 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(109564))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_6_op)&i32(60)) == 0 || _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5))) == 0 { goto _38 } if _i >= i32(16) { goto _39 } { p := &_mNoOmit *p = uint16(int32(*p) | (i32(1) << uint(_i))) sink4530 = *p } _39: if int32(_6_op) != i32(16) { goto _40 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(8)) _40: if int32(_6_op) != i32(4) { goto _41 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_constraint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(32)) _41: _38: _j += 1 _22: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i += 1; return &_pTerm }())) += uintptr(64) goto _21 _24: _i = i32(0) _42: if _i >= _nOrderBy { goto _45 } _9_pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 32*uintptr(_i))).X0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxOrderBy))+8*uintptr(_i))))) + uintptr(0 /* X0 */))) = int32(_9_pExpr.X9) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxOrderBy))+8*uintptr(_i))))) + uintptr(4 /* X1 */))) = (*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 32*uintptr(_i))).X3 _i += 1 goto _42 _45: *_pmNoOmit = _mNoOmit r0 = _pIdxInfo return } var _allocateIndexInfoØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_allocateIndexInfoØ00__func__Ø000[0], str(109632), 18) } func _whereLoopResize(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop, _n int32) (r0 int32) { // sqlite3.c:131641:1 var _paNew **XWhereTerm // sqlite3.c:131642:13 _ = _paNew if int32(_p.X12) < _n { goto _0 } r0 = i32(0) return _0: _n = (_n + i32(7)) & i32(-8) _paNew = (**XWhereTerm)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(8)*uint64(_n)))) if _paNew != (**XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3NomemError(tls, i32(131646)) return _1: crt.Xmemcpy(tls, (unsafe.Pointer)(_paNew), (unsafe.Pointer)(_p.X13), u64(8)*uint64(_p.X12)) if (**XWhereTerm)(unsafe.Pointer(_p.X13)) == (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(80 /* X15 */))))) { goto _2 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X13)) _2: *(***XWhereTerm)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X13 */))))) = _paNew *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))) = uint16(_n) r0 = i32(0) return } 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 var _pWC *XWhereClause // sqlite3.c:132833:15 _ = _pWC var _pIdxCons *Tsqlite3_index_constraint // sqlite3.c:132834:35 _ = _pIdxCons var _pUsage *Tsqlite3_index_orderby // sqlite3.c:132835:41 _ = _pUsage var _i int32 // sqlite3.c:132836:7 _ = _i var _mxTerm int32 // sqlite3.c:132837:7 _ = _mxTerm var _rc int32 // sqlite3.c:132838:7 _ = _rc var _pNew *XWhereLoop // sqlite3.c:132839:13 _ = _pNew var _pParse *XParse // sqlite3.c:132840:9 _ = _pParse var _pSrc *TSrcList_item // sqlite3.c:132841:23 _ = _pSrc var _nConstraint int32 // sqlite3.c:132842:7 _ = _nConstraint var _1_pTerm *XWhereTerm // sqlite3.c:132852:15 _ = _1_pTerm var _3_iTerm int32 // sqlite3.c:132882:9 _ = _3_iTerm var _4_pTerm *XWhereTerm // sqlite3.c:132884:17 _ = _4_pTerm var _4_j int32 // sqlite3.c:132885:11 _ = _4_j _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) _pUsage = (*Tsqlite3_index_orderby)(unsafe.Pointer(_pIdxInfo.X4)) _rc = i32(0) _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) _pParse = (*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)).X0)) _pSrc = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)).X1)+uintptr(8 /* X2 */))))) + 112*uintptr(_pNew.X3))) _nConstraint = _pIdxInfo.X0 func() int32 { if (_mUsable & _mPrereq) == _mPrereq { return i32(0) } return func() int32 { 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(109652))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pbIn = i32(0) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _mPrereq _pIdxCons = *(**Tsqlite3_index_constraint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(8 /* X1 */))))) _i = i32(0) _2: if _i >= _nConstraint { goto _5 } _1_pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_pIdxCons.X3))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons)) + uintptr(5 /* X2 */))) = uint8(i32(0)) if ((_1_pTerm.X11)&_mUsable) != (_1_pTerm.X11) || (int32(_1_pTerm.X4)&int32(_mExclude)) != i32(0) { goto _7 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons)) + uintptr(5 /* X2 */))) = uint8(i32(1)) _7: *(*uintptr)(unsafe.Pointer(func() **Tsqlite3_index_constraint { _i += 1; return &_pIdxCons }())) += uintptr(12) goto _2 _5: crt.Xmemset(tls, (unsafe.Pointer)(_pUsage), i32(0), u64(8)*uint64(_nConstraint)) func() int32 { if (_pIdxInfo.X7) == i32(0) { return i32(0) } return func() int32 { 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(109684))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(48 /* X6 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(40 /* X5 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(60 /* X8 */))) = i32(0) *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(64 /* X9 */))) = float64(5e+98) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(72 /* X10 */))) = int64(i32(25)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(80 /* X11 */))) = i32(0) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(88 /* X12 */))) = uint64(int64(_pSrc.X14)) _rc = _vtabBestIndex(tls, _pParse, (*XTable)(unsafe.Pointer(_pSrc.X4)), _pIdxInfo) if _rc == 0 { goto _10 } r0 = _rc return _10: _mxTerm = i32(-1) func() int32 { if int32(_pNew.X12) >= _nConstraint { return i32(0) } return func() int32 { 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(109716))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _13: if _i >= _nConstraint { goto _16 } *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(_i))) = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _13 _16: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(6 /* X3 */))) = uint16(i32(0)) _pIdxCons = *(**Tsqlite3_index_constraint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(8 /* X1 */))))) _i = i32(0) _17: if _i >= _nConstraint { goto _20 } if store961(&_3_iTerm, ((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pUsage))+8*uintptr(_i))).X0)-i32(1)) < i32(0) { goto _21 } _4_j = _pIdxCons.X3 if _3_iTerm < _nConstraint && _4_j >= i32(0) && _4_j < (_pWC.X3) && (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(_3_iTerm)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) && int32(_pIdxCons.X2) != i32(0) { goto _26 } _rc = i32(1) _sqlite3ErrorMsg(tls, _pParse, str(109744), unsafe.Pointer((*XTable)(unsafe.Pointer(_pSrc.X4)).X0)) r0 = _rc return _26: _4_pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_4_j))) { p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) *p = (*p) | (_4_pTerm.X11) sink992 = *p } func() int32 { if _3_iTerm < int32(_pNew.X12) { return i32(0) } return func() int32 { 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(109772))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(_3_iTerm))) = _4_pTerm if _3_iTerm <= _mxTerm { goto _29 } _mxTerm = _3_iTerm _29: if _3_iTerm >= i32(16) || ((*Tsqlite3_index_orderby)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pUsage))+8*uintptr(_i))).X1) == 0 { goto _31 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(6 /* X3 */))) *p = uint16(int32(*p) | (i32(1) << uint(_3_iTerm))) sink4530 = *p } _31: if (int32(_4_pTerm.X4) & i32(1)) == i32(0) { goto _32 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(60 /* X8 */))) = i32(0) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(80 /* X11 */))) *p = (*p) & i32(-2) sink961 = *p } *_pbIn = i32(1) func() int32 { if (int32(_mExclude) & i32(1)) == i32(0) { return i32(0) } return func() int32 { 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(109792))) crt.X__builtin_abort(tls) return i32(0) }() }() _32: _21: *(*uintptr)(unsafe.Pointer(func() **Tsqlite3_index_constraint { _i += 1; return &_pIdxCons }())) += uintptr(12) goto _17 _20: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(6 /* X3 */))) *p = uint16(int32(*p) & (^int32(_mNoOmit))) sink4530 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = uint16(_mxTerm + i32(1)) func() int32 { if int32(_pNew.X10) <= int32(_pNew.X12) { return i32(0) } return func() int32 { 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(109816))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = _pIdxInfo.X5 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(_pIdxInfo.X7) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(56 /* X7 */))) = i32(0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X4 */))) = _pIdxInfo.X6 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(5 /* X2 */))) = int8(func() int32 { if (_pIdxInfo.X8) != 0 { return (_pIdxInfo.X2) } return i32(0) }()) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstFromDouble(tls, _pIdxInfo.X9) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _sqlite3LogEst(tls, uint64(_pIdxInfo.X10)) if ((_pIdxInfo.X11) & i32(1)) == 0 { goto _39 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(4096)) sink985 = *p } goto _40 _39: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) & uint32(i32(-4097)) sink985 = *p } _40: _rc = _whereLoopInsert(tls, _pBuilder, _pNew) if ((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X8 */))))).X1) == 0 { goto _41 } Xsqlite3_free(tls, (unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))).X4)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) _41: r0 = _rc return } var _whereLoopAddVirtualOneØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopAddVirtualOneØ00__func__Ø000[0], str(109844), 23) } func _vtabBestIndex(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _p *Xsqlite3_index_info) (r0 int32) { // sqlite3.c:130808:1 var _pVtab *Xsqlite3_vtab // sqlite3.c:130809:16 _ = _pVtab var _rc int32 // sqlite3.c:130810:7 _ = _rc _pVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_sqlite3GetVTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pTab).X2)) _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, *Xsqlite3_index_info) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 }{((*Xsqlite3_module)(unsafe.Pointer(_pVtab.X0)).X3)})))(tls, _pVtab, _p) if _rc == i32(0) { goto _0 } if _rc != i32(7) { goto _1 } _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) goto _2 _1: if (_pVtab.X2) != nil { goto _3 } _sqlite3ErrorMsg(tls, _pParse, str(24304), unsafe.Pointer(_sqlite3ErrStr(tls, _rc))) goto _4 _3: _sqlite3ErrorMsg(tls, _pParse, str(24304), unsafe.Pointer(_pVtab.X2)) _4: _2: _0: Xsqlite3_free(tls, (unsafe.Pointer)(_pVtab.X2)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVtab)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) r0 = _pParse.X16 return } func _sqlite3LogEstFromDouble(tls *crt.TLS, _x float64) (r0 int16) { // sqlite3.c:29040:1 var _a uint64 // sqlite3.c:29041:7 _ = _a var _e int16 // sqlite3.c:29042:10 _ = _e i32(0) if _x > float64(i32(1)) { goto _0 } r0 = int16(i32(0)) return _0: if _x > float64(i32(2000000000)) { goto _1 } r0 = _sqlite3LogEst(tls, uint64(_x)) return _1: crt.Xmemcpy(tls, (unsafe.Pointer)(&_a), (unsafe.Pointer)(&_x), uint64(i32(8))) _e = int16((_a >> uint(i32(52))) - uint64(i32(1022))) r0 = int16(int32(_e) * i32(10)) return } func _whereLoopInsert(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _pTemplate *XWhereLoop) (r0 int32) { // sqlite3.c:131881:1 var _ppPrev **XWhereLoop // sqlite3.c:131882:13 _ = _ppPrev var _p *XWhereLoop // sqlite3.c:131882:23 _ = _p var _pWInfo *XWhereInfo // sqlite3.c:131883:13 _ = _pWInfo var _db *Xsqlite3 // sqlite3.c:131884:11 _ = _db var _rc int32 // sqlite3.c:131885:7 _ = _rc var _6_ppTail **XWhereLoop // sqlite3.c:131951:15 _ = _6_ppTail var _6_pToDel *XWhereLoop // sqlite3.c:131952:15 _ = _6_pToDel var _8_pIndex *XIndex // sqlite3.c:131970:11 _ = _8_pIndex _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)) if (*XWhereOrSet)(unsafe.Pointer(_pBuilder.X4)) == (*XWhereOrSet)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } if (_pTemplate.X10) == 0 { goto _1 } _whereOrInsert(tls, (*XWhereOrSet)(unsafe.Pointer(_pBuilder.X4)), _pTemplate.X0, _pTemplate.X6, _pTemplate.X7) _1: r0 = i32(0) return _0: _whereLoopAdjustCost(tls, (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)), _pTemplate) _ppPrev = _whereLoopFindLesser(tls, (**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X18 */))))), _pTemplate) if _ppPrev != (**XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = i32(0) return _2: _p = *_ppPrev if _p != (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } *_ppPrev = store6566324(&_p, (*XWhereLoop)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(104))))) if _p != (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } r0 = _sqlite3NomemError(tls, i32(131944)) return _5: _whereLoopInit(tls, _p) *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X14 */))))) = (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) goto _6 _4: _6_ppTail = (**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X14 */))))) _7: if (*_6_ppTail) == nil { goto _8 } _6_ppTail = _whereLoopFindLesser(tls, _6_ppTail, _pTemplate) if _6_ppTail != (**XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } goto _8 _9: _6_pToDel = *_6_ppTail if _6_pToDel != (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } goto _8 _10: *_6_ppTail = (*XWhereLoop)(unsafe.Pointer(_6_pToDel.X14)) _whereLoopDelete(tls, _db, _6_pToDel) goto _7 _8: _6: _rc = _whereLoopXfer(tls, _db, _p, _pTemplate) if ((_p.X9) & uint32(i32(1024))) != uint32(i32(0)) { goto _11 } _8_pIndex = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X8 */))))).X3)) if _8_pIndex == nil || (_8_pIndex.X11) != i32(0) { goto _13 } *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _13: _11: r0 = _rc return } func _whereOrInsert(tls *crt.TLS, _pSet *XWhereOrSet, _prereq uint64, _rRun int16, _nOut int16) (r0 int32) { // sqlite3.c:129961:1 var _i uint16 // sqlite3.c:129967:7 _ = _i var _p *XWhereOrCost // sqlite3.c:129968:15 _ = _p *func() **XWhereOrCost { _i = _pSet.X0; return &_p }() = (*XWhereOrCost)(unsafe.Pointer((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet)) + uintptr(8 /* X1 */))))) _0: if int32(_i) <= i32(0) { goto _3 } if int32(_rRun) > int32(_p.X1) || (_prereq&(_p.X0)) != _prereq { goto _5 } goto _whereOrInsert_done _5: if int32(_p.X1) > int32(_rRun) || ((_p.X0)&_prereq) != (_p.X0) { goto _7 } r0 = i32(0) return _7: *(*uintptr)(unsafe.Pointer(func() **XWhereOrCost { _i -= 1; return &_p }())) += uintptr(16) goto _0 _3: if int32(_pSet.X0) >= i32(3) { goto _8 } _p = (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(8 /* X1 */))))) + 16*uintptr(postInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(0 /* X0 */))), uint16(1))))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _nOut goto _9 _8: _p = (*XWhereOrCost)(unsafe.Pointer((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet)) + uintptr(8 /* X1 */))))) _i = uint16(i32(1)) _10: if int32(_i) >= int32(_pSet.X0) { goto _13 } if int32(_p.X1) <= int32((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(8 /* X1 */)))))+16*uintptr(_i))).X1) { goto _14 } _p = (*XWhereOrCost)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(8 /* X1 */))))))) + uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer(uintptr(_i)))))*uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer(uintptr(16))))))))))) _14: _i += 1 goto _10 _13: if int32(_p.X1) > int32(_rRun) { goto _15 } r0 = i32(0) return _15: _9: _whereOrInsert_done: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _prereq *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = _rRun if int32(_p.X2) <= int32(_nOut) { goto _16 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _nOut _16: r0 = i32(1) return } func _whereLoopAdjustCost(tls *crt.TLS, _p *XWhereLoop, _pTemplate *XWhereLoop) { // sqlite3.c:131757:1 if ((_pTemplate.X9) & uint32(i32(512))) != uint32(i32(0)) { goto _0 } return _0: _1: if _p == nil { goto _4 } if int32(_p.X3) == int32(_pTemplate.X3) { goto _5 } goto _2 _5: if ((_p.X9) & uint32(i32(512))) != uint32(i32(0)) { goto _6 } goto _2 _6: if _whereLoopCheaperProperSubset(tls, _p, _pTemplate) == 0 { goto _7 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(22 /* X6 */))) = _p.X6 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(24 /* X7 */))) = int16(int32(_p.X7) - i32(1)) goto _8 _7: if _whereLoopCheaperProperSubset(tls, _pTemplate, _p) == 0 { goto _9 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(22 /* X6 */))) = _p.X6 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(24 /* X7 */))) = int16(int32(_p.X7) + i32(1)) _9: _8: _2: _p = (*XWhereLoop)(unsafe.Pointer(_p.X14)) goto _1 _4: return } func _whereLoopCheaperProperSubset(tls *crt.TLS, _pX *XWhereLoop, _pY *XWhereLoop) (r0 int32) { // sqlite3.c:131720:1 var _i int32 // sqlite3.c:131724:7 _ = _i var _j int32 // sqlite3.c:131724:10 _ = _j if (int32(_pX.X10) - int32(_pX.X11)) < (int32(_pY.X10) - int32(_pY.X11)) { goto _0 } r0 = i32(0) return _0: if int32(_pY.X11) <= int32(_pX.X11) { goto _1 } r0 = i32(0) return _1: if int32(_pX.X6) < int32(_pY.X6) { goto _2 } if int32(_pX.X6) <= int32(_pY.X6) { goto _3 } r0 = i32(0) return _3: if int32(_pX.X7) <= int32(_pY.X7) { goto _4 } r0 = i32(0) return _4: _2: _i = int32(_pX.X10) - i32(1) _5: if _i < i32(0) { goto _8 } if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX.X13)) + 8*uintptr(_i)))) != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } goto _6 _9: _j = int32(_pY.X10) - i32(1) _10: if _j < i32(0) { goto _13 } if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pY.X13)) + 8*uintptr(_j)))) != (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX.X13)) + 8*uintptr(_i)))) { goto _14 } goto _13 _14: _j -= 1 goto _10 _13: if _j >= i32(0) { goto _15 } r0 = i32(0) return _15: _6: _i -= 1 goto _5 _8: r0 = i32(1) return } func _whereLoopFindLesser(tls *crt.TLS, _ppPrev **XWhereLoop, _pTemplate *XWhereLoop) (r0 **XWhereLoop) { // sqlite3.c:131793:1 var _p *XWhereLoop // sqlite3.c:131797:13 _ = _p _p = *_ppPrev _0: if _p == nil { goto _3 } if int32(_p.X3) == int32(_pTemplate.X3) && int32(_p.X4) == int32(_pTemplate.X4) { goto _5 } goto _1 _5: func() int32 { if ((int32(_p.X5) == i32(0)) || (int32(_pTemplate.X5) == i32(0))) || (int32(_p.X5) == int32(_pTemplate.X5)) { return i32(0) } return func() int32 { 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(109868))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X5) >= int32(_pTemplate.X5) { return i32(0) } return func() int32 { 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(109940))) crt.X__builtin_abort(tls) return i32(0) }() }() 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) { goto _16 } goto _3 _16: 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) { goto _20 } r0 = (**XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) return _20: if ((_p.X0)&(_pTemplate.X0)) != (_pTemplate.X0) || int32(_p.X6) < int32(_pTemplate.X6) || int32(_p.X7) < int32(_pTemplate.X7) { goto _23 } func() int32 { if int32(_p.X5) >= int32(_pTemplate.X5) { return i32(0) } return func() int32 { 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(109940))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _3 _23: _1: *func() **XWhereLoop { _ppPrev = (**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X14 */))))) return &_p }() = *_ppPrev goto _0 _3: r0 = _ppPrev return } var _whereLoopFindLesserØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopFindLesserØ00__func__Ø000[0], str(109972), 20) } func _whereLoopDelete(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop) { // sqlite3.c:131676:1 _whereLoopClear(tls, _db, _p) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } func _whereLoopClear(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop) { // sqlite3.c:131632:1 if (**XWhereTerm)(unsafe.Pointer(_p.X13)) == (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(80 /* X15 */))))) { goto _0 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X13)) _0: _whereLoopClearUnion(tls, _db, _p) _whereLoopInit(tls, _p) return } func _whereLoopClearUnion(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop) { // sqlite3.c:131615:1 if ((_p.X9) & uint32(i32(17408))) == 0 { goto _0 } if ((_p.X9)&uint32(i32(1024))) == uint32(i32(0)) || ((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))).X1) == 0 { goto _2 } Xsqlite3_free(tls, (unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))).X4)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X4 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _3 _2: if ((_p.X9)&uint32(i32(16384))) == uint32(i32(0)) || (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))).X3)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))).X3)).X4)) _sqlite3DbFree(tls, _db, (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))).X3) *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _5: _3: _0: return } func _whereLoopXfer(tls *crt.TLS, _db *Xsqlite3, _pTo *XWhereLoop, _pFrom *XWhereLoop) (r0 int32) { // sqlite3.c:131657:1 _whereLoopClearUnion(tls, _db, _pTo) if _whereLoopResize(tls, _db, _pTo, int32(_pFrom.X10)) == 0 { goto _0 } crt.Xmemset(tls, (unsafe.Pointer)((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo))+uintptr(32 /* X8 */)))), i32(0), u64(16)) r0 = _sqlite3NomemError(tls, i32(131661)) return _0: crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u64(56)) crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo.X13), (unsafe.Pointer)(_pFrom.X13), uint64(_pTo.X10)*u64(8)) if ((_pFrom.X9) & uint32(i32(1024))) == 0 { goto _1 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) goto _2 _1: if ((_pFrom.X9) & uint32(i32(16384))) == uint32(i32(0)) { goto _3 } *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _3: _2: r0 = i32(0) return } func _whereLoopAddBtree(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64) (r0 int32) { // sqlite3.c:132572:1 var _pWInfo *XWhereInfo // sqlite3.c:132576:13 _ = _pWInfo var _pProbe *XIndex // sqlite3.c:132577:9 _ = _pProbe var _sPk XIndex // sqlite3.c:132578:9 _ = _sPk var _aiRowEstPk [2]int16 // sqlite3.c:132579:10 _ = _aiRowEstPk var _aiColumnPk int16 // sqlite3.c:132580:7 _ = _aiColumnPk var _pTabList *XSrcList // sqlite3.c:132581:11 _ = _pTabList var _pSrc *TSrcList_item // sqlite3.c:132582:23 _ = _pSrc var _pNew *XWhereLoop // sqlite3.c:132583:13 _ = _pNew var _rc int32 // sqlite3.c:132584:7 _ = _rc var _iSortIdx int32 // sqlite3.c:132585:7 _ = _iSortIdx var _b int32 // sqlite3.c:132586:7 _ = _b var _rSize int16 // sqlite3.c:132587:10 _ = _rSize var _rLogSize int16 // sqlite3.c:132588:10 _ = _rLogSize var _pWC *XWhereClause // sqlite3.c:132589:15 _ = _pWC var _pTab *XTable // sqlite3.c:132590:9 _ = _pTab var _3_pFirst *XIndex // sqlite3.c:132610:11 _ = _3_pFirst var _5_pTerm *XWhereTerm // sqlite3.c:132644:15 _ = _5_pTerm var _5_pWCEnd *XWhereTerm // sqlite3.c:132645:15 _ = _5_pWCEnd var _12_m uint64 // sqlite3.c:132718:15 _ = _12_m var _16_nLookup int16 // sqlite3.c:132751:18 _ = _16_nLookup var _16_ii int32 // sqlite3.c:132752:15 _ = _16_ii var _16_iCur int32 // sqlite3.c:132753:15 _ = _16_iCur var _16_pWC2 *XWhereClause // sqlite3.c:132754:23 _ = _16_pWC2 var _17_pTerm *XWhereTerm // sqlite3.c:132756:23 _ = _17_pTerm _aiColumnPk = i16(-1) _rc = i32(0) _iSortIdx = i32(1) _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) _pTabList = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) _pSrc = (*TSrcList_item)(unsafe.Pointer(uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))))) + uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr(_pNew.X3)))))*uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr(112))))))))))) _pTab = (*XTable)(unsafe.Pointer(_pSrc.X4)) _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) func() int32 { if ((*XTable)(unsafe.Pointer(_pSrc.X4)).X16) == 0 { return i32(0) } return func() int32 { 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(109992))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XIndex)(unsafe.Pointer(_pSrc.X16)) == nil { goto _2 } _pProbe = (*XIndex)(unsafe.Pointer(_pSrc.X16)) goto _3 _2: if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { goto _4 } _pProbe = (*XIndex)(unsafe.Pointer(_pTab.X2)) goto _5 _4: crt.Xmemset(tls, (unsafe.Pointer)(&_sPk), i32(0), u64(104)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(94 /* X13 */))) = uint16(i32(1)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(96 /* X14 */))) = uint16(i32(1)) *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(8 /* X1 */))) = &_aiColumnPk *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(16 /* X2 */))) = (*int16)(unsafe.Pointer(&_aiRowEstPk)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(98 /* X15 */))) = uint8(i32(5)) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(24 /* X3 */))))) = _pTab *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(92 /* X12 */))) = _pTab.X13 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiRowEstPk)) + 2*uintptr(i32(0)))) = _pTab.X12 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiRowEstPk)) + 2*uintptr(i32(1)))) = int16(i32(0)) _3_pFirst = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pSrc.X4)).X2)) if int32((uint32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(60 /* X9 */))).X1)<>uint(i32(31))) != i32(0) { goto _6 } *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(40 /* X5 */))))) = _3_pFirst _6: _pProbe = &_sPk _5: _3: _rSize = _pTab.X12 _rLogSize = _estLog(tls, _rSize) 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((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(60 /* X9 */))).X1)<>uint(i32(31))) != 0 || ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) || ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(60 /* X9 */))).X1)>>uint(i32(3)))<>uint(i32(31))) != 0 || ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(60 /* X9 */))).X1)>>uint(i32(5)))<>uint(i32(31))) != 0 { goto _14 } _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(64))))))))))) _5_pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _15: if _rc != i32(0) || uintptr(unsafe.Pointer(_5_pTerm)) >= uintptr(unsafe.Pointer(_5_pWCEnd)) { goto _19 } if ((_5_pTerm.X11) & (_pNew.X1)) == 0 { goto _20 } goto _16 _20: if _termCanDriveIndex(tls, _5_pTerm, _pSrc, uint64(i32(0))) == 0 { goto _21 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(1)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(54 /* X11 */))) = uint16(i32(0)) *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = uint16(i32(1)) *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(i32(0)))) = _5_pTerm *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16((int32(_rLogSize) + int32(_rSize)) + i32(4)) if (*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) || ((_pTab.X9)&uint32(i32(2))) != uint32(i32(0)) { goto _23 } { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) *p = int16(int32(*p) + i32(24)) sink955 = *p } _23: if int32(_pNew.X5) >= i32(0) { goto _24 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) _24: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = int16(i32(43)) func() int32 { if i32(43) == int32(_sqlite3LogEst(tls, uint64(i32(20)))) { return i32(0) } return func() int32 { 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(110016))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _rLogSize, _pNew.X7) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = uint32(i32(16384)) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _mPrereq | (_5_pTerm.X11) _rc = _whereLoopInsert(tls, _pBuilder, _pNew) _21: _16: *(*uintptr)(unsafe.Pointer(&_5_pTerm)) += uintptr(64) goto _15 _19: _14: _27: if _rc != i32(0) || _pProbe == nil { goto _31 } if (*XExpr)(unsafe.Pointer(_pProbe.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) || _whereUsablePartialIndex(tls, _pSrc.X11, _pWC, (*XExpr)(unsafe.Pointer(_pProbe.X9))) != 0 { goto _33 } goto _28 _33: _rSize = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(i32(0)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(2 /* X1 */))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X2 */))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(54 /* X11 */))) = uint16(i32(0)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = uint16(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(i32(0)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _mPrereq *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _rSize *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = _pProbe _b = _indexMightHelpWithOrderBy(tls, _pBuilder, _pProbe, _pSrc.X11) func() int32 { if ((int32(_pWInfo.X9) & i32(4)) == i32(0)) || (_b == i32(0)) { return i32(0) } return func() int32 { 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(110040))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pProbe.X11) > i32(0) { goto _37 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = uint32(i32(256)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(func() int32 { if _b != 0 { return _iSortIdx } return i32(0) }()) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = int16(int32(_rSize) + i32(16)) _whereLoopOutputAdjust(tls, _pWC, _pNew, _rSize) _rc = _whereLoopInsert(tls, _pBuilder, _pNew) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _rSize if _rc == 0 { goto _40 } goto _31 _40: goto _41 _37: if ((uint32((_pProbe.X16)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _42 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = uint32(i32(576)) _12_m = uint64(i32(0)) goto _43 _42: _12_m = (_pSrc.X14) & (^_columnsInIndex(tls, _pProbe)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = uint32(func() int32 { if _12_m == uint64(i32(0)) { return i32(576) } return i32(512) }()) _43: 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))) != 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)) { goto _54 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(func() int32 { if _b != 0 { return _iSortIdx } return i32(0) }()) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = int16((int32(_rSize) + i32(1)) + ((i32(15) * int32(_pProbe.X12)) / int32(_pTab.X13))) if _12_m == uint64(i32(0)) { goto _57 } _16_nLookup = int16(int32(_rSize) + i32(16)) _16_iCur = _pSrc.X11 _16_pWC2 = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(96 /* X21 */))) _16_ii = i32(0) _58: if _16_ii >= (_16_pWC2.X3) { goto _61 } _17_pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_16_pWC2.X5) + 64*uintptr(_16_ii))) if _sqlite3ExprCoveredByIndex(tls, (*XExpr)(unsafe.Pointer(_17_pTerm.X0)), _16_iCur, _pProbe) != 0 { goto _62 } goto _61 _62: if int32(_17_pTerm.X2) > i32(0) { goto _63 } { p := &_16_nLookup *p = int16(int32(*p) + int32(_17_pTerm.X2)) sink955 = *p } goto _64 _63: _16_nLookup -= 1 if (int32(_17_pTerm.X4) & i32(130)) == 0 { goto _65 } { p := &_16_nLookup *p = int16(int32(*p) - i32(19)) sink955 = *p } _65: _64: _16_ii += 1 goto _58 _61: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _pNew.X6, _16_nLookup) _57: _whereLoopOutputAdjust(tls, _pWC, _pNew, _rSize) _rc = _whereLoopInsert(tls, _pBuilder, _pNew) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _rSize if _rc == 0 { goto _66 } goto _31 _66: _54: _41: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBuilder)) + uintptr(40 /* X5 */))) = uint32(i32(0)) _rc = _whereLoopAddBtreeIndex(tls, _pBuilder, _pSrc, _pProbe, int16(i32(0))) if (_pBuilder.X5) != uint32(i32(1)) { goto _67 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(256)) sink985 = *p } _67: if (*XIndex)(unsafe.Pointer(_pSrc.X16)) == nil { goto _68 } goto _31 _68: _28: *func() *int32 { _pProbe = (*XIndex)(unsafe.Pointer(_pProbe.X5)); return &_iSortIdx }() += 1 goto _27 _31: r0 = _rc return } var _whereLoopAddBtreeØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopAddBtreeØ00__func__Ø000[0], str(110096), 18) } func _estLog(tls *crt.TLS, _N int16) (r0 int16) { // sqlite3.c:130337:1 r0 = int16(func() int32 { if int32(_N) <= i32(10) { return i32(0) } return (int32(_sqlite3LogEst(tls, uint64(_N))) - i32(33)) }()) return } func _termCanDriveIndex(tls *crt.TLS, _pTerm *XWhereTerm, _pSrc *TSrcList_item, _notReady uint64) (r0 int32) { // sqlite3.c:130437:1 var _aff int8 // sqlite3.c:130442:8 _ = _aff if (_pTerm.X8) == (_pSrc.X11) { goto _0 } r0 = i32(0) return _0: if (int32(_pTerm.X4) & i32(130)) != i32(0) { goto _1 } r0 = i32(0) return _1: if ((_pTerm.X11) & _notReady) == uint64(i32(0)) { goto _2 } r0 = i32(0) return _2: if (*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) >= i32(0) { goto _3 } r0 = i32(0) return _3: _aff = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pSrc.X4)).X1) + 32*uintptr(*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))))).X4 if _sqlite3IndexAffinityOk(tls, (*XExpr)(unsafe.Pointer(_pTerm.X0)), _aff) != 0 { goto _4 } r0 = i32(0) return _4: r0 = i32(1) return } func _whereUsablePartialIndex(tls *crt.TLS, _iTab int32, _pWC *XWhereClause, _pWhere *XExpr) (r0 int32) { // sqlite3.c:132518:1 var _i int32 // sqlite3.c:132519:7 _ = _i var _pTerm *XWhereTerm // sqlite3.c:132520:13 _ = _pTerm var _2_pExpr *XExpr // sqlite3.c:132526:10 _ = _2_pExpr _0: if int32(_pWhere.X0) != i32(28) { goto _1 } if _whereUsablePartialIndex(tls, _iTab, _pWC, (*XExpr)(unsafe.Pointer(_pWhere.X4))) != 0 { goto _2 } r0 = i32(0) return _2: _pWhere = (*XExpr)(unsafe.Pointer(_pWhere.X5)) goto _0 _1: *func() **XWhereTerm { _i = i32(0); return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _3: if _i >= (_pWC.X3) { goto _6 } _2_pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) if _sqlite3ExprImpliesExpr(tls, _2_pExpr, _pWhere, _iTab) == 0 || ((_2_pExpr.X2)&uint32(i32(1))) != uint32(i32(0)) && int32(_2_pExpr.X11) != _iTab { goto _9 } r0 = i32(1) return _9: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i += 1; return &_pTerm }())) += uintptr(64) goto _3 _6: r0 = i32(0) return } func _sqlite3ExprImpliesExpr(tls *crt.TLS, _pE1 *XExpr, _pE2 *XExpr, _iTab int32) (r0 int32) { // sqlite3.c:95448:1 var _3_pX *XExpr // sqlite3.c:95459:10 _ = _3_pX if _sqlite3ExprCompare(tls, _pE1, _pE2, _iTab) != i32(0) { goto _0 } r0 = i32(1) return _0: 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 { goto _3 } r0 = i32(1) return _3: if int32(_pE2.X0) != i32(35) || int32(_pE1.X0) == i32(34) || int32(_pE1.X0) == i32(29) { goto _6 } _3_pX = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pE1.X4))) if _sqlite3ExprCompare(tls, _3_pX, (*XExpr)(unsafe.Pointer(_pE2.X4)), _iTab) != i32(0) { goto _7 } r0 = i32(1) return _7: _6: r0 = i32(0) return } func _indexMightHelpWithOrderBy(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _pIndex *XIndex, _iCursor int32) (r0 int32) { // sqlite3.c:132467:1 var _pOB *XExprList // sqlite3.c:132472:12 _ = _pOB var _aColExpr *XExprList // sqlite3.c:132473:12 _ = _aColExpr var _ii int32 // sqlite3.c:132474:7 _ = _ii var _jj int32 // sqlite3.c:132474:11 _ = _jj var _1_pExpr *XExpr // sqlite3.c:132479:10 _ = _1_pExpr if ((uint32((_pIndex.X16)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _0 } r0 = i32(0) return _0: if store5429888(&_pOB, (*XExprList)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)).X2))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = i32(0) return _1: _ii = i32(0) _2: if _ii >= (_pOB.X0) { goto _5 } _1_pExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOB.X1)+32*uintptr(_ii))).X0))) if int32(_1_pExpr.X0) != i32(152) || (_1_pExpr.X8) != _iCursor { goto _7 } if int32(_1_pExpr.X9) >= i32(0) { goto _8 } r0 = i32(1) return _8: _jj = i32(0) _9: if _jj >= int32(_pIndex.X13) { goto _12 } if int32(_1_pExpr.X9) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_jj)))) { goto _13 } r0 = i32(1) return _13: _jj += 1 goto _9 _12: goto _14 _7: if store5429888(&_aColExpr, (*XExprList)(unsafe.Pointer(_pIndex.X10))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _jj = i32(0) _16: if _jj >= int32(_pIndex.X13) { goto _19 } if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_jj)))) == i32(-2) { goto _20 } goto _17 _20: if _sqlite3ExprCompare(tls, _1_pExpr, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_aColExpr.X1)+32*uintptr(_jj))).X0)), _iCursor) != i32(0) { goto _21 } r0 = i32(1) return _21: _17: _jj += 1 goto _16 _19: _15: _14: _ii += 1 goto _2 _5: r0 = i32(0) return } func _whereLoopOutputAdjust(tls *crt.TLS, _pWC *XWhereClause, _pLoop *XWhereLoop, _nRow int16) { // sqlite3.c:132007:1 var _pTerm *XWhereTerm // sqlite3.c:132012:13 _ = _pTerm var _pX *XWhereTerm // sqlite3.c:132012:21 _ = _pX var _notAllowed uint64 // sqlite3.c:132013:11 _ = _notAllowed var _i int32 // sqlite3.c:132014:7 _ = _i var _j int32 // sqlite3.c:132014:10 _ = _j var _k int32 // sqlite3.c:132014:13 _ = _k var _iReduce int16 // sqlite3.c:132015:10 _ = _iReduce var _6_pRight *XExpr // sqlite3.c:132038:16 _ = _6_pRight _notAllowed = ^((_pLoop.X0) | (_pLoop.X1)) _iReduce = i16(0) func() int32 { if ((_pLoop.X9) & uint32(i32(16384))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(110116))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **XWhereTerm { _i = _pWC.X3; return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _2: if _i <= i32(0) { goto _5 } if (int32(_pTerm.X3) & i32(2)) == i32(0) { goto _6 } goto _5 _6: if ((_pTerm.X12) & (_pLoop.X1)) != uint64(i32(0)) { goto _7 } goto _3 _7: if ((_pTerm.X12) & _notAllowed) == uint64(i32(0)) { goto _8 } goto _3 _8: _j = int32(_pLoop.X10) - i32(1) _9: if _j < i32(0) { goto _12 } _pX = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j))) if _pX != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } goto _10 _13: if _pX != _pTerm { goto _14 } goto _12 _14: if (_pX.X7) < i32(0) || (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_pX.X7))) != _pTerm { goto _16 } goto _12 _16: _10: _j -= 1 goto _9 _12: if _j >= i32(0) { goto _17 } if int32(_pTerm.X2) > i32(0) { goto _18 } { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) *p = int16(int32(*p) + int32(_pTerm.X2)) sink955 = *p } goto _19 _18: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) -= 1 if (int32(_pTerm.X4) & i32(130)) == 0 { goto _20 } _6_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) if _sqlite3ExprIsInteger(tls, _6_pRight, &_k) == 0 || _k < i32(-1) || _k > i32(1) { goto _23 } _k = i32(10) goto _24 _23: _k = i32(20) _24: if int32(_iReduce) >= _k { goto _25 } _iReduce = int16(_k) _25: _20: _19: _17: _3: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pTerm }())) += uintptr(64) goto _2 _5: if int32(_pLoop.X7) <= (int32(_nRow) - int32(_iReduce)) { goto _26 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) = int16(int32(_nRow) - int32(_iReduce)) _26: return } var _whereLoopOutputAdjustØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopOutputAdjustØ00__func__Ø000[0], str(110156), 22) } func _sqlite3ExprCoveredByIndex(tls *crt.TLS, _pExpr *XExpr, _iCur int32, _pIdx *XIndex) (r0 int32) { // sqlite3.c:95504:1 var _w XWalker // sqlite3.c:95509:10 _ = _w var _xcov XIdList // sqlite3.c:95510:19 _ = _xcov crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_xcov)) + uintptr(8 /* X1 */))) = _iCur *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_xcov)) + uintptr(0 /* X0 */))))) = _pIdx *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _exprIdxCover *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))))) = &_xcov _sqlite3WalkExpr(tls, &_w, _pExpr) r0 = bool2int((_w.X5) == 0) return } func _exprIdxCover(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:95483:1 if int32(_pExpr.X0) != i32(152) || (_pExpr.X8) != ((*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))).X1) || int32(_sqlite3ColumnOfIndex(tls, (*XIndex)(unsafe.Pointer((*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))).X0)), _pExpr.X9)) >= i32(0) { goto _2 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) = uint8(i32(1)) r0 = i32(2) return _2: r0 = i32(0) return } func _whereLoopAddBtreeIndex(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _pSrc *TSrcList_item, _pProbe *XIndex, _nInMul int16) (r0 int32) { // sqlite3.c:132141:1 var _pWInfo *XWhereInfo // sqlite3.c:132147:13 _ = _pWInfo var _pParse *XParse // sqlite3.c:132148:9 _ = _pParse var _db *Xsqlite3 // sqlite3.c:132149:11 _ = _db var _pNew *XWhereLoop // sqlite3.c:132150:13 _ = _pNew var _pTerm *XWhereTerm // sqlite3.c:132151:13 _ = _pTerm var _opMask int32 // sqlite3.c:132152:7 _ = _opMask var _scan XWhereScan // sqlite3.c:132153:13 _ = _scan var _saved_prereq uint64 // sqlite3.c:132154:11 _ = _saved_prereq var _saved_nLTerm uint16 // sqlite3.c:132155:7 _ = _saved_nLTerm var _saved_nEq uint16 // sqlite3.c:132156:7 _ = _saved_nEq var _saved_nBtm uint16 // sqlite3.c:132157:7 _ = _saved_nBtm var _saved_nTop uint16 // sqlite3.c:132158:7 _ = _saved_nTop var _saved_nSkip uint16 // sqlite3.c:132159:7 _ = _saved_nSkip var _saved_wsFlags uint32 // sqlite3.c:132160:7 _ = _saved_wsFlags var _saved_nOut int16 // sqlite3.c:132161:10 _ = _saved_nOut var _rc int32 // sqlite3.c:132162:7 _ = _rc var _rSize int16 // sqlite3.c:132163:10 _ = _rSize var _rLogSize int16 // sqlite3.c:132164:10 _ = _rLogSize var _pTop *XWhereTerm // sqlite3.c:132165:13 _ = _pTop var _pBtm *XWhereTerm // sqlite3.c:132165:24 _ = _pBtm var _3_eOp uint16 // sqlite3.c:132198:9 _ = _3_eOp var _3_rCostIdx int16 // sqlite3.c:132199:12 _ = _3_rCostIdx var _3_nOutUnadjusted int16 // sqlite3.c:132200:12 _ = _3_nOutUnadjusted var _3_nIn int32 // sqlite3.c:132201:9 _ = _3_nIn var _8_pExpr *XExpr // sqlite3.c:132249:12 _ = _8_pExpr var _9_i int32 // sqlite3.c:132253:13 _ = _9_i var _12_iCol int32 // sqlite3.c:132271:11 _ = _12_iCol var _21_nEq int32 // sqlite3.c:132330:11 _ = _21_nEq var _30_nIter int16 // sqlite3.c:132437:12 _ = _30_nIter _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _rc = i32(0) _pTop = nil _pBtm = nil _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) if (_db.X17) == 0 { goto _0 } r0 = _sqlite3NomemError(tls, i32(132168)) return _0: func() int32 { if ((_pNew.X9) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(110180))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pNew.X9) & uint32(i32(16))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(110220))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pNew.X9) & uint32(i32(32))) == 0 { goto _5 } _opMask = i32(24) goto _6 _5: func() int32 { if int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))).X1) == i32(0) { return i32(0) } return func() int32 { 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(110260))) crt.X__builtin_abort(tls) return i32(0) }() }() _opMask = i32(447) _6: if ((uint32((_pProbe.X16)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _9 } { p := &_opMask *p = (*p) & i32(-61) sink961 = *p } _9: func() int32 { if int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))).X0) < int32(_pProbe.X14) { return i32(0) } return func() int32 { 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(110284))) crt.X__builtin_abort(tls) return i32(0) }() }() _saved_nEq = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X8 */))))).X0 _saved_nBtm = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X8 */))))).X1 _saved_nTop = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X8 */))))).X2 _saved_nSkip = _pNew.X11 _saved_nLTerm = _pNew.X10 _saved_wsFlags = _pNew.X9 _saved_prereq = _pNew.X0 _saved_nOut = _pNew.X7 _pTerm = _whereScanInit(tls, &_scan, (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)), _pSrc.X11, int32(_saved_nEq), uint32(_opMask), _pProbe) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) _rSize = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(i32(0)))) _rLogSize = _estLog(tls, _rSize) _12: if _rc != i32(0) || _pTerm == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } _3_eOp = _pTerm.X4 _3_nIn = i32(0) if int32(_3_eOp) != i32(256) && (int32(_pTerm.X3)&i32(0)) == i32(0) || _indexColumnNotNull(tls, _pProbe, int32(_saved_nEq)) == 0 { goto _19 } goto _13 _19: if ((_pTerm.X11) & (_pNew.X1)) == 0 { goto _20 } goto _13 _20: if (int32(_pTerm.X3)&i32(256)) == 0 || int32(_pTerm.X4) != i32(16) { goto _22 } goto _13 _22: if (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(60 /* 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) { goto _25 } goto _13 _25: if int32(_pProbe.X15) == i32(0) || int32(_saved_nEq) != (int32(_pProbe.X13)-i32(1)) { goto _27 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBuilder)) + uintptr(40 /* X5 */))) *p = (*p) | uint32(i32(2)) sink985 = *p } goto _28 _27: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBuilder)) + uintptr(40 /* X5 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } _28: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = _saved_wsFlags *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = _saved_nEq *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(2 /* X1 */))) = _saved_nBtm *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X2 */))) = _saved_nTop *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = _saved_nLTerm if _whereLoopResize(tls, _db, _pNew, int32(_pNew.X10)+i32(1)) == 0 { goto _29 } goto _16 _29: *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(postInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(52 /* X10 */))), uint16(1))))) = _pTerm *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = (_saved_prereq | (_pTerm.X11)) & (^(_pNew.X1)) func() int32 { 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))) { return i32(0) } return func() int32 { 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(110320))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_3_eOp) & i32(1)) == 0 { goto _35 } _8_pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(4)) sink985 = *p } if ((_8_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _36 } _3_nIn = i32(46) func() int32 { if i32(46) == int32(_sqlite3LogEst(tls, uint64(i32(25)))) { return i32(0) } return func() int32 { 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(110452))) crt.X__builtin_abort(tls) return i32(0) }() }() _9_i = i32(0) _39: if _9_i >= (int32(_pNew.X10) - i32(1)) { goto _42 } if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(_9_i)))) == nil || (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(_9_i)))).X0)) != _8_pExpr { goto _44 } _3_nIn = i32(0) _44: _9_i += 1 goto _39 _42: goto _45 _36: if func() int32 { if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pExpr)) + uintptr(32 /* X6 */))))))) != nil) && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pExpr)) + uintptr(32 /* X6 */))))))).X0) != 0 { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _49 } _3_nIn = int32(_sqlite3LogEst(tls, uint64((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pExpr)) + uintptr(32 /* X6 */))))))).X0))) func() int32 { if _3_nIn > i32(0) { return i32(0) } return func() int32 { 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(110476))) crt.X__builtin_abort(tls) return i32(0) }() }() _49: _45: goto _52 _35: if (int32(_3_eOp) & i32(130)) == 0 { goto _53 } _12_iCol = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X1)) + 2*uintptr(_saved_nEq)))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } func() int32 { if int32(_saved_nEq) == int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))).X0) { return i32(0) } return func() int32 { 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(110484))) crt.X__builtin_abort(tls) return i32(0) }() }() if _12_iCol != i32(-1) && (_12_iCol <= i32(0) || int32(_nInMul) != i32(0) || int32(_saved_nEq) != (int32(_pProbe.X13)-i32(1))) { goto _59 } if _12_iCol < i32(0) || int32((uint32((_pProbe.X16)>>uint(i32(3)))<>uint(i32(31))) != i32(0) { goto _61 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(65536)) sink985 = *p } goto _62 _61: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(4096)) sink985 = *p } _62: _59: goto _63 _53: if (int32(_3_eOp) & i32(256)) == 0 { goto _64 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(8)) sink985 = *p } goto _65 _64: if (int32(_3_eOp) & i32(36)) == 0 { goto _66 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(34)) sink985 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(2 /* X1 */))) = uint16(_whereRangeVectorLen(tls, _pParse, _pSrc.X11, _pProbe, int32(_saved_nEq), _pTerm)) _pBtm = _pTerm _pTop = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) if (int32(_pTerm.X3) & i32(256)) == 0 { goto _67 } _pTop = (*XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + 64*uintptr(i32(1)))) func() int32 { if int64((uintptr(unsafe.Pointer(_pTop))-uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X5)))))/64) < int64((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X3) { return i32(0) } return func() int32 { 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(110516))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pTop.X3) & i32(256)) != 0 { return i32(0) } return func() int32 { 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(110560))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pTop.X4) == i32(16) { return i32(0) } return func() int32 { 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(110592))) crt.X__builtin_abort(tls) return i32(0) }() }() if _whereLoopResize(tls, _db, _pNew, int32(_pNew.X10)+i32(1)) == 0 { goto _74 } goto _16 _74: *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(postInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(52 /* X10 */))), uint16(1))))) = _pTop { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(16)) sink985 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X2 */))) = uint16(i32(1)) _67: goto _75 _66: func() int32 { if (int32(_3_eOp) & i32(24)) != 0 { return i32(0) } return func() int32 { 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(110616))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(18)) sink985 = *p } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X2 */))) = uint16(_whereRangeVectorLen(tls, _pParse, _pSrc.X11, _pProbe, int32(_saved_nEq), _pTerm)) _pTop = _pTerm _pBtm = func() *XWhereTerm { if ((_pNew.X9) & uint32(i32(32))) != uint32(i32(0)) { return (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(int32(_pNew.X10)-i32(2))))) } return (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) }() _75: _65: _63: _52: func() int32 { if int32(_pNew.X7) == int32(_saved_nOut) { return i32(0) } return func() int32 { 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(110636))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pNew.X9) & uint32(i32(2))) == 0 { goto _82 } _whereRangeScanEst(tls, _pParse, _pBuilder, _pBtm, _pTop, _pNew) goto _83 _82: _21_nEq = int32(preInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */)))))))+uintptr(0 /* X0 */))), uint16(1))) func() int32 { if (int32(_3_eOp) & i32(387)) != 0 { return i32(0) } return func() int32 { 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(110660))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pNew.X7) == int32(_saved_nOut) { return i32(0) } return func() int32 { 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(110636))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pTerm.X2) > i32(0) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X1)) + 2*uintptr(_saved_nEq)))) < i32(0) { goto _89 } func() int32 { if (int32(_3_eOp)&i32(1)) != 0 || (_3_nIn == i32(0)) { return i32(0) } return func() int32 { 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(110696))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) *p = int16(int32(*p) + int32(_pTerm.X2)) sink955 = *p } { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) *p = int16(int32(*p) - _3_nIn) sink955 = *p } goto _93 _89: { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) *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))))))) sink955 = *p } if (int32(_3_eOp) & i32(256)) == 0 { goto _94 } { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) *p = int16(int32(*p) + i32(10)) sink955 = *p } _94: _93: _83: _3_rCostIdx = int16((int32(_pNew.X7) + i32(1)) + ((i32(15) * int32(_pProbe.X12)) / int32((*XTable)(unsafe.Pointer(_pSrc.X4)).X13))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _rLogSize, _3_rCostIdx) if ((_pNew.X9) & uint32(i32(320))) != uint32(i32(0)) { goto _95 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _pNew.X6, int16(int32(_pNew.X7)+i32(16))) _95: _3_nOutUnadjusted = _pNew.X7 { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) *p = int16(int32(*p) + (int32(_nInMul) + _3_nIn)) sink955 = *p } { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) *p = int16(int32(*p) + (int32(_nInMul) + _3_nIn)) sink955 = *p } _whereLoopOutputAdjust(tls, (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)), _pNew, _rSize) _rc = _whereLoopInsert(tls, _pBuilder, _pNew) if ((_pNew.X9) & uint32(i32(2))) == 0 { goto _96 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut goto _97 _96: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _3_nOutUnadjusted _97: if ((_pNew.X9)&uint32(i32(16))) != uint32(i32(0)) || int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))).X0) >= int32(_pProbe.X14) { goto _99 } _whereLoopAddBtreeIndex(tls, _pBuilder, _pSrc, _pProbe, int16(int32(_nInMul)+_3_nIn)) _99: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut _13: _pTerm = _whereScanNext(tls, &_scan) goto _12 _16: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _saved_prereq *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = _saved_nEq *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(2 /* X1 */))) = _saved_nBtm *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X2 */))) = _saved_nTop *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(54 /* X11 */))) = _saved_nSkip *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = _saved_wsFlags *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = _saved_nLTerm func() int32 { if i32(42) == int32(_sqlite3LogEst(tls, uint64(i32(18)))) { return i32(0) } return func() int32 { 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(110720))) crt.X__builtin_abort(tls) return i32(0) }() }() 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))) != 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) { goto _106 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) += 1 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(54 /* X11 */))) += 1 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(postInc4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(52 /* X10 */))), uint16(1))))) = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(32768)) sink985 = *p } _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)))))) { p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) *p = int16(int32(*p) - int32(_30_nIter)) sink955 = *p } { p := &_30_nIter *p = int16(int32(*p) + i32(5)) sink955 = *p } _whereLoopAddBtreeIndex(tls, _pBuilder, _pSrc, _pProbe, int16(int32(_30_nIter)+int32(_nInMul))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = _saved_nEq *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(54 /* X11 */))) = _saved_nSkip *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = _saved_wsFlags _106: r0 = _rc return } var _whereLoopAddBtreeIndexØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopAddBtreeIndexØ00__func__Ø000[0], str(110744), 23) } func _whereRangeVectorLen(tls *crt.TLS, _pParse *XParse, _iCur int32, _pIdx *XIndex, _nEq int32, _pTerm *XWhereTerm) (r0 int32) { // sqlite3.c:132070:1 var _nCmp int32 // sqlite3.c:132077:7 _ = _nCmp var _i int32 // sqlite3.c:132078:7 _ = _i var _1_aff int8 // sqlite3.c:132084:10 _ = _1_aff var _1_idxaff int8 // sqlite3.c:132085:10 _ = _1_idxaff var _1_pColl *XCollSeq // sqlite3.c:132086:13 _ = _1_pColl var _1_pLhs *XExpr // sqlite3.c:132087:10 _ = _1_pLhs var _1_pRhs *XExpr // sqlite3.c:132088:10 _ = _1_pRhs _nCmp = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4))) _nCmp = func() int32 { if _nCmp < (int32(_pIdx.X14) - _nEq) { return _nCmp } return (int32(_pIdx.X14) - _nEq) }() _i = i32(1) _2: if _i >= _nCmp { goto _5 } _1_idxaff = int8(i32(0)) _1_pLhs = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_i))).X0)) _1_pRhs = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) if ((_1_pRhs.X2) & uint32(i32(2048))) == 0 { goto _6 } _1_pRhs = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pRhs)) + uintptr(32 /* X6 */))))))).X0)).X1) + 32*uintptr(_i))).X0)) goto _7 _6: _1_pRhs = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pRhs)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_i))).X0)) _7: 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)))) { goto _11 } goto _5 _11: _1_aff = _sqlite3CompareAffinity(tls, _1_pRhs, _sqlite3ExprAffinity(tls, _1_pLhs)) _1_idxaff = _sqlite3TableColumnAffinity(tls, (*XTable)(unsafe.Pointer(_pIdx.X3)), int32(_1_pLhs.X9)) if int32(_1_aff) == int32(_1_idxaff) { goto _12 } goto _5 _12: _1_pColl = _sqlite3BinaryCompareCollSeq(tls, _pParse, _1_pLhs, _1_pRhs) if _1_pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } goto _5 _13: if _sqlite3StrICmp(tls, _1_pColl.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_i+_nEq)))) == 0 { goto _14 } goto _5 _14: _i += 1 goto _2 _5: r0 = _i return } func _whereRangeScanEst(tls *crt.TLS, _pParse *XParse, _pBuilder *XWhereLoopBuilder, _pLower *XWhereTerm, _pUpper *XWhereTerm, _pLoop *XWhereLoop) (r0 int32) { // sqlite3.c:131224:1 var _rc int32 // sqlite3.c:131231:7 _ = _rc var _nOut int32 // sqlite3.c:131232:7 _ = _nOut var _nNew int16 // sqlite3.c:131233:10 _ = _nNew _rc = i32(0) _nOut = int32(_pLoop.X7) func() int32 { if (_pLower != nil) || (_pUpper != nil) { return i32(0) } return func() int32 { 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(110768))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pUpper == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) || ((int32(_pUpper.X3) & i32(0)) == i32(0)) { return i32(0) } return func() int32 { 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(110788))) crt.X__builtin_abort(tls) return i32(0) }() }() _nNew = _whereRangeAdjust(tls, _pLower, int16(_nOut)) _nNew = _whereRangeAdjust(tls, _pUpper, _nNew) if _pLower == nil || int32(_pLower.X2) <= i32(0) || _pUpper == nil || int32(_pUpper.X2) <= i32(0) { goto _9 } { p := &_nNew *p = int16(int32(*p) - i32(20)) sink955 = *p } _9: { p := &_nOut *p = (*p) - (bool2int(_pLower != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) + bool2int(_pUpper != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))))) sink961 = *p } if int32(_nNew) >= i32(10) { goto _10 } _nNew = int16(i32(10)) _10: if int32(_nNew) >= _nOut { goto _11 } _nOut = int32(_nNew) _11: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) = int16(_nOut) r0 = _rc return } var _whereRangeScanEstØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_whereRangeScanEstØ00__func__Ø000[0], str(110836), 18) } func _whereRangeAdjust(tls *crt.TLS, _pTerm *XWhereTerm, _nNew int16) (r0 int16) { // sqlite3.c:131049:1 var _nRet int16 // sqlite3.c:131050:10 _ = _nRet _nRet = _nNew if _pTerm == nil { goto _0 } if int32(_pTerm.X2) > i32(0) { goto _1 } { p := &_nRet *p = int16(int32(*p) + int32(_pTerm.X2)) sink955 = *p } goto _2 _1: if (int32(_pTerm.X3) & i32(0)) != i32(0) { goto _3 } { p := &_nRet *p = int16(int32(*p) - i32(20)) sink955 = *p } func() int32 { if i32(20) == int32(_sqlite3LogEst(tls, uint64(i32(4)))) { return i32(0) } return func() int32 { 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(110856))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: _2: _0: r0 = _nRet return } var _whereRangeAdjustØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_whereRangeAdjustØ00__func__Ø000[0], str(110880), 17) } func _whereLoopAddOr(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64, _mUnusable uint64) (r0 int32) { // sqlite3.c:133099:1 var _pWInfo *XWhereInfo // sqlite3.c:133104:13 _ = _pWInfo var _pWC *XWhereClause // sqlite3.c:133105:15 _ = _pWC var _pNew *XWhereLoop // sqlite3.c:133106:13 _ = _pNew var _pTerm *XWhereTerm // sqlite3.c:133107:13 _ = _pTerm var _pWCEnd *XWhereTerm // sqlite3.c:133107:21 _ = _pWCEnd var _rc int32 // sqlite3.c:133108:7 _ = _rc var _iCur int32 // sqlite3.c:133109:7 _ = _iCur var _tempWC XWhereClause // sqlite3.c:133110:15 _ = _tempWC var _sSubBuild XWhereLoopBuilder // sqlite3.c:133111:20 _ = _sSubBuild var _sSum XWhereOrSet // sqlite3.c:133112:14 _ = _sSum var _sCur XWhereOrSet // sqlite3.c:133112:20 _ = _sCur var _pItem *TSrcList_item // sqlite3.c:133113:23 _ = _pItem var _2_pOrWC *XWhereClause // sqlite3.c:133126:19 _ = _2_pOrWC var _2_pOrWCEnd *XWhereTerm // sqlite3.c:133127:17 _ = _2_pOrWCEnd var _2_pOrTerm *XWhereTerm // sqlite3.c:133128:17 _ = _2_pOrTerm var _2_once int32 // sqlite3.c:133129:11 _ = _2_once var _2_i int32 // sqlite3.c:133130:11 _ = _2_i var _2_j int32 // sqlite3.c:133130:14 _ = _2_j var _12_sPrev XWhereOrSet // sqlite3.c:133177:22 _ = _12_sPrev _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) _rc = i32(0) _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) _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(64))))))))))) _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) crt.Xmemset(tls, (unsafe.Pointer)(&_sSum), i32(0), u64(56)) _pItem = (*TSrcList_item)(unsafe.Pointer(uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))))) + uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr(_pNew.X3)))))*uintptr(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr(112))))))))))) _iCur = _pItem.X11 _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _0: if uintptr(unsafe.Pointer(_pTerm)) >= uintptr(unsafe.Pointer(_pWCEnd)) || _rc != i32(0) { goto _4 } if (int32(_pTerm.X4)&i32(512)) == i32(0) || (((*XWhereOrInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))))).X1)&(_pNew.X1)) == uint64(i32(0)) { goto _6 } _2_pOrWC = (*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) + uintptr(0 /* X0 */))) _2_pOrWCEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(_2_pOrWC.X5) + 64*uintptr(_2_pOrWC.X3))) _2_once = i32(1) _sSubBuild = *_pBuilder *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(16 /* X2 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) *(**XWhereOrSet)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(32 /* X4 */))))) = &_sCur _2_pOrTerm = (*XWhereTerm)(unsafe.Pointer(_2_pOrWC.X5)) _7: if uintptr(unsafe.Pointer(_2_pOrTerm)) >= uintptr(unsafe.Pointer(_2_pOrWCEnd)) { goto _10 } if (int32(_2_pOrTerm.X4) & i32(1024)) == i32(0) { goto _11 } *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(8 /* X1 */))))) = (*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pOrTerm)) + uintptr(40 /* X10 */)))))) + uintptr(0 /* X0 */))) goto _12 _11: if (_2_pOrTerm.X8) != _iCur { goto _13 } *(**XWhereInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(0 /* X0 */))))) = (*XWhereInfo)(unsafe.Pointer(_pWC.X0)) *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(8 /* X1 */))))) = _pWC *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(16 /* X2 */))) = uint8(i32(28)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(20 /* X3 */))) = i32(1) *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(32 /* X5 */))))) = _2_pOrTerm *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(8 /* X1 */))))) = &_tempWC goto _14 _13: goto _8 _14: _12: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur)) + uintptr(0 /* X0 */))) = uint16(i32(0)) if ((*XTable)(unsafe.Pointer(_pItem.X4)).X16) == 0 { goto _15 } _rc = _whereLoopAddVirtual(tls, &_sSubBuild, _mPrereq, _mUnusable) goto _16 _15: _rc = _whereLoopAddBtree(tls, &_sSubBuild, _mPrereq) _16: if _rc != i32(0) { goto _17 } _rc = _whereLoopAddOr(tls, &_sSubBuild, _mPrereq, _mUnusable) _17: func() int32 { if (_rc == i32(0)) || (int32(_sCur.X0) == i32(0)) { return i32(0) } return func() int32 { 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(110900))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_sCur.X0) != i32(0) { goto _21 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum)) + uintptr(0 /* X0 */))) = uint16(i32(0)) goto _10 _21: if _2_once == 0 { goto _23 } _whereOrMove(tls, &_sSum, &_sCur) _2_once = i32(0) goto _24 _23: _whereOrMove(tls, &_12_sPrev, &_sSum) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum)) + uintptr(0 /* X0 */))) = uint16(i32(0)) _2_i = i32(0) _25: if _2_i >= int32(_12_sPrev.X0) { goto _28 } _2_j = i32(0) _29: if _2_j >= int32(_sCur.X0) { goto _32 } _whereOrInsert(tls, &_sSum, ((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sPrev))+uintptr(8 /* X1 */)))))+16*uintptr(_2_i))).X0)|((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur))+uintptr(8 /* X1 */)))))+16*uintptr(_2_j))).X0), _sqlite3LogEstAdd(tls, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sPrev))+uintptr(8 /* X1 */)))))+16*uintptr(_2_i))).X1, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur))+uintptr(8 /* X1 */)))))+16*uintptr(_2_j))).X1), _sqlite3LogEstAdd(tls, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sPrev))+uintptr(8 /* X1 */)))))+16*uintptr(_2_i))).X2, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur))+uintptr(8 /* X1 */)))))+16*uintptr(_2_j))).X2)) _2_j += 1 goto _29 _32: _2_i += 1 goto _25 _28: _24: _8: *(*uintptr)(unsafe.Pointer(&_2_pOrTerm)) += uintptr(64) goto _7 _10: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X10 */))) = uint16(i32(1)) *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 8*uintptr(i32(0)))) = _pTerm *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X9 */))) = uint32(i32(8192)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(i32(0)) crt.Xmemset(tls, (unsafe.Pointer)((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X8 */)))), i32(0), u64(16)) _2_i = i32(0) _33: if _rc != i32(0) || _2_i >= int32(_sSum.X0) { goto _37 } *(*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(8 /* X1 */)))))+16*uintptr(_2_i))).X1) + i32(1)) *(*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(8 /* X1 */))))) + 16*uintptr(_2_i))).X2 *(*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(8 /* X1 */))))) + 16*uintptr(_2_i))).X0 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) _2_i += 1 goto _33 _37: _6: *(*uintptr)(unsafe.Pointer(&_pTerm)) += uintptr(64) goto _0 _4: r0 = _rc return } var _whereLoopAddOrØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_whereLoopAddOrØ00__func__Ø000[0], str(110928), 15) } func _whereOrMove(tls *crt.TLS, _pDest *XWhereOrSet, _pSrc *XWhereOrSet) { // sqlite3.c:129949:1 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(0 /* X0 */))) = _pSrc.X0 crt.Xmemcpy(tls, (unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest))+uintptr(8 /* X1 */)))), (unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X1 */)))), uint64(_pDest.X0)*u64(16)) return } func _wherePathSolver(tls *crt.TLS, _pWInfo *XWhereInfo, _nRowEst int16) (r0 int32) { // sqlite3.c:133668:1 var _mxChoice int32 // sqlite3.c:133669:7 _ = _mxChoice var _nLoop int32 // sqlite3.c:133670:7 _ = _nLoop var _pParse *XParse // sqlite3.c:133671:9 _ = _pParse var _db *Xsqlite3 // sqlite3.c:133672:11 _ = _db var _iLoop int32 // sqlite3.c:133673:7 _ = _iLoop var _ii int32 // sqlite3.c:133674:7 _ = _ii var _jj int32 // sqlite3.c:133674:11 _ = _jj var _mxI int32 // sqlite3.c:133675:7 _ = _mxI var _nOrderBy int32 // sqlite3.c:133676:7 _ = _nOrderBy var _mxCost int16 // sqlite3.c:133677:10 _ = _mxCost var _mxUnsorted int16 // sqlite3.c:133678:10 _ = _mxUnsorted var _nTo int32 // sqlite3.c:133679:7 _ = _nTo var _nFrom int32 // sqlite3.c:133679:12 _ = _nFrom var _aFrom *XWherePath // sqlite3.c:133680:13 _ = _aFrom var _aTo *XWherePath // sqlite3.c:133681:13 _ = _aTo var _pFrom *XWherePath // sqlite3.c:133682:13 _ = _pFrom var _pTo *XWherePath // sqlite3.c:133683:13 _ = _pTo var _pWLoop *XWhereLoop // sqlite3.c:133684:13 _ = _pWLoop var _pX **XWhereLoop // sqlite3.c:133685:13 _ = _pX var _aSortCost *int16 // sqlite3.c:133686:10 _ = _aSortCost var _pSpace *int8 // sqlite3.c:133687:8 _ = _pSpace var _nSpace int32 // sqlite3.c:133688:7 _ = _nSpace var _8_nOut int16 // sqlite3.c:133761:16 _ = _8_nOut var _8_rCost int16 // sqlite3.c:133762:16 _ = _8_rCost var _8_rUnsorted int16 // sqlite3.c:133763:16 _ = _8_rUnsorted var _8_isOrdered int8 // sqlite3.c:133764:12 _ = _8_isOrdered var _8_maskNew uint64 // sqlite3.c:133765:17 _ = _8_maskNew var _8_revMask uint64 // sqlite3.c:133766:17 _ = _8_revMask var _28_pLevel *XWhereLevel // sqlite3.c:133957:16 _ = _28_pLevel var _29_notUsed uint64 // sqlite3.c:133967:13 _ = _29_notUsed var _29_rc int32 // sqlite3.c:133968:9 _ = _29_rc var _36_wsFlags uint32 // sqlite3.c:133985:15 _ = _36_wsFlags var _37_m uint64 // sqlite3.c:133989:21 _ = _37_m var _37_rc int32 // sqlite3.c:133990:17 _ = _37_rc var _39_revMask uint64 // sqlite3.c:134005:15 _ = _39_revMask var _39_nOrder int32 // sqlite3.c:134006:11 _ = _39_nOrder _mxI = i32(0) _mxCost = i16(0) _mxUnsorted = i16(0) _aSortCost = nil _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _nLoop = int32(_pWInfo.X10) _mxChoice = func() int32 { if _nLoop <= i32(1) { return i32(1) } return func() int32 { if _nLoop == i32(2) { return i32(5) } return i32(10) }() }() func() int32 { if _nLoop <= ((*XSrcList)(unsafe.Pointer(_pWInfo.X1)).X0) { return i32(0) } return func() int32 { 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(110944))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && int32(_nRowEst) != i32(0) { goto _7 } _nOrderBy = i32(0) goto _8 _7: _nOrderBy = (*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0 _8: _nSpace = int32(((u64(32) + (u64(8) * uint64(_nLoop))) * uint64(_mxChoice)) * uint64(i32(2))) { p := &_nSpace *p = int32(uint64(*p) + (u64(2) * uint64(_nOrderBy))) sink961 = *p } _pSpace = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nSpace)))) if _pSpace != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } r0 = _sqlite3NomemError(tls, i32(133715)) return _9: _aTo = (*XWherePath)(unsafe.Pointer(_pSpace)) _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(32))))))))))) crt.Xmemset(tls, (unsafe.Pointer)(_aFrom), i32(0), u64(32)) _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(32))))))))))))) *func() **XWherePath { _ii = _mxChoice * i32(2); return &_pFrom }() = _aTo _10: if _ii <= i32(0) { goto _13 } *(***XWhereLoop)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(24 /* X6 */))))) = _pX { p := func() ***XWhereLoop { *(*uintptr)(unsafe.Pointer(func() **XWherePath { _ii -= 1; return &_pFrom }())) += uintptr(32) return &_pX }() *p = (**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 8*uintptr(_nLoop))) sink6568143 = *p } goto _10 _13: if _nOrderBy == 0 { goto _14 } _aSortCost = (*int16)(unsafe.Pointer(_pX)) crt.Xmemset(tls, (unsafe.Pointer)(_aSortCost), i32(0), u64(2)*uint64(_nOrderBy)) _14: func() int32 { 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)))))) { return i32(0) } return func() int32 { 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(110976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_aSortCost != (*int16)(unsafe.Pointer(uintptr(i32(0))))) || ((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSpace))+1*uintptr(_nSpace))) == (*int8)(unsafe.Pointer(_pX))) { return i32(0) } return func() int32 { 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(111040))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+32*uintptr(i32(0)))))) + uintptr(16 /* X2 */))) = int16(func() uint32 { if (_pParse.X42) < uint32(i32(48)) { return (_pParse.X42) } return uint32(i32(48)) }()) func() int32 { if i32(48) == int32(_sqlite3LogEst(tls, uint64(i32(28)))) { return i32(0) } return func() int32 { 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(111084))) crt.X__builtin_abort(tls) return i32(0) }() }() _nFrom = i32(1) func() int32 { if int32((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+32*uintptr(i32(0)))).X5) == i32(0) { return i32(0) } return func() int32 { 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(111108))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nOrderBy == 0 { goto _27 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+32*uintptr(i32(0)))))) + uintptr(22 /* X5 */))) = int8(func() int32 { if _nLoop > i32(0) { return i32(-1) } return _nOrderBy }()) _27: _iLoop = i32(0) _30: if _iLoop >= _nLoop { goto _33 } _nTo = i32(0) *func() **XWherePath { _ii = i32(0); return &_pFrom }() = _aFrom _34: if _ii >= _nFrom { goto _37 } _pWLoop = (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)) _38: if _pWLoop == nil { goto _41 } _8_isOrdered = _pFrom.X5 _8_revMask = uint64(i32(0)) if ((_pWLoop.X0) & (^(_pFrom.X0))) == uint64(i32(0)) { goto _42 } goto _39 _42: if ((_pWLoop.X1) & (_pFrom.X0)) == uint64(i32(0)) { goto _43 } goto _39 _43: if ((_pWLoop.X9)&uint32(i32(16384))) == uint32(i32(0)) || int32(_pFrom.X2) >= i32(10) { goto _45 } func() int32 { if i32(10) == int32(_sqlite3LogEst(tls, uint64(i32(2)))) { return i32(0) } return func() int32 { 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(90316))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _39 _45: _8_rUnsorted = _sqlite3LogEstAdd(tls, _pWLoop.X5, int16(int32(_pWLoop.X6)+int32(_pFrom.X2))) _8_rUnsorted = _sqlite3LogEstAdd(tls, _8_rUnsorted, _pFrom.X4) _8_nOut = int16(int32(_pFrom.X2) + int32(_pWLoop.X7)) _8_maskNew = (_pFrom.X0) | (_pWLoop.X1) if int32(_8_isOrdered) >= i32(0) { goto _48 } _8_isOrdered = _wherePathSatisfiesOrderBy(tls, _pWInfo, (*XExprList)(unsafe.Pointer(_pWInfo.X2)), _pFrom, _pWInfo.X9, uint16(_iLoop), _pWLoop, &_8_revMask) goto _49 _48: _8_revMask = _pFrom.X1 _49: if int32(_8_isOrdered) < i32(0) || int32(_8_isOrdered) >= _nOrderBy { goto _51 } if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost)) + 2*uintptr(_8_isOrdered)))) != i32(0) { goto _52 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost)) + 2*uintptr(_8_isOrdered))) = _whereSortingCost(tls, _pWInfo, _nRowEst, _nOrderBy, int32(_8_isOrdered)) _52: _8_rCost = _sqlite3LogEstAdd(tls, _8_rUnsorted, *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost)) + 2*uintptr(_8_isOrdered)))) goto _53 _51: _8_rCost = _8_rUnsorted _53: *func() **XWherePath { _jj = i32(0); return &_pTo }() = _aTo _54: if _jj >= _nTo { goto _57 } if (_pTo.X0) != _8_maskNew || ((int32(_pTo.X5)^int32(_8_isOrdered))&i32(128)) != i32(0) { goto _59 } goto _57 _59: *(*uintptr)(unsafe.Pointer(func() **XWherePath { _jj += 1; return &_pTo }())) += uintptr(32) goto _54 _57: if _jj < _nTo { goto _60 } if _nTo < _mxChoice || int32(_8_rCost) <= int32(_mxCost) && (int32(_8_rCost) != int32(_mxCost) || int32(_8_rUnsorted) < int32(_mxUnsorted)) { goto _64 } goto _39 _64: if _nTo >= _mxChoice { goto _65 } _jj = postInc961(&_nTo, int32(1)) goto _66 _65: _jj = _mxI _66: _pTo = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 32*uintptr(_jj))) goto _67 _60: if int32(_pTo.X3) >= int32(_8_rCost) && (int32(_pTo.X3) != int32(_8_rCost) || int32(_pTo.X2) > int32(_8_nOut)) { goto _70 } goto _39 _70: _67: *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(0 /* X0 */))) = (_pFrom.X0) | (_pWLoop.X1) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) = _8_revMask *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(16 /* X2 */))) = _8_nOut *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(18 /* X3 */))) = _8_rCost *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(20 /* X4 */))) = _8_rUnsorted *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(22 /* X5 */))) = _8_isOrdered crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo.X6), (unsafe.Pointer)(_pFrom.X6), u64(8)*uint64(_iLoop)) *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo.X6)) + 8*uintptr(_iLoop))) = _pWLoop if _nTo < _mxChoice { goto _71 } _mxI = i32(0) _mxCost = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 32*uintptr(i32(0)))).X3 _mxUnsorted = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 32*uintptr(i32(0)))).X2 *func() **XWherePath { _jj = i32(1); return &_pTo }() = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 32*uintptr(i32(1)))) _72: if _jj >= _mxChoice { goto _75 } if int32(_pTo.X3) <= int32(_mxCost) && (int32(_pTo.X3) != int32(_mxCost) || int32(_pTo.X4) <= int32(_mxUnsorted)) { goto _78 } _mxCost = _pTo.X3 _mxUnsorted = _pTo.X4 _mxI = _jj _78: *(*uintptr)(unsafe.Pointer(func() **XWherePath { _jj += 1; return &_pTo }())) += uintptr(32) goto _72 _75: _71: _39: _pWLoop = (*XWhereLoop)(unsafe.Pointer(_pWLoop.X14)) goto _38 _41: *(*uintptr)(unsafe.Pointer(func() **XWherePath { _ii += 1; return &_pFrom }())) += uintptr(32) goto _34 _37: _pFrom = _aTo _aTo = _aFrom _aFrom = _pFrom _nFrom = _nTo _iLoop += 1 goto _30 _33: if _nFrom != i32(0) { goto _79 } _sqlite3ErrorMsg(tls, _pParse, str(111132)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSpace)) r0 = i32(1) return _79: _pFrom = _aFrom _ii = i32(1) _80: if _ii >= _nFrom { goto _83 } if int32(_pFrom.X3) <= int32((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+32*uintptr(_ii))).X3) { goto _84 } _pFrom = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom)) + 32*uintptr(_ii))) _84: _ii += 1 goto _80 _83: func() int32 { if int32(_pWInfo.X10) == _nLoop { return i32(0) } return func() int32 { 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(111152))) crt.X__builtin_abort(tls) return i32(0) }() }() _iLoop = i32(0) _87: if _iLoop >= _nLoop { goto _90 } _28_pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))))) + uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr(_iLoop)))))*uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr(88))))))))))) *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pLevel)) + uintptr(72 /* X18 */))))) = store6566324(&_pWLoop, *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 8*uintptr(_iLoop)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pLevel)) + uintptr(44 /* X11 */))) = _pWLoop.X3 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pLevel)) + uintptr(4 /* X1 */))) = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 112*uintptr(_28_pLevel.X11))).X11 _iLoop += 1 goto _87 _90: if (int32(_pWInfo.X9)&i32(256)) == i32(0) || (int32(_pWInfo.X9)&i32(128)) != i32(0) || int32(_pWInfo.X15) != i32(0) || _nRowEst == 0 { goto _94 } _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)) + 8*uintptr(_nLoop-i32(1)))), &_29_notUsed)) if _29_rc != ((*XExprList)(unsafe.Pointer(_pWInfo.X3)).X0) { goto _95 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(63 /* X15 */))) = uint8(i32(2)) _95: _94: if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) == nil { goto _96 } if (int32(_pWInfo.X9) & i32(128)) == 0 { goto _97 } if int32(_pFrom.X5) != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) { goto _98 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(63 /* X15 */))) = uint8(i32(2)) _98: goto _99 _97: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(59 /* X11 */))) = _pFrom.X5 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(80 /* X19 */))) = _pFrom.X1 if int32(_pWInfo.X11) > i32(0) { goto _100 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(59 /* X11 */))) = int8(i32(0)) if _nLoop <= i32(0) { goto _101 } _36_wsFlags = (*(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 8*uintptr(_nLoop-i32(1))))).X9 if (_36_wsFlags&uint32(i32(4096))) != uint32(i32(0)) || (_36_wsFlags&uint32(i32(260))) == uint32(i32(260)) { goto _103 } _37_m = u64(0) _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)) + 8*uintptr(_nLoop-i32(1)))), &_37_m)) if _37_rc != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) { goto _104 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(64 /* X16 */))) = uint8(i32(1)) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(80 /* X19 */))) = _37_m _104: _103: _101: _100: _99: if (int32(_pWInfo.X9)&i32(512)) == 0 || int32(_pWInfo.X11) != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) || _nLoop <= i32(0) { goto _107 } _39_revMask = u64(0) _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)) + 8*uintptr(_nLoop-i32(1)))), &_39_revMask)) func() int32 { if int32(_pWInfo.X12) == i32(0) { return i32(0) } return func() int32 { 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(111176))) crt.X__builtin_abort(tls) return i32(0) }() }() if _39_nOrder != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) { goto _110 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(60 /* X12 */))) = uint8(i32(1)) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(80 /* X19 */))) = _39_revMask _110: _107: _96: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(88 /* X20 */))) = _pFrom.X2 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSpace)) r0 = i32(0) return } var _wherePathSolverØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_wherePathSolverØ00__func__Ø000[0], str(111196), 16) } 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 var _revSet uint8 // sqlite3.c:133299:6 _ = _revSet var _rev uint8 // sqlite3.c:133300:6 _ = _rev var _revIdx uint8 // sqlite3.c:133301:6 _ = _revIdx var _isOrderDistinct uint8 // sqlite3.c:133302:6 _ = _isOrderDistinct var _distinctColumns uint8 // sqlite3.c:133303:6 _ = _distinctColumns var _isMatch uint8 // sqlite3.c:133304:6 _ = _isMatch var _eqOpMask uint16 // sqlite3.c:133305:7 _ = _eqOpMask var _nKeyCol uint16 // sqlite3.c:133306:7 _ = _nKeyCol var _nColumn uint16 // sqlite3.c:133307:7 _ = _nColumn var _nOrderBy uint16 // sqlite3.c:133308:7 _ = _nOrderBy var _iLoop int32 // sqlite3.c:133309:7 _ = _iLoop var _i int32 // sqlite3.c:133310:7 _ = _i var _j int32 // sqlite3.c:133310:10 _ = _j var _iCur int32 // sqlite3.c:133311:7 _ = _iCur var _iColumn int32 // sqlite3.c:133312:7 _ = _iColumn var _pLoop *XWhereLoop // sqlite3.c:133313:13 _ = _pLoop var _pTerm *XWhereTerm // sqlite3.c:133314:13 _ = _pTerm var _pOBExpr *XExpr // sqlite3.c:133315:8 _ = _pOBExpr var _pColl *XCollSeq // sqlite3.c:133316:11 _ = _pColl var _pIndex *XIndex // sqlite3.c:133317:9 _ = _pIndex var _db *Xsqlite3 // sqlite3.c:133318:11 _ = _db var _obSat uint64 // sqlite3.c:133319:11 _ = _obSat var _obDone uint64 // sqlite3.c:133320:11 _ = _obDone var _orderDistinctMask uint64 // sqlite3.c:133321:11 _ = _orderDistinctMask var _ready uint64 // sqlite3.c:133322:11 _ = _ready var _8_z1 *int8 // sqlite3.c:133394:20 _ = _8_z1 var _8_z2 *int8 // sqlite3.c:133394:25 _ = _8_z2 var _13_bOnce uint8 // sqlite3.c:133429:12 _ = _13_bOnce var _14_eOp uint16 // sqlite3.c:133435:15 _ = _14_eOp var _17_pX *XExpr // sqlite3.c:133456:18 _ = _17_pX var _37_p *XExpr // sqlite3.c:133553:14 _ = _37_p var _37_mTerm uint64 // sqlite3.c:133554:17 _ = _37_mTerm var _40_m uint64 // sqlite3.c:133568:15 _ = _40_m _pLoop = nil _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)) _obSat = u64(0) func() int32 { if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(111212))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nLoop == 0 || (int32(_db.X13)&i32(128)) == i32(0) { goto _3 } r0 = int8(i32(0)) return _3: _nOrderBy = uint16(_pOrderBy.X0) if int32(_nOrderBy) <= i32(63) { goto _4 } r0 = int8(i32(0)) return _4: _isOrderDistinct = uint8(i32(1)) _obDone = (u64(1) << uint(int32(_nOrderBy))) - uint64(i32(1)) _orderDistinctMask = uint64(i32(0)) _ready = uint64(i32(0)) _eqOpMask = uint16(i32(386)) if (int32(_wctrlFlags) & i32(2048)) == 0 { goto _5 } { p := &_eqOpMask *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _5: _iLoop = i32(0) _6: if _isOrderDistinct == 0 || _obSat >= _obDone || _iLoop > int32(_nLoop) { goto _11 } if _iLoop <= i32(0) { goto _12 } { p := &_ready *p = (*p) | (_pLoop.X1) sink992 = *p } _12: if _iLoop >= int32(_nLoop) { goto _13 } _pLoop = *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPath.X6)) + 8*uintptr(_iLoop))) if (int32(_wctrlFlags) & i32(2048)) == 0 { goto _14 } goto _7 _14: goto _15 _13: _pLoop = _pLast _15: if ((_pLoop.X9) & uint32(i32(1024))) == 0 { goto _16 } if ((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X2) == 0 { goto _17 } _obSat = _obDone _17: goto _11 _16: _iCur = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 112*uintptr(_pLoop.X3))).X11 _i = i32(0) _18: if _i >= int32(_nOrderBy) { goto _21 } if ((u64(1) << uint(_i)) & _obSat) == 0 { goto _22 } goto _19 _22: _pOBExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X0))) if int32(_pOBExpr.X0) == i32(152) { goto _23 } goto _19 _23: if (_pOBExpr.X8) == _iCur { goto _24 } goto _19 _24: _pTerm = _sqlite3WhereFindTerm(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */))), _iCur, int32(_pOBExpr.X9), ^_ready, uint32(_eqOpMask), (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _25 } goto _19 _25: if int32(_pTerm.X4) != i32(1) { goto _26 } func() int32 { if (int32(_wctrlFlags) & i32(2048)) != 0 { return i32(0) } return func() int32 { 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(111224))) crt.X__builtin_abort(tls) return i32(0) }() }() _j = i32(0) _29: if _j >= int32(_pLoop.X10) || _pTerm == (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j)))) { goto _33 } _j += 1 goto _29 _33: if _j < int32(_pLoop.X10) { goto _34 } goto _19 _34: _26: if (int32(_pTerm.X4)&i32(130)) == i32(0) || int32(_pOBExpr.X9) < i32(0) { goto _36 } _pColl = _sqlite3ExprCollSeq(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X0))) if _pColl != nil { goto _37 } _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _37: _8_z1 = _pColl.X0 _pColl = _sqlite3ExprCollSeq(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), (*XExpr)(unsafe.Pointer(_pTerm.X0))) if _pColl != nil { goto _38 } _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _38: _8_z2 = _pColl.X0 if _sqlite3StrICmp(tls, _8_z1, _8_z2) == i32(0) { goto _39 } goto _19 _39: _36: { p := &_obSat *p = (*p) | (u64(1) << uint(_i)) sink992 = *p } _19: _i += 1 goto _18 _21: if ((_pLoop.X9) & uint32(i32(4096))) != uint32(i32(0)) { goto _40 } if ((_pLoop.X9) & uint32(i32(256))) == 0 { goto _41 } _pIndex = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _nKeyCol = uint16(i32(0)) _nColumn = uint16(i32(1)) goto _42 _41: if store5661021(&_pIndex, (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X3))) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) && ((uint32((_pIndex.X16)>>uint(i32(2)))<>uint(i32(31))) == 0 { goto _44 } r0 = int8(i32(0)) return _44: _nKeyCol = _pIndex.X13 _nColumn = _pIndex.X14 func() int32 { if (int32(_nColumn) == (int32(_nKeyCol) + i32(1))) || ((((*XTable)(unsafe.Pointer(_pIndex.X3)).X9) & uint32(i32(32))) != uint32(i32(0))) { return i32(0) } return func() int32 { 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(111260))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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))) { return i32(0) } return func() int32 { 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(111308))) crt.X__builtin_abort(tls) return i32(0) }() }() _isOrderDistinct = uint8(bool2int(int32(_pIndex.X15) != i32(0))) _42: _rev = store4537(&_revSet, uint8(i32(0))) _distinctColumns = uint8(i32(0)) _j = i32(0) _52: if _j >= int32(_nColumn) { goto _55 } _13_bOnce = uint8(i32(1)) func() int32 { if (_j >= int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0)) || (((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) == (_j < int32(_pLoop.X11))) { return i32(0) } return func() int32 { 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(111376))) crt.X__builtin_abort(tls) return i32(0) }() }() if _j >= int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0) || _j < int32(_pLoop.X11) { goto _60 } _14_eOp = (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j)))).X4 if (int32(_14_eOp) & int32(_eqOpMask)) == i32(0) { goto _61 } if (int32(_14_eOp) & i32(256)) == 0 { goto _62 } _isOrderDistinct = uint8(i32(0)) _62: goto _53 _61: if func() int32 { if (int32(_14_eOp) & i32(1)) != 0 { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _66 } _17_pX = (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j)))).X0)) _i = _j + i32(1) _67: if _i >= int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0) { goto _70 } if (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_i)))).X0)) != _17_pX { goto _71 } func() int32 { if (int32((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_i)))).X4) & i32(1)) != 0 { return i32(0) } return func() int32 { 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(111444))) crt.X__builtin_abort(tls) return i32(0) }() }() _13_bOnce = uint8(i32(0)) goto _70 _71: _i += 1 goto _67 _70: _66: _60: if _pIndex == nil { goto _74 } _iColumn = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_j)))) _revIdx = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X7)) + 1*uintptr(_j))) if _iColumn != int32((*XTable)(unsafe.Pointer(_pIndex.X3)).X10) { goto _75 } _iColumn = i32(-1) _75: goto _76 _74: _iColumn = i32(-1) _revIdx = uint8(i32(0)) _76: if _isOrderDistinct == 0 || _iColumn < i32(0) || _j < int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0) || int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIndex.X3)).X1)+32*uintptr(_iColumn))).X3) != i32(0) { goto _80 } _isOrderDistinct = uint8(i32(0)) _80: _isMatch = uint8(i32(0)) _i = i32(0) _81: if _13_bOnce == 0 || _i >= int32(_nOrderBy) { goto _85 } if ((u64(1) << uint(_i)) & _obSat) == 0 { goto _86 } goto _82 _86: _pOBExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X0))) if (int32(_wctrlFlags) & i32(192)) != i32(0) { goto _87 } _13_bOnce = uint8(i32(0)) _87: if _iColumn < i32(-1) { goto _88 } if int32(_pOBExpr.X0) == i32(152) { goto _89 } goto _82 _89: if (_pOBExpr.X8) == _iCur { goto _90 } goto _82 _90: if int32(_pOBExpr.X9) == _iColumn { goto _91 } goto _82 _91: goto _92 _88: if _sqlite3ExprCompare(tls, _pOBExpr, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIndex.X10)).X1)+32*uintptr(_j))).X0)), _iCur) == 0 { goto _93 } goto _82 _93: _92: if _iColumn < i32(0) { goto _94 } _pColl = _sqlite3ExprCollSeq(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X0))) if _pColl != nil { goto _95 } _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) _95: if _sqlite3StrICmp(tls, _pColl.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 8*uintptr(_j)))) == i32(0) { goto _96 } goto _82 _96: _94: _isMatch = uint8(i32(1)) goto _85 _82: _i += 1 goto _81 _85: if _isMatch == 0 || (int32(_wctrlFlags)&i32(64)) != i32(0) { goto _98 } if _revSet == 0 { goto _99 } if (int32(_rev) ^ int32(_revIdx)) == int32((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X3) { goto _100 } _isMatch = uint8(i32(0)) _100: goto _101 _99: _rev = uint8(int32(_revIdx) ^ int32((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1)+32*uintptr(_i))).X3)) if _rev == 0 { goto _102 } { p := _pRevMask *p = (*p) | (u64(1) << uint(_iLoop)) sink992 = *p } _102: _revSet = uint8(i32(1)) _101: _98: if _isMatch == 0 { goto _103 } if _iColumn != i32(-1) { goto _104 } _distinctColumns = uint8(i32(1)) _104: { p := &_obSat *p = (*p) | (u64(1) << uint(_i)) sink992 = *p } goto _105 _103: if _j != i32(0) && _j >= int32(_nKeyCol) { goto _107 } _isOrderDistinct = uint8(i32(0)) _107: goto _55 _105: _53: _j += 1 goto _52 _55: if _distinctColumns == 0 { goto _108 } _isOrderDistinct = uint8(i32(1)) _108: _40: if _isOrderDistinct == 0 { goto _109 } { p := &_orderDistinctMask *p = (*p) | (_pLoop.X1) sink992 = *p } _i = i32(0) _110: if _i >= int32(_nOrderBy) { goto _113 } if ((u64(1) << uint(_i)) & _obSat) == 0 { goto _114 } goto _111 _114: _37_p = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 32*uintptr(_i))).X0)) _37_mTerm = _sqlite3WhereExprUsage(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _37_p) if _37_mTerm != uint64(i32(0)) || _sqlite3ExprIsConstant(tls, _37_p) != 0 { goto _116 } goto _111 _116: if (_37_mTerm & (^_orderDistinctMask)) != uint64(i32(0)) { goto _117 } { p := &_obSat *p = (*p) | (u64(1) << uint(_i)) sink992 = *p } _117: _111: _i += 1 goto _110 _113: _109: _7: _iLoop += 1 goto _6 _11: if _obSat != _obDone { goto _118 } r0 = int8(_nOrderBy) return _118: if _isOrderDistinct != 0 { goto _119 } _i = int32(_nOrderBy) - i32(1) _120: if _i <= i32(0) { goto _123 } _40_m = (u64(1) << uint(_i)) - uint64(i32(1)) if (_obSat & _40_m) != _40_m { goto _124 } r0 = int8(_i) return _124: _i -= 1 goto _120 _123: r0 = int8(i32(0)) return _119: r0 = int8(i32(-1)) return } var _wherePathSatisfiesOrderByØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_wherePathSatisfiesOrderByØ00__func__Ø000[0], str(111484), 26) } func _whereSortingCost(tls *crt.TLS, _pWInfo *XWhereInfo, _nRow int16, _nOrderBy int32, _nSorted int32) (r0 int16) { // sqlite3.c:133623:1 var _rScale int16 // sqlite3.c:133642:10 _ = _rScale var _rSortCost int16 // sqlite3.c:133642:18 _ = _rSortCost func() int32 { if (_nOrderBy > i32(0)) && (i32(66) == int32(_sqlite3LogEst(tls, uint64(i32(100))))) { return i32(0) } return func() int32 { 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(111512))) crt.X__builtin_abort(tls) return i32(0) }() }() _rScale = int16(int32(_sqlite3LogEst(tls, uint64(((_nOrderBy-_nSorted)*i32(100))/_nOrderBy))) - i32(66)) _rSortCost = int16((int32(_nRow) + int32(_rScale)) + i32(16)) if (int32(_pWInfo.X9)&i32(16384)) == i32(0) || int32(_pWInfo.X4) >= int32(_nRow) { goto _4 } _nRow = _pWInfo.X4 _4: { p := &_rSortCost *p = int16(int32(*p) + int32(_estLog(tls, _nRow))) sink955 = *p } r0 = _rSortCost return } var _whereSortingCostØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_whereSortingCostØ00__func__Ø000[0], str(111552), 17) } func _constructAutomaticIndex(tls *crt.TLS, _pParse *XParse, _pWC *XWhereClause, _pSrc *TSrcList_item, _notReady uint64, _pLevel *XWhereLevel) { // sqlite3.c:130461:1 var _nKeyCol int32 // sqlite3.c:130468:7 _ = _nKeyCol var _pTerm *XWhereTerm // sqlite3.c:130469:13 _ = _pTerm var _pWCEnd *XWhereTerm // sqlite3.c:130470:13 _ = _pWCEnd var _pIdx *XIndex // sqlite3.c:130471:9 _ = _pIdx var _v *TVdbe // sqlite3.c:130472:8 _ = _v var _addrInit int32 // sqlite3.c:130473:7 _ = _addrInit var _pTable *XTable // sqlite3.c:130474:9 _ = _pTable var _addrTop int32 // sqlite3.c:130475:7 _ = _addrTop var _regRecord int32 // sqlite3.c:130476:7 _ = _regRecord var _n int32 // sqlite3.c:130477:7 _ = _n var _i int32 // sqlite3.c:130478:7 _ = _i var _mxBitCol int32 // sqlite3.c:130479:7 _ = _mxBitCol var _pColl *XCollSeq // sqlite3.c:130480:11 _ = _pColl var _pLoop *XWhereLoop // sqlite3.c:130481:13 _ = _pLoop var _zNotUsed *int8 // sqlite3.c:130482:8 _ = _zNotUsed var _idxCols uint64 // sqlite3.c:130483:11 _ = _idxCols var _extraCols uint64 // sqlite3.c:130484:11 _ = _extraCols var _sentWarning uint8 // sqlite3.c:130485:6 _ = _sentWarning var _pPartial *XExpr // sqlite3.c:130486:8 _ = _pPartial var _iContinue int32 // sqlite3.c:130487:7 _ = _iContinue var _pTabItem *TSrcList_item // sqlite3.c:130488:23 _ = _pTabItem var _addrCounter int32 // sqlite3.c:130489:7 _ = _addrCounter var _regBase int32 // sqlite3.c:130490:7 _ = _regBase var _1_pExpr *XExpr // sqlite3.c:130506:10 _ = _1_pExpr var _3_iCol int32 // sqlite3.c:130518:11 _ = _3_iCol var _3_cMask uint64 // sqlite3.c:130519:15 _ = _3_cMask var _10_iCol int32 // sqlite3.c:130571:11 _ = _10_iCol var _10_cMask uint64 // sqlite3.c:130572:15 _ = _10_cMask var _11_pX *XExpr // sqlite3.c:130576:14 _ = _11_pX var _16_regYield int32 // sqlite3.c:130618:9 _ = _16_regYield _sentWarning = u8(0) _pPartial = nil _iContinue = i32(0) _addrCounter = i32(0) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _addrInit = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _nKeyCol = i32(0) _pTable = (*XTable)(unsafe.Pointer(_pSrc.X4)) _pWCEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_pWC.X3))) _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) _idxCols = uint64(i32(0)) _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _2: if uintptr(unsafe.Pointer(_pTerm)) >= uintptr(unsafe.Pointer(_pWCEnd)) { goto _5 } _1_pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) func() int32 { if ((((_1_pExpr.X2) & uint32(i32(1))) == uint32(i32(0))) || (int32(_1_pExpr.X11) != (_pSrc.X11))) || ((_pLoop.X0) != uint64(i32(0))) { return i32(0) } return func() int32 { 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(111572))) crt.X__builtin_abort(tls) return i32(0) }() }() 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 { goto _13 } _pPartial = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pPartial, _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _1_pExpr, i32(0))) _13: if _termCanDriveIndex(tls, _pTerm, _pSrc, _notReady) == 0 { goto _14 } _3_iCol = *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))) _3_cMask = func() uint64 { if _3_iCol >= i32(64) { return u64(9223372036854775808) } return (u64(1) << uint(_3_iCol)) }() if _sentWarning != 0 { goto _17 } Xsqlite3_log(tls, i32(284), str(111672), unsafe.Pointer(_pTable.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTable.X1)+32*uintptr(_3_iCol))).X0)) _sentWarning = uint8(i32(1)) _17: if (_idxCols & _3_cMask) != uint64(i32(0)) { goto _18 } if _whereLoopResize(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pLoop, _nKeyCol+i32(1)) == 0 { goto _19 } goto _end_auto_index_create _19: *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(postInc961(&_nKeyCol, int32(1))))) = _pTerm { p := &_idxCols *p = (*p) | _3_cMask sink992 = *p } _18: _14: *(*uintptr)(unsafe.Pointer(&_pTerm)) += uintptr(64) goto _2 _5: func() int32 { if _nKeyCol > i32(0) { return i32(0) } return func() int32 { 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(111700))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))))) + uintptr(0 /* X0 */))) = store4530((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(52 /* X10 */))), uint16(_nKeyCol)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(48 /* X9 */))) = uint32(i32(16961)) _extraCols = (_pSrc.X14) & ((^_idxCols) | u64(9223372036854775808)) _mxBitCol = func() int32 { if i32(63) < int32(_pTable.X11) { return i32(63) } return int32(_pTable.X11) }() _i = i32(0) _24: if _i >= _mxBitCol { goto _27 } if (_extraCols & (u64(1) << uint(_i))) == 0 { goto _28 } _nKeyCol += 1 _28: _i += 1 goto _24 _27: if ((_pSrc.X14) & u64(9223372036854775808)) == 0 { goto _29 } { p := &_nKeyCol *p = (*p) + ((int32(_pTable.X11) - i32(64)) + i32(1)) sink961 = *p } _29: _pIdx = _sqlite3AllocateIndexObject(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), int16(_nKeyCol+i32(1)), i32(0), &_zNotUsed) if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _30 } goto _end_auto_index_create _30: *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))))) + uintptr(8 /* X3 */))))) = _pIdx *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(0 /* X0 */))) = str(111712) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(24 /* X3 */))))) = _pTable _n = i32(0) _idxCols = uint64(i32(0)) _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _31: if uintptr(unsafe.Pointer(_pTerm)) >= uintptr(unsafe.Pointer(_pWCEnd)) { goto _34 } if _termCanDriveIndex(tls, _pTerm, _pSrc, _notReady) == 0 { goto _35 } _10_iCol = *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))) _10_cMask = func() uint64 { if _10_iCol >= i32(64) { return u64(9223372036854775808) } return (u64(1) << uint(_10_iCol)) }() if (_idxCols & _10_cMask) != uint64(i32(0)) { goto _38 } _11_pX = (*XExpr)(unsafe.Pointer(_pTerm.X0)) { p := &_idxCols *p = (*p) | _10_cMask sink992 = *p } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(*(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) _pColl = _sqlite3BinaryCompareCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_11_pX.X4)), (*XExpr)(unsafe.Pointer(_11_pX.X5))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_n))) = func() *int8 { if _pColl != nil { return (_pColl.X0) } return (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) }() _n += 1 _38: _35: *(*uintptr)(unsafe.Pointer(&_pTerm)) += uintptr(64) goto _31 _34: func() int32 { if uint32(_n) == uint32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0) { return i32(0) } return func() int32 { 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(111724))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _43: if _i >= _mxBitCol { goto _46 } if (_extraCols & (u64(1) << uint(_i))) == 0 { goto _47 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(_i) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_n))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _n += 1 _47: _i += 1 goto _43 _46: if ((_pSrc.X14) & u64(9223372036854775808)) == 0 { goto _48 } _i = i32(63) _49: if _i >= int32(_pTable.X11) { goto _52 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(_i) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_n))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _n += 1 _i += 1 goto _49 _52: _48: func() int32 { if _n == _nKeyCol { return i32(0) } return func() int32 { 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(111752))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(i32(-1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_n))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) func() int32 { if (_pLevel.X2) >= i32(0) { return i32(0) } return func() int32 { 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(111764))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(8 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(107), _pLevel.X2, _nKeyCol+i32(1)) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) _sqlite3VdbeComment(tls, _v, str(111784), unsafe.Pointer(_pTable.X0)) _sqlite3ExprCachePush(tls, _pParse) _pTabItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X1)+uintptr(8 /* X2 */))))) + 112*uintptr(_pLevel.X11))) if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _57 } _16_regYield = _pTabItem.X7 _addrCounter = _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), i32(0)) _sqlite3VdbeAddOp3(tls, _v, i32(15), _16_regYield, i32(0), _pTabItem.X6) _addrTop = _sqlite3VdbeAddOp1(tls, _v, i32(16), _16_regYield) _sqlite3VdbeComment(tls, _v, str(111792), unsafe.Pointer((*XTable)(unsafe.Pointer(_pTabItem.X4)).X0)) goto _58 _57: _addrTop = _sqlite3VdbeAddOp1(tls, _v, i32(58), _pLevel.X1) _58: if _pPartial == nil { goto _59 } _iContinue = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprIfFalse(tls, _pParse, _pPartial, _iContinue, i32(16)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } _59: _regRecord = _sqlite3GetTempReg(tls, _pParse) _regBase = _sqlite3GenerateIndexKey(tls, _pParse, _pIdx, _pLevel.X1, _regRecord, i32(0), (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*XIndex)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(126), _pLevel.X2, _regRecord) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) if _pPartial == nil { goto _60 } _sqlite3VdbeResolveLabel(tls, _v, _iContinue) _60: if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _61 } _sqlite3VdbeChangeP2(tls, _v, uint32(_addrCounter), _regBase+_n) _translateColumnToCopy(tls, _pParse, _addrTop, _pLevel.X1, _pTabItem.X8, i32(1)) _sqlite3VdbeGoto(tls, _v, _addrTop) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(0)), 16, 4) goto _62 _61: _sqlite3VdbeAddOp2(tls, _v, i32(7), _pLevel.X1, _addrTop+i32(1)) _62: _sqlite3VdbeChangeP5(tls, _v, uint16(i32(3))) _sqlite3VdbeJumpHere(tls, _v, _addrTop) _sqlite3ReleaseTempReg(tls, _pParse, _regRecord) _sqlite3ExprCachePop(tls, _pParse) _sqlite3VdbeJumpHere(tls, _v, _addrInit) _end_auto_index_create: _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pPartial) return } var _constructAutomaticIndexØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_constructAutomaticIndexØ00__func__Ø000[0], str(111812), 24) } func _sqlite3AllocateIndexObject(tls *crt.TLS, _db *Xsqlite3, _nCol int16, _nExtra int32, _ppExtra **int8) (r0 *XIndex) { // sqlite3.c:102304:1 var _p *XIndex // sqlite3.c:102310:9 _ = _p var _nByte int32 // sqlite3.c:102311:7 _ = _nByte var _1_pExtra *int8 // sqlite3.c:102320:10 _ = _1_pExtra _nByte = int32((u64(104) + (((u64(8) * uint64(_nCol)) + uint64(i32(7))) & uint64(i32(-8)))) + (((((u64(2) * uint64(int32(_nCol)+i32(1))) + (u64(2) * uint64(_nCol))) + (u64(1) * uint64(_nCol))) + uint64(i32(7))) & uint64(i32(-8)))) _p = (*XIndex)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_nByte+_nExtra)))) if _p == nil { goto _0 } _1_pExtra = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u64(104)))))))) *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X8 */))) = (**int8)(unsafe.Pointer(_1_pExtra)) { p := &_1_pExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(((u64(8)*uint64(_nCol))+uint64(i32(7)))&uint64(i32(-8))))) sink1025 = *p } *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = (*int16)(unsafe.Pointer(_1_pExtra)) { p := &_1_pExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u64(2)*uint64(int32(_nCol)+i32(1))))) sink1025 = *p } *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = (*int16)(unsafe.Pointer(_1_pExtra)) { p := &_1_pExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u64(2)*uint64(_nCol)))) sink1025 = *p } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X7 */))) = (*uint8)(unsafe.Pointer(_1_pExtra)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X14 */))) = uint16(_nCol) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(94 /* X13 */))) = uint16(int32(_nCol) - i32(1)) *_ppExtra = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_nByte))))))) _0: r0 = _p return } 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 var _v *TVdbe // sqlite3.c:105228:8 _ = _v var _j int32 // sqlite3.c:105229:7 _ = _j var _regBase int32 // sqlite3.c:105230:7 _ = _regBase var _nCol int32 // sqlite3.c:105231:7 _ = _nCol var _7_zAff *int8 // sqlite3.c:105267:18 _ = _7_zAff _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) if _piPartIdxLabel == nil { goto _0 } if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil { goto _1 } *_piPartIdxLabel = _sqlite3VdbeMakeLabel(tls, _v) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(72 /* X22 */))) = _iDataCur _sqlite3ExprCachePush(tls, _pParse) _sqlite3ExprIfFalseDup(tls, _pParse, (*XExpr)(unsafe.Pointer(_pIdx.X9)), *_piPartIdxLabel, i32(16)) goto _2 _1: *_piPartIdxLabel = i32(0) _2: _0: _nCol = int32(func() uint16 { if _prefixOnly != 0 && (((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0) { return (_pIdx.X13) } return (_pIdx.X14) }()) _regBase = _sqlite3GetTempRange(tls, _pParse, _nCol) if _pPrior == nil || _regBase == _regPrior && (*XExpr)(unsafe.Pointer(_pPrior.X9)) == nil { goto _8 } _pPrior = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _8: _j = i32(0) _9: if _j >= _nCol { goto _12 } 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) { goto _15 } goto _10 _15: _sqlite3ExprCodeLoadIndexColumn(tls, _pParse, _pIdx, _iDataCur, _j, _regBase+_j) _sqlite3VdbeDeletePriorOpcode(tls, _v, uint8(i32(93))) _10: _j += 1 goto _9 _12: if _regOut == 0 { goto _16 } _sqlite3VdbeAddOp3(tls, _v, i32(100), _regBase, _nCol, _regOut) if (*XSelect)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIdx.X3)).X3)) == nil { goto _17 } _7_zAff = _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIdx) _sqlite3VdbeChangeP4(tls, _v, i32(-1), _7_zAff, i32(0)) _17: _16: _sqlite3ReleaseTempRange(tls, _pParse, _regBase, _nCol) r0 = _regBase return } func _sqlite3ExprIfFalseDup(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _jumpIfNull int32) { // sqlite3.c:95313:1 var _db *Xsqlite3 // sqlite3.c:95314:11 _ = _db var _pCopy *XExpr // sqlite3.c:95315:8 _ = _pCopy _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pCopy = _sqlite3ExprDup(tls, _db, _pExpr, i32(0)) if int32(_db.X17) != i32(0) { goto _0 } _sqlite3ExprIfFalse(tls, _pParse, _pCopy, _dest, _jumpIfNull) _0: _sqlite3ExprDelete(tls, _db, _pCopy) return } func _sqlite3ExprCodeLoadIndexColumn(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex, _iTabCur int32, _iIdxCol int32, _regOut int32) { // sqlite3.c:93907:1 var _iTabCol int16 // sqlite3.c:93914:7 _ = _iTabCol _iTabCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_iIdxCol))) if int32(_iTabCol) != i32(-2) { goto _0 } func() int32 { if (*XExprList)(unsafe.Pointer(_pIdx.X10)) != nil { return i32(0) } return func() int32 { 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(111836))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExprList)(unsafe.Pointer(_pIdx.X10)).X0) > _iIdxCol { return i32(0) } return func() int32 { 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(111852))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(72 /* X22 */))) = _iTabCur _sqlite3ExprCodeCopy(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+32*uintptr(_iIdxCol))).X0)), _regOut) goto _5 _0: _sqlite3ExprCodeGetColumnOfTable(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), (*XTable)(unsafe.Pointer(_pIdx.X3)), _iTabCur, int32(_iTabCol), _regOut) _5: return } var _sqlite3ExprCodeLoadIndexColumnØ00__func__Ø000 [31]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeLoadIndexColumnØ00__func__Ø000[0], str(111884), 31) } func _sqlite3ExprCodeCopy(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94844:1 var _db *Xsqlite3 // sqlite3.c:94845:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pExpr = _sqlite3ExprDup(tls, _db, _pExpr, i32(0)) if (_db.X17) != 0 { goto _0 } _sqlite3ExprCode(tls, _pParse, _pExpr, _target) _0: _sqlite3ExprDelete(tls, _db, _pExpr) return } func _sqlite3VdbeDeletePriorOpcode(tls *crt.TLS, _p *TVdbe, _op uint8) (r0 int32) { // sqlite3.c:72250:1 if (_p.X27) <= i32(0) || int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr((_p.X27)-i32(1)))).X0) != int32(_op) { goto _1 } r0 = _sqlite3VdbeChangeToNoop(tls, _p, (_p.X27)-i32(1)) return _1: r0 = i32(0) return } func _sqlite3IndexAffinityStr(tls *crt.TLS, _db *Xsqlite3, _pIdx *XIndex) (r0 *int8) { // sqlite3.c:108640:1 var _1_n int32 // sqlite3.c:108650:9 _ = _1_n var _1_pTab *XTable // sqlite3.c:108651:11 _ = _1_pTab var _3_x int16 // sqlite3.c:108658:11 _ = _3_x var _6_aff int8 // sqlite3.c:108664:14 _ = _6_aff if (_pIdx.X4) != nil { goto _0 } _1_pTab = (*XTable)(unsafe.Pointer(_pIdx.X3)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(32 /* X4 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(int32(_pIdx.X14)+i32(1))))) if (_pIdx.X4) != nil { goto _1 } _sqlite3OomFault(tls, _db) r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _1: _1_n = i32(0) _2: if _1_n >= int32(_pIdx.X14) { goto _5 } _3_x = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_n))) if int32(_3_x) < i32(0) { goto _6 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = (*XColumn)(unsafe.Pointer(uintptr(_1_pTab.X1) + 32*uintptr(_3_x))).X4 goto _7 _6: if int32(_3_x) != i32(-1) { goto _8 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = int8(i32(68)) goto _9 _8: func() int32 { if int32(_3_x) == i32(-2) { return i32(0) } return func() int32 { 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(111916))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExprList)(unsafe.Pointer(_pIdx.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(111928))) crt.X__builtin_abort(tls) return i32(0) }() }() _6_aff = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+32*uintptr(_1_n))).X0))) if int32(_6_aff) != i32(0) { goto _14 } _6_aff = int8(i32(65)) _14: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = _6_aff _9: _7: _1_n += 1 goto _2 _5: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = int8(i32(0)) _0: r0 = _pIdx.X4 return } var _sqlite3IndexAffinityStrØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3IndexAffinityStrØ00__func__Ø000[0], str(111948), 24) } func _translateColumnToCopy(tls *crt.TLS, _pParse *XParse, _iStart int32, _iTabCur int32, _iRegister int32, _bIncrRowid int32) { // sqlite3.c:130353:1 var _v *TVdbe // sqlite3.c:130360:8 _ = _v var _pOp *XVdbeOp // sqlite3.c:130361:10 _ = _pOp var _iEnd int32 // sqlite3.c:130362:7 _ = _iEnd _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pOp = _sqlite3VdbeGetOp(tls, _v, _iStart) _iEnd = _sqlite3VdbeCurrentAddr(tls, _v) if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { goto _0 } return _0: _1: if _iStart >= _iEnd { goto _4 } if (_pOp.X3) == _iTabCur { goto _5 } goto _2 _5: if int32(_pOp.X0) != i32(98) { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(85)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = (_pOp.X4) + _iRegister *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = _pOp.X5 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(12 /* X5 */))) = i32(0) goto _7 _6: if int32(_pOp.X0) != i32(123) { goto _8 } if _bIncrRowid == 0 { goto _9 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(92)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _pOp.X4 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = i32(1) goto _10 _9: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(80)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(12 /* X5 */))) = i32(0) _10: _8: _7: _2: *(*uintptr)(unsafe.Pointer(func() **XVdbeOp { _iStart += 1; return &_pOp }())) += uintptr(32) goto _1 _4: return } func _sqlite3WhereExplainOneScan(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pLevel *XWhereLevel, _iLevel int32, _iFrom int32, _wctrlFlags uint16) (r0 int32) { // sqlite3.c:126448:1 var _ret int32 // sqlite3.c:126456:7 _ = _ret var _1_pItem *TSrcList_item // sqlite3.c:126461:25 _ = _1_pItem var _1_v *TVdbe // sqlite3.c:126462:10 _ = _1_v var _1_db *Xsqlite3 // sqlite3.c:126463:13 _ = _1_db var _1_iId int32 // sqlite3.c:126464:9 _ = _1_iId var _1_isSearch int32 // sqlite3.c:126465:9 _ = _1_isSearch var _1_pLoop *XWhereLoop // sqlite3.c:126466:15 _ = _1_pLoop var _1_flags uint32 // sqlite3.c:126467:9 _ = _1_flags var _1_zMsg *int8 // sqlite3.c:126468:10 _ = _1_zMsg var _1_str XStrAccum // sqlite3.c:126469:14 _ = _1_str var _1_zBuf [100]int8 // sqlite3.c:126470:10 _ = _1_zBuf var _5_zFmt *int8 // sqlite3.c:126492:18 _ = _5_zFmt var _5_pIdx *XIndex // sqlite3.c:126493:13 _ = _5_pIdx var _13_zRangeOp *int8 // sqlite3.c:126517:18 _ = _13_zRangeOp _ret = i32(0) _1_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_pLevel.X11))) _1_v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _1_iId = _pParse.X58 _1_pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) _1_flags = _1_pLoop.X9 if (_1_flags&uint32(i32(8192))) == 0 && (int32(_wctrlFlags)&i32(32)) == 0 { goto _1 } r0 = i32(0) return _1: _1_isSearch = bool2int((((_1_flags & uint32(i32(48))) != uint32(i32(0))) || (((_1_flags & uint32(i32(1024))) == uint32(i32(0))) && (int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(32 /* X8 */))))).X0) > i32(0)))) || (int32(_wctrlFlags)&i32(3)) != 0) _sqlite3StrAccumInit(tls, &_1_str, _1_db, (*int8)(unsafe.Pointer(&_1_zBuf)), int32(u64(100)), i32(1000000000)) _sqlite3StrAccumAppendAll(tls, &_1_str, func() *int8 { if _1_isSearch != 0 { return str(111972) } return str(111980) }()) if (*XSelect)(unsafe.Pointer(_1_pItem.X5)) == nil { goto _7 } _sqlite3XPrintf(tls, &_1_str, str(111988), int32(_1_pItem.X10)) goto _8 _7: _sqlite3XPrintf(tls, &_1_str, str(112004), unsafe.Pointer(_1_pItem.X2)) _8: if (_1_pItem.X3) == nil { goto _9 } _sqlite3XPrintf(tls, &_1_str, str(112016), unsafe.Pointer(_1_pItem.X3)) _9: if (_1_flags & uint32(i32(1280))) != uint32(i32(0)) { goto _10 } _5_zFmt = nil func() int32 { if (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(32 /* X8 */))))).X3)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(112024))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_pIdx = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop)) + uintptr(32 /* X8 */))))).X3)) func() int32 { if ((_1_flags & uint32(i32(16384))) == 0) || ((_1_flags & uint32(i32(64))) != 0) { return i32(0) } return func() int32 { 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(112052))) crt.X__builtin_abort(tls) return i32(0) }() }() if (((*XTable)(unsafe.Pointer(_1_pItem.X4)).X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_5_pIdx.X16)<>uint(i32(30))) != i32(2) { goto _17 } if _1_isSearch == 0 { goto _18 } _5_zFmt = str(112104) _18: goto _19 _17: if (_1_flags & uint32(i32(131072))) == 0 { goto _20 } _5_zFmt = str(112116) goto _21 _20: if (_1_flags & uint32(i32(16384))) == 0 { goto _22 } _5_zFmt = str(112152) goto _23 _22: if (_1_flags & uint32(i32(64))) == 0 { goto _24 } _5_zFmt = str(112180) goto _25 _24: _5_zFmt = str(112200) _25: _23: _21: _19: if _5_zFmt == nil { goto _26 } _sqlite3StrAccumAppend(tls, &_1_str, str(112212), i32(7)) _sqlite3XPrintf(tls, &_1_str, _5_zFmt, unsafe.Pointer(_5_pIdx.X0)) _explainIndexRange(tls, &_1_str, _1_pLoop) _26: goto _27 _10: if (_1_flags&uint32(i32(256))) == uint32(i32(0)) || (_1_flags&uint32(i32(15))) == uint32(i32(0)) { goto _29 } if (_1_flags & uint32(i32(5))) == 0 { goto _30 } _13_zRangeOp = str(112220) goto _31 _30: if (_1_flags & uint32(i32(48))) != uint32(i32(48)) { goto _32 } _13_zRangeOp = str(112224) goto _33 _32: if (_1_flags & uint32(i32(32))) == 0 { goto _34 } _13_zRangeOp = str(112240) goto _35 _34: func() int32 { if (_1_flags & uint32(i32(16))) != 0 { return i32(0) } return func() int32 { 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(112244))) crt.X__builtin_abort(tls) return i32(0) }() }() _13_zRangeOp = str(112268) _35: _33: _31: _sqlite3XPrintf(tls, &_1_str, str(112272), unsafe.Pointer(_13_zRangeOp)) goto _38 _29: if (_1_flags & uint32(i32(1024))) == uint32(i32(0)) { goto _39 } _sqlite3XPrintf(tls, &_1_str, str(112312), (*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(32 /* X8 */))))).X0, unsafe.Pointer((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(32 /* X8 */))))).X4)) _39: _38: _27: _1_zMsg = _sqlite3StrAccumFinish(tls, &_1_str) _ret = _sqlite3VdbeAddOp4(tls, _1_v, i32(163), _1_iId, _iLevel, _iFrom, _1_zMsg, i32(-1)) r0 = _ret return } var _sqlite3WhereExplainOneScanØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereExplainOneScanØ00__func__Ø000[0], str(112340), 27) } func _explainIndexRange(tls *crt.TLS, _pStr *XStrAccum, _pLoop *XWhereLoop) { // sqlite3.c:126414:1 var _pIndex *XIndex // sqlite3.c:126415:9 _ = _pIndex var _nEq uint16 // sqlite3.c:126416:7 _ = _nEq var _nSkip uint16 // sqlite3.c:126417:7 _ = _nSkip var _i int32 // sqlite3.c:126418:7 _ = _i var _j int32 // sqlite3.c:126418:10 _ = _j var _1_z *int8 // sqlite3.c:126423:16 _ = _1_z _pIndex = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X3)) _nEq = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X0 _nSkip = _pLoop.X11 if int32(_nEq) != i32(0) || ((_pLoop.X9)&uint32(i32(48))) != uint32(i32(0)) { goto _1 } return _1: _sqlite3StrAccumAppend(tls, _pStr, str(112368), i32(2)) _i = i32(0) _2: if _i >= int32(_nEq) { goto _5 } _1_z = _explainIndexColumnName(tls, _pIndex, _i) if _i == 0 { goto _6 } _sqlite3StrAccumAppend(tls, _pStr, str(112372), i32(5)) _6: _sqlite3XPrintf(tls, _pStr, func() *int8 { if _i >= int32(_nSkip) { return str(112380) } return str(112388) }(), unsafe.Pointer(_1_z)) _i += 1 goto _2 _5: _j = _i if ((_pLoop.X9) & uint32(i32(32))) == 0 { goto _9 } _explainAppendTerm(tls, _pStr, _pIndex, int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X1), _j, _i, str(112240)) _i = i32(1) _9: if ((_pLoop.X9) & uint32(i32(16))) == 0 { goto _10 } _explainAppendTerm(tls, _pStr, _pIndex, int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X2), _j, _i, str(112268)) _10: _sqlite3StrAccumAppend(tls, _pStr, str(38612), i32(1)) return } func _explainIndexColumnName(tls *crt.TLS, _pIdx *XIndex, _i int32) (r0 *int8) { // sqlite3.c:126355:1 _i = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) if _i != i32(-2) { goto _0 } r0 = str(112396) return _0: if _i != i32(-1) { goto _1 } r0 = str(27380) return _1: r0 = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIdx.X3)).X1) + 32*uintptr(_i))).X0 return } func _explainAppendTerm(tls *crt.TLS, _pStr *XStrAccum, _pIdx *XIndex, _nTerm int32, _iTerm int32, _bAnd int32, _zOp *int8) { // sqlite3.c:126370:1 var _i int32 // sqlite3.c:126378:7 _ = _i func() int32 { if _nTerm >= i32(1) { return i32(0) } return func() int32 { 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(112404))) crt.X__builtin_abort(tls) return i32(0) }() }() if _bAnd == 0 { goto _2 } _sqlite3StrAccumAppend(tls, _pStr, str(112372), i32(5)) _2: if _nTerm <= i32(1) { goto _3 } _sqlite3StrAccumAppend(tls, _pStr, str(112416), i32(1)) _3: _i = i32(0) _4: if _i >= _nTerm { goto _7 } if _i == 0 { goto _8 } _sqlite3StrAccumAppend(tls, _pStr, str(112420), i32(1)) _8: _sqlite3StrAccumAppendAll(tls, _pStr, _explainIndexColumnName(tls, _pIdx, _iTerm+_i)) _i += 1 goto _4 _7: if _nTerm <= i32(1) { goto _9 } _sqlite3StrAccumAppend(tls, _pStr, str(38612), i32(1)) _9: _sqlite3StrAccumAppend(tls, _pStr, _zOp, i32(1)) if _nTerm <= i32(1) { goto _10 } _sqlite3StrAccumAppend(tls, _pStr, str(112416), i32(1)) _10: _i = i32(0) _11: if _i >= _nTerm { goto _14 } if _i == 0 { goto _15 } _sqlite3StrAccumAppend(tls, _pStr, str(112420), i32(1)) _15: _sqlite3StrAccumAppend(tls, _pStr, str(51920), i32(1)) _i += 1 goto _11 _14: if _nTerm <= i32(1) { goto _16 } _sqlite3StrAccumAppend(tls, _pStr, str(38612), i32(1)) _16: return } var _explainAppendTermØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_explainAppendTermØ00__func__Ø000[0], str(112424), 18) } func _sqlite3WhereCodeOneLoopStart(tls *crt.TLS, _pWInfo *XWhereInfo, _iLevel int32, _notReady uint64) (r0 uint64) { // sqlite3.c:127373:1 var _j int32 // sqlite3.c:127378:7 _ = _j var _k int32 // sqlite3.c:127378:10 _ = _k var _iCur int32 // sqlite3.c:127379:7 _ = _iCur var _addrNxt int32 // sqlite3.c:127380:7 _ = _addrNxt var _omitTable int32 // sqlite3.c:127381:7 _ = _omitTable var _bRev int32 // sqlite3.c:127382:7 _ = _bRev var _pLevel *XWhereLevel // sqlite3.c:127383:14 _ = _pLevel var _pLoop *XWhereLoop // sqlite3.c:127384:13 _ = _pLoop var _pWC *XWhereClause // sqlite3.c:127385:15 _ = _pWC var _pTerm *XWhereTerm // sqlite3.c:127386:13 _ = _pTerm var _pParse *XParse // sqlite3.c:127387:9 _ = _pParse var _db *Xsqlite3 // sqlite3.c:127388:11 _ = _db var _v *TVdbe // sqlite3.c:127389:8 _ = _v var _pTabItem *TSrcList_item // sqlite3.c:127390:23 _ = _pTabItem var _addrBrk int32 // sqlite3.c:127391:7 _ = _addrBrk var _addrHalt int32 // sqlite3.c:127392:7 _ = _addrHalt var _addrCont int32 // sqlite3.c:127393:7 _ = _addrCont var _iRowidReg int32 // sqlite3.c:127394:7 _ = _iRowidReg var _iReleaseReg int32 // sqlite3.c:127395:7 _ = _iReleaseReg var _3_regYield int32 // sqlite3.c:127441:9 _ = _3_regYield var _4_iReg int32 // sqlite3.c:127454:9 _ = _4_iReg var _4_addrNotFound int32 // sqlite3.c:127455:9 _ = _4_addrNotFound var _4_nConstraint int32 // sqlite3.c:127456:9 _ = _4_nConstraint var _4_iIn int32 // sqlite3.c:127457:9 _ = _4_iIn var _5_iTarget int32 // sqlite3.c:127463:11 _ = _5_iTarget var _7_pRight *XExpr // sqlite3.c:127470:14 _ = _7_pRight var _10_pCompare *XExpr // sqlite3.c:127490:14 _ = _10_pCompare var _10_pRight *XExpr // sqlite3.c:127491:14 _ = _10_pRight var _10_pOp *XVdbeOp // sqlite3.c:127492:16 _ = _10_pOp var _15_testOp int32 // sqlite3.c:127565:9 _ = _15_testOp var _15_start int32 // sqlite3.c:127566:9 _ = _15_start var _15_memEndValue int32 // sqlite3.c:127567:9 _ = _15_memEndValue var _15_pStart *XWhereTerm // sqlite3.c:127568:15 _ = _15_pStart var _15_pEnd *XWhereTerm // sqlite3.c:127568:24 _ = _15_pEnd var _17_pX *XExpr // sqlite3.c:127583:12 _ = _17_pX var _17_r1 int32 // sqlite3.c:127584:11 _ = _17_r1 var _17_rTemp int32 // sqlite3.c:127584:15 _ = _17_rTemp var _17_op int32 // sqlite3.c:127585:11 _ = _17_op var _17_aMoveOp [4]uint8 // sqlite3.c:127590:16 _ = _17_aMoveOp var _21_pX *XExpr // sqlite3.c:127628:12 _ = _21_pX var _26_nEq uint16 // sqlite3.c:127711:9 _ = _26_nEq var _26_nBtm uint16 // sqlite3.c:127712:9 _ = _26_nBtm var _26_nTop uint16 // sqlite3.c:127713:9 _ = _26_nTop var _26_regBase int32 // sqlite3.c:127714:9 _ = _26_regBase var _26_pRangeStart *XWhereTerm // sqlite3.c:127715:15 _ = _26_pRangeStart var _26_pRangeEnd *XWhereTerm // sqlite3.c:127716:15 _ = _26_pRangeEnd var _26_startEq int32 // sqlite3.c:127717:9 _ = _26_startEq var _26_endEq int32 // sqlite3.c:127718:9 _ = _26_endEq var _26_start_constraints int32 // sqlite3.c:127719:9 _ = _26_start_constraints var _26_nConstraint int32 // sqlite3.c:127720:9 _ = _26_nConstraint var _26_pIdx *XIndex // sqlite3.c:127721:11 _ = _26_pIdx var _26_iIdxCur int32 // sqlite3.c:127722:9 _ = _26_iIdxCur var _26_nExtraReg int32 // sqlite3.c:127723:9 _ = _26_nExtraReg var _26_op int32 // sqlite3.c:127724:9 _ = _26_op var _26_zStartAff *int8 // sqlite3.c:127725:10 _ = _26_zStartAff var _26_zEndAff *int8 // sqlite3.c:127726:10 _ = _26_zEndAff var _26_bSeekPastNull uint8 // sqlite3.c:127727:8 _ = _26_bSeekPastNull var _26_bStopAtNull uint8 // sqlite3.c:127728:8 _ = _26_bStopAtNull var _34_t *XWhereTerm // sqlite3.c:127801:22 _ = _34_t var _35_t uint8 // sqlite3.c:127802:7 _ = _35_t var _36_t uint8 // sqlite3.c:127803:7 _ = _36_t var _38_pRight *XExpr // sqlite3.c:127829:12 _ = _38_pRight var _46_pRight *XExpr // sqlite3.c:127878:12 _ = _46_pRight var _58_pPk *XIndex // sqlite3.c:127940:13 _ = _58_pPk var _65_pOrWc *XWhereClause // sqlite3.c:128012:17 _ = _65_pOrWc var _65_pOrTab *XSrcList // sqlite3.c:128013:13 _ = _65_pOrTab var _65_pCov *XIndex // sqlite3.c:128014:11 _ = _65_pCov var _65_iCovCur int32 // sqlite3.c:128015:9 _ = _65_iCovCur var _65_regReturn int32 // sqlite3.c:128017:9 _ = _65_regReturn var _65_regRowset int32 // sqlite3.c:128018:9 _ = _65_regRowset var _65_regRowid int32 // sqlite3.c:128019:9 _ = _65_regRowid var _65_iLoopBody int32 // sqlite3.c:128020:9 _ = _65_iLoopBody var _65_iRetInit int32 // sqlite3.c:128021:9 _ = _65_iRetInit var _65_untestedTerms int32 // sqlite3.c:128022:9 _ = _65_untestedTerms var _65_ii int32 // sqlite3.c:128023:9 _ = _65_ii var _65_wctrlFlags uint16 // sqlite3.c:128024:9 _ = _65_wctrlFlags var _65_pAndExpr *XExpr // sqlite3.c:128025:10 _ = _65_pAndExpr var _65_pTab *XTable // sqlite3.c:128026:11 _ = _65_pTab var _66_nNotReady int32 // sqlite3.c:128041:11 _ = _66_nNotReady var _66_origSrc *TSrcList_item // sqlite3.c:128042:27 _ = _66_origSrc var _71_pPk *XIndex // sqlite3.c:128075:15 _ = _71_pPk var _72_iTerm int32 // sqlite3.c:128099:11 _ = _72_iTerm var _73_pExpr *XExpr // sqlite3.c:128101:14 _ = _73_pExpr var _75_pOrTerm *XWhereTerm // sqlite3.c:128123:17 _ = _75_pOrTerm var _76_pSubWInfo *XWhereInfo // sqlite3.c:128125:19 _ = _76_pSubWInfo var _76_pOrExpr *XExpr // sqlite3.c:128126:14 _ = _76_pOrExpr var _76_jmp1 int32 // sqlite3.c:128127:13 _ = _76_jmp1 var _78_pSubLoop *XWhereLoop // sqlite3.c:128138:21 _ = _78_pSubLoop var _78_addrExplain int32 // sqlite3.c:128139:15 _ = _78_addrExplain var _79_r int32 // sqlite3.c:128150:17 _ = _79_r var _79_iSet int32 // sqlite3.c:128151:17 _ = _79_iSet var _81_pPk *XIndex // sqlite3.c:128158:21 _ = _81_pPk var _81_nPk int32 // sqlite3.c:128159:19 _ = _81_nPk var _81_iPk int32 // sqlite3.c:128160:19 _ = _81_iPk var _82_iCol int32 // sqlite3.c:128165:21 _ = _82_iCol var _91_pE *XExpr // sqlite3.c:128284:10 _ = _91_pE var _91_skipLikeAddr int32 // sqlite3.c:128285:9 _ = _91_skipLikeAddr var _94_x uint32 // sqlite3.c:128309:11 _ = _94_x var _95_pE *XExpr // sqlite3.c:128329:10 _ = _95_pE var _95_sEAlt XExpr // sqlite3.c:128329:15 _ = _95_sEAlt var _95_pAlt *XWhereTerm // sqlite3.c:128330:15 _ = _95_pAlt _iRowidReg = i32(0) _iReleaseReg = i32(0) _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pWC = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(96 /* X21 */))) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(_iLevel))) _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) _pTabItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 112*uintptr(_pLevel.X11))) _iCur = _pTabItem.X11 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(80 /* X19 */))) = _notReady & (^_sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(648 /* X22 */))), _iCur)) _bRev = int32(((_pWInfo.X19) >> uint(_iLevel)) & uint64(i32(1))) _omitTable = bool2int((((_pLoop.X9) & uint32(i32(64))) != uint32(i32(0))) && ((int32(_pWInfo.X9) & i32(32)) == i32(0))) _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))) _addrCont = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(24 /* X6 */))), _sqlite3VdbeMakeLabel(tls, _v)) if int32(_pLevel.X11) <= i32(0) || (int32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+112*uintptr(i32(0))))))+uintptr(60 /* X9 */))).X0)&i32(8)) == i32(0) { goto _2 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(0 /* X0 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _pLevel.X0) _sqlite3VdbeComment(tls, _v, str(112444)) _2: _j = _iLevel _3: if _j <= i32(0) || ((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */)))))+88*uintptr(_j))).X0) != i32(0) { goto _7 } _j -= 1 goto _3 _7: _addrHalt = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(_j))).X3 if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _8 } _3_regYield = _pTabItem.X7 _sqlite3VdbeAddOp3(tls, _v, i32(15), _3_regYield, i32(0), _pTabItem.X6) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _sqlite3VdbeAddOp2(tls, _v, i32(16), _3_regYield, _addrBrk) _sqlite3VdbeComment(tls, _v, str(111792), unsafe.Pointer((*XTable)(unsafe.Pointer(_pTabItem.X4)).X0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(13)) goto _9 _8: if ((_pLoop.X9) & uint32(i32(1024))) == uint32(i32(0)) { goto _10 } _4_nConstraint = int32(_pLoop.X10) _sqlite3ExprCachePush(tls, _pParse) _4_iReg = _sqlite3GetTempRange(tls, _pParse, _4_nConstraint+i32(2)) _4_addrNotFound = _pLevel.X3 _j = i32(0) _11: if _j >= _4_nConstraint { goto _14 } _5_iTarget = (_4_iReg + _j) + i32(2) _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j))) if func() int32 { if _pTerm == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _17 } goto _12 _17: if (int32(_pTerm.X4) & i32(1)) == 0 { goto _18 } _codeEqualityTerm(tls, _pParse, _pTerm, _pLevel, _j, _bRev, _5_iTarget) _4_addrNotFound = _pLevel.X4 goto _19 _18: _7_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) _codeExprOrVector(tls, _pParse, _7_pRight, _5_iTarget, i32(1)) _19: _12: _j += 1 goto _11 _14: _sqlite3VdbeAddOp2(tls, _v, i32(77), (*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0, _4_iReg) _sqlite3VdbeAddOp2(tls, _v, i32(77), _4_nConstraint, _4_iReg+i32(1)) _sqlite3VdbeAddOp4(tls, _v, i32(11), _iCur, _4_addrNotFound, _4_iReg, (*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X4, func() int32 { if ((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X1) != 0 { return i32(-1) } return i32(-2) }()) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _iCur *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(func() int32 { if (_pWInfo.X13) != 0 { return i32(162) } return i32(71) }()) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _sqlite3VdbeCurrentAddr(tls, _v) _4_iIn = (*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0 _j = _4_nConstraint - i32(1) _24: if _j < i32(0) { goto _27 } _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j))) if _j >= i32(16) || ((int32((*T6565985)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X3)>>uint(_j))&i32(1)) == 0 { goto _29 } _disableTerm(tls, _pLevel, _pTerm) goto _30 _29: if (int32(_pTerm.X4) & i32(1)) == i32(0) { goto _31 } func() int32 { if ((*TInLoop)(unsafe.Pointer((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1)) != (*TInLoop)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(112476))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) != 0 { goto _35 } func() int32 { if _4_iIn > i32(0) { return i32(0) } return func() int32 { 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(112520))) crt.X__builtin_abort(tls) return i32(0) }() }() _10_pOp = _sqlite3VdbeGetOp(tls, _v, (*TInLoop)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1)+12*uintptr(preInc961(&_4_iIn, -1)))).X1) func() int32 { if (int32(_10_pOp.X0) == i32(98)) || (int32(_10_pOp.X0) == i32(123)) { return i32(0) } return func() int32 { 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(112528))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_10_pOp.X0) != i32(98)) || ((_10_pOp.X5) == ((_4_iReg + _j) + i32(2))) { return i32(0) } return func() int32 { 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(112576))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_10_pOp.X0) != i32(123)) || ((_10_pOp.X4) == ((_4_iReg + _j) + i32(2))) { return i32(0) } return func() int32 { 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(112620))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, int32(_10_pOp.X0), _10_pOp.X3, _10_pOp.X4, _10_pOp.X5) _35: _10_pCompare = _sqlite3PExpr(tls, _pParse, i32(37), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) func() int32 { if (_10_pCompare != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(112664))) crt.X__builtin_abort(tls) return i32(0) }() }() if _10_pCompare == nil { goto _50 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pCompare)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pCompare)) + uintptr(24 /* X5 */))))) = store5518888(&_10_pRight, _sqlite3Expr(tls, _db, i32(157), (*int8)(unsafe.Pointer(uintptr(i32(0)))))) if _10_pRight == nil { goto _51 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pRight)) + uintptr(44 /* X8 */))) = (_4_iReg + _j) + i32(2) _sqlite3ExprIfFalse(tls, _pParse, _10_pCompare, _pLevel.X6, i32(0)) _51: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pCompare)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ExprDelete(tls, _db, _10_pCompare) _50: _31: _30: _j -= 1 goto _24 _27: _sqlite3ExprCachePop(tls, _pParse) goto _52 _10: if ((_pLoop.X9)&uint32(i32(256))) == uint32(i32(0)) || ((_pLoop.X9)&uint32(i32(5))) == uint32(i32(0)) { goto _54 } func() int32 { if int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0) == i32(1) { return i32(0) } return func() int32 { 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(112696))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(i32(0)))) func() int32 { if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(112720))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XExpr)(unsafe.Pointer(_pTerm.X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(112732))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _omitTable == i32(0) { return i32(0) } return func() int32 { 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(112748))) crt.X__builtin_abort(tls) return i32(0) }() }() _iReleaseReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _iRowidReg = _codeEqualityTerm(tls, _pParse, _pTerm, _pLevel, i32(0), _bRev, _iReleaseReg) if _iRowidReg == _iReleaseReg { goto _63 } _sqlite3ReleaseTempReg(tls, _pParse, _iReleaseReg) _63: _addrNxt = _pLevel.X4 _sqlite3VdbeAddOp3(tls, _v, i32(32), _iCur, _addrNxt, _iRowidReg) _sqlite3ExprCacheAffinityChange(tls, _pParse, _iRowidReg, i32(1)) _sqlite3ExprCacheStore(tls, _pParse, _iCur, i32(-1), _iRowidReg) _sqlite3VdbeComment(tls, _v, str(97576)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(162)) goto _64 _54: if ((_pLoop.X9)&uint32(i32(256))) == uint32(i32(0)) || ((_pLoop.X9)&uint32(i32(2))) == uint32(i32(0)) { goto _66 } _15_testOp = i32(162) _15_memEndValue = i32(0) func() int32 { if _omitTable == i32(0) { return i32(0) } return func() int32 { 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(112748))) crt.X__builtin_abort(tls) return i32(0) }() }() _j = i32(0) _15_pStart = store6568967(&_15_pEnd, (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) if ((_pLoop.X9) & uint32(i32(32))) == 0 { goto _69 } _15_pStart = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(postInc961(&_j, int32(1))))) _69: if ((_pLoop.X9) & uint32(i32(16))) == 0 { goto _70 } _15_pEnd = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(postInc961(&_j, int32(1))))) _70: func() int32 { if (_15_pStart != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) || (_15_pEnd != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(112764))) crt.X__builtin_abort(tls) return i32(0) }() }() if _bRev == 0 { goto _74 } _pTerm = _15_pStart _15_pStart = _15_pEnd _15_pEnd = _pTerm _74: if _15_pStart == nil { goto _75 } _17_aMoveOp = [4]uint8{u8(26), u8(24), u8(23), u8(25)} i32(0) i32(0) i32(0) func() int32 { if (int32(_15_pStart.X3) & i32(0)) == i32(0) { return i32(0) } return func() int32 { 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(112788))) crt.X__builtin_abort(tls) return i32(0) }() }() _17_pX = (*XExpr)(unsafe.Pointer(_15_pStart.X0)) func() int32 { if _17_pX != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68036))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_17_pX.X5))) == 0 { goto _80 } _17_r1 = store961(&_17_rTemp, _sqlite3GetTempReg(tls, _pParse)) _codeExprOrVector(tls, _pParse, (*XExpr)(unsafe.Pointer(_17_pX.X5)), _17_r1, i32(1)) _17_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_17_aMoveOp)) + 1*uintptr((int32(_17_pX.X0)-i32(38))|i32(1))))) goto _81 _80: _17_r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_17_pX.X5)), &_17_rTemp) _disableTerm(tls, _pLevel, _15_pStart) _17_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_17_aMoveOp)) + 1*uintptr(int32(_17_pX.X0)-i32(38))))) _81: _sqlite3VdbeAddOp3(tls, _v, _17_op, _iCur, _addrBrk, _17_r1) _sqlite3VdbeComment(tls, _v, str(97576)) _sqlite3ExprCacheAffinityChange(tls, _pParse, _17_r1, i32(1)) _sqlite3ReleaseTempReg(tls, _pParse, _17_rTemp) goto _82 _75: _sqlite3VdbeAddOp2(tls, _v, func() int32 { if _bRev != 0 { return i32(53) } return i32(58) }(), _iCur, _addrHalt) _82: if _15_pEnd == nil { goto _85 } _21_pX = (*XExpr)(unsafe.Pointer(_15_pEnd.X0)) func() int32 { if _21_pX != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(68036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_15_pEnd.X3) & i32(0)) == i32(0) { return i32(0) } return func() int32 { 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(112824))) crt.X__builtin_abort(tls) return i32(0) }() }() _15_memEndValue = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _codeExprOrVector(tls, _pParse, (*XExpr)(unsafe.Pointer(_21_pX.X5)), _15_memEndValue, i32(1)) if i32(0) != _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_21_pX.X5))) || int32(_21_pX.X0) != i32(40) && int32(_21_pX.X0) != i32(38) { goto _92 } _15_testOp = func() int32 { if _bRev != 0 { return i32(39) } return i32(41) }() goto _95 _92: _15_testOp = func() int32 { if _bRev != 0 { return i32(40) } return i32(38) }() _95: if i32(0) != _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_21_pX.X5))) { goto _98 } _disableTerm(tls, _pLevel, _15_pEnd) _98: _85: _15_start = _sqlite3VdbeCurrentAddr(tls, _v) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(func() int32 { if _bRev != 0 { return i32(6) } return i32(7) }()) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _iCur *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _15_start func() int32 { if int32(_pLevel.X14) == i32(0) { return i32(0) } return func() int32 { 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(112856))) crt.X__builtin_abort(tls) return i32(0) }() }() if _15_testOp == i32(162) { goto _103 } _iRowidReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(123), _iCur, _iRowidReg) _sqlite3ExprCacheStore(tls, _pParse, _iCur, i32(-1), _iRowidReg) _sqlite3VdbeAddOp3(tls, _v, _15_testOp, _15_memEndValue, _addrBrk, _iRowidReg) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(83))) _103: goto _104 _66: if ((_pLoop.X9) & uint32(i32(512))) == 0 { goto _105 } _26_nEq = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X0 _26_nBtm = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X1 _26_nTop = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X2 _26_pRangeStart = nil _26_pRangeEnd = nil _26_nExtraReg = i32(0) _26_zEndAff = nil _26_bSeekPastNull = u8(0) _26_bStopAtNull = u8(0) _26_pIdx = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X3)) _26_iIdxCur = _pLevel.X2 func() int32 { if int32(_26_nEq) >= int32(_pLoop.X11) { return i32(0) } return func() int32 { 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(112872))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(112892))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pWInfo.X9)&i32(1)) == i32(0) || int32(_pWInfo.X11) <= i32(0) || int32(_26_pIdx.X13) <= int32(_26_nEq) { goto _114 } func() int32 { if int32(_pLoop.X11) == i32(0) { return i32(0) } return func() int32 { 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(112988))) crt.X__builtin_abort(tls) return i32(0) }() }() _26_bSeekPastNull = uint8(i32(1)) _26_nExtraReg = i32(1) _114: _j = int32(_26_nEq) if ((_pLoop.X9) & uint32(i32(32))) == 0 { goto _117 } _26_pRangeStart = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(postInc961(&_j, int32(1))))) _26_nExtraReg = func() int32 { if _26_nExtraReg > int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X1) { return _26_nExtraReg } return int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X1) }() func() int32 { if ((int32(_26_pRangeStart.X3) & i32(256)) == i32(0)) || (((_pLoop.X9) & uint32(i32(16))) != uint32(i32(0))) { return i32(0) } return func() int32 { 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(113004))) crt.X__builtin_abort(tls) return i32(0) }() }() _117: if ((_pLoop.X9) & uint32(i32(16))) == 0 { goto _123 } _26_pRangeEnd = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(postInc961(&_j, int32(1))))) _26_nExtraReg = func() int32 { if _26_nExtraReg > int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X2) { return _26_nExtraReg } return int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X2) }() if (int32(_26_pRangeEnd.X3) & i32(256)) == i32(0) { goto _126 } func() int32 { if _26_pRangeStart != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(113088))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_26_pRangeStart.X3) & i32(256)) != 0 { return i32(0) } return func() int32 { 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(113104))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(36 /* X9 */))) = uint32(preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), int32(_pLevel.X9)) _sqlite3VdbeComment(tls, _v, str(113140)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(40 /* X10 */))) = _sqlite3VdbeCurrentAddr(tls, _v) func() int32 { if (_bRev & i32(-2)) == i32(0) { return i32(0) } return func() int32 { 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(113160))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(36 /* X9 */))) *p = (*p) << uint(i32(1)) sink985 = *p } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(36 /* X9 */))) *p = (*p) | uint32(_bRev^bool2int(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pIdx.X7)) + 1*uintptr(_26_nEq)))) == i32(1))) sink985 = *p } _126: if _26_pRangeStart != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _133 } _j = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pIdx.X1)) + 2*uintptr(_26_nEq)))) if (_j < i32(0) || int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_26_pIdx.X3)).X1)+32*uintptr(_j))).X3) != i32(0)) && _j != i32(-2) { goto _136 } _26_bSeekPastNull = uint8(i32(1)) _136: _133: _123: func() int32 { if (_26_pRangeEnd == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) || ((int32(_26_pRangeEnd.X3) & i32(0)) == i32(0)) { return i32(0) } return func() int32 { 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(113176))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)) { goto _143 } _34_t = _26_pRangeEnd _26_pRangeEnd = _26_pRangeStart _26_pRangeStart = _34_t _35_t = _26_bSeekPastNull _26_bSeekPastNull = _26_bStopAtNull _26_bStopAtNull = _35_t _36_t = uint8(_26_nBtm) _26_nBtm = _26_nTop _26_nTop = uint16(_36_t) _143: _26_regBase = _codeAllEqualityTerms(tls, _pParse, _pLevel, _bRev, _26_nExtraReg, &_26_zStartAff) func() int32 { if (_26_zStartAff == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_sqlite3Strlen30(tls, _26_zStartAff) >= int32(_26_nEq)) { return i32(0) } return func() int32 { 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(113232))) crt.X__builtin_abort(tls) return i32(0) }() }() if _26_zStartAff == nil || _26_nTop == 0 { goto _148 } _26_zEndAff = _sqlite3DbStrDup(tls, _db, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_zStartAff))+1*uintptr(_26_nEq)))) _148: _addrNxt = _pLevel.X4 _26_startEq = bool2int((_26_pRangeStart == nil) || (int32(_26_pRangeStart.X4)&i32(40)) != 0) _26_endEq = bool2int((_26_pRangeEnd == nil) || (int32(_26_pRangeEnd.X4)&i32(40)) != 0) _26_start_constraints = bool2int((_26_pRangeStart != nil) || (int32(_26_nEq) > i32(0))) _26_nConstraint = int32(_26_nEq) if _26_pRangeStart == nil { goto _152 } _38_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_26_pRangeStart.X0)).X5)) _codeExprOrVector(tls, _pParse, _38_pRight, _26_regBase+int32(_26_nEq), int32(_26_nBtm)) _whereLikeOptimizationStringFixup(tls, _v, _pLevel, _26_pRangeStart) if (int32(_26_pRangeStart.X3)&i32(0)) != i32(0) || _sqlite3ExprCanBeNull(tls, _38_pRight) == 0 { goto _154 } _sqlite3VdbeAddOp2(tls, _v, i32(34), _26_regBase+int32(_26_nEq), _addrNxt) _154: if _26_zStartAff == nil { goto _155 } _updateRangeAffinityStr(tls, _38_pRight, int32(_26_nBtm), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_zStartAff))+1*uintptr(_26_nEq)))) _155: { p := &_26_nConstraint *p = (*p) + int32(_26_nBtm) sink961 = *p } if _sqlite3ExprIsVector(tls, _38_pRight) != i32(0) { goto _156 } _disableTerm(tls, _pLevel, _26_pRangeStart) goto _157 _156: _26_startEq = i32(1) _157: _26_bSeekPastNull = uint8(i32(0)) goto _158 _152: if _26_bSeekPastNull == 0 { goto _159 } _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _26_regBase+int32(_26_nEq)) _26_nConstraint += 1 _26_startEq = i32(0) _26_start_constraints = i32(1) _159: _158: _codeApplyAffinity(tls, _pParse, _26_regBase, _26_nConstraint-int32(_26_bSeekPastNull), _26_zStartAff) if int32(_pLoop.X11) <= i32(0) || _26_nConstraint != int32(_pLoop.X11) { goto _161 } goto _162 _161: _26_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3WhereCodeOneLoopStartØ00aStartOpØ001)) + 1*uintptr(((_26_start_constraints<= int32(_58_pPk.X13) { goto _189 } _k = int32(_sqlite3ColumnOfIndex(tls, _26_pIdx, *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_58_pPk.X1)) + 2*uintptr(_j))))) _sqlite3VdbeAddOp3(tls, _v, i32(98), _26_iIdxCur, _k, _iRowidReg+_j) _j += 1 goto _186 _189: _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iCur, _addrCont, _iRowidReg, int32(_58_pPk.X13)) _185: _184: _178: if ((_pLoop.X9) & uint32(i32(4096))) == 0 { goto _190 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(162)) goto _191 _190: if _bRev == 0 { goto _192 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(6)) goto _193 _192: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(7)) _193: _191: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _26_iIdxCur *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(46 /* X13 */))) = uint8(func() int32 { if ((_pLoop.X9) & uint32(i32(65536))) != uint32(i32(0)) { return i32(1) } return i32(0) }()) if ((_pLoop.X9) & uint32(i32(15))) != uint32(i32(0)) { goto _196 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(47 /* X14 */))) = uint8(i32(1)) goto _197 _196: func() int32 { if int32(_pLevel.X14) == i32(0) { return i32(0) } return func() int32 { 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(112856))) crt.X__builtin_abort(tls) return i32(0) }() }() _197: goto _200 _105: if ((_pLoop.X9) & uint32(i32(8192))) == 0 { goto _201 } _65_pCov = nil _65_iCovCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _65_regReturn = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _65_regRowset = i32(0) _65_regRowid = i32(0) _65_iLoopBody = _sqlite3VdbeMakeLabel(tls, _v) _65_untestedTerms = i32(0) _65_pAndExpr = nil _65_pTab = (*XTable)(unsafe.Pointer(_pTabItem.X4)) _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(i32(0)))) func() int32 { if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(112720))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pTerm.X4) & i32(512)) != 0 { return i32(0) } return func() int32 { 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(113288))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pTerm.X3) & i32(16)) != i32(0) { return i32(0) } return func() int32 { 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(113316))) crt.X__builtin_abort(tls) return i32(0) }() }() _65_pOrWc = (*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */)))))) + uintptr(0 /* X0 */))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(73)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _65_regReturn if int32(_pWInfo.X10) <= i32(1) { goto _208 } _66_nNotReady = (int32(_pWInfo.X10) - _iLevel) - i32(1) _65_pOrTab = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, u64(120)+(uint64(_66_nNotReady)*u64(112))))) if _65_pOrTab != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _209 } r0 = _notReady return _209: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab)) + uintptr(4 /* X1 */))) = uint32(uint8(_66_nNotReady + i32(1))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab)) + uintptr(0 /* X0 */))) = int32(_65_pOrTab.X1) crt.Xmemcpy(tls, (unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab))+uintptr(8 /* X2 */)))), (unsafe.Pointer)(_pTabItem), u64(112)) _66_origSrc = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pWInfo.X1) + uintptr(8 /* X2 */))))) _k = i32(1) _210: if _k > _66_nNotReady { goto _213 } crt.Xmemcpy(tls, (unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab))+uintptr(8 /* X2 */)))))+112*uintptr(_k)))), (unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_66_origSrc))+112*uintptr((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+88*uintptr(_k))).X11)))), u64(112)) _k += 1 goto _210 _213: goto _214 _208: _65_pOrTab = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) _214: if (int32(_pWInfo.X9) & i32(16)) != i32(0) { goto _215 } if ((_65_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _216 } _65_regRowset = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _65_regRowset) goto _217 _216: _71_pPk = _sqlite3PrimaryKeyIndex(tls, _65_pTab) _65_regRowset = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(108), _65_regRowset, int32(_71_pPk.X13)) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _71_pPk) _217: _65_regRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _215: _65_iRetInit = _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _65_regReturn) if (_pWC.X3) <= i32(1) { goto _218 } _72_iTerm = i32(0) _219: if _72_iTerm >= (_pWC.X3) { goto _222 } _73_pExpr = (*XExpr)(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 64*uintptr(_72_iTerm))).X0)) if (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_72_iTerm))) != _pTerm { goto _223 } goto _220 _223: if ((_73_pExpr.X2) & uint32(i32(1))) == uint32(i32(0)) { goto _224 } goto _220 _224: if (int32((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_72_iTerm))).X3) & i32(6)) == i32(0) { goto _225 } goto _220 _225: if (int32((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+64*uintptr(_72_iTerm))).X4) & i32(8191)) != i32(0) { goto _226 } goto _220 _226: _73_pExpr = _sqlite3ExprDup(tls, _db, _73_pExpr, i32(0)) _65_pAndExpr = _sqlite3ExprAnd(tls, _db, _65_pAndExpr, _73_pExpr) _220: _72_iTerm += 1 goto _219 _222: if _65_pAndExpr == nil { goto _227 } _65_pAndExpr = _sqlite3PExpr(tls, _pParse, i32(284), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _65_pAndExpr) _227: _218: _65_wctrlFlags = uint16(i32(32) | (int32(_pWInfo.X9) & i32(1024))) _65_ii = i32(0) _228: if _65_ii >= (_65_pOrWc.X3) { goto _231 } _75_pOrTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_65_pOrWc.X5) + 64*uintptr(_65_ii))) if (_75_pOrTerm.X8) != _iCur && (int32(_75_pOrTerm.X4)&i32(1024)) == i32(0) { goto _233 } _76_pOrExpr = (*XExpr)(unsafe.Pointer(_75_pOrTerm.X0)) _76_jmp1 = i32(0) if _65_pAndExpr == nil || ((_76_pOrExpr.X2)&uint32(i32(1))) != uint32(i32(0)) { goto _235 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pAndExpr)) + uintptr(16 /* X4 */))))) = _76_pOrExpr _76_pOrExpr = _65_pAndExpr _235: _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) func() int32 { if ((_76_pSubWInfo != nil) || (_pParse.X16) != 0) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(113352))) crt.X__builtin_abort(tls) return i32(0) }() }() if _76_pSubWInfo == nil { goto _240 } _78_addrExplain = _sqlite3WhereExplainOneScan(tls, _pParse, _65_pOrTab, (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_76_pSubWInfo))+uintptr(912 /* X23 */)))))+88*uintptr(i32(0)))), _iLevel, int32(_pLevel.X11), uint16(i32(0))) if (int32(_pWInfo.X9) & i32(16)) != i32(0) { goto _241 } _79_iSet = func() int32 { if _65_ii == ((_65_pOrWc.X3) - i32(1)) { return i32(-1) } return _65_ii }() if ((_65_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _244 } _79_r = _sqlite3ExprCodeGetColumn(tls, _pParse, _65_pTab, i32(-1), _iCur, _65_regRowid, uint8(i32(0))) _76_jmp1 = _sqlite3VdbeAddOp4Int(tls, _v, i32(64), _65_regRowset, i32(0), _79_r, _79_iSet) goto _245 _244: _81_pPk = _sqlite3PrimaryKeyIndex(tls, _65_pTab) _81_nPk = int32(_81_pPk.X13) _79_r = _sqlite3GetTempRange(tls, _pParse, _81_nPk) _81_iPk = i32(0) _246: if _81_iPk >= _81_nPk { goto _249 } _82_iCol = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_pPk.X1)) + 2*uintptr(_81_iPk)))) _sqlite3ExprCodeGetColumnToReg(tls, _pParse, _65_pTab, _82_iCol, _iCur, _79_r+_81_iPk) _81_iPk += 1 goto _246 _249: if _79_iSet == 0 { goto _250 } _76_jmp1 = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _65_regRowset, i32(0), _79_r, _81_nPk) _250: if _79_iSet < i32(0) { goto _251 } _sqlite3VdbeAddOp3(tls, _v, i32(100), _79_r, _81_nPk, _65_regRowid) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _65_regRowset, _65_regRowid, _79_r, _81_nPk) if _79_iSet == 0 { goto _252 } _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) _252: _251: _sqlite3ReleaseTempRange(tls, _pParse, _79_r, _81_nPk) _245: _241: _sqlite3VdbeAddOp2(tls, _v, i32(14), _65_regReturn, _65_iLoopBody) if _76_jmp1 == 0 { goto _253 } _sqlite3VdbeJumpHere(tls, _v, _76_jmp1) _253: if (_76_pSubWInfo.X14) == 0 { goto _254 } _65_untestedTerms = i32(1) _254: _78_pSubLoop = (*XWhereLoop)(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_76_pSubWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(i32(0)))).X18)) func() int32 { if ((_78_pSubLoop.X9) & uint32(i32(16384))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(113400))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_78_pSubLoop.X9)&uint32(i32(512))) == uint32(i32(0)) || _65_ii != i32(0) && (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_78_pSubLoop))+uintptr(32 /* X8 */))))).X3)) != _65_pCov || ((_65_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) && int32((uint32((*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_78_pSubLoop))+uintptr(32 /* X8 */))))).X3)).X16)<>uint(i32(30))) == i32(2) { goto _261 } func() int32 { if ((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_76_pSubWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(i32(0)))).X2) == _65_iCovCur { return i32(0) } return func() int32 { 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(113444))) crt.X__builtin_abort(tls) return i32(0) }() }() _65_pCov = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_78_pSubLoop)) + uintptr(32 /* X8 */))))).X3)) goto _264 _261: _65_pCov = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _264: _sqlite3WhereEnd(tls, _76_pSubWInfo) _240: _233: _65_ii += 1 goto _228 _231: *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))))) = _65_pCov if _65_pCov == nil { goto _265 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(8 /* X2 */))) = _65_iCovCur _265: if _65_pAndExpr == nil { goto _266 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pAndExpr)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ExprDelete(tls, _db, _65_pAndExpr) _266: _sqlite3VdbeChangeP1(tls, _v, uint32(_65_iRetInit), _sqlite3VdbeCurrentAddr(tls, _v)) _sqlite3VdbeGoto(tls, _v, _pLevel.X3) _sqlite3VdbeResolveLabel(tls, _v, _65_iLoopBody) if int32(_pWInfo.X10) <= i32(1) { goto _267 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_65_pOrTab)) _267: if _65_untestedTerms != 0 { goto _268 } _disableTerm(tls, _pLevel, _pTerm) _268: goto _269 _201: func() int32 { if (_bRev == i32(0)) || (_bRev == i32(1)) { return i32(0) } return func() int32 { 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(113480))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _273 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(162)) goto _274 _273: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3WhereCodeOneLoopStartØ00aStepØ003)) + 1*uintptr(_bRev))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _iCur *(*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) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(47 /* X14 */))) = uint8(i32(1)) _274: _269: _200: _104: _64: _52: _9: *func() *int32 { _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)); return &_j }() = _pWC.X3 _275: if _j <= i32(0) { goto _278 } _91_skipLikeAddr = i32(0) if (int32(_pTerm.X3) & i32(6)) == 0 { goto _279 } goto _276 _279: if ((_pTerm.X12) & (_pLevel.X19)) == uint64(i32(0)) { goto _280 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(62 /* X14 */))) = uint8(i32(1)) goto _276 _280: _91_pE = (*XExpr)(unsafe.Pointer(_pTerm.X0)) func() int32 { if _91_pE != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(113500))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pLevel.X0) == 0 || ((_91_pE.X2)&uint32(i32(1))) != uint32(i32(0)) { goto _284 } goto _276 _284: if (int32(_pTerm.X3) & i32(512)) == 0 { goto _285 } _94_x = _pLevel.X9 func() int32 { if _94_x > uint32(i32(0)) { return i32(0) } return func() int32 { 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(113508))) crt.X__builtin_abort(tls) return i32(0) }() }() _91_skipLikeAddr = _sqlite3VdbeAddOp1(tls, _v, func() int32 { if (_94_x & uint32(i32(1))) != 0 { return i32(22) } return i32(21) }(), int32(_94_x>>uint(i32(1)))) _285: _sqlite3ExprIfFalse(tls, _pParse, _91_pE, _addrCont, i32(16)) if _91_skipLikeAddr == 0 { goto _290 } _sqlite3VdbeJumpHere(tls, _v, _91_skipLikeAddr) _290: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } _276: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _j -= 1; return &_pTerm }())) += uintptr(64) goto _275 _278: *func() *int32 { _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)); return &_j }() = _pWC.X3 _291: if _j <= i32(0) { goto _294 } if (int32(_pTerm.X3) & i32(6)) == 0 { goto _295 } goto _292 _295: if (int32(_pTerm.X4) & i32(130)) != i32(0) { goto _296 } goto _292 _296: if (int32(_pTerm.X4) & i32(2048)) != i32(0) { goto _297 } goto _292 _297: if (_pTerm.X8) == _iCur { goto _298 } goto _292 _298: if (_pLevel.X0) == 0 { goto _299 } goto _292 _299: _95_pE = (*XExpr)(unsafe.Pointer(_pTerm.X0)) func() int32 { if ((_95_pE.X2) & uint32(i32(1))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(113512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pTerm.X11) & (_pLevel.X19)) != uint64(i32(0)) { return i32(0) } return func() int32 { 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(113548))) crt.X__builtin_abort(tls) return i32(0) }() }() _95_pAlt = _sqlite3WhereFindTerm(tls, _pWC, _iCur, *(*int32)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X10 */))))), _notReady, uint32(i32(131)), (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) if _95_pAlt != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { goto _304 } goto _292 _304: if (int32(_95_pAlt.X3) & i32(4)) == 0 { goto _305 } goto _292 _305: _95_sEAlt = *(*XExpr)(unsafe.Pointer(_95_pAlt.X0)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_95_sEAlt)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer(_95_pE.X4)) _sqlite3ExprIfFalse(tls, _pParse, &_95_sEAlt, _addrCont, i32(16)) _292: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _j -= 1; return &_pTerm }())) += uintptr(64) goto _291 _294: if (_pLevel.X0) == 0 { goto _306 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(28 /* X7 */))) = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _pLevel.X0) _sqlite3VdbeComment(tls, _v, str(113592)) _sqlite3ExprCacheClear(tls, _pParse) *func() *int32 { _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)); return &_j }() = i32(0) _307: if _j >= (_pWC.X3) { goto _310 } if (int32(_pTerm.X3) & i32(6)) == 0 { goto _311 } goto _308 _311: if ((_pTerm.X12) & (_pLevel.X19)) == uint64(i32(0)) { goto _312 } func() int32 { if (_pWInfo.X14) != 0 { return i32(0) } return func() int32 { 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(113616))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _308 _312: func() int32 { if (*XExpr)(unsafe.Pointer(_pTerm.X0)) != nil { return i32(0) } return func() int32 { 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(113640))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pTerm.X0)), _addrCont, i32(16)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } _308: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _j += 1; return &_pTerm }())) += uintptr(64) goto _307 _310: _306: r0 = _pLevel.X19 return } var _sqlite3WhereCodeOneLoopStartØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereCodeOneLoopStartØ00__func__Ø000[0], str(113656), 29) } func _codeEqualityTerm(tls *crt.TLS, _pParse *XParse, _pTerm *XWhereTerm, _pLevel *XWhereLevel, _iEq int32, _bRev int32, _iTarget int32) (r0 int32) { // sqlite3.c:126721:1 var _pX *XExpr // sqlite3.c:126729:8 _ = _pX var _v *TVdbe // sqlite3.c:126730:8 _ = _v var _iReg int32 // sqlite3.c:126731:7 _ = _iReg var _3_eType int32 // sqlite3.c:126742:9 _ = _3_eType var _3_iTab int32 // sqlite3.c:126743:9 _ = _3_iTab var _3_pIn *TInLoop // sqlite3.c:126744:19 _ = _3_pIn var _3_pLoop *XWhereLoop // sqlite3.c:126745:15 _ = _3_pLoop var _3_i int32 // sqlite3.c:126746:9 _ = _3_i var _3_nEq int32 // sqlite3.c:126747:9 _ = _3_nEq var _3_aiMap *int32 // sqlite3.c:126748:9 _ = _3_aiMap var _9_pSelect *XSelect // sqlite3.c:126774:14 _ = _9_pSelect var _9_db *Xsqlite3 // sqlite3.c:126775:15 _ = _9_db var _9_savedDbOptFlags uint16 // sqlite3.c:126776:11 _ = _9_savedDbOptFlags var _9_pOrigRhs *XExprList // sqlite3.c:126777:16 _ = _9_pOrigRhs var _9_pOrigLhs *XExprList // sqlite3.c:126778:16 _ = _9_pOrigLhs var _9_pRhs *XExprList // sqlite3.c:126779:16 _ = _9_pRhs var _9_pLhs *XExprList // sqlite3.c:126780:16 _ = _9_pLhs var _11_iField int32 // sqlite3.c:126784:15 _ = _11_iField var _11_pNewRhs *XExpr // sqlite3.c:126785:16 _ = _11_pNewRhs var _11_pNewLhs *XExpr // sqlite3.c:126786:16 _ = _11_pNewLhs var _12_pLeft *XExpr // sqlite3.c:126793:14 _ = _12_pLeft var _13_pOrderBy *XExprList // sqlite3.c:126803:20 _ = _13_pOrderBy var _19_iMap int32 // sqlite3.c:126854:11 _ = _19_iMap var _21_iOut int32 // sqlite3.c:126858:15 _ = _21_iOut var _23_iCol int32 // sqlite3.c:126863:17 _ = _23_iCol _pX = (*XExpr)(unsafe.Pointer(_pTerm.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereLoop)(unsafe.Pointer(_pLevel.X18)).X13)) + 8*uintptr(_iEq)))) == _pTerm { return i32(0) } return func() int32 { 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(113688))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iTarget > i32(0) { return i32(0) } return func() int32 { 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(113724))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pX.X0) != i32(37) && int32(_pX.X0) != i32(29) { goto _5 } _iReg = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer(_pX.X5)), _iTarget) goto _6 _5: if int32(_pX.X0) != i32(34) { goto _7 } _iReg = _iTarget _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _iReg) goto _8 _7: _3_eType = i32(5) _3_pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) _3_nEq = i32(0) _3_aiMap = nil if ((_3_pLoop.X9)&uint32(i32(1024))) != uint32(i32(0)) || (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop))+uintptr(32 /* X8 */))))).X3)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop))+uintptr(32 /* X8 */))))).X3)).X7)) + 1*uintptr(_iEq)))) == 0 { goto _11 } _bRev = bool2int(_bRev == 0) _11: func() int32 { if int32(_pX.X0) == i32(33) { return i32(0) } return func() int32 { 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(106368))) crt.X__builtin_abort(tls) return i32(0) }() }() _iReg = _iTarget _3_i = i32(0) _14: if _3_i >= _iEq { goto _17 } if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))) == nil || (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))).X0)) != _pX { goto _19 } _disableTerm(tls, _pLevel, _pTerm) r0 = _iTarget return _19: _3_i += 1 goto _14 _17: _3_i = _iEq _20: if _3_i >= int32(_3_pLoop.X10) { goto _23 } if func() int32 { if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))) != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))).X0)) != _pX { goto _27 } _3_nEq += 1 _27: _3_i += 1 goto _20 _23: if ((_pX.X2)&uint32(i32(2048))) != uint32(i32(0)) && ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(32 /* X6 */))))))).X0)).X0) != i32(1) { goto _29 } _3_eType = _sqlite3FindInIndex(tls, _pParse, _pX, uint32(i32(4)), (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) goto _30 _29: _9_pSelect = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(32 /* X6 */))))))) _9_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _9_savedDbOptFlags = _9_db.X13 _9_pOrigRhs = (*XExprList)(unsafe.Pointer(_9_pSelect.X0)) _9_pOrigLhs = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr(_pX.X4) + uintptr(32 /* X6 */))))))) _9_pRhs = nil _9_pLhs = nil _3_i = _iEq _31: if _3_i >= int32(_3_pLoop.X10) { goto _34 } if (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))).X0)) != _pX { goto _35 } _11_iField = ((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))).X9) - i32(1) _11_pNewRhs = _sqlite3ExprDup(tls, _9_db, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_9_pOrigRhs.X1)+32*uintptr(_11_iField))).X0)), i32(0)) _11_pNewLhs = _sqlite3ExprDup(tls, _9_db, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_9_pOrigLhs.X1)+32*uintptr(_11_iField))).X0)), i32(0)) _9_pRhs = _sqlite3ExprListAppend(tls, _pParse, _9_pRhs, _11_pNewRhs) _9_pLhs = _sqlite3ExprListAppend(tls, _pParse, _9_pLhs, _11_pNewLhs) _35: _3_i += 1 goto _31 _34: if (_9_db.X17) != 0 { goto _36 } _12_pLeft = (*XExpr)(unsafe.Pointer(_pX.X4)) if (*XExprList)(unsafe.Pointer(_9_pSelect.X12)) == nil { goto _37 } _13_pOrderBy = (*XExprList)(unsafe.Pointer(_9_pSelect.X12)) _3_i = i32(0) _38: if _3_i >= (_13_pOrderBy.X0) { goto _41 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_13_pOrderBy.X1)+32*uintptr(_3_i)))))+uintptr(28 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) _3_i += 1 goto _38 _41: _37: if (_9_pLhs.X0) != i32(1) { goto _42 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_9_pLhs.X1) + 32*uintptr(i32(0)))).X0)) goto _43 _42: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pLeft)) + uintptr(32 /* X6 */))))))) = _9_pLhs _3_aiMap = (*int32)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), u64(4)*uint64(_3_nEq)))) _43: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pSelect)) + uintptr(0 /* X0 */))))) = _9_pRhs { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_db)) + uintptr(80 /* X13 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _3_eType = _sqlite3FindInIndex(tls, _pParse, _pX, uint32(i32(4)), (*int32)(unsafe.Pointer(uintptr(i32(0)))), _3_aiMap) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_db)) + uintptr(80 /* X13 */))) = _9_savedDbOptFlags *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pSelect)) + uintptr(0 /* X0 */))))) = _9_pOrigRhs *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pLeft)) + uintptr(32 /* X6 */))))))) = _9_pOrigLhs *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(16 /* X4 */))))) = _12_pLeft _36: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_pLhs) _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_pRhs) _30: if _3_eType != i32(4) { goto _44 } _bRev = bool2int(_bRev == 0) _44: _3_iTab = _pX.X8 _sqlite3VdbeAddOp2(tls, _v, func() int32 { if _bRev != 0 { return i32(53) } return i32(58) }(), _3_iTab, i32(0)) func() int32 { if ((_3_pLoop.X9) & uint32(i32(8192))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(113736))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop)) + uintptr(48 /* X9 */))) *p = (*p) | uint32(i32(2048)) sink985 = *p } if ((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0) != i32(0) { goto _49 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(16 /* X4 */))) = _sqlite3VdbeMakeLabel(tls, _v) _49: _3_i = (*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))))) + uintptr(0 /* X0 */))) *p = (*p) + _3_nEq sink961 = *p } *(**TInLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))))) + uintptr(8 /* X1 */))))) = (*TInLoop)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1, u64(12)*uint64((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X0)))) _3_pIn = (*TInLoop)(unsafe.Pointer((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X1)) if _3_pIn == nil { goto _50 } _19_iMap = i32(0) { p := &_3_pIn *p = (*TInLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 12*uintptr(_3_i))) sink6571434 = *p } _3_i = _iEq _51: if _3_i >= int32(_3_pLoop.X10) { goto _54 } if (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 8*uintptr(_3_i)))).X0)) != _pX { goto _55 } _21_iOut = (_iReg + _3_i) - _iEq if _3_eType != i32(1) { goto _56 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(4 /* X1 */))) = _sqlite3VdbeAddOp2(tls, _v, i32(123), _3_iTab, _21_iOut) goto _57 _56: _23_iCol = func() int32 { if _3_aiMap != nil { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_aiMap)) + 4*uintptr(postInc961(&_19_iMap, int32(1)))))) } return i32(0) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(4 /* X1 */))) = _sqlite3VdbeAddOp3(tls, _v, i32(98), _3_iTab, _23_iCol, _21_iOut) _57: _sqlite3VdbeAddOp1(tls, _v, i32(34), _21_iOut) if _3_i != _iEq { goto _60 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(0 /* X0 */))) = _3_iTab *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(8 /* X2 */))) = uint8(func() int32 { if _bRev != 0 { return i32(4) } return i32(5) }()) goto _63 _60: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(8 /* X2 */))) = uint8(i32(162)) _63: *(*uintptr)(unsafe.Pointer(&_3_pIn)) += uintptr(12) _55: _3_i += 1 goto _51 _54: goto _64 _50: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))))) + uintptr(0 /* X0 */))) = i32(0) _64: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_3_aiMap)) _8: _6: _disableTerm(tls, _pLevel, _pTerm) r0 = _iReg return } var _codeEqualityTermØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_codeEqualityTermØ00__func__Ø000[0], str(113776), 17) } func _disableTerm(tls *crt.TLS, _pLevel *XWhereLevel, _pTerm *XWhereTerm) { // sqlite3.c:126622:1 var _nLoop int32 // sqlite3.c:126623:7 _ = _nLoop _nLoop = i32(0) _0: if func() int32 { if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 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)) { goto _1 } if _nLoop == 0 || (int32(_pTerm.X3)&i32(1024)) == i32(0) { goto _9 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(512)) sink4530 = *p } goto _10 _9: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(18 /* X3 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } _10: if (_pTerm.X7) >= i32(0) { goto _11 } goto _1 _11: _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X5) + 64*uintptr(_pTerm.X7))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(22 /* X5 */))) -= 1 if int32(_pTerm.X5) == i32(0) { goto _12 } goto _1 _12: _nLoop += 1 goto _0 _1: return } var _disableTermØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_disableTermØ00__func__Ø000[0], str(113796), 12) } func _codeExprOrVector(tls *crt.TLS, _pParse *XParse, _p *XExpr, _iReg int32, _nReg int32) { // sqlite3.c:127345:1 var _2_v *TVdbe // sqlite3.c:127350:12 _ = _2_v var _2_iSelect int32 // sqlite3.c:127351:11 _ = _2_iSelect var _3_i int32 // sqlite3.c:127356:11 _ = _3_i var _3_pList *XExprList // sqlite3.c:127357:16 _ = _3_pList func() int32 { if _nReg > i32(0) { return i32(0) } return func() int32 { 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(113808))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprIsVector(tls, _p) == 0 { goto _2 } if ((_p.X2) & uint32(i32(2048))) == 0 { goto _3 } _2_v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _2_iSelect = _sqlite3CodeSubselect(tls, _pParse, _p, i32(0), i32(0)) _sqlite3VdbeAddOp3(tls, _2_v, i32(85), _2_iSelect, _iReg, _nReg-i32(1)) goto _4 _3: _3_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))))))) func() int32 { if _nReg <= (_3_pList.X0) { return i32(0) } return func() int32 { 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(113816))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_i = i32(0) _7: if _3_i >= _nReg { goto _10 } _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_3_pList.X1)+32*uintptr(_3_i))).X0)), _iReg+_3_i) _3_i += 1 goto _7 _10: _4: goto _11 _2: func() int32 { if _nReg == i32(1) { return i32(0) } return func() int32 { 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(113836))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCode(tls, _pParse, _p, _iReg) _11: return } var _codeExprOrVectorØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_codeExprOrVectorØ00__func__Ø000[0], str(113844), 17) } func _codeAllEqualityTerms(tls *crt.TLS, _pParse *XParse, _pLevel *XWhereLevel, _bRev int32, _nExtraReg int32, _pzAff **int8) (r0 int32) { // sqlite3.c:126931:1 var _nEq uint16 // sqlite3.c:126938:7 _ = _nEq var _nSkip uint16 // sqlite3.c:126939:7 _ = _nSkip var _v *TVdbe // sqlite3.c:126940:8 _ = _v var _pIdx *XIndex // sqlite3.c:126941:9 _ = _pIdx var _pTerm *XWhereTerm // sqlite3.c:126942:13 _ = _pTerm var _pLoop *XWhereLoop // sqlite3.c:126943:13 _ = _pLoop var _j int32 // sqlite3.c:126944:7 _ = _j var _regBase int32 // sqlite3.c:126945:7 _ = _regBase var _nReg int32 // sqlite3.c:126946:7 _ = _nReg var _zAff *int8 // sqlite3.c:126947:8 _ = _zAff var _1_iIdxCur int32 // sqlite3.c:126967:9 _ = _1_iIdxCur var _3_r1 int32 // sqlite3.c:126989:9 _ = _3_r1 var _9_pRight *XExpr // sqlite3.c:127014:12 _ = _9_pRight _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) func() int32 { if ((_pLoop.X9) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(113864))) crt.X__builtin_abort(tls) return i32(0) }() }() _nEq = (*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X0 _nSkip = _pLoop.X11 _pIdx = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X3)) func() int32 { if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43052))) crt.X__builtin_abort(tls) return i32(0) }() }() _regBase = (_pParse.X18) + i32(1) _nReg = int32((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X0) + _nExtraReg { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nReg sink961 = *p } _zAff = _sqlite3DbStrDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIdx)) func() int32 { if (_zAff != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(113908))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nSkip == 0 { goto _7 } _1_iIdxCur = _pLevel.X2 _sqlite3VdbeAddOp1(tls, _v, func() int32 { if _bRev != 0 { return i32(53) } return i32(58) }(), _1_iIdxCur) _sqlite3VdbeComment(tls, _v, str(113944), unsafe.Pointer(_pIdx.X0)) _j = _sqlite3VdbeAddOp0(tls, _v, i32(13)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(20 /* X5 */))) = _sqlite3VdbeAddOp4Int(tls, _v, func() int32 { if _bRev != 0 { return i32(23) } return i32(26) }(), _1_iIdxCur, i32(0), _regBase, int32(_nSkip)) _sqlite3VdbeJumpHere(tls, _v, _j) _j = i32(0) _12: if _j >= int32(_nSkip) { goto _15 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _1_iIdxCur, _j, _regBase+_j) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_explainIndexColumnName(tls, _pIdx, _j))) _j += 1 goto _12 _15: _7: func() int32 { if (_zAff == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(crt.Xstrlen(tls, _zAff)) >= int32(_nEq)) { return i32(0) } return func() int32 { 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(113968))) crt.X__builtin_abort(tls) return i32(0) }() }() _j = int32(_nSkip) _19: if _j >= int32(_nEq) { goto _22 } _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 8*uintptr(_j))) func() int32 { if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(112720))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_r1 = _codeEqualityTerm(tls, _pParse, _pTerm, _pLevel, _j, _bRev, _regBase+_j) if _3_r1 == (_regBase + _j) { goto _25 } if _nReg != i32(1) { goto _26 } _sqlite3ReleaseTempReg(tls, _pParse, _regBase) _regBase = _3_r1 goto _27 _26: _sqlite3VdbeAddOp2(tls, _v, i32(86), _3_r1, _regBase+_j) _27: _25: if (int32(_pTerm.X4) & i32(1)) == 0 { goto _28 } if (((*XExpr)(unsafe.Pointer(_pTerm.X0)).X2) & uint32(i32(2048))) == 0 { goto _29 } if _zAff == nil { goto _30 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))) = int8(i32(65)) _30: _29: goto _31 _28: if (int32(_pTerm.X4) & i32(256)) != i32(0) { goto _32 } _9_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) if (int32(_pTerm.X3)&i32(2048)) != i32(0) || _sqlite3ExprCanBeNull(tls, _9_pRight) == 0 { goto _34 } _sqlite3VdbeAddOp2(tls, _v, i32(34), _regBase+_j, _pLevel.X3) _34: if _zAff == nil { goto _35 } if int32(_sqlite3CompareAffinity(tls, _9_pRight, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))))) != i32(65) { goto _36 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))) = int8(i32(65)) _36: if _sqlite3ExprNeedsNoAffinityChange(tls, _9_pRight, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j)))) == 0 { goto _37 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))) = int8(i32(65)) _37: _35: _32: _31: _j += 1 goto _19 _22: *_pzAff = _zAff r0 = _regBase return } var _codeAllEqualityTermsØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_codeAllEqualityTermsØ00__func__Ø000[0], str(114004), 21) } func _sqlite3ExprNeedsNoAffinityChange(tls *crt.TLS, _p *XExpr, _aff int8) (r0 int32) { // sqlite3.c:92671:1 var _op uint8 // sqlite3.c:92672:6 _ = _op if int32(_aff) != i32(65) { goto _0 } r0 = i32(1) return _0: _1: if int32(_p.X0) != i32(156) && int32(_p.X0) != i32(155) { goto _2 } _p = (*XExpr)(unsafe.Pointer(_p.X4)) goto _1 _2: _op = _p.X0 if int32(_op) != i32(157) { goto _4 } _op = _p.X12 _4: switch int32(_op) { case i32(97): goto _8 case i32(132): goto _7 case i32(133): goto _9 case i32(134): goto _6 case i32(152): goto _10 default: goto _11 } _6: r0 = bool2int((int32(_aff) == i32(68)) || (int32(_aff) == i32(67))) return _7: r0 = bool2int((int32(_aff) == i32(69)) || (int32(_aff) == i32(67))) return _8: r0 = bool2int(int32(_aff) == i32(66)) return _9: r0 = i32(1) return _10: func() int32 { if (_p.X8) >= i32(0) { return i32(0) } return func() int32 { 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(114028))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = bool2int((int32(_p.X9) < i32(0)) && ((int32(_aff) == i32(68)) || (int32(_aff) == i32(67)))) return _11: r0 = i32(0) return } var _sqlite3ExprNeedsNoAffinityChangeØ00__func__Ø000 [33]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprNeedsNoAffinityChangeØ00__func__Ø000[0], str(114044), 33) } func _whereLikeOptimizationStringFixup(tls *crt.TLS, _v *TVdbe, _pLevel *XWhereLevel, _pTerm *XWhereTerm) { // sqlite3.c:127051:1 var _1_pOp *XVdbeOp // sqlite3.c:127057:12 _ = _1_pOp if (int32(_pTerm.X3) & i32(256)) == 0 { goto _0 } func() int32 { if (_pLevel.X9) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(114080))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_pOp = _sqlite3VdbeGetOp(tls, _v, i32(-1)) func() int32 { if _1_pOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(114104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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) { return i32(0) } return func() int32 { 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(114112))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(12 /* X5 */))) = int32((_pLevel.X9) >> uint(i32(1))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(2 /* X2 */))) = uint16(uint8((_pLevel.X9) & uint32(i32(1)))) _0: return } var _whereLikeOptimizationStringFixupØ00__func__Ø000 [33]int8 // - func init() { crt.Xstrncpy(nil, &_whereLikeOptimizationStringFixupØ00__func__Ø000[0], str(114184), 33) } func _updateRangeAffinityStr(tls *crt.TLS, _pRight *XExpr, _n int32, _zAff *int8) { // sqlite3.c:126690:1 var _i int32 // sqlite3.c:126695:7 _ = _i var _1_p *XExpr // sqlite3.c:126697:10 _ = _1_p _i = i32(0) _0: if _i >= _n { goto _3 } _1_p = _sqlite3VectorFieldSubexpr(tls, _pRight, _i) 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 { goto _5 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_i))) = int8(i32(65)) _5: _i += 1 goto _0 _3: return } func _codeApplyAffinity(tls *crt.TLS, _pParse *XParse, _base int32, _n int32, _zAff *int8) { // sqlite3.c:126653:1 var _v *TVdbe // sqlite3.c:126654:8 _ = _v _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) if _zAff != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { return i32(0) } return func() int32 { 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(43496))) crt.X__builtin_abort(tls) return i32(0) }() }() return _0: func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _5: if _n <= i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(i32(0))))) != i32(65) { goto _6 } _n -= 1 _base += 1 *(*uintptr)(unsafe.Pointer(&_zAff)) += uintptr(1) goto _5 _6: _8: if _n <= i32(1) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_n-i32(1))))) != i32(65) { goto _9 } _n -= 1 goto _8 _9: if _n <= i32(0) { goto _11 } _sqlite3VdbeAddOp4(tls, _v, i32(99), _base, _n, i32(0), _zAff, _n) _sqlite3ExprCacheAffinityChange(tls, _pParse, _base, _n) _11: return } var _codeApplyAffinityØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_codeApplyAffinityØ00__func__Ø000[0], str(114220), 18) } var _sqlite3WhereCodeOneLoopStartØ00aStartOpØ001 [8]uint8 // sqlite3.c:127695:21 func init() { _sqlite3WhereCodeOneLoopStartØ00aStartOpØ001 = [8]uint8{0, 0, 58, 53, 26, 23, 25, 24} } var _sqlite3WhereCodeOneLoopStartØ00aEndOpØ002 [4]uint8 // sqlite3.c:127705:21 func init() { _sqlite3WhereCodeOneLoopStartØ00aEndOpØ002 = [4]uint8{62, 60, 59, 61} } func _codeDeferredSeek(tls *crt.TLS, _pWInfo *XWhereInfo, _pIdx *XIndex, _iCur int32, _iIdxCur int32) { // sqlite3.c:127306:1 var _pParse *XParse // sqlite3.c:127312:9 _ = _pParse var _v *TVdbe // sqlite3.c:127313:8 _ = _v var _1_i int32 // sqlite3.c:127322:9 _ = _1_i var _1_pTab *XTable // sqlite3.c:127323:11 _ = _1_pTab var _1_ai *int32 // sqlite3.c:127324:9 _ = _1_ai _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _iIdxCur > i32(0) { return i32(0) } return func() int32 { 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(114240))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(int32(_pIdx.X14)-i32(1))))) == i32(-1) { return i32(0) } return func() int32 { 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(114252))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, i32(128), _iIdxCur, i32(0), _iCur) if (int32(_pWInfo.X9)&i32(32)) == 0 || (func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }().X29) != uint32(i32(0)) { goto _7 } _1_pTab = (*XTable)(unsafe.Pointer(_pIdx.X3)) _1_ai = (*int32)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), u64(4)*uint64(int32(_1_pTab.X11)+i32(1))))) if _1_ai == nil { goto _8 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ai)) + 4*uintptr(i32(0)))) = int32(_1_pTab.X11) _1_i = i32(0) _9: if _1_i >= (int32(_pIdx.X14) - i32(1)) { goto _12 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_i)))) < int32(_1_pTab.X11) { return i32(0) } return func() int32 { 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(114288))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_i)))) < i32(0) { goto _15 } *(*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) _15: _1_i += 1 goto _9 _12: _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_1_ai)), i32(-12)) _8: _7: return } var _codeDeferredSeekØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_codeDeferredSeekØ00__func__Ø000[0], str(114320), 17) } func _sqlite3ExprCodeGetColumnToReg(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iColumn int32, _iTable int32, _iReg int32) { // sqlite3.c:93991:1 var _r1 int32 // sqlite3.c:93998:7 _ = _r1 _r1 = _sqlite3ExprCodeGetColumn(tls, _pParse, _pTab, _iColumn, _iTable, _iReg, uint8(i32(0))) if _r1 == _iReg { goto _0 } _sqlite3VdbeAddOp2(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), i32(86), _r1, _iReg) _0: return } func _sqlite3WhereEnd(tls *crt.TLS, _pWInfo *XWhereInfo) { // sqlite3.c:134664:1 var _pParse *XParse // sqlite3.c:134665:9 _ = _pParse var _v *TVdbe // sqlite3.c:134666:8 _ = _v var _i int32 // sqlite3.c:134667:7 _ = _i var _pLevel *XWhereLevel // sqlite3.c:134668:14 _ = _pLevel var _pLoop *XWhereLoop // sqlite3.c:134669:13 _ = _pLoop var _pTabList *XSrcList // sqlite3.c:134670:11 _ = _pTabList var _db *Xsqlite3 // sqlite3.c:134671:11 _ = _db var _1_addr int32 // sqlite3.c:134678:9 _ = _1_addr var _3_pIn *TInLoop // sqlite3.c:134691:21 _ = _3_pIn var _3_j int32 // sqlite3.c:134692:11 _ = _3_j var _8_ws int32 // sqlite3.c:134720:11 _ = _8_ws var _13_k int32 // sqlite3.c:134749:9 _ = _13_k var _13_last int32 // sqlite3.c:134749:12 _ = _13_last var _13_pOp *XVdbeOp // sqlite3.c:134750:12 _ = _13_pOp var _13_pIdx *XIndex // sqlite3.c:134751:11 _ = _13_pIdx var _13_pTabItem *TSrcList_item // sqlite3.c:134752:25 _ = _13_pTabItem var _13_pTab *XTable // sqlite3.c:134753:11 _ = _13_pTab var _19_x int32 // sqlite3.c:134794:15 _ = _19_x var _20_pPk *XIndex // sqlite3.c:134797:19 _ = _20_pPk _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pTabList = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _sqlite3ExprCacheClear(tls, _pParse) _i = int32(_pWInfo.X10) - i32(1) _0: if _i < i32(0) { goto _3 } _pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(_i))) _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) _sqlite3VdbeResolveLabel(tls, _v, _pLevel.X6) if int32(_pLevel.X12) == i32(162) { goto _4 } _sqlite3VdbeAddOp3(tls, _v, int32(_pLevel.X12), _pLevel.X15, _pLevel.X16, int32(_pLevel.X13)) _sqlite3VdbeChangeP5(tls, _v, uint16(_pLevel.X14)) _4: if ((_pLoop.X9)&uint32(i32(2048))) == 0 || ((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X0) <= i32(0) { goto _6 } _sqlite3VdbeResolveLabel(tls, _v, _pLevel.X4) *func() **TInLoop { _3_j = (*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0 return &_3_pIn }() = (*TInLoop)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1) + 12*uintptr(_3_j-i32(1)))) _7: if _3_j <= i32(0) { goto _10 } _sqlite3VdbeJumpHere(tls, _v, (_3_pIn.X1)+i32(1)) if int32(_3_pIn.X2) == i32(162) { goto _11 } _sqlite3VdbeAddOp2(tls, _v, int32(_3_pIn.X2), _3_pIn.X0, _3_pIn.X1) _11: _sqlite3VdbeJumpHere(tls, _v, (_3_pIn.X1)-i32(1)) *(*uintptr)(unsafe.Pointer(func() **TInLoop { _3_j -= 1; return &_3_pIn }())) += uintptr(18446744073709551604) goto _7 _10: _6: _sqlite3VdbeResolveLabel(tls, _v, _pLevel.X3) if (_pLevel.X5) == 0 { goto _12 } _sqlite3VdbeGoto(tls, _v, _pLevel.X5) _sqlite3VdbeComment(tls, _v, str(114340), unsafe.Pointer((*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(32 /* X8 */))))).X3)).X0)) _sqlite3VdbeJumpHere(tls, _v, _pLevel.X5) _sqlite3VdbeJumpHere(tls, _v, (_pLevel.X5)-i32(2)) _12: if (_pLevel.X10) == 0 { goto _13 } _sqlite3VdbeAddOp2(tls, _v, i32(69), int32((_pLevel.X9)>>uint(i32(1))), _pLevel.X10) _13: if (_pLevel.X0) == 0 { goto _14 } _8_ws = int32(_pLoop.X9) _1_addr = _sqlite3VdbeAddOp1(tls, _v, i32(67), _pLevel.X0) func() int32 { if ((_8_ws & i32(64)) == i32(0)) || ((_8_ws & i32(512)) != i32(0)) { return i32(0) } return func() int32 { 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(114364))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_8_ws & i32(64)) != i32(0) { goto _18 } _sqlite3VdbeAddOp1(tls, _v, i32(124), (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(_i))).X11) _18: if (_8_ws&i32(512)) == 0 && ((_8_ws&i32(8192)) == 0 || (*XIndex)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))))) == nil) { goto _21 } _sqlite3VdbeAddOp1(tls, _v, i32(124), _pLevel.X2) _21: if int32(_pLevel.X12) != i32(73) { goto _22 } _sqlite3VdbeAddOp2(tls, _v, i32(14), _pLevel.X15, _pLevel.X7) goto _23 _22: _sqlite3VdbeGoto(tls, _v, _pLevel.X7) _23: _sqlite3VdbeJumpHere(tls, _v, _1_addr) _14: _i -= 1 goto _0 _3: _sqlite3VdbeResolveLabel(tls, _v, _pWInfo.X7) func() int32 { if int32(_pWInfo.X10) <= (_pTabList.X0) { return i32(0) } return func() int32 { 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(114416))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **XWhereLevel { _i = i32(0); return &_pLevel }() = (*XWhereLevel)(unsafe.Pointer((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(912 /* X23 */))))) _26: if _i >= int32(_pWInfo.X10) { goto _29 } _13_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _13_pTabItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(_pLevel.X11))) _13_pTab = (*XTable)(unsafe.Pointer(_13_pTabItem.X4)) func() int32 { if _13_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) if ((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pTabItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { goto _32 } _translateColumnToCopy(tls, _pParse, _pLevel.X8, _pLevel.X1, _13_pTabItem.X8, i32(0)) goto _27 _32: if ((_pLoop.X9) & uint32(i32(576))) == 0 { goto _33 } _13_pIdx = (*XIndex)(unsafe.Pointer((*T6565946)(unsafe.Pointer((*T6566023)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(32 /* X8 */))))).X3)) goto _34 _33: if ((_pLoop.X9) & uint32(i32(8192))) == 0 { goto _35 } _13_pIdx = (*XIndex)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))))) _35: _34: 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 { goto _39 } _13_last = _sqlite3VdbeCurrentAddr(tls, _v) _13_k = _pLevel.X8 _13_pOp = _sqlite3VdbeGetOp(tls, _v, _13_k) _40: if _13_k >= _13_last { goto _43 } if (_13_pOp.X3) == (_pLevel.X1) { goto _44 } goto _41 _44: if int32(_13_pOp.X0) != i32(98) { goto _45 } _19_x = _13_pOp.X4 func() int32 { if (*XTable)(unsafe.Pointer(_13_pIdx.X3)) == _13_pTab { return i32(0) } return func() int32 { 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(114448))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_13_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { goto _48 } _20_pPk = _sqlite3PrimaryKeyIndex(tls, _13_pTab) _19_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pPk.X1)) + 2*uintptr(_19_x)))) func() int32 { if _19_x >= i32(0) { return i32(0) } return func() int32 { 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(114468))) crt.X__builtin_abort(tls) return i32(0) }() }() _48: _19_x = int32(_sqlite3ColumnOfIndex(tls, _13_pIdx, int16(_19_x))) if _19_x < i32(0) { goto _51 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(8 /* X4 */))) = _19_x *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(4 /* X3 */))) = _pLevel.X2 _51: func() int32 { if ((((_pLoop.X9) & uint32(i32(64))) == uint32(i32(0))) || (_19_x >= i32(0))) || ((_pWInfo.X13) != 0) { return i32(0) } return func() int32 { 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(114476))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _56 _45: if int32(_13_pOp.X0) != i32(123) { goto _57 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(4 /* X3 */))) = _pLevel.X2 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(129)) _57: _56: _41: *(*uintptr)(unsafe.Pointer(func() **XVdbeOp { _13_k += 1; return &_13_pOp }())) += uintptr(32) goto _40 _43: _39: _27: *(*uintptr)(unsafe.Pointer(func() **XWhereLevel { _i += 1; return &_pLevel }())) += uintptr(88) goto _26 _29: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(188 /* X42 */))) = uint32(_pWInfo.X8) _whereInfoFree(tls, _db, _pWInfo) return } var _sqlite3WhereEndØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereEndØ00__func__Ø000[0], str(114544), 16) } func _whereInfoFree(tls *crt.TLS, _db *Xsqlite3, _pWInfo *XWhereInfo) { // sqlite3.c:131684:1 var _1_i int32 // sqlite3.c:131686:9 _ = _1_i var _2_pLevel *XWhereLevel // sqlite3.c:131688:18 _ = _2_pLevel var _4_p *XWhereLoop // sqlite3.c:131695:17 _ = _4_p if func() int32 { if _pWInfo != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2 } _1_i = i32(0) _3: if _1_i >= int32(_pWInfo.X10) { goto _6 } _2_pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(912 /* X23 */))))) + 88*uintptr(_1_i))) if (*XWhereLoop)(unsafe.Pointer(_2_pLevel.X18)) == nil || (((*XWhereLoop)(unsafe.Pointer(_2_pLevel.X18)).X9)&uint32(i32(2048))) == 0 { goto _8 } _sqlite3DbFree(tls, _db, (*XExprList)(unsafe.Pointer((*T6289724)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pLevel))+uintptr(56 /* X17 */))))).X1) _8: _1_i += 1 goto _3 _6: _sqlite3WhereClauseClear(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(96 /* X21 */)))) _9: if (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)) == nil { goto _10 } _4_p = (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)) *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(72 /* X18 */))))) = (*XWhereLoop)(unsafe.Pointer(_4_p.X14)) _whereLoopDelete(tls, _db, _4_p) goto _9 _10: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pWInfo)) _2: return } var _whereInfoFreeØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_whereInfoFreeØ00__func__Ø000[0], str(114560), 14) } func _sqlite3WhereClauseClear(tls *crt.TLS, _pWC *XWhereClause) { // sqlite3.c:129721:1 var _i int32 // sqlite3.c:129722:7 _ = _i var _a *XWhereTerm // sqlite3.c:129723:13 _ = _a var _db *Xsqlite3 // sqlite3.c:129724:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)).X0)) *func() **XWhereTerm { _i = (_pWC.X3) - i32(1); return &_a }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) _0: if _i < i32(0) { goto _3 } if (int32(_a.X3) & i32(1)) == 0 { goto _4 } _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_a.X0))) _4: if (int32(_a.X3) & i32(16)) == 0 { goto _5 } _whereOrInfoDelete(tls, _db, (*XWhereOrInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + uintptr(40 /* X10 */)))))))) goto _6 _5: if (int32(_a.X3) & i32(32)) == 0 { goto _7 } _whereAndInfoDelete(tls, _db, (*XWhereAndInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T6289219)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + uintptr(40 /* X10 */)))))))) _7: _6: *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_a }())) += uintptr(64) goto _0 _3: if (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) == (*XWhereTerm)(unsafe.Pointer((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC))+uintptr(40 /* X6 */))))) { goto _8 } _sqlite3DbFree(tls, _db, _pWC.X5) _8: return } func _whereOrInfoDelete(tls *crt.TLS, _db *Xsqlite3, _p *XWhereOrInfo) { // sqlite3.c:128406:1 _sqlite3WhereClauseClear(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } func _whereAndInfoDelete(tls *crt.TLS, _db *Xsqlite3, _p *XWhereAndInfo) { // sqlite3.c:128414:1 _sqlite3WhereClauseClear(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) return } var _sqlite3WhereCodeOneLoopStartØ00aStepØ003 [2]uint8 // sqlite3.c:128258:21 func init() { _sqlite3WhereCodeOneLoopStartØ00aStepØ003 = [2]uint8{7, 6} } var _sqlite3WhereCodeOneLoopStartØ00aStartØ004 [2]uint8 // sqlite3.c:128259:21 func init() { _sqlite3WhereCodeOneLoopStartØ00aStartØ004 = [2]uint8{58, 53} } func _sqlite3WhereOutputRowCount(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int16) { // sqlite3.c:129868:1 r0 = _pWInfo.X20 return } func _sqlite3WhereIsDistinct(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129876:1 r0 = int32(_pWInfo.X15) return } func _sqlite3WhereIsOrdered(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129884:1 r0 = int32(_pWInfo.X11) return } func _sqlite3WhereOrderedInnerLoop(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129896:1 r0 = int32(_pWInfo.X16) return } func _sqlite3WhereContinueLabel(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129904:1 func() int32 { if (_pWInfo.X6) != i32(0) { return i32(0) } return func() int32 { 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(114576))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pWInfo.X6 return } var _sqlite3WhereContinueLabelØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereContinueLabelØ00__func__Ø000[0], str(114600), 26) } func _sqlite3WhereBreakLabel(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129913:1 r0 = _pWInfo.X7 return } func _sqlite3ExprAnalyzeAggList(tls *crt.TLS, _pNC *XNameContext, _pList *XExprList) { // sqlite3.c:95772:1 var _pItem *TExprList_item // sqlite3.c:95773:24 _ = _pItem var _i int32 // sqlite3.c:95774:7 _ = _i if _pList == nil { goto _0 } *func() *int32 { _pItem = (*TExprList_item)(unsafe.Pointer(_pList.X1)); return &_i }() = i32(0) _1: if _i >= (_pList.X0) { goto _4 } _sqlite3ExprAnalyzeAggregates(tls, _pNC, (*XExpr)(unsafe.Pointer(_pItem.X0))) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _1 _4: _0: return } func _sqlite3ExprAnalyzeAggregates(tls *crt.TLS, _pNC *XNameContext, _pExpr *XExpr) { // sqlite3.c:95756:1 var _w XWalker // sqlite3.c:95757:10 _ = _w crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _analyzeAggregate *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X2 */))))) = _analyzeAggregatesInSelect *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))))) = _pNC func() int32 { if (*XSrcList)(unsafe.Pointer(_pNC.X1)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(98412))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3WalkExpr(tls, &_w, _pExpr) return } func _analyzeAggregate(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:95616:1 var _i int32 // sqlite3.c:95617:7 _ = _i var _pNC *XNameContext // sqlite3.c:95618:15 _ = _pNC var _pParse *XParse // sqlite3.c:95619:9 _ = _pParse var _pSrcList *XSrcList // sqlite3.c:95620:11 _ = _pSrcList var _pAggInfo *XAggInfo // sqlite3.c:95621:11 _ = _pAggInfo var _3_pItem *TSrcList_item // sqlite3.c:95631:29 _ = _3_pItem var _4_pCol *TAggInfo_col // sqlite3.c:95633:30 _ = _4_pCol var _5_k int32 // sqlite3.c:95642:17 _ = _5_k var _9_j int32 // sqlite3.c:95661:21 _ = _9_j var _9_n int32 // sqlite3.c:95661:24 _ = _9_n var _9_pGB *XExprList // sqlite3.c:95662:26 _ = _9_pGB var _9_pTerm *TExprList_item // sqlite3.c:95663:38 _ = _9_pTerm var _10_pE *XExpr // sqlite3.c:95666:24 _ = _10_pE var _14_pItem *TAggInfo_func // sqlite3.c:95700:29 _ = _14_pItem var _17_enc uint8 // sqlite3.c:95709:14 _ = _17_enc _pNC = (*XNameContext)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))) _pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) _pSrcList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) _pAggInfo = (*XAggInfo)(unsafe.Pointer(_pNC.X3)) switch int32(_pExpr.X0) { case i32(152): goto _2 case i32(153): goto _3 case i32(154): goto _1 default: goto _4 } _1: _2: if func() int32 { if _pSrcList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _7 } _3_pItem = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrcList)) + uintptr(8 /* X2 */))))) _i = i32(0) _8: if _i >= (_pSrcList.X0) { goto _11 } func() int32 { if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(100044))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pExpr.X8) != (_3_pItem.X11) { goto _14 } _4_pCol = (*TAggInfo_col)(unsafe.Pointer(_pAggInfo.X8)) _5_k = i32(0) _15: if _5_k >= (_pAggInfo.X9) { goto _18 } if (_4_pCol.X1) != (_pExpr.X8) || (_4_pCol.X2) != int32(_pExpr.X9) { goto _20 } goto _18 _20: *(*uintptr)(unsafe.Pointer(func() **TAggInfo_col { _5_k += 1; return &_4_pCol }())) += uintptr(32) goto _15 _18: if _5_k < (_pAggInfo.X9) || store961(&_5_k, _addAggInfoColumn(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pAggInfo)) < i32(0) { goto _22 } _4_pCol = (*TAggInfo_col)(unsafe.Pointer(uintptr(_pAggInfo.X8) + 32*uintptr(_5_k))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(0 /* X0 */))))) = (*XTable)(unsafe.Pointer(_pExpr.X14)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(8 /* X1 */))) = _pExpr.X8 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(12 /* X2 */))) = int32(_pExpr.X9) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(20 /* X4 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(16 /* X3 */))) = i32(-1) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(24 /* X5 */))))) = _pExpr if (*XExprList)(unsafe.Pointer(_pAggInfo.X7)) == nil { goto _23 } _9_pGB = (*XExprList)(unsafe.Pointer(_pAggInfo.X7)) _9_pTerm = (*TExprList_item)(unsafe.Pointer(_9_pGB.X1)) _9_n = _9_pGB.X0 _9_j = i32(0) _24: if _9_j >= _9_n { goto _27 } _10_pE = (*XExpr)(unsafe.Pointer(_9_pTerm.X0)) if int32(_10_pE.X0) != i32(152) || (_10_pE.X8) != (_pExpr.X8) || int32(_10_pE.X9) != int32(_pExpr.X9) { goto _30 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(16 /* X3 */))) = _9_j goto _27 _30: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _9_j += 1; return &_9_pTerm }())) += uintptr(32) goto _24 _27: _23: if (_4_pCol.X3) >= i32(0) { goto _31 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(16 /* X3 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAggInfo))+uintptr(12 /* X4 */))), int32(1)) _31: _22: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } *(**XAggInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(56 /* X13 */))))) = _pAggInfo *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(154)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(50 /* X10 */))) = int16(_5_k) goto _11 _14: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_3_pItem }())) += uintptr(112) goto _8 _11: _7: r0 = i32(1) return _3: if (int32(_pNC.X7)&i32(8)) != i32(0) || (_pWalker.X4) != int32(_pExpr.X12) { goto _33 } _14_pItem = (*TAggInfo_func)(unsafe.Pointer(_pAggInfo.X11)) _i = i32(0) _34: if _i >= (_pAggInfo.X12) { goto _37 } if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_14_pItem.X0)), _pExpr, i32(-1)) != i32(0) { goto _38 } goto _37 _38: *(*uintptr)(unsafe.Pointer(func() **TAggInfo_func { _i += 1; return &_14_pItem }())) += uintptr(24) goto _34 _37: if _i < (_pAggInfo.X12) { goto _39 } _17_enc = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X14 _i = _addAggInfoFunc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pAggInfo) if _i < i32(0) { goto _40 } func() int32 { if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43812))) crt.X__builtin_abort(tls) return i32(0) }() }() _14_pItem = (*TAggInfo_func)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 24*uintptr(_i))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(0 /* X0 */))))) = _pExpr *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(16 /* X2 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) func() int32 { if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(43540))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(8 /* X1 */))))) = _sqlite3FindFunction(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), func() int32 { if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) != nil { return ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))).X0) } return i32(0) }(), _17_enc, uint8(i32(0))) if ((_pExpr.X2) & uint32(i32(16))) == 0 { goto _47 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(20 /* X3 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) goto _48 _47: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(20 /* X3 */))) = i32(-1) _48: _40: _39: func() int32 { if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(100044))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(131072)) sink985 = *p } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(50 /* X10 */))) = int16(_i) *(**XAggInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(56 /* X13 */))))) = _pAggInfo r0 = i32(1) return _33: r0 = i32(0) return _4: r0 = i32(0) return } var _analyzeAggregateØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_analyzeAggregateØ00__func__Ø000[0], str(114628), 17) } func _addAggInfoColumn(tls *crt.TLS, _db *Xsqlite3, _pInfo *XAggInfo) (r0 int32) { // sqlite3.c:95583:1 var _i int32 // sqlite3.c:95584:7 _ = _i *(**TAggInfo_col)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(32 /* X8 */))))) = (*TAggInfo_col)(unsafe.Pointer(_sqlite3ArrayAllocate(tls, _db, _pInfo.X8, int32(u64(32)), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(40 /* X9 */))), &_i))) r0 = _i return } func _sqlite3ArrayAllocate(tls *crt.TLS, _db *Xsqlite3, _pArray unsafe.Pointer, _szEntry int32, _pnEntry *int32, _pIdx *int32) (r0 unsafe.Pointer) { // sqlite3.c:103015:1 var _z *int8 // sqlite3.c:103022:8 _ = _z var _n int32 // sqlite3.c:103023:7 _ = _n var _1_sz int32 // sqlite3.c:103025:9 _ = _1_sz var _1_pNew unsafe.Pointer // sqlite3.c:103026:10 _ = _1_pNew _n = *_pnEntry if (_n & (_n - i32(1))) != i32(0) { goto _0 } _1_sz = func() int32 { if _n == i32(0) { return i32(1) } return (i32(2) * _n) }() _1_pNew = _sqlite3DbRealloc(tls, _db, _pArray, uint64(_1_sz*_szEntry)) if unsafe.Pointer(_1_pNew) != (unsafe.Pointer)(uintptr(i32(0))) { goto _3 } *_pIdx = i32(-1) r0 = _pArray return _3: _pArray = _1_pNew _0: _z = (*int8)(unsafe.Pointer(_pArray)) crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_n*_szEntry)))), i32(0), uint64(_szEntry)) *_pIdx = _n *_pnEntry += 1 r0 = _pArray return } func _addAggInfoFunc(tls *crt.TLS, _db *Xsqlite3, _pInfo *XAggInfo) (r0 int32) { // sqlite3.c:95599:1 var _i int32 // sqlite3.c:95600:7 _ = _i *(**TAggInfo_func)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(48 /* X11 */))))) = (*TAggInfo_func)(unsafe.Pointer(_sqlite3ArrayAllocate(tls, _db, _pInfo.X11, int32(u64(24)), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(56 /* X12 */))), &_i))) r0 = _i return } func _analyzeAggregatesInSelect(tls *crt.TLS, _pWalker *XWalker, _pSelect *XSelect) (r0 int32) { // sqlite3.c:95741:1 r0 = i32(0) return } var _sqlite3ExprAnalyzeAggregatesØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprAnalyzeAggregatesØ00__func__Ø000[0], str(114648), 29) } func _explainTempTable(tls *crt.TLS, _pParse *XParse, _zUsage *int8) { // sqlite3.c:117396:1 var _1_v *TVdbe // sqlite3.c:117398:10 _ = _1_v var _1_zMsg *int8 // sqlite3.c:117399:10 _ = _1_zMsg if int32(_pParse.X54) != i32(2) { goto _0 } _1_v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _1_zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(114680), unsafe.Pointer(_zUsage)) _sqlite3VdbeAddOp4(tls, _1_v, i32(163), _pParse.X58, i32(0), i32(0), _1_zMsg, i32(-1)) _0: return } func _sqlite3WhereIsSorted(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:133600:1 func() int32 { if (int32(_pWInfo.X9) & i32(64)) != 0 { return i32(0) } return func() int32 { 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(114704))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pWInfo.X9) & i32(512)) != 0 { return i32(0) } return func() int32 { 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(114740))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32(_pWInfo.X12) return } var _sqlite3WhereIsSortedØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WhereIsSortedØ00__func__Ø000[0], str(114780), 21) } func _updateAccumulator(tls *crt.TLS, _pParse *XParse, _pAggInfo *XAggInfo) { // sqlite3.c:120992:1 var _v *TVdbe // sqlite3.c:120993:8 _ = _v var _i int32 // sqlite3.c:120994:7 _ = _i var _regHit int32 // sqlite3.c:120995:7 _ = _regHit var _addrHitTest int32 // sqlite3.c:120996:7 _ = _addrHitTest var _pF *TAggInfo_func // sqlite3.c:120997:23 _ = _pF var _pC *TAggInfo_col // sqlite3.c:120998:22 _ = _pC var _1_nArg int32 // sqlite3.c:121002:9 _ = _1_nArg var _1_addrNext int32 // sqlite3.c:121003:9 _ = _1_addrNext var _1_regAgg int32 // sqlite3.c:121004:9 _ = _1_regAgg var _1_pList *XExprList // sqlite3.c:121005:14 _ = _1_pList var _5_pColl *XCollSeq // sqlite3.c:121022:15 _ = _5_pColl var _5_pItem *TExprList_item // sqlite3.c:121023:28 _ = _5_pItem var _5_j int32 // sqlite3.c:121024:11 _ = _5_j _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _regHit = i32(0) _addrHitTest = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAggInfo)) + uintptr(0 /* X0 */))) = uint8(i32(1)) *func() **TAggInfo_func { _i = i32(0); return &_pF }() = (*TAggInfo_func)(unsafe.Pointer(_pAggInfo.X11)) _0: if _i >= (_pAggInfo.X12) { goto _3 } _1_addrNext = i32(0) _1_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr(_pF.X0) + uintptr(32 /* X6 */))))))) func() int32 { if (((*XExpr)(unsafe.Pointer(_pF.X0)).X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(114804))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_pList == nil { goto _6 } _1_nArg = _1_pList.X0 _1_regAgg = _sqlite3GetTempRange(tls, _pParse, _1_nArg) _sqlite3ExprCodeExprList(tls, _pParse, _1_pList, _1_regAgg, i32(0), uint8(i32(1))) goto _7 _6: _1_nArg = i32(0) _1_regAgg = i32(0) _7: if (_pF.X3) < i32(0) { goto _8 } _1_addrNext = _sqlite3VdbeMakeLabel(tls, _v) _codeDistinct(tls, _pParse, _pF.X3, _1_addrNext, i32(1), _1_regAgg) _8: if (int32((*XFuncDef)(unsafe.Pointer(_pF.X1)).X1) & i32(32)) == 0 { goto _9 } _5_pColl = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if _1_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(92144))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **TExprList_item { _5_j = i32(0); return &_5_pItem }() = (*TExprList_item)(unsafe.Pointer(_1_pList.X1)) _12: if _5_pColl != nil || _5_j >= _1_nArg { goto _16 } _5_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_5_pItem.X0))) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _5_j += 1; return &_5_pItem }())) += uintptr(32) goto _12 _16: if _5_pColl != nil { goto _17 } _5_pColl = (*XCollSeq)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X2)) _17: if _regHit != i32(0) || (_pAggInfo.X10) == 0 { goto _19 } _regHit = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _19: _sqlite3VdbeAddOp4(tls, _v, i32(89), _regHit, i32(0), i32(0), (*int8)(unsafe.Pointer(_5_pColl)), i32(-3)) _9: _sqlite3VdbeAddOp3(tls, _v, i32(148), i32(0), _1_regAgg, _pF.X2) _sqlite3VdbeAppendP4(tls, _v, _pF.X1, i32(-4)) _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_1_nArg))) _sqlite3ExprCacheAffinityChange(tls, _pParse, _1_regAgg, _1_nArg) _sqlite3ReleaseTempRange(tls, _pParse, _1_regAgg, _1_nArg) if _1_addrNext == 0 { goto _20 } _sqlite3VdbeResolveLabel(tls, _v, _1_addrNext) _sqlite3ExprCacheClear(tls, _pParse) _20: *(*uintptr)(unsafe.Pointer(func() **TAggInfo_func { _i += 1; return &_pF }())) += uintptr(24) goto _0 _3: if _regHit == 0 { goto _21 } _addrHitTest = _sqlite3VdbeAddOp1(tls, _v, i32(21), _regHit) _21: _sqlite3ExprCacheClear(tls, _pParse) *func() **TAggInfo_col { _i = i32(0); return &_pC }() = (*TAggInfo_col)(unsafe.Pointer(_pAggInfo.X8)) _22: if _i >= (_pAggInfo.X10) { goto _25 } _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer(_pC.X5)), _pC.X4) *(*uintptr)(unsafe.Pointer(func() **TAggInfo_col { _i += 1; return &_pC }())) += uintptr(32) goto _22 _25: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAggInfo)) + uintptr(0 /* X0 */))) = uint8(i32(0)) _sqlite3ExprCacheClear(tls, _pParse) if _addrHitTest == 0 { goto _26 } _sqlite3VdbeJumpHere(tls, _v, _addrHitTest) _26: return } var _updateAccumulatorØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_updateAccumulatorØ00__func__Ø000[0], str(114848), 18) } func _finalizeAggFunctions(tls *crt.TLS, _pParse *XParse, _pAggInfo *XAggInfo) { // sqlite3.c:120976:1 var _v *TVdbe // sqlite3.c:120977:8 _ = _v var _i int32 // sqlite3.c:120978:7 _ = _i var _pF *TAggInfo_func // sqlite3.c:120979:23 _ = _pF var _1_pList *XExprList // sqlite3.c:120981:14 _ = _1_pList _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) *func() **TAggInfo_func { _i = i32(0); return &_pF }() = (*TAggInfo_func)(unsafe.Pointer(_pAggInfo.X11)) _0: if _i >= (_pAggInfo.X12) { goto _3 } _1_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr(_pF.X0) + uintptr(32 /* X6 */))))))) func() int32 { if (((*XExpr)(unsafe.Pointer(_pF.X0)).X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(114804))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(150), _pF.X2, func() int32 { if _1_pList != nil { return (_1_pList.X0) } return i32(0) }()) _sqlite3VdbeAppendP4(tls, _v, _pF.X1, i32(-4)) *(*uintptr)(unsafe.Pointer(func() **TAggInfo_func { _i += 1; return &_pF }())) += uintptr(24) goto _0 _3: return } var _finalizeAggFunctionsØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_finalizeAggFunctionsØ00__func__Ø000[0], str(114868), 21) } func _resetAccumulator(tls *crt.TLS, _pParse *XParse, _pAggInfo *XAggInfo) { // sqlite3.c:120935:1 var _v *TVdbe // sqlite3.c:120936:8 _ = _v var _i int32 // sqlite3.c:120937:7 _ = _i var _pFunc *TAggInfo_func // sqlite3.c:120938:23 _ = _pFunc var _nReg int32 // sqlite3.c:120939:7 _ = _nReg var _4_pE *XExpr // sqlite3.c:120957:12 _ = _4_pE var _6_pKeyInfo *XKeyInfo // sqlite3.c:120964:17 _ = _6_pKeyInfo _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _nReg = (_pAggInfo.X12) + (_pAggInfo.X9) if _nReg != i32(0) { goto _0 } return _0: func() int32 { if _nReg == (((_pAggInfo.X6) - (_pAggInfo.X5)) + i32(1)) { return i32(0) } return func() int32 { 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(114892))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _3: if _i >= (_pAggInfo.X9) { goto _6 } func() int32 { if (((*TAggInfo_col)(unsafe.Pointer(uintptr(_pAggInfo.X8) + 32*uintptr(_i))).X4) >= (_pAggInfo.X5)) && (((*TAggInfo_col)(unsafe.Pointer(uintptr(_pAggInfo.X8) + 32*uintptr(_i))).X4) <= (_pAggInfo.X6)) { return i32(0) } return func() int32 { 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(114932))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _3 _6: _i = i32(0) _10: if _i >= (_pAggInfo.X12) { goto _13 } func() int32 { if (((*TAggInfo_func)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 24*uintptr(_i))).X2) >= (_pAggInfo.X5)) && (((*TAggInfo_func)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 24*uintptr(_i))).X2) <= (_pAggInfo.X6)) { return i32(0) } return func() int32 { 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(115016))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _10 _13: _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _pAggInfo.X5, _pAggInfo.X6) *func() *int32 { _pFunc = (*TAggInfo_func)(unsafe.Pointer(_pAggInfo.X11)); return &_i }() = i32(0) _17: if _i >= (_pAggInfo.X12) { goto _20 } if (_pFunc.X3) < i32(0) { goto _21 } _4_pE = (*XExpr)(unsafe.Pointer(_pFunc.X0)) func() int32 { if ((_4_pE.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(115104))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pE)) + uintptr(32 /* X6 */))))))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pE)) + uintptr(32 /* X6 */))))))).X0) == i32(1) { goto _25 } _sqlite3ErrorMsg(tls, _pParse, str(115140)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFunc)) + uintptr(20 /* X3 */))) = i32(-1) goto _26 _25: _6_pKeyInfo = _keyInfoFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pE)) + uintptr(32 /* X6 */))))))), i32(0), i32(0)) _sqlite3VdbeAddOp4(tls, _v, i32(108), _pFunc.X3, i32(0), i32(0), (*int8)(unsafe.Pointer(_6_pKeyInfo)), i32(-5)) _26: _21: *(*uintptr)(unsafe.Pointer(func() **TAggInfo_func { _i += 1; return &_pFunc }())) += uintptr(24) goto _17 _20: return } var _resetAccumulatorØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_resetAccumulatorØ00__func__Ø000[0], str(115192), 17) } func _isSimpleCount(tls *crt.TLS, _p *XSelect, _pAggInfo *XAggInfo) (r0 *XTable) { // sqlite3.c:120164:1 var _pTab *XTable // sqlite3.c:120165:9 _ = _pTab var _pExpr *XExpr // sqlite3.c:120166:8 _ = _pExpr func() int32 { if (*XExprList)(unsafe.Pointer(_p.X10)) == nil { return i32(0) } return func() int32 { 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(115212))) crt.X__builtin_abort(tls) return i32(0) }() }() 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((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X5)) == nil { goto _5 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _5: _pTab = (*XTable)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X4)) _pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X0)).X1) + 32*uintptr(i32(0)))).X0)) func() int32 { if ((_pTab != nil) && ((*XSelect)(unsafe.Pointer(_pTab.X3)) == nil)) && (_pExpr != nil) { return i32(0) } return func() int32 { 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(115228))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTab.X16) == 0 { goto _10 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _10: if int32(_pExpr.X0) == i32(153) { goto _11 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _11: if func() int32 { if (_pAggInfo.X12) == i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _14 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _14: if (int32((*XFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(uintptr(_pAggInfo.X11)+24*uintptr(i32(0)))).X1)).X1) & i32(256)) != i32(0) { goto _15 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _15: if ((_pExpr.X2) & uint32(i32(16))) == 0 { goto _16 } r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) return _16: r0 = _pTab return } var _isSimpleCountØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_isSimpleCountØ00__func__Ø000[0], str(115260), 14) } func _explainSimpleCount(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pIdx *XIndex) { // sqlite3.c:121075:1 var _1_bCover int32 // sqlite3.c:121081:9 _ = _1_bCover var _1_zEqp *int8 // sqlite3.c:121082:10 _ = _1_zEqp if int32(_pParse.X54) != i32(2) { goto _0 } _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))) != i32(2)))) _1_zEqp = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(115276), unsafe.Pointer(_pTab.X0), unsafe.Pointer(func() *int8 { if _1_bCover != 0 { return str(115296) } return str(196) }()), unsafe.Pointer(func() *int8 { if _1_bCover != 0 { return (_pIdx.X0) } return str(196) }())) _sqlite3VdbeAddOp4(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), i32(163), _pParse.X58, i32(0), i32(0), _1_zEqp, i32(-1)) _0: return } func _minMaxQuery(tls *crt.TLS, _pAggInfo *XAggInfo, _ppMinMax **XExprList) (r0 uint8) { // sqlite3.c:120128:1 var _eRet int32 // sqlite3.c:120129:7 _ = _eRet var _1_pExpr *XExpr // sqlite3.c:120133:10 _ = _1_pExpr var _1_pEList *XExprList // sqlite3.c:120134:14 _ = _1_pEList var _2_zFunc *int8 // sqlite3.c:120138:18 _ = _2_zFunc _eRet = i32(0) *_ppMinMax = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) if (_pAggInfo.X12) != i32(1) { goto _0 } _1_pExpr = (*XExpr)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 24*uintptr(i32(0)))).X0)) _1_pEList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pExpr)) + uintptr(32 /* X6 */))))))) func() int32 { if int32(_1_pExpr.X0) == i32(153) { return i32(0) } return func() int32 { 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(100868))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_pEList == nil || (_1_pEList.X0) != i32(1) || int32((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_1_pEList.X1)+32*uintptr(i32(0)))).X0)).X0) != i32(154) { goto _5 } _2_zFunc = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pExpr)) + uintptr(8 /* X3 */))))) if _sqlite3StrICmp(tls, _2_zFunc, str(6188)) != i32(0) { goto _6 } _eRet = i32(1) *_ppMinMax = _1_pEList goto _7 _6: if _sqlite3StrICmp(tls, _2_zFunc, str(6192)) != i32(0) { goto _8 } _eRet = i32(2) *_ppMinMax = _1_pEList _8: _7: _5: _0: func() int32 { if ((*_ppMinMax) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (((*_ppMinMax).X0) == i32(1)) { return i32(0) } return func() int32 { 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(115320))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = uint8(_eRet) return } var _minMaxQueryØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_minMaxQueryØ00__func__Ø000[0], str(115360), 12) } func _generateSortTail(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pSort *XSortCtx, _nColumn int32, _pDest *XSelectDest) { // sqlite3.c:117462:1 var _v *TVdbe // sqlite3.c:117469:8 _ = _v var _addrBreak int32 // sqlite3.c:117470:7 _ = _addrBreak var _addrContinue int32 // sqlite3.c:117471:7 _ = _addrContinue var _addr int32 // sqlite3.c:117472:7 _ = _addr var _addrOnce int32 // sqlite3.c:117473:7 _ = _addrOnce var _iTab int32 // sqlite3.c:117474:7 _ = _iTab var _pOrderBy *XExprList // sqlite3.c:117475:12 _ = _pOrderBy var _eDest int32 // sqlite3.c:117476:7 _ = _eDest var _iParm int32 // sqlite3.c:117477:7 _ = _iParm var _regRow int32 // sqlite3.c:117478:7 _ = _regRow var _regRowid int32 // sqlite3.c:117479:7 _ = _regRowid var _iCol int32 // sqlite3.c:117480:7 _ = _iCol var _nKey int32 // sqlite3.c:117481:7 _ = _nKey var _iSortTab int32 // sqlite3.c:117482:7 _ = _iSortTab var _nSortData int32 // sqlite3.c:117483:7 _ = _nSortData var _i int32 // sqlite3.c:117484:7 _ = _i var _bSeq int32 // sqlite3.c:117485:7 _ = _bSeq var _aOutEx *TExprList_item // sqlite3.c:117486:24 _ = _aOutEx var _4_regSortOut int32 // sqlite3.c:117506:9 _ = _4_regSortOut var _7_iRead int32 // sqlite3.c:117525:9 _ = _7_iRead _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _addrBreak = _pSort.X6 _addrContinue = _sqlite3VdbeMakeLabel(tls, _v) _addrOnce = i32(0) _pOrderBy = (*XExprList)(unsafe.Pointer(_pSort.X0)) _eDest = int32(_pDest.X0) _iParm = _pDest.X2 _aOutEx = (*TExprList_item)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_p.X0)).X1)) func() int32 { if _addrBreak < i32(0) { return i32(0) } return func() int32 { 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(115372))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pSort.X4) == 0 { goto _2 } _sqlite3VdbeAddOp2(tls, _v, i32(14), _pSort.X3, _pSort.X4) _sqlite3VdbeGoto(tls, _v, _addrBreak) _sqlite3VdbeResolveLabel(tls, _v, _pSort.X4) _2: _iTab = _pSort.X2 if _eDest != i32(9) && _eDest != i32(13) && _eDest != i32(10) { goto _5 } _regRowid = i32(0) _regRow = _pDest.X3 _nSortData = _nColumn goto _6 _5: _regRowid = _sqlite3GetTempReg(tls, _pParse) _regRow = _sqlite3GetTempRange(tls, _pParse, _nColumn) _nSortData = _nColumn _6: _nKey = (_pOrderBy.X0) - (_pSort.X1) if (int32(_pSort.X7) & i32(1)) == 0 { goto _7 } _4_regSortOut = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _iSortTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) if (_pSort.X4) == 0 { goto _8 } _addrOnce = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _8: _sqlite3VdbeAddOp3(tls, _v, i32(111), _iSortTab, _4_regSortOut, (_nKey+i32(1))+_nSortData) if _addrOnce == 0 { goto _9 } _sqlite3VdbeJumpHere(tls, _v, _addrOnce) _9: _addr = i32(1) + _sqlite3VdbeAddOp2(tls, _v, i32(56), _iTab, _addrBreak) _codeOffset(tls, _v, _p.X5, _addrContinue) _sqlite3VdbeAddOp3(tls, _v, i32(121), _iTab, _4_regSortOut, _iSortTab) _bSeq = i32(0) goto _10 _7: _addr = i32(1) + _sqlite3VdbeAddOp2(tls, _v, i32(57), _iTab, _addrBreak) _codeOffset(tls, _v, _p.X5, _addrContinue) _iSortTab = _iTab _bSeq = i32(1) _10: *func() *int32 { _i = i32(0); return &_iCol }() = _nKey + _bSeq _11: if _i >= _nSortData { goto _14 } if ((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx))+32*uintptr(_i))))) + uintptr(28 /* X5 */))))).X0) == 0 { goto _15 } _7_iRead = int32((*T5517776)(unsafe.Pointer((*T5517798)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx))+32*uintptr(_i)))))+uintptr(28 /* X5 */))))).X0) - i32(1) goto _16 _15: _7_iRead = postInc961(&_iCol, int32(1)) _16: _sqlite3VdbeAddOp3(tls, _v, i32(98), _iSortTab, _7_iRead, _regRow+_i) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(func() *int8 { if ((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx)) + 32*uintptr(_i))).X1) != nil { return ((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx)) + 32*uintptr(_i))).X1) } return ((*TExprList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx)) + 32*uintptr(_i))).X2) }())) _i += 1 goto _11 _14: switch _eDest { case i32(10): goto _23 case i32(11): goto _22 case i32(12): goto _21 case i32(14): goto _20 default: goto _24 } _20: _21: _sqlite3VdbeAddOp2(tls, _v, i32(115), _iParm, _regRowid) _sqlite3VdbeAddOp3(tls, _v, i32(116), _iParm, _regRow, _regRowid) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) goto _25 _22: func() int32 { if _nColumn == _sqlite3Strlen30(tls, _pDest.X1) { return i32(0) } return func() int32 { 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(115384))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(100), _regRow, _nColumn, _regRowid, _pDest.X1, _nColumn) _sqlite3ExprCacheAffinityChange(tls, _pParse, _regRow, _nColumn) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _regRowid, _regRow, _nColumn) goto _25 _23: goto _25 _24: func() int32 { if (_eDest == i32(9)) || (_eDest == i32(13)) { return i32(0) } return func() int32 { 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(115428))) crt.X__builtin_abort(tls) return i32(0) }() }() if _eDest != i32(9) { goto _31 } _sqlite3VdbeAddOp2(tls, _v, i32(88), _pDest.X3, _nColumn) _sqlite3ExprCacheAffinityChange(tls, _pParse, _pDest.X3, _nColumn) goto _32 _31: _sqlite3VdbeAddOp1(tls, _v, i32(16), _pDest.X2) _32: goto _25 _25: if _regRowid == 0 { goto _33 } if _eDest != i32(11) { goto _34 } _sqlite3ReleaseTempRange(tls, _pParse, _regRow, _nColumn) goto _35 _34: _sqlite3ReleaseTempReg(tls, _pParse, _regRow) _35: _sqlite3ReleaseTempReg(tls, _pParse, _regRowid) _33: _sqlite3VdbeResolveLabel(tls, _v, _addrContinue) if (int32(_pSort.X7) & i32(1)) == 0 { goto _36 } _sqlite3VdbeAddOp2(tls, _v, i32(3), _iTab, _addr) goto _37 _36: _sqlite3VdbeAddOp2(tls, _v, i32(7), _iTab, _addr) _37: if (_pSort.X3) == 0 { goto _38 } _sqlite3VdbeAddOp1(tls, _v, i32(73), _pSort.X3) _38: _sqlite3VdbeResolveLabel(tls, _v, _addrBreak) return } var _generateSortTailØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_generateSortTailØ00__func__Ø000[0], str(115472), 17) } func _exprVectorRegister(tls *crt.TLS, _pParse *XParse, _pVector *XExpr, _iField int32, _regSelect int32, _ppExpr **XExpr, _pRegFree *int32) (r0 int32) { // sqlite3.c:91215:1 var _op uint8 // sqlite3.c:91223:6 _ = _op _op = _pVector.X0 func() int32 { if ((int32(_op) == i32(158)) || (int32(_op) == i32(157))) || (int32(_op) == i32(119)) { return i32(0) } return func() int32 { 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(115492))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_op) != i32(157) { goto _4 } *_ppExpr = _sqlite3VectorFieldSubexpr(tls, _pVector, _iField) r0 = (_pVector.X8) + _iField return _4: if int32(_op) != i32(119) { goto _5 } *_ppExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(32 /* X6 */))))))).X0)).X1) + 32*uintptr(_iField))).X0)) r0 = _regSelect + _iField return _5: *_ppExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(32 /* X6 */))))))).X1) + 32*uintptr(_iField))).X0)) r0 = _sqlite3ExprCodeTemp(tls, _pParse, *_ppExpr, _pRegFree) return } var _exprVectorRegisterØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_exprVectorRegisterØ00__func__Ø000[0], str(115544), 19) } func _sqlite3VtabOverloadFunction(tls *crt.TLS, _db *Xsqlite3, _pDef *XFuncDef, _nArg int32, _pExpr *XExpr) (r0 *XFuncDef) { // sqlite3.c:125560:1 var _pTab *XTable // sqlite3.c:125566:9 _ = _pTab var _pVtab *Xsqlite3_vtab // sqlite3.c:125567:16 _ = _pVtab var _pMod *Xsqlite3_module // sqlite3.c:125568:18 _ = _pMod var _xSFunc func(*crt.TLS, *Xsqlite3_context, int32, **XMem) // sqlite3.c:125569:8 _ = _xSFunc var _pArg unsafe.Pointer // sqlite3.c:125570:8 _ = _pArg var _pNew *XFuncDef // sqlite3.c:125571:11 _ = _pNew var _rc int32 // sqlite3.c:125572:7 _ = _rc var _zLowerName *int8 // sqlite3.c:125573:8 _ = _zLowerName var _z *uint8 // sqlite3.c:125574:17 _ = _z _xSFunc = nil _pArg = nil _rc = i32(0) if func() int32 { if _pExpr == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } r0 = _pDef return _2: if int32(_pExpr.X0) == i32(152) { goto _3 } r0 = _pDef return _3: _pTab = (*XTable)(unsafe.Pointer(_pExpr.X14)) if func() int32 { if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _6 } r0 = _pDef return _6: if (_pTab.X16) != 0 { goto _7 } r0 = _pDef return _7: _pVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab).X2)) func() int32 { if _pVtab != (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(115564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_module)(unsafe.Pointer(_pVtab.X0)) != (*Xsqlite3_module)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(115576))) crt.X__builtin_abort(tls) return i32(0) }() }() _pMod = (*Xsqlite3_module)(unsafe.Pointer(_pVtab.X0)) if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, *func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), *unsafe.Pointer) int32 }{(_pMod.X18)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32 }{nil})) { goto _12 } r0 = _pDef return _12: _zLowerName = _sqlite3DbStrDup(tls, _db, _pDef.X6) if _zLowerName == nil { goto _13 } _z = (*uint8)(unsafe.Pointer(_zLowerName)) _14: if (*_z) == 0 { goto _17 } *_z = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_z))) *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _14 _17: _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *int8, *func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), *unsafe.Pointer) int32 }{(_pMod.X18)})))(tls, _pVtab, _nArg, _zLowerName, &_xSFunc, &_pArg) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zLowerName)) _13: if _rc != i32(0) { goto _18 } r0 = _pDef return _18: _pNew = (*XFuncDef)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, (u64(56)+uint64(_sqlite3Strlen30(tls, _pDef.X6)))+uint64(i32(1))))) if _pNew != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } r0 = _pDef return _19: *_pNew = *_pDef *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X6 */))) = (*int8)(unsafe.Pointer((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 56*uintptr(i32(1)))))) crt.Xmemcpy(tls, (unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+56*uintptr(i32(1))))), (unsafe.Pointer)(_pDef.X6), uint64(_sqlite3Strlen30(tls, _pDef.X6)+i32(1))) *(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X4 */))))) = _xSFunc *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X2 */))) = _pArg { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(2 /* X1 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } r0 = _pNew return } var _sqlite3VtabOverloadFunctionØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabOverloadFunctionØ00__func__Ø000[0], str(115596), 28) } func _sqlite3MayAbort(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103586:1 var _pToplevel *XParse // sqlite3.c:103587:9 _ = _pToplevel _pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(33 /* X9 */))) = uint8(i32(1)) return } func _sqlite3HaltConstraint(tls *crt.TLS, _pParse *XParse, _errCode int32, _onError int32, _p4 *int8, _p4type int8, _p5Errmsg uint8) { // sqlite3.c:103596:1 var _v *TVdbe // sqlite3.c:103604:8 _ = _v _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if (_errCode & i32(255)) == i32(19) { return i32(0) } return func() int32 { 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(115624))) crt.X__builtin_abort(tls) return i32(0) }() }() if _onError != i32(2) { goto _2 } _sqlite3MayAbort(tls, _pParse) _2: _sqlite3VdbeAddOp4(tls, _v, i32(76), _errCode, _onError, i32(0), _p4, int32(_p4type)) _sqlite3VdbeChangeP5(tls, _v, uint16(_p5Errmsg)) return } var _sqlite3HaltConstraintØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3HaltConstraintØ00__func__Ø000[0], str(115660), 22) } func _sqlite3VdbeMakeReady(tls *crt.TLS, _p *TVdbe, _pParse *XParse) { // sqlite3.c:73257:1 var _db *Xsqlite3 // sqlite3.c:73261:11 _ = _db var _nVar int32 // sqlite3.c:73262:7 _ = _nVar var _nMem int32 // sqlite3.c:73263:7 _ = _nMem var _nCursor int32 // sqlite3.c:73264:7 _ = _nCursor var _nArg int32 // sqlite3.c:73265:7 _ = _nArg var _n int32 // sqlite3.c:73266:7 _ = _n var _x TReusableSpace // sqlite3.c:73267:24 _ = _x func() int32 { if _p != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X27) > i32(0) { return i32(0) } return func() int32 { 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(42668))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(115684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X5) == uint32(i32(381479589)) { return i32(0) } return func() int32 { 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(38332))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pParse == (*XParse)(unsafe.Pointer(_p.X3)) { return i32(0) } return func() int32 { 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(115696))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) func() int32 { if int32(_db.X17) == i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _nVar = int32(_pParse.X52) _nMem = _pParse.X18 _nCursor = _pParse.X17 _nArg = _pParse.X33 { p := &_nMem *p = (*p) + _nCursor sink961 = *p } if _nCursor != i32(0) || _nMem <= i32(0) { goto _13 } _nMem += 1 _13: _n = int32(((u64(32) * uint64(_p.X27)) + uint64(i32(7))) & uint64(i32(-8))) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = (*uint8)(unsafe.Pointer(uintptr(_p.X17) + 1*uintptr(_n))) func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_x.X0))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(115716))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X1 */))) = ((_pParse.X20) - _n) & i32(-8) func() int32 { if (_x.X1) >= i32(0) { return i32(0) } return func() int32 { 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(115748))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_x.X0))+1*uintptr(_x.X1)))))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(115760))) crt.X__builtin_abort(tls) return i32(0) }() }() _resolveP2Values(tls, _p, &_nArg) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(uint8(bool2int(((_pParse.X8) != 0) && ((_pParse.X9) != 0)))), 64, 6) if (_pParse.X54) == 0 || _nMem >= i32(10) { goto _22 } _nMem = i32(10) _22: storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 1, 0) _23: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(12 /* X2 */))) = i32(0) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X18 */))))) = (*XMem)(unsafe.Pointer(_allocSpace(tls, &_x, _p.X18, int32(uint64(_nMem)*u64(72))))) *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(160 /* X24 */))))) = (*XMem)(unsafe.Pointer(_allocSpace(tls, &_x, _p.X24, int32(uint64(_nVar)*u64(72))))) *(***XMem)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(120 /* X19 */))))) = (**XMem)(unsafe.Pointer(_allocSpace(tls, &_x, (unsafe.Pointer)(_p.X19), int32(uint64(_nArg)*u64(8))))) *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(152 /* X23 */))))) = (**XVdbeCursor)(unsafe.Pointer(_allocSpace(tls, &_x, (unsafe.Pointer)(_p.X23), int32(uint64(_nCursor)*u64(8))))) if (_x.X2) != i32(0) { goto _24 } goto _25 _24: *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = (*uint8)(unsafe.Pointer(store1008((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(240 /* X37 */))), _sqlite3DbMallocRawNN(tls, _db, uint64(_x.X2))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X1 */))) = _x.X2 if (_db.X17) == 0 { goto _23 } _25: *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(168 /* X25 */))) = _pParse.X60 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(496 /* X60 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(_pParse.X54), 12, 2) if (_db.X17) == 0 { goto _26 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))) = int16(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X7 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X6 */))) = i32(0) goto _27 _26: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X7 */))) = _nCursor *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))) = int16(_nVar) _initMemArray(tls, (*XMem)(unsafe.Pointer(_p.X24)), _nVar, _db, uint16(i32(1))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X6 */))) = _nMem _initMemArray(tls, (*XMem)(unsafe.Pointer(_p.X18)), _nMem, _db, uint16(i32(128))) crt.Xmemset(tls, (unsafe.Pointer)(_p.X23), i32(0), uint64(_nCursor)*u64(8)) _27: _sqlite3VdbeRewind(tls, _p) return } var _sqlite3VdbeMakeReadyØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMakeReadyØ00__func__Ø000[0], str(115804), 21) } func _resolveP2Values(tls *crt.TLS, _p *TVdbe, _pMaxFuncArgs *int32) { // sqlite3.c:71885:1 var _nMaxArgs int32 // sqlite3.c:71886:7 _ = _nMaxArgs var _pOp *XVdbeOp // sqlite3.c:71887:6 _ = _pOp var _pParse *XParse // sqlite3.c:71888:9 _ = _pParse var _aLabel *int32 // sqlite3.c:71889:7 _ = _aLabel var _8_n int32 // sqlite3.c:71929:15 _ = _8_n _nMaxArgs = *_pMaxFuncArgs _pParse = (*XParse)(unsafe.Pointer(_p.X3)) _aLabel = _pParse.X26 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 128, 7) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 256, 8) _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 32*uintptr((_p.X27)-i32(1)))) _0: if int32(_pOp.X0) > i32(72) { goto _2 } switch int32(_pOp.X0) { case i32(0): goto _6 case i32(1): goto _5 case i32(2): goto _4 case i32(3): goto _14 case i32(4): goto _16 case i32(5): goto _13 case i32(6): goto _15 case i32(7): goto _12 case i32(8): goto _7 case i32(9): goto _9 case i32(10): goto _8 case i32(11): goto _11 case i32(12): goto _10 default: goto _17 } _4: if (_pOp.X4) == i32(0) { goto _18 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 128, 7) _18: _5: _6: storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 256, 8) goto _17 _7: _8: _9: storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 128, 7) storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 256, 8) goto _17 _10: if (_pOp.X4) <= _nMaxArgs { goto _19 } _nMaxArgs = _pOp.X4 _19: goto _17 _11: func() int32 { if int64((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(_p.X17)))))/32) >= int64(i32(3)) { return i32(0) } return func() int32 { 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(115828))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+32*uintptr(i32(-1)))).X0) == i32(77) { return i32(0) } return func() int32 { 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(115848))) crt.X__builtin_abort(tls) return i32(0) }() }() _8_n = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 32*uintptr(i32(-1)))).X3 if _8_n <= _nMaxArgs { goto _24 } _nMaxArgs = _8_n _24: goto _17 _12: _13: _14: *(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _sqlite3BtreeNext *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-14)) goto _17 _15: _16: *(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _sqlite3BtreePrevious *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-14)) goto _17 _17: if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_pOp.X0))))&i32(1)) == i32(0) || (_pOp.X4) >= i32(0) { goto _26 } func() int32 { if (i32(-1) - (_pOp.X4)) < (_pParse.X25) { return i32(0) } return func() int32 { 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(115876))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLabel)) + 4*uintptr(i32(-1)-(_pOp.X4)))) _26: _2: if _pOp != (*XVdbeOp)(unsafe.Pointer(_p.X17)) { goto _29 } goto _1 _29: *(*uintptr)(unsafe.Pointer(&_pOp)) += uintptr(18446744073709551584) goto _0 _1: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_pParse.X26)) *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(88 /* X26 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(84 /* X25 */))) = i32(0) *_pMaxFuncArgs = _nMaxArgs func() int32 { if (int32((uint32((_p.X32)>>uint(i32(8)))<>uint(i32(31))) != i32(0)) || ((_p.X33) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(115908))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _resolveP2ValuesØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_resolveP2ValuesØ00__func__Ø000[0], str(115956), 16) } func _allocSpace(tls *crt.TLS, _p *TReusableSpace, _pBuf unsafe.Pointer, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:73181:1 func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p.X0))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(115972))) crt.X__builtin_abort(tls) return i32(0) }() }() if unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { goto _2 } _nByte = (_nByte + i32(7)) & i32(-8) if _nByte > (_p.X1) { goto _3 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) *p = (*p) - _nByte sink961 = *p } _pBuf = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 1*uintptr(_p.X1)))) goto _4 _3: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) *p = (*p) + _nByte sink961 = *p } _4: _2: func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pBuf))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(116004))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pBuf return } var _allocSpaceØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_allocSpaceØ00__func__Ø000[0], str(116032), 11) } func _sqlite3BeginTransaction(tls *crt.TLS, _pParse *XParse, _type int32) { // sqlite3.c:103393:1 var _db *Xsqlite3 // sqlite3.c:103394:11 _ = _db var _v *TVdbe // sqlite3.c:103395:8 _ = _v var _i int32 // sqlite3.c:103396:7 _ = _i func() int32 { if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(115684))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AuthCheck(tls, _pParse, i32(22), str(24760), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { goto _4 } return _4: _v = _sqlite3GetVdbe(tls, _pParse) if _v != nil { goto _5 } return _5: if _type == i32(7) { goto _6 } _i = i32(0) _7: if _i >= (_db.X5) { goto _10 } _sqlite3VdbeAddOp2(tls, _v, i32(2), _i, bool2int(_type == i32(9))+i32(1)) _sqlite3VdbeUsesBtree(tls, _v, _i) _i += 1 goto _7 _10: _6: _sqlite3VdbeAddOp0(tls, _v, i32(1)) return } var _sqlite3BeginTransactionØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BeginTransactionØ00__func__Ø000[0], str(116044), 24) } func _sqlite3CommitTransaction(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103418:1 var _v *TVdbe // sqlite3.c:103419:8 _ = _v func() int32 { if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(115684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(116068))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AuthCheck(tls, _pParse, i32(22), str(24816), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { goto _4 } return _4: _v = _sqlite3GetVdbe(tls, _pParse) if _v == nil { goto _5 } _sqlite3VdbeAddOp1(tls, _v, i32(1), i32(1)) _5: return } var _sqlite3CommitTransactionØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CommitTransactionØ00__func__Ø000[0], str(116084), 25) } func _sqlite3RollbackTransaction(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103435:1 var _v *TVdbe // sqlite3.c:103436:8 _ = _v func() int32 { if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(115684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(116068))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AuthCheck(tls, _pParse, i32(22), str(24828), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { goto _4 } return _4: _v = _sqlite3GetVdbe(tls, _pParse) if _v == nil { goto _5 } _sqlite3VdbeAddOp2(tls, _v, i32(1), i32(1), i32(1)) _5: return } var _sqlite3RollbackTransactionØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RollbackTransactionØ00__func__Ø000[0], str(116112), 27) } func _sqlite3Savepoint(tls *crt.TLS, _pParse *XParse, _op int32, _pName *XToken) { // sqlite3.c:103453:1 var _zName *int8 // sqlite3.c:103454:8 _ = _zName var _1_v *TVdbe // sqlite3.c:103456:10 _ = _1_v _zName = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName) if _zName == nil { goto _0 } _1_v = _sqlite3GetVdbe(tls, _pParse) i32(0) if _1_v != nil && _sqlite3AuthCheck(tls, _pParse, i32(32), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SavepointØ00azØ001)) + 8*uintptr(_op))), _zName, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { goto _2 } _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_zName)) return _2: _sqlite3VdbeAddOp4(tls, _1_v, i32(0), _op, i32(0), i32(0), _zName, i32(-1)) _0: return } var _sqlite3SavepointØ00azØ001 [3]*int8 // sqlite3.c:103458:23 func init() { _sqlite3SavepointØ00azØ001 = [3]*int8{str(24760), str(24852), str(24828)} } func _sqlite3StartTable(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _isTemp int32, _isView int32, _isVirtual int32, _noErr int32) { // sqlite3.c:100293:1 var _pTable *XTable // sqlite3.c:100302:9 _ = _pTable var _zName *int8 // sqlite3.c:100303:8 _ = _zName var _db *Xsqlite3 // sqlite3.c:100304:11 _ = _db var _v *TVdbe // sqlite3.c:100305:8 _ = _v var _iDb int32 // sqlite3.c:100306:7 _ = _iDb var _pName *XToken // sqlite3.c:100307:9 _ = _pName var _5_zDb *int8 // sqlite3.c:100343:10 _ = _5_zDb var _8_zDb *int8 // sqlite3.c:100362:10 _ = _8_zDb var _16_addr1 int32 // sqlite3.c:100417:9 _ = _16_addr1 var _16_fileFormat int32 // sqlite3.c:100418:9 _ = _16_fileFormat var _16_reg1 int32 // sqlite3.c:100419:9 _ = _16_reg1 var _16_reg2 int32 // sqlite3.c:100419:15 _ = _16_reg2 var _16_reg3 int32 // sqlite3.c:100419:21 _ = _16_reg3 _zName = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == 0 || ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X0) != i32(1) { goto _1 } _iDb = int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X1) _zName = _sqlite3DbStrDup(tls, _db, func() *int8 { if i32(1) != 0 && (_iDb == i32(1)) { return str(51488) } return str(51508) }()) _pName = _pName1 goto _5 _1: _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) if _iDb >= i32(0) { goto _6 } return _6: if i32(1) == 0 || _isTemp == 0 || (_pName2.X1) <= uint32(i32(0)) || _iDb == i32(1) { goto _10 } _sqlite3ErrorMsg(tls, _pParse, str(116140)) return _10: if i32(1) == 0 || _isTemp == 0 { goto _12 } _iDb = i32(1) _12: _zName = _sqlite3NameFromToken(tls, _db, _pName) _5: *(*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(440 /* X50 */))) = *_pName if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } return _13: if i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { goto _14 } goto _begin_table_error _14: if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X1) != i32(1) { goto _15 } _isTemp = i32(1) _15: func() int32 { if (_isTemp == i32(0)) || (_isTemp == i32(1)) { return i32(0) } return func() int32 { 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(116184))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_isView == i32(0)) || (_isView == i32(1)) { return i32(0) } return func() int32 { 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(116208))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 if _sqlite3AuthCheck(tls, _pParse, i32(18), func() *int8 { if i32(1) != 0 && (_isTemp == i32(1)) { return str(51488) } return str(51508) }(), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _5_zDb) == 0 { goto _25 } goto _begin_table_error _25: 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 { goto _27 } goto _begin_table_error _27: if (_pParse.X55) != 0 { goto _28 } _8_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _29 } goto _begin_table_error _29: _pTable = _sqlite3FindTable(tls, _db, _zName, _8_zDb) if _pTable == nil { goto _30 } if _noErr != 0 { goto _31 } _sqlite3ErrorMsg(tls, _pParse, str(116232), unsafe.Pointer(_pName)) goto _32 _31: func() int32 { if (((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0) || ((_sqlite3Config.X6) == i32(0)) { return i32(0) } return func() int32 { 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(116256))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _32: goto _begin_table_error _30: if _sqlite3FindIndex(tls, _db, _zName, _8_zDb) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _36 } _sqlite3ErrorMsg(tls, _pParse, str(116288), unsafe.Pointer(_zName)) goto _begin_table_error _36: _28: _pTable = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128)))) if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _37 } func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = _sqlite3NomemError(tls, i32(100385)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(48 /* X16 */))) += 1 goto _begin_table_error _37: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(0 /* X0 */))) = _zName *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(68 /* X10 */))) = int16(i32(-1)) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(112 /* X20 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(60 /* X8 */))) = uint32(i32(1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(72 /* X12 */))) = int16(i32(200)) func() int32 { if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { return i32(0) } return func() int32 { 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(49500))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTable)(unsafe.Pointer(_pParse.X63)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24368))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(520 /* X63 */))))) = _pTable if (_pParse.X6) != 0 || crt.Xstrcmp(tls, _zName, str(116324)) != i32(0) { goto _45 } func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pTable.X20) + uintptr(104 /* X6 */))))) = _pTable _45: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != 0 || store5435885(&_v, _sqlite3GetVdbe(tls, _pParse)) == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _49 } _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) if _isVirtual == 0 { goto _50 } _sqlite3VdbeAddOp0(tls, _v, i32(153)) _50: _16_reg1 = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(128 /* X31 */))), preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) _16_reg2 = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(132 /* X32 */))), preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) _16_reg3 = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp3(tls, _v, i32(102), _iDb, _16_reg3, i32(2)) _sqlite3VdbeUsesBtree(tls, _v, _iDb) _16_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(21), _16_reg3) _16_fileFormat = func() int32 { if ((_db.X6) & i32(32768)) != i32(0) { return i32(1) } return i32(4) }() _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(2), _16_fileFormat) _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(5), int32(_db.X14)) _sqlite3VdbeJumpHere(tls, _v, _16_addr1) if _isView == 0 && _isVirtual == 0 { goto _54 } _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _16_reg2) goto _55 _54: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(184 /* X41 */))) = _sqlite3VdbeAddOp2(tls, _v, i32(135), _iDb, _16_reg2) _55: _sqlite3OpenMasterTable(tls, _pParse, _iDb) _sqlite3VdbeAddOp2(tls, _v, i32(115), i32(0), _16_reg1) _sqlite3VdbeAddOp4(tls, _v, i32(82), i32(6), _16_reg3, i32(0), (*int8)(unsafe.Pointer(&_sqlite3StartTableØ00nullRowØ002)), i32(-2)) _sqlite3VdbeAddOp3(tls, _v, i32(116), i32(0), _16_reg3, _16_reg1) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) _sqlite3VdbeAddOp0(tls, _v, i32(112)) _49: return _begin_table_error: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) return } func _sqlite3TwoPartName(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _pUnqual **XToken) (r0 int32) { // sqlite3.c:100210:1 var _iDb int32 // sqlite3.c:100216:7 _ = _iDb var _db *Xsqlite3 // sqlite3.c:100217:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _pName2 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(116340))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pName2.X1) <= uint32(i32(0)) { goto _2 } if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { goto _3 } _sqlite3ErrorMsg(tls, _pParse, str(116352)) r0 = i32(-1) return _3: *_pUnqual = _pName2 _iDb = _sqlite3FindDb(tls, _db, _pName1) if _iDb >= i32(0) { goto _4 } _sqlite3ErrorMsg(tls, _pParse, str(116372), unsafe.Pointer(_pName1)) r0 = i32(-1) return _4: goto _5 _2: func() int32 { if ((int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X1) == i32(0)) || (((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0)) || (((_db.X6) & i32(268435456)) != i32(0)) { return i32(0) } return func() int32 { 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(116392))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X1) *_pUnqual = _pName1 _5: r0 = _iDb return } var _sqlite3TwoPartNameØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TwoPartNameØ00__func__Ø000[0], str(116460), 19) } func _sqlite3FindDb(tls *crt.TLS, _db *Xsqlite3, _pName *XToken) (r0 int32) { // sqlite3.c:100185:1 var _i int32 // sqlite3.c:100186:7 _ = _i var _zName *int8 // sqlite3.c:100187:8 _ = _zName _zName = _sqlite3NameFromToken(tls, _db, _pName) _i = _sqlite3FindDbName(tls, _db, _zName) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) r0 = _i return } func _sqlite3CheckObjectName(tls *crt.TLS, _pParse *XParse, _zName *int8) (r0 int32) { // sqlite3.c:100246:1 if ((*T5414794)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(164 /* 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(116480), i32(7)) { goto _3 } _sqlite3ErrorMsg(tls, _pParse, str(116488), unsafe.Pointer(_zName)) r0 = i32(1) return _3: r0 = i32(0) return } var _sqlite3StartTableØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3StartTableØ00__func__Ø000[0], str(116532), 18) } var _sqlite3StartTableØ00aCodeØ001 [4]uint8 // sqlite3.c:100337:21 func init() { _sqlite3StartTableØ00aCodeØ001 = [4]uint8{2, 4, 8, 6} } func _sqlite3BeginWriteOperation(tls *crt.TLS, _pParse *XParse, _setStatement int32, _iDb int32) { // sqlite3.c:103551:1 var _pToplevel *XParse // sqlite3.c:103552:9 _ = _pToplevel _pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() _sqlite3CodeVerifySchema(tls, _pParse, _iDb) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(120 /* X29 */))) *p = (*p) | (u32(1) << uint(_iDb)) sink985 = *p } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(32 /* X8 */))) *p = uint8(int32(*p) | _setStatement) sink4537 = *p } return } func _sqlite3OpenMasterTable(tls *crt.TLS, _p *XParse, _iDb int32) { // sqlite3.c:100150:1 var _v *TVdbe // sqlite3.c:100151:8 _ = _v _v = _sqlite3GetVdbe(tls, _p) _sqlite3TableLock(tls, _p, _iDb, i32(1), uint8(i32(1)), str(51508)) _sqlite3VdbeAddOp4Int(tls, _v, i32(106), i32(0), i32(1), _iDb, i32(5)) if (_p.X17) != i32(0) { goto _0 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X17 */))) = i32(1) _0: return } var _sqlite3StartTableØ00nullRowØ002 [6]int8 // sqlite3.c:100421:23 func init() { _sqlite3StartTableØ00nullRowØ002 = [6]int8{6, 0, 0, 0, 0, 0} } func _disableLookaside(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:134914:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X12 */))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 return } func _sqlite3EndTable(tls *crt.TLS, _pParse *XParse, _pCons *XToken, _pEnd *XToken, _tabOpts uint8, _pSelect *XSelect) { // sqlite3.c:101284:1 var _p *XTable // sqlite3.c:101291:9 _ = _p var _db *Xsqlite3 // sqlite3.c:101292:11 _ = _db var _iDb int32 // sqlite3.c:101293:7 _ = _iDb var _pIdx *XIndex // sqlite3.c:101294:9 _ = _pIdx var _9_n int32 // sqlite3.c:101357:9 _ = _9_n var _9_v *TVdbe // sqlite3.c:101358:10 _ = _9_v var _9_zType *int8 // sqlite3.c:101359:10 _ = _9_zType var _9_zType2 *int8 // sqlite3.c:101360:10 _ = _9_zType2 var _9_zStmt *int8 // sqlite3.c:101361:10 _ = _9_zStmt var _12_dest XSelectDest // sqlite3.c:101397:18 _ = _12_dest var _12_regYield int32 // sqlite3.c:101398:11 _ = _12_regYield var _12_addrTop int32 // sqlite3.c:101399:11 _ = _12_addrTop var _12_regRec int32 // sqlite3.c:101400:11 _ = _12_regRec var _12_regRowid int32 // sqlite3.c:101401:11 _ = _12_regRowid var _12_addrInsLoop int32 // sqlite3.c:101402:11 _ = _12_addrInsLoop var _12_pSelTab *XTable // sqlite3.c:101403:13 _ = _12_pSelTab var _14_pEnd2 *XToken // sqlite3.c:101443:13 _ = _14_pEnd2 var _15_pDb *XDb // sqlite3.c:101475:10 _ = _15_pDb var _17_pOld *XTable // sqlite3.c:101495:11 _ = _17_pOld var _17_pSchema *XSchema // sqlite3.c:101496:12 _ = _17_pSchema var _19_zName *int8 // sqlite3.c:101509:18 _ = _19_zName var _19_nName int32 // sqlite3.c:101510:11 _ = _19_nName _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pEnd != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) || _pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } return _1: func() int32 { if (_db.X17) == 0 { return i32(0) } return func() int32 { 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(23576))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XTable)(unsafe.Pointer(_pParse.X63)) if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } return _4: func() int32 { if (((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0) || (_pSelect == nil) { return i32(0) } return func() int32 { 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(116552))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { goto _8 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X7 */))) = (*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X0 if (_p.X7) != i32(1) { goto _9 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(1)) sink985 = *p } _9: _8: if (int32(_tabOpts) & i32(32)) == 0 { goto _10 } if ((_p.X9) & uint32(i32(8))) == 0 { goto _11 } _sqlite3ErrorMsg(tls, _pParse, str(116580)) return _11: if ((_p.X9) & uint32(i32(4))) != uint32(i32(0)) { goto _12 } _sqlite3ErrorMsg(tls, _pParse, str(116632), unsafe.Pointer(_p.X0)) goto _13 _12: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(96)) sink985 = *p } _convertToWithoutRowidTable(tls, _pParse, _p) _13: _10: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_p.X20))) if (*XExprList)(unsafe.Pointer(_p.X6)) == nil { goto _14 } _sqlite3ResolveSelfReference(tls, _pParse, _p, i32(4), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(_p.X6))) _14: _estimateTableWidth(tls, _p) _pIdx = (*XIndex)(unsafe.Pointer(_p.X2)) _15: if _pIdx == nil { goto _18 } _estimateIndexWidth(tls, _pIdx) _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _15 _18: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { goto _19 } _9_v = _sqlite3GetVdbe(tls, _pParse) if func() int32 { if _9_v == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _22 } return _22: _sqlite3VdbeAddOp1(tls, _9_v, i32(112), i32(0)) if (*XSelect)(unsafe.Pointer(_p.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } _9_zType = str(97680) _9_zType2 = str(24864) goto _24 _23: _9_zType = str(116664) _9_zType2 = str(25384) _24: if _pSelect == nil { goto _25 } _12_regYield = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _12_regRec = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _12_regRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) func() int32 { if (_pParse.X17) == i32(1) { return i32(0) } return func() int32 { 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(116672))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3MayAbort(tls, _pParse) _sqlite3VdbeAddOp3(tls, _9_v, i32(106), i32(1), _pParse.X32, _iDb) _sqlite3VdbeChangeP5(tls, _9_v, uint16(i32(16))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = i32(2) _12_addrTop = _sqlite3VdbeCurrentAddr(tls, _9_v) + i32(1) _sqlite3VdbeAddOp3(tls, _9_v, i32(15), _12_regYield, i32(0), _12_addrTop) _sqlite3SelectDestInit(tls, &_12_dest, i32(13), _12_regYield) _sqlite3Select(tls, _pParse, _pSelect, &_12_dest) _sqlite3VdbeEndCoroutine(tls, _9_v, _12_regYield) _sqlite3VdbeJumpHere(tls, _9_v, _12_addrTop-i32(1)) if (_pParse.X16) == 0 { goto _28 } return _28: _12_pSelTab = _sqlite3ResultSetOfSelect(tls, _pParse, _pSelect) if _12_pSelTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _29 } return _29: func() int32 { if (*XColumn)(unsafe.Pointer(_p.X1)) == (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(116688))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(70 /* X11 */))) = _12_pSelTab.X11 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_12_pSelTab.X1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSelTab)) + uintptr(70 /* X11 */))) = int16(i32(0)) *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSelTab)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3DeleteTable(tls, _db, _12_pSelTab) _12_addrInsLoop = _sqlite3VdbeAddOp1(tls, _9_v, i32(16), _12_dest.X2) _sqlite3VdbeAddOp3(tls, _9_v, i32(100), _12_dest.X3, _12_dest.X4, _12_regRec) _sqlite3TableAffinity(tls, _9_v, _p, i32(0)) _sqlite3VdbeAddOp2(tls, _9_v, i32(115), i32(1), _12_regRowid) _sqlite3VdbeAddOp3(tls, _9_v, i32(116), i32(1), _12_regRec, _12_regRowid) _sqlite3VdbeGoto(tls, _9_v, _12_addrInsLoop) _sqlite3VdbeJumpHere(tls, _9_v, _12_addrInsLoop) _sqlite3VdbeAddOp1(tls, _9_v, i32(112), i32(1)) _25: if _pSelect == nil { goto _32 } _9_zStmt = _createTableStmt(tls, _db, _p) goto _33 _32: _14_pEnd2 = func() *XToken { if _tabOpts != 0 { return (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(456 /* X51 */))) } return _pEnd }() _9_n = int32(int64((uintptr(unsafe.Pointer(_14_pEnd2.X0)) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(440 /* X50 */))).X0))) / 1)) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pEnd2.X0)) + 1*uintptr(i32(0))))) == i32(59) { goto _36 } { p := &_9_n *p = int32(uint32(*p) + (_14_pEnd2.X1)) sink961 = *p } _36: _9_zStmt = _sqlite3MPrintf(tls, _db, str(116700), unsafe.Pointer(_9_zType2), _9_n, unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(440 /* X50 */))).X0)) _33: _sqlite3NestedParse(tls, _pParse, str(116716), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_9_zType), unsafe.Pointer(_p.X0), unsafe.Pointer(_p.X0), _pParse.X32, unsafe.Pointer(_9_zStmt), _pParse.X31) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_9_zStmt)) _sqlite3ChangeCookie(tls, _pParse, _iDb) if ((_p.X9) & uint32(i32(8))) == uint32(i32(0)) { goto _37 } _15_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XTable)(unsafe.Pointer((*XSchema)(unsafe.Pointer(_15_pDb.X4)).X6)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _40 } _sqlite3NestedParse(tls, _pParse, str(116804), unsafe.Pointer(_15_pDb.X0)) _40: _37: _sqlite3VdbeAddParseSchemaOp(tls, _9_v, _iDb, _sqlite3MPrintf(tls, _db, str(116848), unsafe.Pointer(_p.X0))) _19: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { goto _41 } _17_pSchema = (*XSchema)(unsafe.Pointer(_p.X20)) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _17_pOld = (*XTable)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pSchema))+uintptr(8 /* X2 */))), _p.X0, (unsafe.Pointer)(_p)))) if _17_pOld == nil { goto _44 } func() int32 { if _p == _17_pOld { return i32(0) } return func() int32 { 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(116884))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OomFault(tls, _db) return _44: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(520 /* X63 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2) sink961 = *p } if (*XSelect)(unsafe.Pointer(_p.X3)) != nil { goto _47 } _19_zName = (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(440 /* X50 */))).X0 func() int32 { if ((_pSelect == nil) && (_pCons != nil)) && (_pEnd != nil) { return i32(0) } return func() int32 { 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(116892))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pCons.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _52 } _pCons = _pEnd _52: _19_nName = int32(int64((uintptr(unsafe.Pointer(_pCons.X0)) - uintptr(unsafe.Pointer(_19_zName))) / 1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X15 */))) = i32(13) + _sqlite3Utf8CharLen(tls, _19_zName, _19_nName) _47: _41: return } var _sqlite3EndTableØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3EndTableØ00__func__Ø000[0], str(116920), 16) } func _convertToWithoutRowidTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable) { // sqlite3.c:101137:1 var _pIdx *XIndex // sqlite3.c:101138:9 _ = _pIdx var _pPk *XIndex // sqlite3.c:101139:9 _ = _pPk var _nPk int32 // sqlite3.c:101140:7 _ = _nPk var _i int32 // sqlite3.c:101141:7 _ = _i var _j int32 // sqlite3.c:101141:10 _ = _j var _db *Xsqlite3 // sqlite3.c:101142:11 _ = _db var _v *TVdbe // sqlite3.c:101143:8 _ = _v var _5_pList *XExprList // sqlite3.c:101172:14 _ = _5_pList var _5_ipkToken XToken // sqlite3.c:101173:11 _ = _5_ipkToken var _11_n int32 // sqlite3.c:101223:9 _ = _11_n _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X4) != 0 { goto _0 } _i = i32(0) _1: if _i >= int32(_pTab.X11) { goto _4 } if (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X6) & i32(1)) == i32(0) { goto _5 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))))) + uintptr(24 /* X3 */))) = uint8(i32(2)) _5: _i += 1 goto _1 _4: _0: if (_pParse.X55) == 0 { goto _6 } return _6: if (_pParse.X41) == 0 { goto _7 } func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeChangeOpcode(tls, _v, uint32(_pParse.X41), uint8(i32(134))) _7: if int32(_pTab.X10) < i32(0) { goto _10 } _sqlite3TokenInit(tls, &_5_ipkToken, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_pTab.X10))).X0) _5_pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3ExprAlloc(tls, _db, i32(55), &_5_ipkToken, i32(0))) if _5_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } return _11: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_5_pList.X1)+32*uintptr(i32(0)))))) + uintptr(24 /* X3 */))) = _pParse.X53 func() int32 { if (*XTable)(unsafe.Pointer(_pParse.X63)) == _pTab { return i32(0) } return func() int32 { 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(116936))) crt.X__builtin_abort(tls) return i32(0) }() }() _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))) if (_db.X17) == 0 { goto _14 } return _14: _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(68 /* X10 */))) = int16(i32(-1)) goto _15 _10: _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) if _v == nil { goto _16 } func() int32 { if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == i32(0) { return i32(0) } return func() int32 { 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(51368))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeChangeOpcode(tls, _v, uint32(_pPk.X11), uint8(i32(13))) _16: _i = store961(&_j, i32(1)) _19: if _i >= int32(_pPk.X13) { goto _22 } if _hasColumn(tls, _pPk.X1, _j, int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) == 0 { goto _23 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(96 /* X14 */))) -= 1 goto _24 _23: *(*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))) _24: _i += 1 goto _19 _22: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(94 /* X13 */))) = uint16(_j) _15: func() int32 { if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42964))) crt.X__builtin_abort(tls) return i32(0) }() }() storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk))+uintptr(99 /* X16 */))), int8(i32(1)), 32, 5) if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X4) != 0 { goto _27 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk))+uintptr(99 /* X16 */))), int8(i32(1)), 8, 3) _27: _nPk = int32(_pPk.X13) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(88 /* X11 */))) = _pTab.X7 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _28: if _pIdx == nil { goto _31 } if int32((uint32(_pIdx.X16)<>uint(i32(30))) != i32(2) { goto _32 } goto _29 _32: _i = store961(&_11_n, i32(0)) _33: if _i >= _nPk { goto _36 } if _hasColumn(tls, _pIdx.X1, int32(_pIdx.X13), int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) != 0 { goto _37 } _11_n += 1 _37: _i += 1 goto _33 _36: if _11_n != i32(0) { goto _38 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(96 /* X14 */))) = _pIdx.X13 goto _29 _38: if _resizeIndexObject(tls, _db, _pIdx, int32(_pIdx.X13)+_11_n) == 0 { goto _39 } return _39: *func() *int32 { _i = i32(0); return &_j }() = int32(_pIdx.X13) _40: if _i >= _nPk { goto _43 } if _hasColumn(tls, _pIdx.X1, int32(_pIdx.X13), int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) != 0 { goto _44 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j))) = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_j))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 8*uintptr(_i))) _j += 1 _44: _i += 1 goto _40 _43: func() int32 { if int32(_pIdx.X14) >= (int32(_pIdx.X13) + _11_n) { return i32(0) } return func() int32 { 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(116960))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pIdx.X14) >= _j { return i32(0) } return func() int32 { 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(116992))) crt.X__builtin_abort(tls) return i32(0) }() }() _29: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _28 _31: if _nPk >= int32(_pTab.X11) { goto _49 } if _resizeIndexObject(tls, _db, _pPk, int32(_pTab.X11)) == 0 { goto _50 } return _50: *func() *int32 { _i = i32(0); return &_j }() = _nPk _51: if _i >= int32(_pTab.X11) { goto _54 } if _hasColumn(tls, _pPk.X1, _j, _i) != 0 { goto _55 } func() int32 { if _j < int32(_pPk.X14) { return i32(0) } return func() int32 { 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(117012))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_j))) = int16(_i) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 8*uintptr(_j))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _j += 1 _55: _i += 1 goto _51 _54: func() int32 { if int32(_pPk.X14) == _j { return i32(0) } return func() int32 { 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(117028))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pTab.X11) == _j { return i32(0) } return func() int32 { 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(117044))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _62 _49: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(96 /* X14 */))) = uint16(_pTab.X11) _62: return } var _convertToWithoutRowidTableØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_convertToWithoutRowidTableØ00__func__Ø000[0], str(117060), 27) } 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 var _pTab *XTable // sqlite3.c:102357:9 _ = _pTab var _pIndex *XIndex // sqlite3.c:102358:9 _ = _pIndex var _zName *int8 // sqlite3.c:102359:8 _ = _zName var _nName int32 // sqlite3.c:102360:7 _ = _nName var _i int32 // sqlite3.c:102361:7 _ = _i var _j int32 // sqlite3.c:102361:10 _ = _j var _sFix XDbFixer // sqlite3.c:102362:11 _ = _sFix var _sortOrderMask int32 // sqlite3.c:102363:7 _ = _sortOrderMask var _db *Xsqlite3 // sqlite3.c:102364:11 _ = _db var _pDb *XDb // sqlite3.c:102365:6 _ = _pDb var _iDb int32 // sqlite3.c:102366:7 _ = _iDb var _pName *XToken // sqlite3.c:102367:9 _ = _pName var _pListItem *TExprList_item // sqlite3.c:102368:24 _ = _pListItem var _nExtra int32 // sqlite3.c:102369:7 _ = _nExtra var _nExtraCol int32 // sqlite3.c:102370:7 _ = _nExtraCol var _zExtra *int8 // sqlite3.c:102371:8 _ = _zExtra var _pPk *XIndex // sqlite3.c:102372:9 _ = _pPk var _20_n int32 // sqlite3.c:102496:9 _ = _20_n var _20_pLoop *XIndex // sqlite3.c:102497:11 _ = _20_pLoop var _23_zDb *int8 // sqlite3.c:102516:16 _ = _23_zDb var _26_prevCol XToken // sqlite3.c:102533:11 _ = _26_prevCol var _28_pExpr *XExpr // sqlite3.c:102548:10 _ = _28_pExpr var _34_pCExpr *XExpr // sqlite3.c:102601:10 _ = _34_pCExpr var _34_requestedSortOrder int32 // sqlite3.c:102602:9 _ = _34_requestedSortOrder var _34_zColl *int8 // sqlite3.c:102603:16 _ = _34_zColl var _37_pCopy *XExprList // sqlite3.c:102616:18 _ = _37_pCopy var _42_nColl int32 // sqlite3.c:102638:11 _ = _42_nColl var _46_x int32 // sqlite3.c:102664:11 _ = _46_x var _52_pIdx *XIndex // sqlite3.c:102719:11 _ = _52_pIdx var _53_k int32 // sqlite3.c:102721:11 _ = _53_k var _54_z1 *int8 // sqlite3.c:102728:20 _ = _54_z1 var _54_z2 *int8 // sqlite3.c:102729:20 _ = _54_z2 var _59_p *XIndex // sqlite3.c:102764:11 _ = _59_p var _62_v *TVdbe // sqlite3.c:102794:10 _ = _62_v var _62_zStmt *int8 // sqlite3.c:102795:10 _ = _62_zStmt var _62_iMem int32 // sqlite3.c:102796:9 _ = _62_iMem var _63_n int32 // sqlite3.c:102816:11 _ = _63_n var _68_pOther *XIndex // sqlite3.c:102865:13 _ = _68_pOther _pTab = nil _pIndex = nil _zName = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pName = nil _nExtra = i32(0) _zExtra = nil _pPk = nil if (_db.X17) == 0 && (_pParse.X16) <= i32(0) { goto _1 } goto _exit_create_index _1: if (_pParse.X55) == 0 || int32(_idxType) == i32(2) { goto _3 } goto _exit_create_index _3: if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _4 } goto _exit_create_index _4: if _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } func() int32 { if (_pName1 != nil) && (_pName2 != nil) { return i32(0) } return func() int32 { 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(117088))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) if _iDb >= i32(0) { goto _9 } goto _exit_create_index _9: func() int32 { if (_pName != nil) && ((_pName.X0) != nil) { return i32(0) } return func() int32 { 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(117108))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { goto _13 } _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTblName) if (_pName2.X1) != uint32(i32(0)) || _pTab == nil || (*XSchema)(unsafe.Pointer(_pTab.X20)) != (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X4)) { goto _16 } _iDb = i32(1) _16: _13: _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(117128), _pName) if _sqlite3FixSrcList(tls, &_sFix, _pTblName) == 0 { goto _17 } func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() _17: _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTblName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))) func() int32 { if (int32(_db.X17) == i32(0)) || (_pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(117136))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _21 } goto _exit_create_index _21: if _iDb != i32(1) || (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { goto _23 } _sqlite3ErrorMsg(tls, _pParse, str(117168), unsafe.Pointer(_pTab.X0)) goto _exit_create_index _23: if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { goto _24 } _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) _24: goto _25 _5: func() int32 { if _pName == (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(117220))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pStart == (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(117232))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) if _pTab != nil { goto _30 } goto _exit_create_index _30: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) _25: _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) func() int32 { if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pParse.X16) == i32(0) { return i32(0) } return func() int32 { 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(117244))) crt.X__builtin_abort(tls) return i32(0) }() }() if Xsqlite3_strnicmp(tls, _pTab.X0, str(116480), i32(7)) != i32(0) || int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != i32(0) || Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X0))+1*uintptr(i32(7)))), str(117260), i32(9)) == i32(0) { goto _37 } _sqlite3ErrorMsg(tls, _pParse, str(117272), unsafe.Pointer(_pTab.X0)) goto _exit_create_index _37: if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _38 } _sqlite3ErrorMsg(tls, _pParse, str(117300)) goto _exit_create_index _38: if (_pTab.X16) == 0 { goto _39 } _sqlite3ErrorMsg(tls, _pParse, str(117328)) goto _exit_create_index _39: if _pName == nil { goto _40 } _zName = _sqlite3NameFromToken(tls, _db, _pName) if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _41 } goto _exit_create_index _41: func() int32 { if (_pName.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(117364))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { goto _44 } goto _exit_create_index _44: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { goto _45 } if _sqlite3FindTable(tls, _db, _zName, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _46 } _sqlite3ErrorMsg(tls, _pParse, str(117376), unsafe.Pointer(_zName)) goto _exit_create_index _46: _45: if _sqlite3FindIndex(tls, _db, _zName, _pDb.X0) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _47 } if _ifNotExist != 0 { goto _48 } _sqlite3ErrorMsg(tls, _pParse, str(117412), unsafe.Pointer(_zName)) goto _49 _48: func() int32 { if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { return i32(0) } return func() int32 { 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(117436))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _49: goto _exit_create_index _47: goto _52 _40: *func() *int32 { _20_pLoop = (*XIndex)(unsafe.Pointer(_pTab.X2)); return &_20_n }() = i32(1) _53: if _20_pLoop == nil { goto _56 } *func() *int32 { _20_pLoop = (*XIndex)(unsafe.Pointer(_20_pLoop.X5)); return &_20_n }() += 1 goto _53 _56: _zName = _sqlite3MPrintf(tls, _db, str(117452), unsafe.Pointer(_pTab.X0), _20_n) if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _57 } goto _exit_create_index _57: if (_pParse.X55) == 0 { goto _58 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(i32(7)))) += 1 _58: _52: _23_zDb = _pDb.X0 if _sqlite3AuthCheck(tls, _pParse, i32(18), func() *int8 { if i32(1) != 0 && (_iDb == i32(1)) { return str(51488) } return str(51508) }(), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _23_zDb) == 0 { goto _62 } goto _exit_create_index _62: _i = i32(1) if i32(1) == 0 || _iDb != i32(1) { goto _64 } _i = i32(3) _64: if _sqlite3AuthCheck(tls, _pParse, _i, _zName, _pTab.X0, _23_zDb) == 0 { goto _65 } goto _exit_create_index _65: if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _66 } _sqlite3TokenInit(tls, &_26_prevCol, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(int32(_pTab.X11)-i32(1)))).X0) _pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3ExprAlloc(tls, _db, i32(55), &_26_prevCol, i32(0))) if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _67 } goto _exit_create_index _67: func() int32 { if (_pList.X0) == i32(1) { return i32(0) } return func() int32 { 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(117476))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprListSetSortOrder(tls, _pList, _sortOrder) goto _70 _66: _sqlite3ExprListCheckLength(tls, _pParse, _pList, str(117128)) _70: _i = i32(0) _71: if _i >= (_pList.X0) { goto _74 } _28_pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(_i))).X0)) func() int32 { if _28_pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44732))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_28_pExpr.X0) != i32(53) { goto _77 } { p := &_nExtra *p = (*p) + (i32(1) + _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pExpr)) + uintptr(8 /* X3 */))))))) sink961 = *p } _77: _i += 1 goto _71 _74: _nName = _sqlite3Strlen30(tls, _zName) _nExtraCol = func() int32 { if _pPk != nil { return int32(_pPk.X13) } return i32(1) }() _pIndex = _sqlite3AllocateIndexObject(tls, _db, int16((_pList.X0)+_nExtraCol), (_nName+_nExtra)+i32(1), &_zExtra) if (_db.X17) == 0 { goto _80 } goto _exit_create_index _80: func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pIndex.X2))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(117492))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pIndex.X8))))-uintptr(unsafe.Pointer(nil)))/1) & int64(i32(7))) == int64(i32(0)) { return i32(0) } return func() int32 { 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(117536))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(0 /* X0 */))) = _zExtra { p := &_zExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_nName+i32(1)))) sink1025 = *p } crt.Xmemcpy(tls, (unsafe.Pointer)(_pIndex.X0), (unsafe.Pointer)(_zName), uint64(_nName+i32(1))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(24 /* X3 */))))) = _pTab *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(98 /* X15 */))) = uint8(_onError) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(bool2int(_onError != i32(0))), 8, 3) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(_idxType), 3, 0) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(48 /* X6 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(94 /* X13 */))) = uint16(_pList.X0) if _pPIWhere == nil { goto _85 } _sqlite3ResolveSelfReference(tls, _pParse, _pTab, i32(2), _pPIWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(72 /* X9 */))))) = _pPIWhere _pPIWhere = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _85: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32((*XSchema)(unsafe.Pointer(_pDb.X4)).X7) < i32(4) { goto _88 } _sortOrderMask = i32(-1) goto _89 _88: _sortOrderMask = i32(0) _89: *func() **TExprList_item { _i = i32(0); return &_pListItem }() = (*TExprList_item)(unsafe.Pointer(_pList.X1)) _90: if _i >= (_pList.X0) { goto _93 } _sqlite3StringToId(tls, (*XExpr)(unsafe.Pointer(_pListItem.X0))) _sqlite3ResolveSelfReference(tls, _pParse, _pTab, i32(32), (*XExpr)(unsafe.Pointer(_pListItem.X0)), (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) if (_pParse.X16) == 0 { goto _94 } goto _exit_create_index _94: _34_pCExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pListItem.X0))) if int32(_34_pCExpr.X0) == i32(152) { goto _95 } if _pTab != (*XTable)(unsafe.Pointer(_pParse.X63)) { goto _96 } _sqlite3ErrorMsg(tls, _pParse, str(117576)) goto _exit_create_index _96: if (*XExprList)(unsafe.Pointer(_pIndex.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _97 } _37_pCopy = _sqlite3ExprListDup(tls, _db, _pList, i32(0)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(80 /* X10 */))))) = _37_pCopy if (_db.X17) != 0 { goto _98 } func() int32 { if _37_pCopy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(117640))) crt.X__builtin_abort(tls) return i32(0) }() }() _pListItem = (*TExprList_item)(unsafe.Pointer(uintptr(_37_pCopy.X1) + 32*uintptr(_i))) _98: _97: _j = i32(-2) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(i32(-2)) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(0)), 8, 3) goto _101 _95: _j = int32(_34_pCExpr.X9) func() int32 { if _j <= i32(32767) { return i32(0) } return func() int32 { 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(117652))) crt.X__builtin_abort(tls) return i32(0) }() }() if _j >= i32(0) { goto _104 } _j = int32(_pTab.X10) goto _105 _104: if int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_j))).X3) != i32(0) { goto _106 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(0)), 8, 3) _106: _105: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(_j) _101: _34_zColl = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if int32((*XExpr)(unsafe.Pointer(_pListItem.X0)).X0) != i32(53) { goto _107 } _34_zColl = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_pListItem.X0) + uintptr(8 /* X3 */))))) _42_nColl = _sqlite3Strlen30(tls, _34_zColl) + i32(1) func() int32 { if _nExtra >= _42_nColl { return i32(0) } return func() int32 { 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(117664))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_34_zColl), uint64(_42_nColl)) _34_zColl = _zExtra { p := &_zExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_42_nColl))) sink1025 = *p } { p := &_nExtra *p = (*p) - _42_nColl sink961 = *p } goto _110 _107: if _j < i32(0) { goto _111 } _34_zColl = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_j))).X2 _111: _110: if _34_zColl != nil { goto _112 } _34_zColl = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _112: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != 0 || _sqlite3LocateCollSeq(tls, _pParse, _34_zColl) != nil { goto _114 } goto _exit_create_index _114: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 8*uintptr(_i))) = _34_zColl _34_requestedSortOrder = int32(_pListItem.X3) & _sortOrderMask *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X7)) + 1*uintptr(_i))) = uint8(_34_requestedSortOrder) *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pListItem }())) += uintptr(32) goto _90 _93: if _pPk == nil { goto _115 } _j = i32(0) _116: if _j >= int32(_pPk.X13) { goto _119 } _46_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_j)))) func() int32 { if _46_x >= i32(0) { return i32(0) } return func() int32 { 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(114468))) crt.X__builtin_abort(tls) return i32(0) }() }() if _hasColumn(tls, _pIndex.X1, int32(_pIndex.X13), _46_x) == 0 { goto _122 } *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(96 /* X14 */))) -= 1 goto _123 _122: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(_46_x) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 8*uintptr(_i))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 8*uintptr(_j))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X7)) + 1*uintptr(_i))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X7)) + 1*uintptr(_j))) _i += 1 _123: _j += 1 goto _116 _119: func() int32 { if _i == int32(_pIndex.X14) { return i32(0) } return func() int32 { 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(117680))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _126 _115: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(i32(-1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 8*uintptr(_i))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _126: _sqlite3DefaultRowEst(tls, _pIndex) if (*XTable)(unsafe.Pointer(_pParse.X63)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _127 } _estimateIndexWidth(tls, _pIndex) _127: func() int32 { if ((((_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) || (int32(_pTab.X10) < i32(0))) || (int32(_sqlite3ColumnOfIndex(tls, _pIndex, _pTab.X10)) >= i32(0)) { return i32(0) } return func() int32 { 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(117700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pIndex.X14) < int32(_pTab.X11) { goto _133 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(1)), 32, 5) _j = i32(0) _134: if _j >= int32(_pTab.X11) { goto _137 } if _j != int32(_pTab.X10) { goto _138 } goto _135 _138: if int32(_sqlite3ColumnOfIndex(tls, _pIndex, int16(_j))) < i32(0) { goto _139 } goto _135 _139: storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(99 /* X16 */))), int8(i32(0)), 32, 5) goto _137 _135: _j += 1 goto _134 _137: _133: if _pTab != (*XTable)(unsafe.Pointer(_pParse.X63)) { goto _140 } _52_pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _141: if _52_pIdx == nil { goto _144 } func() int32 { if int32(_52_pIdx.X15) != i32(0) { return i32(0) } return func() int32 { 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(117780))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32(_52_pIdx.X16)<>uint(i32(30))) != i32(0) { return i32(0) } return func() int32 { 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(117800))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pIndex.X15) != i32(0) { return i32(0) } return func() int32 { 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(117840))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_52_pIdx.X13) == int32(_pIndex.X13) { goto _151 } goto _142 _151: _53_k = i32(0) _152: if _53_k >= int32(_52_pIdx.X13) { goto _155 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx.X1)) + 2*uintptr(_53_k)))) >= i32(0) { return i32(0) } return func() int32 { 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(117864))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)))) { goto _158 } goto _155 _158: _54_z1 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx.X8)) + 8*uintptr(_53_k))) _54_z2 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 8*uintptr(_53_k))) if _sqlite3StrICmp(tls, _54_z1, _54_z2) == 0 { goto _159 } goto _155 _159: _53_k += 1 goto _152 _155: if _53_k != int32(_52_pIdx.X13) { goto _160 } if int32(_52_pIdx.X15) == int32(_pIndex.X15) { goto _161 } if int32(_52_pIdx.X15) == i32(10) || int32(_pIndex.X15) == i32(10) { goto _163 } _sqlite3ErrorMsg(tls, _pParse, str(117888), i32(0)) _163: if int32(_52_pIdx.X15) != i32(10) { goto _164 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx)) + uintptr(98 /* X15 */))) = _pIndex.X15 _164: _161: if int32(_idxType) != i32(2) { goto _165 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx))+uintptr(99 /* X16 */))), int8(_idxType), 3, 0) _165: goto _exit_create_index _160: _142: _52_pIdx = (*XIndex)(unsafe.Pointer(_52_pIdx.X5)) goto _141 _144: _140: func() int32 { if (_pParse.X16) == i32(0) { return i32(0) } return func() int32 { 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(117244))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { goto _168 } func() int32 { if (_pParse.X55) == 0 { return i32(0) } return func() int32 { 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(117932))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pIndex.X6))) != 0 { return i32(0) } return func() int32 { 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(117952))) crt.X__builtin_abort(tls) return i32(0) }() }() _59_p = (*XIndex)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pIndex.X6)+uintptr(32 /* X3 */))), _pIndex.X0, (unsafe.Pointer)(_pIndex)))) if _59_p == nil { goto _173 } func() int32 { if _59_p == _pIndex { return i32(0) } return func() int32 { 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(118000))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OomFault(tls, _db) goto _exit_create_index _173: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2) sink961 = *p } if _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _176 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(88 /* X11 */))) = (*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X0 _176: goto _177 _168: if ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) && _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _179 } _62_iMem = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _62_v = _sqlite3GetVdbe(tls, _pParse) if _62_v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _180 } goto _exit_create_index _180: _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(88 /* X11 */))) = _sqlite3VdbeAddOp0(tls, _62_v, i32(162)) _sqlite3VdbeAddOp2(tls, _62_v, i32(134), _iDb, _62_iMem) if _pStart == nil { goto _181 } _63_n = int32(uint32(int32(int64((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X51 */))).X0))-uintptr(unsafe.Pointer(_pName.X0)))/1))) + ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(456 /* X51 */))).X1)) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName.X0)) + 1*uintptr(_63_n-i32(1))))) != i32(59) { goto _182 } _63_n -= 1 _182: _62_zStmt = _sqlite3MPrintf(tls, _db, str(118012), unsafe.Pointer(func() *int8 { if _onError == i32(0) { return str(196) } return str(118032) }()), _63_n, unsafe.Pointer(_pName.X0)) goto _185 _181: _62_zStmt = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _185: _sqlite3NestedParse(tls, _pParse, str(118040), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_pIndex.X0), unsafe.Pointer(_pTab.X0), _62_iMem, unsafe.Pointer(_62_zStmt)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_62_zStmt)) if _pTblName == nil { goto _186 } _sqlite3RefillIndex(tls, _pParse, _pIndex, _62_iMem) _sqlite3ChangeCookie(tls, _pParse, _iDb) _sqlite3VdbeAddParseSchemaOp(tls, _62_v, _iDb, _sqlite3MPrintf(tls, _db, str(118088), unsafe.Pointer(_pIndex.X0))) _sqlite3VdbeAddOp0(tls, _62_v, i32(151)) _186: _sqlite3VdbeJumpHere(tls, _62_v, _pIndex.X11) _179: _177: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == 0 && _pTblName != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _188 } if _onError == i32(5) && (*XIndex)(unsafe.Pointer(_pTab.X2)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) && int32((*XIndex)(unsafe.Pointer(_pTab.X2)).X15) != i32(5) { goto _191 } *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(40 /* X5 */))))) = (*XIndex)(unsafe.Pointer(_pTab.X2)) *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(16 /* X2 */))))) = _pIndex goto _192 _191: _68_pOther = (*XIndex)(unsafe.Pointer(_pTab.X2)) _193: if (*XIndex)(unsafe.Pointer(_68_pOther.X5)) == nil || int32((*XIndex)(unsafe.Pointer(_68_pOther.X5)).X15) == i32(5) { goto _194 } _68_pOther = (*XIndex)(unsafe.Pointer(_68_pOther.X5)) goto _193 _194: *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(40 /* X5 */))))) = (*XIndex)(unsafe.Pointer(_68_pOther.X5)) *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_68_pOther)) + uintptr(40 /* X5 */))))) = _pIndex _192: _pIndex = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _188: _exit_create_index: if _pIndex == nil { goto _196 } _freeIndex(tls, _db, _pIndex) _196: _sqlite3ExprDelete(tls, _db, _pPIWhere) _sqlite3ExprListDelete(tls, _db, _pList) _sqlite3SrcListDelete(tls, _db, _pTblName) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) return } var _sqlite3CreateIndexØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CreateIndexØ00__func__Ø000[0], str(118116), 19) } func _sqlite3SrcListLookup(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList) (r0 *XTable) { // sqlite3.c:104419:1 var _pItem *TSrcList_item // sqlite3.c:104420:23 _ = _pItem var _pTab *XTable // sqlite3.c:104421:9 _ = _pTab _pItem = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(8 /* X2 */))))) func() int32 { if (_pItem != nil) && ((_pSrc.X0) == i32(1)) { return i32(0) } return func() int32 { 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(118136))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), _pItem) _sqlite3DeleteTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XTable)(unsafe.Pointer(_pItem.X4))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(32 /* X4 */))))) = _pTab if _pTab == nil { goto _3 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(60 /* X8 */))) += 1 _3: if _sqlite3IndexedByLookup(tls, _pParse, _pItem) == 0 { goto _4 } _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _4: r0 = _pTab return } var _sqlite3SrcListLookupØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListLookupØ00__func__Ø000[0], str(118160), 21) } func _sqlite3FixInit(tls *crt.TLS, _pFix *XDbFixer, _pParse *XParse, _iDb int32, _zType *int8, _pName *XToken) { // sqlite3.c:99027:1 var _db *Xsqlite3 // sqlite3.c:99034:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if (_db.X5) > _iDb { return i32(0) } return func() int32 { 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(118184))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(0 /* X0 */))))) = _pParse *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(24 /* X3 */))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(8 /* X1 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(32 /* X4 */))) = _zType *(**XToken)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(40 /* X5 */))))) = _pName *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(16 /* X2 */))) = bool2int(_iDb == i32(1)) return } var _sqlite3FixInitØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FixInitØ00__func__Ø000[0], str(118196), 15) } func _sqlite3FixSrcList(tls *crt.TLS, _pFix *XDbFixer, _pList *XSrcList) (r0 int32) { // sqlite3.c:99060:1 var _i int32 // sqlite3.c:99064:7 _ = _i var _zDb *int8 // sqlite3.c:99065:14 _ = _zDb var _pItem *TSrcList_item // sqlite3.c:99066:23 _ = _pItem if func() int32 { if _pList == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } r0 = i32(0) return _2: _zDb = _pFix.X3 *func() **TSrcList_item { _i = i32(0); return &_pItem }() = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X2 */))))) _3: if _i >= (_pList.X0) { goto _6 } if (_pFix.X2) != i32(0) { goto _7 } if (_pItem.X1) == nil || _sqlite3StrICmp(tls, _pItem.X1, _zDb) == 0 { goto _9 } _sqlite3ErrorMsg(tls, (*XParse)(unsafe.Pointer(_pFix.X0)), str(118212), unsafe.Pointer(_pFix.X4), unsafe.Pointer((*XToken)(unsafe.Pointer(_pFix.X5))), unsafe.Pointer(_pItem.X1)) r0 = i32(1) return _9: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pFix.X0)).X0)), (unsafe.Pointer)(_pItem.X1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(0 /* X0 */))))) = (*XSchema)(unsafe.Pointer(_pFix.X1)) _7: if _sqlite3FixSelect(tls, _pFix, (*XSelect)(unsafe.Pointer(_pItem.X5))) == 0 { goto _10 } r0 = i32(1) return _10: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pItem.X12))) == 0 { goto _11 } r0 = i32(1) return _11: *(*uintptr)(unsafe.Pointer(func() **TSrcList_item { _i += 1; return &_pItem }())) += uintptr(112) goto _3 _6: r0 = i32(0) return } var _sqlite3FixSrcListØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FixSrcListØ00__func__Ø000[0], str(118260), 18) } func _sqlite3FixSelect(tls *crt.TLS, _pFix *XDbFixer, _pSelect *XSelect) (r0 int32) { // sqlite3.c:99090:1 _0: if _pSelect == nil { goto _1 } if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pSelect.X0))) == 0 { goto _2 } r0 = i32(1) return _2: if _sqlite3FixSrcList(tls, _pFix, (*XSrcList)(unsafe.Pointer(_pSelect.X8))) == 0 { goto _3 } r0 = i32(1) return _3: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X9))) == 0 { goto _4 } r0 = i32(1) return _4: if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pSelect.X10))) == 0 { goto _5 } r0 = i32(1) return _5: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X11))) == 0 { goto _6 } r0 = i32(1) return _6: if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pSelect.X12))) == 0 { goto _7 } r0 = i32(1) return _7: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X15))) == 0 { goto _8 } r0 = i32(1) return _8: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X16))) == 0 { goto _9 } r0 = i32(1) return _9: _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X13)) goto _0 _1: r0 = i32(0) return } func _sqlite3FixExprList(tls *crt.TLS, _pFix *XDbFixer, _pList *XExprList) (r0 int32) { // sqlite3.c:99149:1 var _i int32 // sqlite3.c:99153:7 _ = _i var _pItem *TExprList_item // sqlite3.c:99154:24 _ = _pItem if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: *func() **TExprList_item { _i = i32(0); return &_pItem }() = (*TExprList_item)(unsafe.Pointer(_pList.X1)) _1: if _i >= (_pList.X0) { goto _4 } if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pItem.X0))) == 0 { goto _5 } r0 = i32(1) return _5: *(*uintptr)(unsafe.Pointer(func() **TExprList_item { _i += 1; return &_pItem }())) += uintptr(32) goto _1 _4: r0 = i32(0) return } func _sqlite3FixExpr(tls *crt.TLS, _pFix *XDbFixer, _pExpr *XExpr) (r0 int32) { // sqlite3.c:99123:1 _0: if _pExpr == nil { goto _1 } if int32(_pExpr.X0) != i32(135) { goto _2 } if ((*T5414794)(unsafe.Pointer(uintptr((*XParse)(unsafe.Pointer(_pFix.X0)).X0) + uintptr(164 /* X33 */))).X2) == 0 { goto _3 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) goto _4 _3: _sqlite3ErrorMsg(tls, (*XParse)(unsafe.Pointer(_pFix.X0)), str(118280), unsafe.Pointer(_pFix.X4)) r0 = i32(1) return _4: _2: if ((_pExpr.X2) & uint32(i32(8404992))) == uint32(i32(0)) { goto _5 } goto _1 _5: if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { goto _6 } if _sqlite3FixSelect(tls, _pFix, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) == 0 { goto _7 } r0 = i32(1) return _7: goto _8 _6: if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */)))))))) == 0 { goto _9 } r0 = i32(1) return _9: _8: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pExpr.X5))) == 0 { goto _10 } r0 = i32(1) return _10: _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) goto _0 _1: r0 = i32(0) return } func _sqlite3ExprListSetSortOrder(tls *crt.TLS, _p *XExprList, _iSortOrder int32) { // sqlite3.c:92318:1 if _p != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: i32(0) func() int32 { if (_p.X0) > i32(0) { return i32(0) } return func() int32 { 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(118304))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iSortOrder >= i32(0) { goto _3 } func() int32 { if int32((*TExprList_item)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr((_p.X0)-i32(1)))).X3) == i32(0) { return i32(0) } return func() int32 { 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(118316))) crt.X__builtin_abort(tls) return i32(0) }() }() return _3: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr((_p.X0)-i32(1)))))) + uintptr(24 /* X3 */))) = uint8(_iSortOrder) return } var _sqlite3ExprListSetSortOrderØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListSetSortOrderØ00__func__Ø000[0], str(118360), 28) } func _sqlite3ExprListCheckLength(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _zObject *int8) { // sqlite3.c:92383:1 var _mx int32 // sqlite3.c:92388:7 _ = _mx _mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(2)))) if _pEList == nil || (_pEList.X0) <= _mx { goto _1 } _sqlite3ErrorMsg(tls, _pParse, str(118388), unsafe.Pointer(_zObject)) _1: return } func _sqlite3ResolveSelfReference(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _type int32, _pExpr *XExpr, _pList *XExprList) { // sqlite3.c:90709:1 var _sSrc XSrcList // sqlite3.c:90716:11 _ = _sSrc var _sNC XNameContext // sqlite3.c:90717:15 _ = _sNC func() int32 { if ((_type == i32(4)) || (_type == i32(2))) || (_type == i32(32)) { return i32(0) } return func() int32 { 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(118412))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u64(56)) crt.Xmemset(tls, (unsafe.Pointer)(&_sSrc), i32(0), u64(120)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc)) + uintptr(0 /* X0 */))) = i32(1) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(16 /* X2 */))) = _pTab.X0 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(32 /* X4 */))))) = _pTab *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(64 /* X11 */))) = i32(-1) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X1 */))))) = &_sSrc *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(48 /* X7 */))) = uint16(_type) if _sqlite3ResolveExprNames(tls, &_sNC, _pExpr) == 0 { goto _4 } return _4: if _pList == nil { goto _5 } _sqlite3ResolveExprListNames(tls, &_sNC, _pList) _5: return } var _sqlite3ResolveSelfReferenceØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ResolveSelfReferenceØ00__func__Ø000[0], str(118472), 28) } func _sqlite3StringToId(tls *crt.TLS, _p *XExpr) { // sqlite3.c:100715:1 if int32(_p.X0) != i32(97) { goto _0 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(i32(55)) goto _1 _0: if int32(_p.X0) != i32(53) || int32((*XExpr)(unsafe.Pointer(_p.X4)).X0) != i32(97) { goto _3 } *(*uint8)(unsafe.Pointer(uintptr(_p.X4) + uintptr(0 /* X0 */))) = uint8(i32(55)) _3: _1: return } func _hasColumn(tls *crt.TLS, _aiCol *int16, _nCol int32, _x int32) (r0 int32) { // sqlite3.c:101107:1 _0: if postInc961(&_nCol, int32(-1)) <= i32(0) { goto _1 } if _x != int32(*postInc5534753(&_aiCol, 2)) { goto _2 } r0 = i32(1) return _2: goto _0 _1: r0 = i32(0) return } func _estimateIndexWidth(tls *crt.TLS, _pIdx *XIndex) { // sqlite3.c:101093:1 var _wIndex uint32 // sqlite3.c:101094:12 _ = _wIndex var _i int32 // sqlite3.c:101095:7 _ = _i var _aCol *XColumn // sqlite3.c:101096:16 _ = _aCol var _1_x int16 // sqlite3.c:101098:9 _ = _1_x _wIndex = u32(0) _aCol = (*XColumn)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIdx.X3)).X1)) _i = i32(0) _0: if _i >= int32(_pIdx.X14) { goto _3 } _1_x = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i))) func() int32 { if int32(_1_x) < int32((*XTable)(unsafe.Pointer(_pIdx.X3)).X11) { return i32(0) } return func() int32 { 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(118500))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_wIndex *p = (*p) + uint32(func() int32 { if int32(_1_x) < i32(0) { return i32(1) } return int32((*XColumn)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCol)) + 32*uintptr(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))))).X5) }()) sink985 = *p } _i += 1 goto _0 _3: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(92 /* X12 */))) = _sqlite3LogEst(tls, uint64(_wIndex*uint32(i32(4)))) return } var _estimateIndexWidthØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_estimateIndexWidthØ00__func__Ø000[0], str(118524), 19) } func _sqlite3NestedParse(tls *crt.TLS, _pParse *XParse, _zFormat *int8, args ...interface{}) { // sqlite3.c:99702:1 var _ap []interface{} // sqlite3.c:99703:11 _ = _ap var _zSql *int8 // sqlite3.c:99704:8 _ = _zSql var _zErrMsg *int8 // sqlite3.c:99705:8 _ = _zErrMsg var _db *Xsqlite3 // sqlite3.c:99706:11 _ = _db var _saveBuf [144]int8 // sqlite3.c:99707:8 _ = _saveBuf _zErrMsg = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X16) == 0 { goto _0 } return _0: func() int32 { if int32(_pParse.X6) < i32(10) { return i32(0) } return func() int32 { 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(118544))) crt.X__builtin_abort(tls) return i32(0) }() }() _ap = args _zSql = _sqlite3VMPrintf(tls, _db, _zFormat, _ap) _ap = nil if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } return _3: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(30 /* X6 */))) += 1 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(u64(456))))))))), u64(144)) crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u64(456))))))))), i32(0), u64(144)) _sqlite3RunParser(tls, _pParse, _zSql, &_zErrMsg) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zSql)) crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u64(456))))))))), (unsafe.Pointer)(&_saveBuf), u64(144)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(30 /* X6 */))) -= 1 return } var _sqlite3NestedParseØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3NestedParseØ00__func__Ø000[0], str(118564), 19) } func _sqlite3RefillIndex(tls *crt.TLS, _pParse *XParse, _pIndex *XIndex, _memRootPage int32) { // sqlite3.c:102217:1 var _pTab *XTable // sqlite3.c:102218:9 _ = _pTab var _iTab int32 // sqlite3.c:102219:7 _ = _iTab var _iIdx int32 // sqlite3.c:102220:7 _ = _iIdx var _iSorter int32 // sqlite3.c:102221:7 _ = _iSorter var _addr1 int32 // sqlite3.c:102222:7 _ = _addr1 var _addr2 int32 // sqlite3.c:102223:7 _ = _addr2 var _tnum int32 // sqlite3.c:102224:7 _ = _tnum var _iPartIdxLabel int32 // sqlite3.c:102225:7 _ = _iPartIdxLabel var _v *TVdbe // sqlite3.c:102226:8 _ = _v var _pKey *XKeyInfo // sqlite3.c:102227:11 _ = _pKey var _regRecord int32 // sqlite3.c:102228:7 _ = _regRecord var _db *Xsqlite3 // sqlite3.c:102229:11 _ = _db var _iDb int32 // sqlite3.c:102230:7 _ = _iDb var _4_j2 int32 // sqlite3.c:102275:9 _ = _4_j2 _pTab = (*XTable)(unsafe.Pointer(_pIndex.X3)) _iTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _iIdx = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pIndex.X6))) if _sqlite3AuthCheck(tls, _pParse, i32(27), _pIndex.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) == 0 { goto _0 } return _0: _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(i32(1)), _pTab.X0) _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } return _1: if _memRootPage < i32(0) { goto _2 } _tnum = _memRootPage goto _3 _2: _tnum = _pIndex.X11 _3: _pKey = _sqlite3KeyInfoOfIndex(tls, _pParse, _pIndex) func() int32 { if ((_pKey != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0)) || (_pParse.X16) != 0 { return i32(0) } return func() int32 { 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(118584))) crt.X__builtin_abort(tls) return i32(0) }() }() _iSorter = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _sqlite3VdbeAddOp4(tls, _v, i32(109), _iSorter, i32(0), int32(_pIndex.X13), (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _pKey))), i32(-5)) _sqlite3OpenTable(tls, _pParse, _iTab, _iDb, _pTab, i32(105)) _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iTab, i32(0)) _regRecord = _sqlite3GetTempReg(tls, _pParse) _sqlite3GenerateIndexKey(tls, _pParse, _pIndex, _iTab, _regRecord, i32(0), &_iPartIdxLabel, (*XIndex)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(125), _iSorter, _regRecord) _sqlite3ResolvePartIdxLabel(tls, _pParse, _iPartIdxLabel) _sqlite3VdbeAddOp2(tls, _v, i32(7), _iTab, _addr1+i32(1)) _sqlite3VdbeJumpHere(tls, _v, _addr1) if _memRootPage >= i32(0) { goto _8 } _sqlite3VdbeAddOp2(tls, _v, i32(131), _tnum, _iDb) _8: _sqlite3VdbeAddOp4(tls, _v, i32(106), _iIdx, _tnum, _iDb, (*int8)(unsafe.Pointer(_pKey)), i32(-5)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1)|func() int32 { if _memRootPage >= i32(0) { return i32(16) } return i32(0) }())) _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(56), _iSorter, i32(0)) if int32(_pIndex.X15) == i32(0) { goto _11 } _4_j2 = _sqlite3VdbeCurrentAddr(tls, _v) + i32(3) _sqlite3VdbeGoto(tls, _v, _4_j2) _addr2 = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp4Int(tls, _v, i32(120), _iSorter, _4_j2, _regRecord, int32(_pIndex.X13)) _sqlite3UniqueConstraint(tls, _pParse, i32(2), _pIndex) goto _12 _11: _addr2 = _sqlite3VdbeCurrentAddr(tls, _v) _12: _sqlite3VdbeAddOp3(tls, _v, i32(121), _iSorter, _regRecord, _iIdx) _sqlite3VdbeAddOp3(tls, _v, i32(53), _iIdx, i32(0), i32(-1)) _sqlite3VdbeAddOp2(tls, _v, i32(126), _iIdx, _regRecord) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) _sqlite3ReleaseTempReg(tls, _pParse, _regRecord) _sqlite3VdbeAddOp2(tls, _v, i32(3), _iSorter, _addr2) _sqlite3VdbeJumpHere(tls, _v, _addr1) _sqlite3VdbeAddOp1(tls, _v, i32(112), _iTab) _sqlite3VdbeAddOp1(tls, _v, i32(112), _iIdx) _sqlite3VdbeAddOp1(tls, _v, i32(112), _iSorter) return } var _sqlite3RefillIndexØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RefillIndexØ00__func__Ø000[0], str(118628), 19) } func _sqlite3ResolvePartIdxLabel(tls *crt.TLS, _pParse *XParse, _iLabel int32) { // sqlite3.c:105280:1 if _iLabel == 0 { goto _0 } _sqlite3VdbeResolveLabel(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), _iLabel) _sqlite3ExprCachePop(tls, _pParse) _0: return } func _sqlite3UniqueConstraint(tls *crt.TLS, _pParse *XParse, _onError int32, _pIdx *XIndex) { // sqlite3.c:103616:1 var _zErr *int8 // sqlite3.c:103621:8 _ = _zErr var _j int32 // sqlite3.c:103622:7 _ = _j var _errMsg XStrAccum // sqlite3.c:103623:12 _ = _errMsg var _pTab *XTable // sqlite3.c:103624:9 _ = _pTab var _3_zCol *int8 // sqlite3.c:103631:12 _ = _3_zCol _pTab = (*XTable)(unsafe.Pointer(_pIdx.X3)) _sqlite3StrAccumInit(tls, &_errMsg, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(200)) if (*XExprList)(unsafe.Pointer(_pIdx.X10)) == nil { goto _0 } _sqlite3XPrintf(tls, &_errMsg, str(118648), unsafe.Pointer(_pIdx.X0)) goto _1 _0: _j = i32(0) _2: if _j >= int32(_pIdx.X13) { goto _5 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))) >= i32(0) { return i32(0) } return func() int32 { 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(118660))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_zCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))))).X0 if _j == 0 { goto _8 } _sqlite3StrAccumAppend(tls, &_errMsg, str(118684), i32(2)) _8: _sqlite3XPrintf(tls, &_errMsg, str(6548), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_3_zCol)) _j += 1 goto _2 _5: _1: _zErr = _sqlite3StrAccumFinish(tls, &_errMsg) _sqlite3HaltConstraint(tls, _pParse, func() int32 { if int32((uint32(_pIdx.X16)<>uint(i32(30))) == i32(2) { return i32(1555) } return i32(2067) }(), _onError, _zErr, int8(i32(-1)), uint8(i32(2))) return } var _sqlite3UniqueConstraintØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3UniqueConstraintØ00__func__Ø000[0], str(118688), 24) } func _sqlite3ChangeCookie(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:100922:1 var _db *Xsqlite3 // sqlite3.c:100923:11 _ = _db var _v *TVdbe // sqlite3.c:100924:8 _ = _v _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(1), ((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4)).X0)+i32(1)) return } var _sqlite3ChangeCookieØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ChangeCookieØ00__func__Ø000[0], str(118712), 20) } func _sqlite3VdbeAddParseSchemaOp(tls *crt.TLS, _p *TVdbe, _iDb int32, _zWhere *int8) { // sqlite3.c:71635:1 var _j int32 // sqlite3.c:71636:7 _ = _j _sqlite3VdbeAddOp4(tls, _p, i32(137), _iDb, i32(0), i32(0), _zWhere, i32(-1)) _j = i32(0) _0: if _j >= ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X5) { goto _3 } _sqlite3VdbeUsesBtree(tls, _p, _j) _j += 1 goto _0 _3: return } func _resizeIndexObject(tls *crt.TLS, _db *Xsqlite3, _pIdx *XIndex, _N int32) (r0 int32) { // sqlite3.c:101055:1 var _zExtra *int8 // sqlite3.c:101056:8 _ = _zExtra var _nByte int32 // sqlite3.c:101057:7 _ = _nByte if int32(_pIdx.X14) < _N { goto _0 } r0 = i32(0) return _0: func() int32 { if int32((uint32((_pIdx.X16)>>uint(i32(4)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(118732))) crt.X__builtin_abort(tls) return i32(0) }() }() _nByte = int32(u64(11) * uint64(_N)) _zExtra = (*int8)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_nByte)))) if _zExtra != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = _sqlite3NomemError(tls, i32(101062)) return _3: crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_pIdx.X8), u64(8)*uint64(_pIdx.X14)) *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(64 /* X8 */))) = (**int8)(unsafe.Pointer(_zExtra)) { p := &_zExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u64(8)*uint64(_N)))) sink1025 = *p } crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_pIdx.X1), u64(2)*uint64(_pIdx.X14)) *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(8 /* X1 */))) = (*int16)(unsafe.Pointer(_zExtra)) { p := &_zExtra *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u64(2)*uint64(_N)))) sink1025 = *p } crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_pIdx.X7), uint64(_pIdx.X14)) *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(56 /* X7 */))) = (*uint8)(unsafe.Pointer(_zExtra)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(96 /* X14 */))) = uint16(_N) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx))+uintptr(99 /* X16 */))), int8(i32(1)), 16, 4) r0 = i32(0) return } var _resizeIndexObjectØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_resizeIndexObjectØ00__func__Ø000[0], str(118752), 18) } func _estimateTableWidth(tls *crt.TLS, _pTab *XTable) { // sqlite3.c:101079:1 var _wTable uint32 // sqlite3.c:101080:12 _ = _wTable var _pTabCol *XColumn // sqlite3.c:101081:16 _ = _pTabCol var _i int32 // sqlite3.c:101082:7 _ = _i _wTable = u32(0) *func() **XColumn { _i = int32(_pTab.X11); return &_pTabCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) _0: if _i <= i32(0) { goto _3 } { p := &_wTable *p = (*p) + uint32(_pTabCol.X5) sink985 = *p } *(*uintptr)(unsafe.Pointer(func() **XColumn { _i -= 1; return &_pTabCol }())) += uintptr(32) goto _0 _3: if int32(_pTab.X10) >= i32(0) { goto _4 } _wTable += 1 _4: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(74 /* X13 */))) = _sqlite3LogEst(tls, uint64(_wTable*uint32(i32(4)))) return } func _sqlite3TableAffinity(tls *crt.TLS, _v *TVdbe, _pTab *XTable, _iReg int32) { // sqlite3.c:108698:1 var _i int32 // sqlite3.c:108699:7 _ = _i var _zColAff *int8 // sqlite3.c:108700:8 _ = _zColAff var _1_db *Xsqlite3 // sqlite3.c:108702:13 _ = _1_db _zColAff = _pTab.X5 if _zColAff != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _1_db = _sqlite3VdbeDb(tls, _v) _zColAff = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(int32(_pTab.X11)+i32(1))))) if _zColAff != nil { goto _1 } _sqlite3OomFault(tls, _1_db) return _1: _i = i32(0) _2: if _i >= int32(_pTab.X11) { goto _5 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zColAff)) + 1*uintptr(_i))) = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_i))).X4 _i += 1 goto _2 _5: _6: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zColAff)) + 1*uintptr(postInc961(&_i, int32(-1))))) = int8(i32(0)) if (_i >= i32(0)) && (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zColAff)) + 1*uintptr(_i)))) == i32(65)) { goto _6 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(40 /* X5 */))) = _zColAff _0: _i = _sqlite3Strlen30(tls, _zColAff) if _i == 0 { goto _8 } if _iReg == 0 { goto _9 } _sqlite3VdbeAddOp4(tls, _v, i32(99), _iReg, _i, i32(0), _zColAff, _i) goto _10 _9: _sqlite3VdbeChangeP4(tls, _v, i32(-1), _zColAff, _i) _10: _8: return } func _createTableStmt(tls *crt.TLS, _db *Xsqlite3, _p *XTable) (r0 *int8) { // sqlite3.c:100987:1 var _i int32 // sqlite3.c:100988:7 _ = _i var _k int32 // sqlite3.c:100988:10 _ = _k var _n int32 // sqlite3.c:100988:13 _ = _n var _zStmt *int8 // sqlite3.c:100989:8 _ = _zStmt var _zSep *int8 // sqlite3.c:100990:8 _ = _zSep var _zSep2 *int8 // sqlite3.c:100990:15 _ = _zSep2 var _zEnd *int8 // sqlite3.c:100990:23 _ = _zEnd var _pCol *XColumn // sqlite3.c:100991:10 _ = _pCol var _5_len int32 // sqlite3.c:101024:9 _ = _5_len var _5_zType *int8 // sqlite3.c:101025:16 _ = _5_zType _n = i32(0) *func() *int32 { _pCol = (*XColumn)(unsafe.Pointer(_p.X1)); return &_i }() = i32(0) _0: if _i >= int32(_p.X11) { goto _3 } { p := &_n *p = (*p) + (_identLength(tls, _pCol.X0) + i32(5)) sink961 = *p } *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(32) goto _0 _3: { p := &_n *p = (*p) + _identLength(tls, _p.X0) sink961 = *p } if _n >= i32(50) { goto _4 } _zSep = str(196) _zSep2 = str(112420) _zEnd = str(38612) goto _5 _4: _zSep = str(118772) _zSep2 = str(118776) _zEnd = str(118784) _5: { p := &_n *p = (*p) + (i32(35) + (i32(6) * int32(_p.X11))) sink961 = *p } _zStmt = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(_n)))) if _zStmt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _sqlite3OomFault(tls, _db) r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _6: Xsqlite3_snprintf(tls, _n, _zStmt, str(118788)) _k = _sqlite3Strlen30(tls, _zStmt) _identPut(tls, _zStmt, &_k, _p.X0) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt)) + 1*uintptr(postInc961(&_k, int32(1))))) = int8(i32(40)) *func() *int32 { _pCol = (*XColumn)(unsafe.Pointer(_p.X1)); return &_i }() = i32(0) _7: if _i >= int32(_p.X11) { goto _10 } Xsqlite3_snprintf(tls, _n-_k, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k))), _zSep) { p := &_k *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k)))) sink961 = *p } _zSep = _zSep2 _identPut(tls, _zStmt, &_k, _pCol.X0) func() int32 { if (int32(_pCol.X4) - i32(65)) >= i32(0) { return i32(0) } return func() int32 { 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(118804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pCol.X4) - i32(65)) < i32(5) { return i32(0) } return func() int32 { 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(118840))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_zType = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_createTableStmtØ00azTypeØ001)) + 8*uintptr(int32(_pCol.X4)-i32(65)))) _5_len = _sqlite3Strlen30(tls, _5_zType) func() int32 { if (int32(_pCol.X4) == i32(65)) || (int32(_pCol.X4) == int32(_sqlite3AffinityType(tls, _5_zType, (*uint8)(unsafe.Pointer(uintptr(i32(0))))))) { return i32(0) } return func() int32 { 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(118892))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k)))), (unsafe.Pointer)(_5_zType), uint64(_5_len)) { p := &_k *p = (*p) + _5_len sink961 = *p } func() int32 { if _k <= _n { return i32(0) } return func() int32 { 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(118976))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(32) goto _7 _10: Xsqlite3_snprintf(tls, _n-_k, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k))), str(24304), unsafe.Pointer(_zEnd)) r0 = _zStmt return } func _identLength(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:100938:1 var _n int32 // sqlite3.c:100939:7 _ = _n _n = i32(0) _0: if (*_z) == 0 { goto _3 } if int32(*_z) != i32(34) { goto _4 } _n += 1 _4: *(*uintptr)(unsafe.Pointer(func() **int8 { _n += 1; return &_z }())) += uintptr(1) goto _0 _3: r0 = _n + i32(2) return } func _identPut(tls *crt.TLS, _z *int8, _pIdx *int32, _zSignedIdent *int8) { // sqlite3.c:100959:1 var _zIdent *uint8 // sqlite3.c:100960:17 _ = _zIdent var _i int32 // sqlite3.c:100961:7 _ = _i var _j int32 // sqlite3.c:100961:10 _ = _j var _needQuote int32 // sqlite3.c:100961:13 _ = _needQuote _zIdent = (*uint8)(unsafe.Pointer(_zSignedIdent)) _i = *_pIdx _j = i32(0) _0: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) == 0 { goto _3 } 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) { goto _5 } goto _3 _5: _j += 1 goto _0 _3: _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))) if _needQuote == 0 { goto _9 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(i32(34)) _9: _j = i32(0) _10: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) == 0 { goto _13 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) != i32(34) { goto _14 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(i32(34)) _14: _j += 1 goto _10 _13: if _needQuote == 0 { goto _15 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(i32(34)) _15: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))) = int8(i32(0)) *_pIdx = _i return } func _sqlite3KeywordCode(tls *crt.TLS, _z *uint8, _n int32) (r0 int32) { // sqlite3.c:139037:1 var _id int32 // sqlite3.c:139038:7 _ = _id _id = i32(55) _keywordCode(tls, (*int8)(unsafe.Pointer(_z)), _n, &_id) r0 = _id return } var _createTableStmtØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_createTableStmtØ00__func__Ø000[0], str(118984), 16) } var _createTableStmtØ00azTypeØ001 [5]*int8 // sqlite3.c:101017:23 func init() { _createTableStmtØ00azTypeØ001 = [5]*int8{str(196), str(119000), str(119008), str(119016), str(119024)} } func _sqlite3Utf8CharLen(tls *crt.TLS, _zIn *int8, _nByte int32) (r0 int32) { // sqlite3.c:27464:1 var _r int32 // sqlite3.c:27465:7 _ = _r var _z *uint8 // sqlite3.c:27466:12 _ = _z var _zTerm *uint8 // sqlite3.c:27467:12 _ = _zTerm _r = i32(0) _z = (*uint8)(unsafe.Pointer(_zIn)) if _nByte < i32(0) { goto _0 } _zTerm = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_nByte))) goto _1 _0: _zTerm = (*uint8)(unsafe.Pointer(uintptr(u64(18446744073709551615)))) _1: func() int32 { if uintptr(unsafe.Pointer(_z)) <= uintptr(unsafe.Pointer(_zTerm)) { return i32(0) } return func() int32 { 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(119032))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: if int32(*_z) == i32(0) || uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zTerm)) { goto _5 } if int32(*postInc4543(&_z, 1)) < i32(192) { goto _7 } _8: if (int32(*_z) & i32(192)) != i32(128) { goto _9 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _8 _9: _7: _r += 1 goto _4 _5: r0 = _r return } var _sqlite3Utf8CharLenØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3Utf8CharLenØ00__func__Ø000[0], str(119044), 19) } func _sqlite3AddColumn(tls *crt.TLS, _pParse *XParse, _pName *XToken, _pType *XToken) { // sqlite3.c:100501:1 var _p *XTable // sqlite3.c:100502:9 _ = _p var _i int32 // sqlite3.c:100503:7 _ = _i var _z *int8 // sqlite3.c:100504:8 _ = _z var _zType *int8 // sqlite3.c:100505:8 _ = _zType var _pCol *XColumn // sqlite3.c:100506:10 _ = _pCol var _db *Xsqlite3 // sqlite3.c:100507:11 _ = _db var _4_aNew *XColumn // sqlite3.c:100528:12 _ = _4_aNew _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if store5434322(&_p, (*XTable)(unsafe.Pointer(_pParse.X63))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: if (int32(_p.X11) + i32(1)) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(2))))) { goto _1 } _sqlite3ErrorMsg(tls, _pParse, str(119064), unsafe.Pointer(_p.X0)) return _1: _z = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64(((_pName.X1)+(_pType.X1))+uint32(i32(2)))))) if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } return _2: crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(_pName.X0), uint64(_pName.X1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_pName.X1))) = int8(i32(0)) _sqlite3Dequote(tls, _z) _i = i32(0) _3: if _i >= int32(_p.X11) { goto _6 } if Xsqlite3_stricmp(tls, _z, (*XColumn)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(_i))).X0) != i32(0) { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(119088), unsafe.Pointer(_z)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) return _7: _i += 1 goto _3 _6: if (int32(_p.X11) & i32(7)) != i32(0) { goto _8 } _4_aNew = (*XColumn)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, _p.X1, uint64(int32(_p.X11)+i32(8))*u64(32)))) if _4_aNew != (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) return _9: *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _4_aNew _8: _pCol = (*XColumn)(unsafe.Pointer(uintptr(_p.X1) + 32*uintptr(_p.X11))) crt.Xmemset(tls, (unsafe.Pointer)(_pCol), i32(0), u64(32)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(0 /* X0 */))) = _z if (_pType.X1) != uint32(i32(0)) { goto _10 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(25 /* X4 */))) = int8(i32(65)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(26 /* X5 */))) = uint8(i32(1)) goto _11 _10: _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)))))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_zType), (unsafe.Pointer)(_pType.X0), uint64(_pType.X1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zType)) + 1*uintptr(_pType.X1))) = int8(i32(0)) _sqlite3Dequote(tls, _zType) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(25 /* X4 */))) = _sqlite3AffinityType(tls, _zType, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol))+uintptr(26 /* X5 */)))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(27 /* X6 */))) *p = uint8(int32(*p) | i32(4)) sink4537 = *p } _11: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(70 /* X11 */))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(104 /* X28 */))))) + uintptr(8 /* X1 */))) = uint32(i32(0)) return } func _sqlite3AddDefaultValue(tls *crt.TLS, _pParse *XParse, _pSpan *XExprSpan) { // sqlite3.c:100669:1 var _p *XTable // sqlite3.c:100670:9 _ = _p var _pCol *XColumn // sqlite3.c:100671:10 _ = _pCol var _db *Xsqlite3 // sqlite3.c:100672:11 _ = _db var _3_x XExpr // sqlite3.c:100684:12 _ = _3_x _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _p = (*XTable)(unsafe.Pointer(_pParse.X63)) if _p == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _pCol = (*XColumn)(unsafe.Pointer(uintptr(_p.X1) + 32*uintptr(int32(_p.X11)-i32(1)))) if _sqlite3ExprIsConstantOrFunction(tls, (*XExpr)(unsafe.Pointer(_pSpan.X0)), (*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) != 0 { goto _1 } _sqlite3ErrorMsg(tls, _pParse, str(119116), unsafe.Pointer(_pCol.X0)) goto _2 _1: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pCol.X1))) crt.Xmemset(tls, (unsafe.Pointer)(&_3_x), i32(0), u64(72)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(0 /* X0 */))) = uint8(i32(161)) *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(8 /* X3 */))))) = _sqlite3DbStrNDup(tls, _db, _pSpan.X1, uint64(int32(int64((uintptr(unsafe.Pointer(_pSpan.X2))-uintptr(unsafe.Pointer(_pSpan.X1)))/1)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(16 /* X4 */))))) = (*XExpr)(unsafe.Pointer(_pSpan.X0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(4 /* X2 */))) = uint32(i32(4096)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(8 /* X1 */))))) = _sqlite3ExprDup(tls, _db, &_3_x, i32(1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(8 /* X3 */))))))) _2: _0: _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pSpan.X0))) return } func _sqlite3ExprIsConstantOrFunction(tls *crt.TLS, _p *XExpr, _isInit uint8) (r0 int32) { // sqlite3.c:92568:1 func() int32 { if (int32(_isInit) == i32(0)) || (int32(_isInit) == i32(1)) { return i32(0) } return func() int32 { 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(119164))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _exprIsConst(tls, _p, i32(4)+int32(_isInit), i32(0)) return } var _sqlite3ExprIsConstantOrFunctionØ00__func__Ø000 [32]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprIsConstantOrFunctionØ00__func__Ø000[0], str(119188), 32) } func _spanExpr(tls *crt.TLS, _pOut *XExprSpan, _pParse *XParse, _op int32, _t XToken) { // sqlite3.c:134955:3 var _p *XExpr // sqlite3.c:134956:10 _ = _p _p = (*XExpr)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (u64(72)+uint64(_t.X1))+uint64(i32(1))))) if _p == nil { goto _0 } crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(72)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(_op) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) = uint32(i32(8388608)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X10 */))) = int16(i32(-1)) *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))) = (*int8)(unsafe.Pointer((*XExpr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 72*uintptr(i32(1)))))) crt.Xmemcpy(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))), (unsafe.Pointer)(_t.X0), uint64(_t.X1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_t.X1))) = int8(i32(0)) if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))))))) & i32(128)) == 0 { goto _1 } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) != i32(34) { goto _2 } { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(64)) sink985 = *p } _2: _sqlite3Dequote(tls, *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) _1: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X7 */))) = i32(1) _0: *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _p *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = _t.X0 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_t.X0)) + 1*uintptr(_t.X1))) return } func _sqlite3AddNotNull(tls *crt.TLS, _pParse *XParse, _onError int32) { // sqlite3.c:100564:1 var _p *XTable // sqlite3.c:100565:9 _ = _p _p = (*XTable)(unsafe.Pointer(_pParse.X63)) if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { if int32(_p.X11) < i32(1) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _3 } return _3: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(int32(_p.X11)-i32(1)))))) + uintptr(24 /* X3 */))) = uint8(_onError) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(512)) sink985 = *p } return } var _sqlite3AddNotNullØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AddNotNullØ00__func__Ø000[0], str(119220), 18) } func _sqlite3AddPrimaryKey(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _onError int32, _autoInc int32, _sortOrder int32) { // sqlite3.c:100741:1 var _pTab *XTable // sqlite3.c:100748:9 _ = _pTab var _pCol *XColumn // sqlite3.c:100749:10 _ = _pCol var _iCol int32 // sqlite3.c:100750:7 _ = _iCol var _i int32 // sqlite3.c:100750:18 _ = _i var _nTerm int32 // sqlite3.c:100751:7 _ = _nTerm var _4_pCExpr *XExpr // sqlite3.c:100767:12 _ = _4_pCExpr var _5_zCName *int8 // sqlite3.c:100771:20 _ = _5_zCName _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) _pCol = nil _iCol = i32(-1) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } goto _primary_key_exit _0: if ((_pTab.X9) & uint32(i32(4))) == 0 { goto _1 } _sqlite3ErrorMsg(tls, _pParse, str(119240), unsafe.Pointer(_pTab.X0)) goto _primary_key_exit _1: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(i32(4)) sink985 = *p } if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _iCol = int32(_pTab.X11) - i32(1) _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(27 /* X6 */))) *p = uint8(int32(*p) | i32(1)) sink4537 = *p } _nTerm = i32(1) goto _3 _2: _nTerm = _pList.X0 _i = i32(0) _4: if _i >= _nTerm { goto _7 } _4_pCExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_i))).X0))) func() int32 { if _4_pCExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(119284))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3StringToId(tls, _4_pCExpr) if int32(_4_pCExpr.X0) != i32(55) { goto _10 } _5_zCName = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCExpr)) + uintptr(8 /* X3 */))))) _iCol = i32(0) _11: if _iCol >= int32(_pTab.X11) { goto _14 } if _sqlite3StrICmp(tls, _5_zCName, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_iCol))).X0) != i32(0) { goto _15 } _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))) { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(27 /* X6 */))) *p = uint8(int32(*p) | i32(1)) sink4537 = *p } goto _14 _15: _iCol += 1 goto _11 _14: _10: _i += 1 goto _4 _7: _3: if _nTerm != i32(1) || _pCol == nil || _sqlite3StrICmp(tls, _sqlite3ColumnType(tls, _pCol, str(196)), str(25736)) != i32(0) || _sortOrder == i32(1) { goto _19 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(68 /* X10 */))) = int16(_iCol) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(76 /* X14 */))) = uint8(_onError) func() int32 { if (_autoInc == i32(0)) || (_autoInc == i32(1)) { return i32(0) } return func() int32 { 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(119296))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X9 */))) *p = (*p) | uint32(_autoInc*i32(8)) sink985 = *p } if _pList == nil { goto _23 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(474 /* X53 */))) = (*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(i32(0)))).X3 _23: goto _24 _19: if _autoInc == 0 { goto _25 } _sqlite3ErrorMsg(tls, _pParse, str(119324)) goto _26 _25: _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))) _pList = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _26: _24: _primary_key_exit: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pList) return } var _sqlite3AddPrimaryKeyØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AddPrimaryKeyØ00__func__Ø000[0], str(119380), 21) } func _sqlite3AddCheckConstraint(tls *crt.TLS, _pParse *XParse, _pCheckExpr *XExpr) { // sqlite3.c:100811:1 var _pTab *XTable // sqlite3.c:100816:9 _ = _pTab var _db *Xsqlite3 // sqlite3.c:100817:11 _ = _db _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pTab == nil || (_pParse.X55) != 0 || _sqlite3BtreeIsReadonly(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X1))).X1))) != 0 { goto _2 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(48 /* X6 */))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(_pTab.X6)), _pCheckExpr) if ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(104 /* X28 */))).X1) == 0 { goto _3 } _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(_pTab.X6)), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(104 /* X28 */))), i32(1)) _3: goto _4 _2: _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pCheckExpr) _4: return } func _sqlite3BtreeIsReadonly(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68786:1 r0 = bool2int((int32((*XBtShared)(unsafe.Pointer(_p.X1)).X10) & i32(1)) != i32(0)) return } func _sqlite3CreateForeignKey(tls *crt.TLS, _pParse *XParse, _pFromCol *XExprList, _pTo *XToken, _pToCol *XExprList, _flags int32) { // sqlite3.c:102075:1 var _db *Xsqlite3 // sqlite3.c:102082:11 _ = _db var _pFKey *XFKey // sqlite3.c:102084:8 _ = _pFKey var _pNextTo *XFKey // sqlite3.c:102085:8 _ = _pNextTo var _p *XTable // sqlite3.c:102086:9 _ = _p var _nByte int32 // sqlite3.c:102087:7 _ = _nByte var _i int32 // sqlite3.c:102088:7 _ = _i var _nCol int32 // sqlite3.c:102089:7 _ = _nCol var _z *int8 // sqlite3.c:102090:8 _ = _z var _1_iCol int32 // sqlite3.c:102095:9 _ = _1_iCol var _10_j int32 // sqlite3.c:102135:11 _ = _10_j var _15_n int32 // sqlite3.c:102152:11 _ = _15_n _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pFKey = nil _p = (*XTable)(unsafe.Pointer(_pParse.X63)) func() int32 { if _pTo != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(119404))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && (_pParse.X55) == 0 { goto _3 } goto _fk_end _3: if _pFromCol != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _1_iCol = int32(_p.X11) - i32(1) if func() int32 { if _1_iCol < i32(0) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _7 } goto _fk_end _7: if _pToCol == nil || (_pToCol.X0) == i32(1) { goto _9 } _sqlite3ErrorMsg(tls, _pParse, str(119412), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(_1_iCol))).X0), unsafe.Pointer(_pTo)) goto _fk_end _9: _nCol = i32(1) goto _10 _4: if _pToCol == nil || (_pToCol.X0) == (_pFromCol.X0) { goto _12 } _sqlite3ErrorMsg(tls, _pParse, str(119476)) goto _fk_end _12: _nCol = _pFromCol.X0 _10: _nByte = int32(((u64(80) + (uint64(_nCol-i32(1)) * u64(16))) + uint64(_pTo.X1)) + uint64(i32(1))) if _pToCol == nil { goto _14 } _i = i32(0) _15: if _i >= (_pToCol.X0) { goto _18 } { p := &_nByte *p = (*p) + (_sqlite3Strlen30(tls, (*TExprList_item)(unsafe.Pointer(uintptr(_pToCol.X1)+32*uintptr(_i))).X1) + i32(1)) sink961 = *p } _i += 1 goto _15 _18: _14: _pFKey = (*XFKey)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_nByte)))) if _pFKey != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } goto _fk_end _19: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(0 /* X0 */))))) = _p *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(8 /* X1 */))))) = (*XFKey)(unsafe.Pointer(_p.X4)) _z = (*int8)(unsafe.Pointer((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(_nCol))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(16 /* X2 */))) = _z crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(_pTo.X0), uint64(_pTo.X1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_pTo.X1))) = int8(i32(0)) _sqlite3Dequote(tls, _z) { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr((_pTo.X1)+uint32(i32(1))))) sink1025 = *p } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(40 /* X5 */))) = _nCol if _pFromCol != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */)))))+16*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = int32(_p.X11) - i32(1) goto _21 _20: _i = i32(0) _22: if _i >= _nCol { goto _25 } _10_j = i32(0) _26: if _10_j >= int32(_p.X11) { goto _29 } if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(_10_j))).X0, (*TExprList_item)(unsafe.Pointer(uintptr(_pFromCol.X1)+32*uintptr(_i))).X1) != i32(0) { goto _30 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */)))))+16*uintptr(_i))))) + uintptr(0 /* X0 */))) = _10_j goto _29 _30: _10_j += 1 goto _26 _29: if _10_j < int32(_p.X11) { goto _31 } _sqlite3ErrorMsg(tls, _pParse, str(119572), unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pFromCol.X1)+32*uintptr(_i))).X1)) goto _fk_end _31: _i += 1 goto _22 _25: _21: if _pToCol == nil { goto _32 } _i = i32(0) _33: if _i >= _nCol { goto _36 } _15_n = _sqlite3Strlen30(tls, (*TExprList_item)(unsafe.Pointer(uintptr(_pToCol.X1)+32*uintptr(_i))).X1) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */)))))+16*uintptr(_i))))) + uintptr(8 /* X1 */))) = _z crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pToCol.X1)+32*uintptr(_i))).X1), uint64(_15_n)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_15_n))) = int8(i32(0)) { p := &_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_15_n+i32(1)))) sink1025 = *p } _i += 1 goto _33 _36: _32: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(44 /* X6 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(45 /* X7 */))))) + 1*uintptr(i32(0)))) = uint8(_flags & i32(255)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(45 /* X7 */))))) + 1*uintptr(i32(1)))) = uint8((_flags >> uint(i32(8))) & i32(255)) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_p.X20))) != 0 { return i32(0) } return func() int32 { 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(119620))) crt.X__builtin_abort(tls) return i32(0) }() }() _pNextTo = (*XFKey)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_p.X20)+uintptr(80 /* X5 */))), _pFKey.X2, (unsafe.Pointer)(_pFKey)))) if _pNextTo != _pFKey { goto _39 } _sqlite3OomFault(tls, _db) goto _fk_end _39: if _pNextTo == nil { goto _40 } func() int32 { if (*XFKey)(unsafe.Pointer(_pNextTo.X4)) == (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(119664))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(24 /* X3 */))))) = _pNextTo *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNextTo)) + uintptr(32 /* X4 */))))) = _pFKey _40: *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X4 */))))) = _pFKey _pFKey = (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) _fk_end: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pFKey)) _sqlite3ExprListDelete(tls, _db, _pFromCol) _sqlite3ExprListDelete(tls, _db, _pToCol) return } var _sqlite3CreateForeignKeyØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CreateForeignKeyØ00__func__Ø000[0], str(119684), 24) } func _sqlite3DeferForeignKey(tls *crt.TLS, _pParse *XParse, _isDeferred int32) { // sqlite3.c:102196:1 var _pTab *XTable // sqlite3.c:102198:9 _ = _pTab var _pFKey *XFKey // sqlite3.c:102199:8 _ = _pFKey if store5434322(&_pTab, (*XTable)(unsafe.Pointer(_pParse.X63))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && store5930546(&_pFKey, (*XFKey)(unsafe.Pointer(_pTab.X4))) != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } return _1: func() int32 { if (_isDeferred == i32(0)) || (_isDeferred == i32(1)) { return i32(0) } return func() int32 { 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(119708))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(44 /* X6 */))) = uint8(_isDeferred) return } var _sqlite3DeferForeignKeyØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DeferForeignKeyØ00__func__Ø000[0], str(119740), 23) } func _sqlite3AddCollateType(tls *crt.TLS, _pParse *XParse, _pToken *XToken) { // sqlite3.c:100836:1 var _p *XTable // sqlite3.c:100837:9 _ = _p var _i int32 // sqlite3.c:100838:7 _ = _i var _zColl *int8 // sqlite3.c:100839:8 _ = _zColl var _db *Xsqlite3 // sqlite3.c:100840:11 _ = _db var _1_pIdx *XIndex // sqlite3.c:100849:11 _ = _1_pIdx if store5434322(&_p, (*XTable)(unsafe.Pointer(_pParse.X63))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _i = int32(_p.X11) - i32(1) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _zColl = _sqlite3NameFromToken(tls, _db, _pToken) if _zColl != nil { goto _1 } return _1: if _sqlite3LocateCollSeq(tls, _pParse, _zColl) == nil { goto _2 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(_i))).X2)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+32*uintptr(_i))))) + uintptr(16 /* X2 */))) = _zColl _1_pIdx = (*XIndex)(unsafe.Pointer(_p.X2)) _3: if _1_pIdx == nil { goto _6 } func() int32 { if int32(_1_pIdx.X13) == i32(1) { return i32(0) } return func() int32 { 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(119764))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X1)) + 2*uintptr(i32(0))))) != _i { goto _9 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X8)) + 8*uintptr(i32(0)))) = (*XColumn)(unsafe.Pointer(uintptr(_p.X1) + 32*uintptr(_i))).X2 _9: _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pIdx.X5)) goto _3 _6: goto _10 _2: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zColl)) _10: return } var _sqlite3AddCollateTypeØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AddCollateTypeØ00__func__Ø000[0], str(119784), 22) } func _sqlite3DropTable(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _isView int32, _noErr int32) { // sqlite3.c:101959:1 var _pTab *XTable // sqlite3.c:101960:9 _ = _pTab var _v *TVdbe // sqlite3.c:101961:8 _ = _v var _db *Xsqlite3 // sqlite3.c:101962:11 _ = _db var _iDb int32 // sqlite3.c:101963:7 _ = _iDb var _4_code int32 // sqlite3.c:101991:9 _ = _4_code var _4_zTab *int8 // sqlite3.c:101992:16 _ = _4_zTab var _4_zDb *int8 // sqlite3.c:101993:16 _ = _4_zDb var _4_zArg2 *int8 // sqlite3.c:101994:16 _ = _4_zArg2 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_db.X17) == 0 { goto _0 } goto _exit_drop_table _0: func() int32 { if (_pParse.X16) == i32(0) { return i32(0) } return func() int32 { 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(117244))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pName.X0) == i32(1) { return i32(0) } return func() int32 { 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(119808))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ReadSchema(tls, _pParse) == 0 { goto _5 } goto _exit_drop_table _5: if _noErr == 0 { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(89 /* X21 */))) += 1 _6: func() int32 { if (_isView == i32(0)) || (_isView == i32(1)) { return i32(0) } return func() int32 { 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(119824))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(_isView), (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))) if _noErr == 0 { goto _10 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(89 /* X21 */))) -= 1 _10: if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } if _noErr == 0 { goto _12 } _sqlite3CodeVerifyNamedSchema(tls, _pParse, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X1) _12: goto _exit_drop_table _11: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTab.X16) == 0 || _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { goto _17 } goto _exit_drop_table _17: _4_zTab = func() *int8 { if i32(1) != 0 && (_iDb == i32(1)) { return str(51488) } return str(51508) }() _4_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _4_zArg2 = nil if _sqlite3AuthCheck(tls, _pParse, i32(9), _4_zTab, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _4_zDb) == 0 { goto _21 } goto _exit_drop_table _21: if _isView == 0 { goto _22 } if i32(1) == 0 || _iDb != i32(1) { goto _24 } _4_code = i32(15) goto _25 _24: _4_code = i32(17) _25: goto _26 _22: if (_pTab.X16) == 0 { goto _27 } _4_code = i32(30) _4_zArg2 = (*XModule)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab).X1)).X1 goto _28 _27: if i32(1) == 0 || _iDb != i32(1) { goto _30 } _4_code = i32(13) goto _31 _30: _4_code = i32(11) _31: _28: _26: if _sqlite3AuthCheck(tls, _pParse, _4_code, _pTab.X0, _4_zArg2, _4_zDb) == 0 { goto _32 } goto _exit_drop_table _32: if _sqlite3AuthCheck(tls, _pParse, i32(9), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _4_zDb) == 0 { goto _33 } goto _exit_drop_table _33: if Xsqlite3_strnicmp(tls, _pTab.X0, str(116480), i32(7)) != i32(0) || Xsqlite3_strnicmp(tls, _pTab.X0, str(119860), i32(11)) == i32(0) { goto _35 } _sqlite3ErrorMsg(tls, _pParse, str(119872), unsafe.Pointer(_pTab.X0)) goto _exit_drop_table _35: if _isView == 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _37 } _sqlite3ErrorMsg(tls, _pParse, str(119900), unsafe.Pointer(_pTab.X0)) goto _exit_drop_table _37: if _isView != 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _39 } _sqlite3ErrorMsg(tls, _pParse, str(119936), unsafe.Pointer(_pTab.X0)) goto _exit_drop_table _39: _v = _sqlite3GetVdbe(tls, _pParse) if _v == nil { goto _40 } _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) _sqlite3ClearStatTables(tls, _pParse, _iDb, str(97580), _pTab.X0) _sqlite3FkDropTable(tls, _pParse, _pName, _pTab) _sqlite3CodeDropTable(tls, _pParse, _pTab, _iDb, _isView) _40: _exit_drop_table: _sqlite3SrcListDelete(tls, _db, _pName) return } var _sqlite3DropTableØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DropTableØ00__func__Ø000[0], str(119968), 17) } func _sqlite3CodeVerifyNamedSchema(tls *crt.TLS, _pParse *XParse, _zDb *int8) { // sqlite3.c:103527:1 var _db *Xsqlite3 // sqlite3.c:103528:11 _ = _db var _i int32 // sqlite3.c:103529:7 _ = _i var _1_pDb *XDb // sqlite3.c:103531:8 _ = _1_pDb _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _i = i32(0) _0: if _i >= (_db.X5) { goto _3 } _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))) if (*XBtree)(unsafe.Pointer(_1_pDb.X1)) == nil || _zDb != nil && i32(0) != _sqlite3StrICmp(tls, _zDb, _1_pDb.X0) { goto _6 } _sqlite3CodeVerifySchema(tls, _pParse, _i) _6: _i += 1 goto _0 _3: return } func _sqlite3ClearStatTables(tls *crt.TLS, _pParse *XParse, _iDb int32, _zType *int8, _zName *int8) { // sqlite3.c:101865:1 var _i int32 // sqlite3.c:101871:7 _ = _i var _zDbName *int8 // sqlite3.c:101872:14 _ = _zDbName var _1_zTab [24]int8 // sqlite3.c:101874:10 _ = _1_zTab _zDbName = (*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 32*uintptr(_iDb))).X0 _i = i32(1) _0: if _i > i32(4) { goto _3 } Xsqlite3_snprintf(tls, int32(u64(24)), (*int8)(unsafe.Pointer(&_1_zTab)), str(119988), _i) if _sqlite3FindTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*int8)(unsafe.Pointer(&_1_zTab)), _zDbName) == nil { goto _4 } _sqlite3NestedParse(tls, _pParse, str(120004), unsafe.Pointer(_zDbName), unsafe.Pointer((*int8)(unsafe.Pointer(&_1_zTab))), unsafe.Pointer(_zType), unsafe.Pointer(_zName)) _4: _i += 1 goto _0 _3: return } func _sqlite3FkDropTable(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _pTab *XTable) { // sqlite3.c:107864:1 var _db *Xsqlite3 // sqlite3.c:107865:11 _ = _db var _1_iSkip int32 // sqlite3.c:107867:9 _ = _1_iSkip var _1_v *TVdbe // sqlite3.c:107868:10 _ = _1_v var _2_p *XFKey // sqlite3.c:107877:12 _ = _2_p _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if ((_db.X6)&i32(524288)) == 0 || (_pTab.X16) != 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) != nil { goto _2 } _1_iSkip = i32(0) _1_v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _1_v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3FkReferences(tls, _pTab) != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _2_p = (*XFKey)(unsafe.Pointer(_pTab.X4)) _6: if _2_p == nil { goto _9 } if (_2_p.X6) == 0 && ((_db.X6)&i32(33554432)) == 0 { goto _11 } goto _9 _11: _2_p = (*XFKey)(unsafe.Pointer(_2_p.X1)) goto _6 _9: if _2_p != nil { goto _12 } return _12: _1_iSkip = _sqlite3VdbeMakeLabel(tls, _1_v) _sqlite3VdbeAddOp2(tls, _1_v, i32(66), i32(1), _1_iSkip) _5: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(202 /* X47 */))) = uint8(i32(1)) _sqlite3DeleteFrom(tls, _pParse, _sqlite3SrcListDup(tls, _db, _pName, i32(0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(202 /* X47 */))) = uint8(i32(0)) if ((_db.X6) & i32(33554432)) != i32(0) { goto _13 } _sqlite3VdbeAddOp2(tls, _1_v, i32(66), i32(0), _sqlite3VdbeCurrentAddr(tls, _1_v)+i32(2)) _sqlite3HaltConstraint(tls, _pParse, i32(787), i32(2), (*int8)(unsafe.Pointer(uintptr(i32(0)))), int8(i32(-2)), uint8(i32(4))) _13: if _1_iSkip == 0 { goto _14 } _sqlite3VdbeResolveLabel(tls, _1_v, _1_iSkip) _14: _2: return } var _sqlite3FkDropTableØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FkDropTableØ00__func__Ø000[0], str(120036), 19) } func _sqlite3FkReferences(tls *crt.TLS, _pTab *XTable) (r0 *XFKey) { // sqlite3.c:107824:1 r0 = (*XFKey)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_pTab.X20)+uintptr(80 /* X5 */))), _pTab.X0))) return } func _sqlite3DeleteFrom(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pWhere *XExpr) { // sqlite3.c:104596:1 var _v *TVdbe // sqlite3.c:104601:8 _ = _v var _pTab *XTable // sqlite3.c:104602:9 _ = _pTab var _i int32 // sqlite3.c:104603:7 _ = _i var _pWInfo *XWhereInfo // sqlite3.c:104604:13 _ = _pWInfo var _pIdx *XIndex // sqlite3.c:104605:9 _ = _pIdx var _iTabCur int32 // sqlite3.c:104606:7 _ = _iTabCur var _iDataCur int32 // sqlite3.c:104607:7 _ = _iDataCur var _iIdxCur int32 // sqlite3.c:104608:7 _ = _iIdxCur var _nIdx int32 // sqlite3.c:104609:7 _ = _nIdx var _db *Xsqlite3 // sqlite3.c:104610:11 _ = _db var _sContext XAuthContext // sqlite3.c:104611:15 _ = _sContext var _sNC XNameContext // sqlite3.c:104612:15 _ = _sNC var _iDb int32 // sqlite3.c:104613:7 _ = _iDb var _memCnt int32 // sqlite3.c:104614:7 _ = _memCnt var _rcauth int32 // sqlite3.c:104615:7 _ = _rcauth var _eOnePass int32 // sqlite3.c:104616:7 _ = _eOnePass var _aiCurOnePass [2]int32 // sqlite3.c:104617:7 _ = _aiCurOnePass var _aToOpen *uint8 // sqlite3.c:104618:6 _ = _aToOpen var _pPk *XIndex // sqlite3.c:104619:9 _ = _pPk var _iPk int32 // sqlite3.c:104620:7 _ = _iPk var _nPk int16 // sqlite3.c:104621:7 _ = _nPk var _iKey int32 // sqlite3.c:104622:7 _ = _iKey var _nKey int16 // sqlite3.c:104623:7 _ = _nKey var _iEphCur int32 // sqlite3.c:104624:7 _ = _iEphCur var _iRowSet int32 // sqlite3.c:104625:7 _ = _iRowSet var _addrBypass int32 // sqlite3.c:104626:7 _ = _addrBypass var _addrLoop int32 // sqlite3.c:104627:7 _ = _addrLoop var _addrEphOpen int32 // sqlite3.c:104628:7 _ = _addrEphOpen var _bComplex int32 // sqlite3.c:104629:7 _ = _bComplex var _isView int32 // sqlite3.c:104633:7 _ = _isView var _pTrigger *XTrigger // sqlite3.c:104634:11 _ = _pTrigger var _14_wcf uint16 // sqlite3.c:104763:9 _ = _14_wcf var _28_iAddrOnce int32 // sqlite3.c:104862:11 _ = _28_iAddrOnce var _34_pVTab *int8 // sqlite3.c:104897:18 _ = _34_pVTab var _36_count int32 // sqlite3.c:104909:11 _ = _36_count _iDataCur = i32(0) _iIdxCur = i32(0) _memCnt = i32(-1) _aToOpen = nil _iPk = i32(0) _nPk = i16(1) _iEphCur = i32(0) _iRowSet = i32(0) _addrBypass = i32(0) _addrLoop = i32(0) _addrEphOpen = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_sContext), i32(0), u64(16)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _1 } goto _delete_from_cleanup _1: func() int32 { if (_pTabList.X0) == i32(1) { return i32(0) } return func() int32 { 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(120056))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTabList) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } goto _delete_from_cleanup _4: _pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) _isView = bool2int((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) _bComplex = bool2int((_pTrigger != nil) || _sqlite3FkRequired(tls, _pParse, _pTab, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) != 0) if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { goto _6 } goto _delete_from_cleanup _6: if _sqlite3IsReadOnly(tls, _pParse, _pTab, func() int32 { if _pTrigger != nil { return i32(1) } return i32(0) }()) == 0 { goto _9 } goto _delete_from_cleanup _9: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) func() int32 { if _iDb < (_db.X5) { return i32(0) } return func() int32 { 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(56012))) crt.X__builtin_abort(tls) return i32(0) }() }() _rcauth = _sqlite3AuthCheck(tls, _pParse, i32(9), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) func() int32 { if ((_rcauth == i32(0)) || (_rcauth == i32(1))) || (_rcauth == i32(2)) { return i32(0) } return func() int32 { 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(120076))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rcauth != i32(1) { goto _16 } goto _delete_from_cleanup _16: func() int32 { if (_isView == 0) || (_pTrigger != nil) { return i32(0) } return func() int32 { 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(120144))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pTabList.X0) == i32(1) { return i32(0) } return func() int32 { 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(120056))) crt.X__builtin_abort(tls) return i32(0) }() }() _iTabCur = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))))+uintptr(64 /* X11 */))), postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1))) *func() **XIndex { _nIdx = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _22: if _pIdx == nil { goto _25 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) += 1 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_nIdx }() += 1 goto _22 _25: if _isView == 0 { goto _26 } _sqlite3AuthContextPush(tls, _pParse, &_sContext, _pTab.X0) _26: _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _27 } goto _delete_from_cleanup _27: if int32(_pParse.X6) != i32(0) { goto _28 } _sqlite3VdbeCountChanges(tls, _v) _28: _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) if _isView == 0 { goto _29 } _sqlite3MaterializeView(tls, _pParse, _pTab, _pWhere, _iTabCur) _iDataCur = store961(&_iIdxCur, _iTabCur) _29: crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X1 */))))) = _pTabList if _sqlite3ResolveExprNames(tls, &_sNC, _pWhere) == 0 { goto _30 } goto _delete_from_cleanup _30: if ((_db.X6) & i32(128)) == 0 { goto _31 } _memCnt = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _memCnt) _31: if _rcauth != i32(0) || _pWhere != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) || _bComplex != 0 || (_pTab.X16) != 0 { goto _35 } func() int32 { if _isView == 0 { return i32(0) } return func() int32 { 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(120164))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(i32(1)), _pTab.X0) if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _38 } _sqlite3VdbeAddOp4(tls, _v, i32(131), _pTab.X7, _iDb, _memCnt, _pTab.X0, i32(-2)) _38: _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _39: if _pIdx == nil { goto _42 } func() int32 { if (*XSchema)(unsafe.Pointer(_pIdx.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { return i32(0) } return func() int32 { 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(120172))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(131), _pIdx.X11, _iDb) _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _39 _42: goto _45 _35: _14_wcf = u16(1044) if (int32(_sNC.X7) & i32(64)) == 0 { goto _46 } _bComplex = i32(1) _46: { p := &_14_wcf *p = uint16(int32(*p) | func() int32 { if _bComplex != 0 { return i32(0) } return i32(8) }()) sink4530 = *p } if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _49 } _pPk = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _nPk = int16(i32(1)) _iRowSet = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _iRowSet) goto _50 _49: _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) func() int32 { if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42964))) crt.X__builtin_abort(tls) return i32(0) }() }() _nPk = int16(_pPk.X13) _iPk = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_nPk) sink961 = *p } _iEphCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _addrEphOpen = _sqlite3VdbeAddOp2(tls, _v, i32(108), _iEphCur, int32(_nPk)) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pPk) _50: _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _14_wcf, _iTabCur+i32(1)) if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _53 } goto _delete_from_cleanup _53: _eOnePass = _sqlite3WhereOkOnePass(tls, _pWInfo, (*int32)(unsafe.Pointer(&_aiCurOnePass))) func() int32 { if ((_pTab.X16) == i32(0)) || (_eOnePass != i32(2)) { return i32(0) } return func() int32 { 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(120204))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pTab.X16) != 0 || _bComplex != 0) || (_eOnePass != i32(0)) { return i32(0) } return func() int32 { 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(120252))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(128)) == 0 { goto _61 } _sqlite3VdbeAddOp2(tls, _v, i32(92), _memCnt, i32(1)) _61: if _pPk == nil { goto _62 } _i = i32(0) _63: if _i >= int32(_nPk) { goto _66 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) >= i32(0) { return i32(0) } return func() int32 { 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(120308))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iTabCur, int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))), _iPk+_i) _i += 1 goto _63 _66: _iKey = _iPk goto _69 _62: _iKey = (_pParse.X18) + i32(1) _iKey = _sqlite3ExprCodeGetColumn(tls, _pParse, _pTab, i32(-1), _iTabCur, _iKey, uint8(i32(0))) if _iKey <= (_pParse.X18) { goto _70 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = _iKey _70: _69: if _eOnePass == i32(0) { goto _71 } _nKey = _nPk _aToOpen = (*uint8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nIdx+i32(2))))) if _aToOpen != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _72 } _sqlite3WhereEnd(tls, _pWInfo) goto _delete_from_cleanup _72: crt.Xmemset(tls, (unsafe.Pointer)(_aToOpen), i32(1), uint64(_nIdx+i32(1))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_nIdx+i32(1)))) = uint8(i32(0)) if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0))))) < i32(0) { goto _73 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0)))))-_iTabCur))) = uint8(i32(0)) _73: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) < i32(0) { goto _74 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1)))))-_iTabCur))) = uint8(i32(0)) _74: if _addrEphOpen == 0 { goto _75 } _sqlite3VdbeChangeToNoop(tls, _v, _addrEphOpen) _75: goto _76 _71: if _pPk == nil { goto _77 } _iKey = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _nKey = int16(i32(0)) _sqlite3VdbeAddOp4(tls, _v, i32(100), _iPk, int32(_nPk), _iKey, _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pPk), int32(_nPk)) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iEphCur, _iKey, _iPk, int32(_nPk)) goto _78 _77: _nKey = int16(i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(143), _iRowSet, _iKey) _78: _76: if _eOnePass == i32(0) { goto _79 } _addrBypass = _sqlite3VdbeMakeLabel(tls, _v) goto _80 _79: _sqlite3WhereEnd(tls, _pWInfo) _80: if _isView != 0 { goto _81 } _28_iAddrOnce = i32(0) if _eOnePass != i32(2) { goto _82 } _28_iAddrOnce = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _82: _sqlite3OpenTableAndIndices(tls, _pParse, _pTab, i32(106), uint8(i32(8)), _iTabCur, _aToOpen, &_iDataCur, &_iIdxCur) func() int32 { if ((_pPk != nil) || (_pTab.X16) != 0) || (_iDataCur == _iTabCur) { return i32(0) } return func() int32 { 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(120328))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pPk != nil) || (_pTab.X16) != 0) || (_iIdxCur == (_iDataCur + i32(1))) { return i32(0) } return func() int32 { 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(120372))) crt.X__builtin_abort(tls) return i32(0) }() }() if _eOnePass != i32(2) { goto _91 } _sqlite3VdbeJumpHere(tls, _v, _28_iAddrOnce) _91: _81: if _eOnePass == i32(0) { goto _92 } func() int32 { if int32(_nKey) == int32(_nPk) { return i32(0) } return func() int32 { 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(120420))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTab.X16) != 0 || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_iDataCur-_iTabCur)))) == 0 { goto _96 } func() int32 { if (_pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(120432))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _addrBypass, _iKey, int32(_nKey)) _96: goto _100 _92: if _pPk == nil { goto _101 } _addrLoop = _sqlite3VdbeAddOp1(tls, _v, i32(58), _iEphCur) _sqlite3VdbeAddOp2(tls, _v, i32(122), _iEphCur, _iKey) func() int32 { if int32(_nKey) == i32(0) { return i32(0) } return func() int32 { 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(120460))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _104 _101: _addrLoop = _sqlite3VdbeAddOp3(tls, _v, i32(63), _iRowSet, i32(0), _iKey) func() int32 { if int32(_nKey) == i32(1) { return i32(0) } return func() int32 { 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(120468))) crt.X__builtin_abort(tls) return i32(0) }() }() _104: _100: if (_pTab.X16) == 0 { goto _107 } _34_pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab))) _sqlite3VtabMakeWritable(tls, _pParse, _pTab) _sqlite3VdbeAddOp4(tls, _v, i32(12), i32(0), i32(1), _iKey, _34_pVTab, i32(-8)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) func() int32 { if (_eOnePass == i32(0)) || (_eOnePass == i32(1)) { return i32(0) } return func() int32 { 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(120476))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3MayAbort(tls, _pParse) if _eOnePass != i32(1) || (*XParse)(unsafe.Pointer(_pParse.X39)) != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { goto _112 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(32 /* X8 */))) = uint8(i32(0)) _112: goto _113 _107: _36_count = bool2int(int32(_pParse.X6) == i32(0)) _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))))) _113: if _eOnePass == i32(0) { goto _114 } _sqlite3VdbeResolveLabel(tls, _v, _addrBypass) _sqlite3WhereEnd(tls, _pWInfo) goto _115 _114: if _pPk == nil { goto _116 } _sqlite3VdbeAddOp2(tls, _v, i32(7), _iEphCur, _addrLoop+i32(1)) _sqlite3VdbeJumpHere(tls, _v, _addrLoop) goto _117 _116: _sqlite3VdbeGoto(tls, _v, _addrLoop) _sqlite3VdbeJumpHere(tls, _v, _addrLoop) _117: _115: _45: if int32(_pParse.X6) != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _119 } _sqlite3AutoincrementEnd(tls, _pParse) _119: if ((_db.X6)&i32(128)) == 0 || (_pParse.X6) != 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { goto _122 } _sqlite3VdbeAddOp2(tls, _v, i32(88), _memCnt, i32(1)) _sqlite3VdbeSetNumCols(tls, _v, i32(1)) _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), str(120528), nil) _122: _delete_from_cleanup: _sqlite3AuthContextPop(tls, &_sContext) _sqlite3SrcListDelete(tls, _db, _pTabList) _sqlite3ExprDelete(tls, _db, _pWhere) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aToOpen)) return } var _sqlite3DeleteFromØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DeleteFromØ00__func__Ø000[0], str(120544), 18) } func _sqlite3TriggersExist(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _op int32, _pChanges *XExprList, _pMask *int32) (r0 *XTrigger) { // sqlite3.c:122797:1 var _mask int32 // sqlite3.c:122804:7 _ = _mask var _pList *XTrigger // sqlite3.c:122805:11 _ = _pList var _p *XTrigger // sqlite3.c:122806:11 _ = _p _mask = i32(0) _pList = nil if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(16777216)) == i32(0) { goto _0 } _pList = _sqlite3TriggerList(tls, _pParse, _pTab) _0: func() int32 { if (_pList == (*XTrigger)(unsafe.Pointer(uintptr(i32(0))))) || ((_pTab.X16) == i32(0)) { return i32(0) } return func() int32 { 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(120564))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _pList _4: if _p == nil { goto _7 } if int32(_p.X2) != _op || _checkColumnOverlap(tls, (*XIdList)(unsafe.Pointer(_p.X5)), _pChanges) == 0 { goto _9 } { p := &_mask *p = (*p) | int32(_p.X3) sink961 = *p } _9: _p = (*XTrigger)(unsafe.Pointer(_p.X9)) goto _4 _7: if _pMask == nil { goto _10 } *_pMask = _mask _10: r0 = func() *XTrigger { if _mask != 0 { return _pList } return (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) }() return } func _sqlite3TriggerList(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 *XTrigger) { // sqlite3.c:122229:1 var _pTmpSchema *XSchema // sqlite3.c:122230:10 _ = _pTmpSchema var _pList *XTrigger // sqlite3.c:122231:11 _ = _pList var _2_p *XHashElem // sqlite3.c:122238:14 _ = _2_p var _3_pTrig *XTrigger // sqlite3.c:122241:15 _ = _3_pTrig _pTmpSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 32*uintptr(i32(1)))).X4)) _pList = nil if (_pParse.X47) == 0 { goto _0 } r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) return _0: if _pTmpSchema == (*XSchema)(unsafe.Pointer(_pTab.X20)) { goto _1 } func() int32 { if _sqlite3SchemaMutexHeld(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(0), _pTmpSchema) != 0 { return i32(0) } return func() int32 { 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(120596))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmpSchema)) + uintptr(56 /* X4 */))).X2)) _4: if _2_p == nil { goto _7 } _3_pTrig = (*XTrigger)(unsafe.Pointer(_2_p.X2)) if (*XSchema)(unsafe.Pointer(_3_pTrig.X7)) != (*XSchema)(unsafe.Pointer(_pTab.X20)) || i32(0) != _sqlite3StrICmp(tls, _3_pTrig.X1, _pTab.X0) { goto _9 } *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTrig)) + uintptr(64 /* X9 */))))) = func() *XTrigger { if _pList != nil { return _pList } return (*XTrigger)(unsafe.Pointer(_pTab.X19)) }() _pList = _3_pTrig _9: _2_p = (*XHashElem)(unsafe.Pointer(_2_p.X0)) goto _4 _7: _1: r0 = func() *XTrigger { if _pList != nil { return _pList } return (*XTrigger)(unsafe.Pointer(_pTab.X19)) }() return } var _sqlite3TriggerListØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TriggerListØ00__func__Ø000[0], str(120648), 19) } var _sqlite3TriggersExistØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TriggersExistØ00__func__Ø000[0], str(120668), 21) } func _checkColumnOverlap(tls *crt.TLS, _pIdList *XIdList, _pEList *XExprList) (r0 int32) { // sqlite3.c:122782:1 var _e int32 // sqlite3.c:122783:7 _ = _e if _pIdList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { if _pEList == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _3 } r0 = i32(1) return _3: _e = i32(0) _4: if _e >= (_pEList.X0) { goto _7 } if _sqlite3IdListIndex(tls, _pIdList, (*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(_e))).X1) < i32(0) { goto _8 } r0 = i32(1) return _8: _e += 1 goto _4 _7: r0 = i32(0) return } var _checkColumnOverlapØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_checkColumnOverlapØ00__func__Ø000[0], str(120692), 19) } func _sqlite3FkRequired(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _aChange *int32, _chngRowid int32) (r0 int32) { // sqlite3.c:108254:1 var _3_p *XFKey // sqlite3.c:108269:12 _ = _3_p if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(524288)) == 0 { goto _0 } if _aChange != nil { goto _1 } r0 = bool2int((_sqlite3FkReferences(tls, _pTab) != nil) || ((*XFKey)(unsafe.Pointer(_pTab.X4)) != nil)) return _1: _3_p = (*XFKey)(unsafe.Pointer(_pTab.X4)) _4: if _3_p == nil { goto _7 } if _fkChildIsModified(tls, _pTab, _3_p, _aChange, _chngRowid) == 0 { goto _8 } r0 = i32(1) return _8: _3_p = (*XFKey)(unsafe.Pointer(_3_p.X1)) goto _4 _7: _3_p = _sqlite3FkReferences(tls, _pTab) _9: if _3_p == nil { goto _12 } if _fkParentIsModified(tls, _pTab, _3_p, _aChange, _chngRowid) == 0 { goto _13 } r0 = i32(1) return _13: _3_p = (*XFKey)(unsafe.Pointer(_3_p.X3)) goto _9 _12: _0: r0 = i32(0) return } func _fkChildIsModified(tls *crt.TLS, _pTab *XTable, _p *XFKey, _aChange *int32, _bChngRowid int32) (r0 int32) { // sqlite3.c:107925:1 var _i int32 // sqlite3.c:107931:7 _ = _i var _1_iChildKey int32 // sqlite3.c:107933:9 _ = _1_iChildKey _i = i32(0) _0: if _i >= (_p.X5) { goto _3 } _1_iChildKey = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(64 /* X9 */))))) + 16*uintptr(_i))).X0 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aChange)) + 4*uintptr(_1_iChildKey)))) < i32(0) { goto _4 } r0 = i32(1) return _4: if _1_iChildKey != int32(_pTab.X10) || _bChngRowid == 0 { goto _6 } r0 = i32(1) return _6: _i += 1 goto _0 _3: r0 = i32(0) return } func _fkParentIsModified(tls *crt.TLS, _pTab *XTable, _p *XFKey, _aChange *int32, _bChngRowid int32) (r0 int32) { // sqlite3.c:107952:1 var _i int32 // sqlite3.c:107958:7 _ = _i var _1_zKey *int8 // sqlite3.c:107960:10 _ = _1_zKey var _1_iKey int32 // sqlite3.c:107961:9 _ = _1_iKey var _3_pCol *XColumn // sqlite3.c:107964:16 _ = _3_pCol _i = i32(0) _0: if _i >= (_p.X5) { goto _3 } _1_zKey = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(64 /* X9 */))))) + 16*uintptr(_i))).X1 _1_iKey = i32(0) _4: if _1_iKey >= int32(_pTab.X11) { goto _7 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aChange)) + 4*uintptr(_1_iKey)))) < i32(0) && (_1_iKey != int32(_pTab.X10) || _bChngRowid == 0) { goto _10 } _3_pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_1_iKey))) if _1_zKey == nil { goto _11 } if i32(0) != _sqlite3StrICmp(tls, _3_pCol.X0, _1_zKey) { goto _12 } r0 = i32(1) return _12: goto _13 _11: if (int32(_3_pCol.X6) & i32(1)) == 0 { goto _14 } r0 = i32(1) return _14: _13: _10: _1_iKey += 1 goto _4 _7: _i += 1 goto _0 _3: r0 = i32(0) return } func _sqlite3IsReadOnly(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _viewOk int32) (r0 int32) { // sqlite3.c:104440:1 if ((_pTab.X16) == 0 || *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 }{((*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer(_sqlite3GetVTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pTab).X1)).X0)).X13)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 }{nil}))) && (((_pTab.X9)&uint32(i32(1))) == uint32(i32(0)) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(2048)) != i32(0) || int32(_pParse.X6) != i32(0)) { goto _4 } _sqlite3ErrorMsg(tls, _pParse, str(120712), unsafe.Pointer(_pTab.X0)) r0 = i32(1) return _4: if _viewOk != 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _6 } _sqlite3ErrorMsg(tls, _pParse, str(120744), unsafe.Pointer(_pTab.X0)) r0 = i32(1) return _6: r0 = i32(0) return } func _sqlite3AuthContextPush(tls *crt.TLS, _pParse *XParse, _pContext *XAuthContext, _zContext *int8) { // sqlite3.c:99426:1 func() int32 { if _pParse != nil { return i32(0) } return func() int32 { 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(120784))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pContext)) + uintptr(8 /* X1 */))))) = _pParse *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pContext)) + uintptr(0 /* X0 */))) = _pParse.X65 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(536 /* X65 */))) = _zContext return } var _sqlite3AuthContextPushØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AuthContextPushØ00__func__Ø000[0], str(120792), 23) } func _sqlite3VdbeCountChanges(tls *crt.TLS, _v *TVdbe) { // sqlite3.c:75831:1 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(196 /* X32 */))), int16(i32(1)), 16, 4) return } func _sqlite3MaterializeView(tls *crt.TLS, _pParse *XParse, _pView *XTable, _pWhere *XExpr, _iCur int32) { // sqlite3.c:104477:1 var _dest XSelectDest // sqlite3.c:104483:14 _ = _dest var _pSel *XSelect // sqlite3.c:104484:10 _ = _pSel var _pFrom *XSrcList // sqlite3.c:104485:11 _ = _pFrom var _db *Xsqlite3 // sqlite3.c:104486:11 _ = _db var _iDb int32 // sqlite3.c:104487:7 _ = _iDb _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pView.X20))) _pWhere = _sqlite3ExprDup(tls, _db, _pWhere, i32(0)) _pFrom = _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) if _pFrom == nil { goto _0 } func() int32 { if (_pFrom.X0) == i32(1) { return i32(0) } return func() int32 { 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(120816))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(16 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pView.X0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(8 /* X1 */))) = _sqlite3DbStrDup(tls, _db, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) func() int32 { if (*XExpr)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X12)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(120832))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XIdList)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X13)) == (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(120852))) crt.X__builtin_abort(tls) return i32(0) }() }() _0: _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))))) _sqlite3SelectDestInit(tls, &_dest, i32(12), _iCur) _sqlite3Select(tls, _pParse, _pSel, &_dest) _sqlite3SelectDelete(tls, _db, _pSel) return } var _sqlite3MaterializeViewØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3MaterializeViewØ00__func__Ø000[0], str(120876), 23) } 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 var _pNew *XSelect // sqlite3.c:116360:10 _ = _pNew var _standin XSelect // sqlite3.c:116361:10 _ = _standin var _db *Xsqlite3 // sqlite3.c:116362:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pNew = (*XSelect)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(128)))) if _pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() _pNew = &_standin _0: if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } _pEList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3Expr(tls, _db, i32(160), (*int8)(unsafe.Pointer(uintptr(i32(0)))))) _3: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = _pEList *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) = uint8(i32(119)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X3 */))) = _selFlags *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X4 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = i32(0) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(24 /* X6 */))))) + 1*uintptr(i32(0)))) = int8(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(0)))) = i32(-1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(36 /* X7 */))))) + 4*uintptr(i32(1)))) = i32(-1) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(10 /* X2 */))) = int16(i32(0)) if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _pSrc = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(120)))) _4: *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X8 */))))) = _pSrc *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(56 /* X9 */))))) = _pWhere *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(64 /* X10 */))))) = _pGroupBy *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(72 /* X11 */))))) = _pHaving *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(80 /* X12 */))))) = _pOrderBy *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(88 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(96 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(104 /* X15 */))))) = _pLimit *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(112 /* X16 */))))) = _pOffset *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(120 /* X17 */))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if (((_pOffset == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (_pLimit != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))))) || ((_pParse.X16) > i32(0))) || (int32(_db.X17) != i32(0)) { return i32(0) } return func() int32 { 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(120900))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 { goto _10 } _clearSelect(tls, _db, _pNew, bool2int(_pNew != &_standin)) _pNew = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) goto _11 _10: func() int32 { if ((*XSrcList)(unsafe.Pointer(_pNew.X8)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0))))) || ((_pParse.X16) > i32(0)) { return i32(0) } return func() int32 { 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(120968))) crt.X__builtin_abort(tls) return i32(0) }() }() _11: func() int32 { if _pNew != &_standin { return i32(0) } return func() int32 { 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(121000))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _pNew return } var _sqlite3SelectNewØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SelectNewØ00__func__Ø000[0], str(121016), 17) } func _sqlite3WhereOkOnePass(tls *crt.TLS, _pWInfo *XWhereInfo, _aiCur *int32) (r0 int32) { // sqlite3.c:129934:1 crt.Xmemcpy(tls, (unsafe.Pointer)(_aiCur), (unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(36 /* X5 */)))), u64(8)) r0 = int32(_pWInfo.X13) return } 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 var _i int32 // sqlite3.c:110385:7 _ = _i var _iDb int32 // sqlite3.c:110386:7 _ = _iDb var _iDataCur int32 // sqlite3.c:110387:7 _ = _iDataCur var _pIdx *XIndex // sqlite3.c:110388:9 _ = _pIdx var _v *TVdbe // sqlite3.c:110389:8 _ = _v var _4_iIdxCur int32 // sqlite3.c:110412:9 _ = _4_iIdxCur func() int32 { if (_op == i32(105)) || (_op == i32(106)) { return i32(0) } return func() int32 { 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(121036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op == i32(106)) || (int32(_p5) == i32(0)) { return i32(0) } return func() int32 { 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(121072))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTab.X16) == 0 { goto _6 } r0 = i32(0) return _6: _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iBase >= i32(0) { goto _9 } _iBase = _pParse.X17 _9: _iDataCur = postInc961(&_iBase, int32(1)) if _piDataCur == nil { goto _10 } *_piDataCur = _iDataCur _10: 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 { goto _13 } _sqlite3OpenTable(tls, _pParse, _iDataCur, _iDb, _pTab, _op) goto _14 _13: _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(bool2int(_op == i32(106))), _pTab.X0) _14: if _piIdxCur == nil { goto _15 } *_piIdxCur = _iBase _15: *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _16: if _pIdx == nil { goto _19 } _4_iIdxCur = postInc961(&_iBase, int32(1)) func() int32 { if (*XSchema)(unsafe.Pointer(_pIdx.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { return i32(0) } return func() int32 { 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(120172))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32((uint32(_pIdx.X16)<>uint(i32(30))) != i32(2) || ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) { goto _23 } if _piDataCur == nil { goto _24 } *_piDataCur = _4_iIdxCur _24: _p5 = uint8(i32(0)) _23: if _aToOpen != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_i+i32(1))))) == 0 { goto _26 } _sqlite3VdbeAddOp3(tls, _v, _op, _4_iIdxCur, _pIdx.X11, _iDb) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) _sqlite3VdbeChangeP5(tls, _v, uint16(_p5)) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pIdx.X0)) _26: *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_i }() += 1 goto _16 _19: if _iBase <= (_pParse.X17) { goto _27 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = _iBase _27: r0 = _i return } var _sqlite3OpenTableAndIndicesØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3OpenTableAndIndicesØ00__func__Ø000[0], str(121100), 27) } func _sqlite3VtabMakeWritable(tls *crt.TLS, _pParse *XParse, _pTab *XTable) { // sqlite3.c:125626:1 var _pToplevel *XParse // sqlite3.c:125627:9 _ = _pToplevel var _i int32 // sqlite3.c:125628:7 _ = _i var _n int32 // sqlite3.c:125628:10 _ = _n var _apVtabLock **XTable // sqlite3.c:125629:9 _ = _apVtabLock _pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() func() int32 { if (_pTab.X16) != 0 { return i32(0) } return func() int32 { 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(24256))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _4: if _i >= (_pToplevel.X56) { goto _7 } if _pTab != (*(**XTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel.X67)) + 8*uintptr(_i)))) { goto _8 } return _8: _i += 1 goto _4 _7: _n = int32(uint64((_pToplevel.X56)+i32(1)) * u64(8)) _apVtabLock = (**XTable)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_pToplevel.X67), uint64(_n)))) if _apVtabLock == nil { goto _9 } *(***XTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(560 /* X67 */))))) = _apVtabLock *(**XTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel.X67)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel))+uintptr(480 /* X56 */))), int32(1))))) = _pTab goto _10 _9: _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_pToplevel.X0))) _10: return } var _sqlite3VtabMakeWritableØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabMakeWritableØ00__func__Ø000[0], str(121128), 24) } 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 var _v *TVdbe // sqlite3.c:105016:8 _ = _v var _iOld int32 // sqlite3.c:105017:7 _ = _iOld var _iLabel int32 // sqlite3.c:105018:7 _ = _iLabel var _opSeek uint8 // sqlite3.c:105019:6 _ = _opSeek var _2_mask uint32 // sqlite3.c:105040:9 _ = _2_mask var _2_iCol int32 // sqlite3.c:105041:9 _ = _2_iCol var _2_addrStart int32 // sqlite3.c:105042:9 _ = _2_addrStart var _6_p5 uint8 // sqlite3.c:105103:8 _ = _6_p5 _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _iOld = i32(0) func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() _iLabel = _sqlite3VdbeMakeLabel(tls, _v) _opSeek = uint8(func() int32 { if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { return i32(33) } return i32(30) }()) if int32(_eMode) != i32(0) { goto _4 } _sqlite3VdbeAddOp4Int(tls, _v, int32(_opSeek), _iDataCur, _iLabel, _iPk, int32(_nPk)) _4: if _sqlite3FkRequired(tls, _pParse, _pTab, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) == 0 && _pTrigger == nil { goto _6 } _2_mask = _sqlite3TriggerColmask(tls, _pParse, _pTrigger, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(3), _pTab, int32(_onconf)) { p := &_2_mask *p = (*p) | _sqlite3FkOldmask(tls, _pParse, _pTab) sink985 = *p } _iOld = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + (i32(1) + int32(_pTab.X11)) sink961 = *p } _sqlite3VdbeAddOp2(tls, _v, i32(85), _iPk, _iOld) _2_iCol = i32(0) _7: if _2_iCol >= int32(_pTab.X11) { goto _10 } if _2_mask != u32(4294967295) && (_2_iCol > i32(31) || (_2_mask&(u32(1)<= _sqlite3VdbeCurrentAddr(tls, _v) { goto _14 } _sqlite3VdbeAddOp4Int(tls, _v, int32(_opSeek), _iDataCur, _iLabel, _iPk, int32(_nPk)) _iIdxNoSeek = i32(-1) _14: _sqlite3FkCheck(tls, _pParse, _pTab, _iOld, i32(0), (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _6: if (*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _6_p5 = u8(0) _sqlite3GenerateRowIndexDelete(tls, _pParse, _pTab, _iDataCur, _iIdxCur, (*int32)(unsafe.Pointer(uintptr(i32(0)))), _iIdxNoSeek) _sqlite3VdbeAddOp2(tls, _v, i32(118), _iDataCur, func() int32 { if _count != 0 { return i32(1) } return i32(0) }()) if int32(_pParse.X6) != i32(0) { goto _18 } _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_pTab), i32(-15)) _18: if int32(_eMode) == i32(0) { goto _19 } _sqlite3VdbeChangeP5(tls, _v, uint16(i32(4))) _19: if _iIdxNoSeek < i32(0) || _iIdxNoSeek == _iDataCur { goto _21 } _sqlite3VdbeAddOp1(tls, _v, i32(118), _iIdxNoSeek) _21: if int32(_eMode) != i32(2) { goto _22 } { p := &_6_p5 *p = uint8(int32(*p) | i32(2)) sink4537 = *p } _22: _sqlite3VdbeChangeP5(tls, _v, uint16(_6_p5)) _15: _sqlite3FkActions(tls, _pParse, _pTab, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _iOld, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(2), _pTab, _iOld, int32(_onconf), _iLabel) _sqlite3VdbeResolveLabel(tls, _v, _iLabel) return } var _sqlite3GenerateRowDeleteØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GenerateRowDeleteØ00__func__Ø000[0], str(121152), 25) } 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 var _op int32 // sqlite3.c:123261:13 _ = _op var _mask uint32 // sqlite3.c:123262:7 _ = _mask var _p *XTrigger // sqlite3.c:123263:11 _ = _p var _2_pPrg *XTriggerPrg // sqlite3.c:123270:18 _ = _2_pPrg _op = func() int32 { if _pChanges != nil { return i32(110) } return i32(109) }() _mask = u32(0) func() int32 { if (_isNew == i32(1)) || (_isNew == i32(0)) { return i32(0) } return func() int32 { 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(121180))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _pTrigger _5: if _p == nil { goto _8 } if int32(_p.X2) != _op || (_tr_tm&int32(_p.X3)) == 0 || _checkColumnOverlap(tls, (*XIdList)(unsafe.Pointer(_p.X5)), _pChanges) == 0 { goto _11 } _2_pPrg = _getRowTrigger(tls, _pParse, _p, _pTab, _orconf) if _2_pPrg == nil { goto _12 } { p := &_mask *p = (*p) | (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pPrg))+uintptr(28 /* X4 */))))) + 4*uintptr(_isNew)))) sink985 = *p } _12: _11: _p = (*XTrigger)(unsafe.Pointer(_p.X9)) goto _5 _8: r0 = _mask return } var _sqlite3TriggerColmaskØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TriggerColmaskØ00__func__Ø000[0], str(121204), 22) } func _getRowTrigger(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger, _pTab *XTable, _orconf int32) (r0 *XTriggerPrg) { // sqlite3.c:123084:1 var _pRoot *XParse // sqlite3.c:123090:9 _ = _pRoot var _pPrg *XTriggerPrg // sqlite3.c:123091:14 _ = _pPrg _pRoot = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() func() int32 { if ((_pTrigger.X0) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pTab == _tableOfTrigger(tls, _pTrigger)) { return i32(0) } return func() int32 { 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(121228))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPrg = (*XTriggerPrg)(unsafe.Pointer(_pRoot.X69)) _5: if _pPrg == nil || (*XTrigger)(unsafe.Pointer(_pPrg.X0)) == _pTrigger && (_pPrg.X3) == _orconf { goto _10 } _pPrg = (*XTriggerPrg)(unsafe.Pointer(_pPrg.X1)) goto _5 _10: if _pPrg != nil { goto _11 } _pPrg = _codeRowTrigger(tls, _pParse, _pTrigger, _pTab, _orconf) _11: r0 = _pPrg return } var _getRowTriggerØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_getRowTriggerØ00__func__Ø000[0], str(121284), 14) } func _codeRowTrigger(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger, _pTab *XTable, _orconf int32) (r0 *XTriggerPrg) { // sqlite3.c:122971:1 var _pTop *XParse // sqlite3.c:122977:9 _ = _pTop var _db *Xsqlite3 // sqlite3.c:122978:11 _ = _db var _pPrg *XTriggerPrg // sqlite3.c:122979:14 _ = _pPrg var _pWhen *XExpr // sqlite3.c:122980:8 _ = _pWhen var _v *TVdbe // sqlite3.c:122981:8 _ = _v var _sNC XNameContext // sqlite3.c:122982:15 _ = _sNC var _pProgram *XSubProgram // sqlite3.c:122983:14 _ = _pProgram var _pSubParse *XParse // sqlite3.c:122984:9 _ = _pSubParse var _iEndTrigger int32 // sqlite3.c:122985:7 _ = _iEndTrigger _pTop = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pWhen = nil _pProgram = nil _iEndTrigger = i32(0) func() int32 { if ((_pTrigger.X0) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pTab == _tableOfTrigger(tls, _pTrigger)) { return i32(0) } return func() int32 { 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(121228))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*TVdbe)(unsafe.Pointer(_pTop.X2)) != nil { return i32(0) } return func() int32 { 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(121300))) crt.X__builtin_abort(tls) return i32(0) }() }() _pPrg = (*XTriggerPrg)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(40)))) if _pPrg != nil { goto _7 } r0 = (*XTriggerPrg)(unsafe.Pointer(uintptr(i32(0)))) return _7: *(**XTriggerPrg)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(8 /* X1 */))))) = (*XTriggerPrg)(unsafe.Pointer(_pTop.X69)) *(**XTriggerPrg)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTop)) + uintptr(576 /* X69 */))))) = _pPrg *(**XSubProgram)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(16 /* X2 */))))) = store5794372(&_pProgram, (*XSubProgram)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(48))))) if _pProgram != nil { goto _8 } r0 = (*XTriggerPrg)(unsafe.Pointer(uintptr(i32(0)))) return _8: _sqlite3VdbeLinkSubProgram(tls, (*TVdbe)(unsafe.Pointer(_pTop.X2)), _pProgram) *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(0 /* X0 */))))) = _pTrigger *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(24 /* X3 */))) = _orconf *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(28 /* X4 */))))) + 4*uintptr(i32(0)))) = u32(4294967295) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(28 /* X4 */))))) + 4*uintptr(i32(1)))) = u32(4294967295) _pSubParse = (*XParse)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(600)))) if _pSubParse != nil { goto _9 } r0 = (*XTriggerPrg)(unsafe.Pointer(uintptr(i32(0)))) return _9: crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pSubParse *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(0 /* X0 */))))) = _db *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(176 /* X40 */))))) = _pTab *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(168 /* X39 */))))) = _pTop *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(536 /* X65 */))) = _pTrigger.X0 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(200 /* X45 */))) = _pTrigger.X2 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(188 /* X42 */))) = _pParse.X42 _v = _sqlite3GetVdbe(tls, _pSubParse) if _v == nil { goto _10 } _sqlite3VdbeComment(tls, _v, str(121312), unsafe.Pointer(_pTrigger.X0), unsafe.Pointer(_onErrorText(tls, _orconf)), unsafe.Pointer(func() *int8 { if int32(_pTrigger.X3) == i32(1) { return str(25168) } return str(25140) }()), unsafe.Pointer(func() *int8 { if int32(_pTrigger.X2) == i32(110) { return str(25544) } return str(196) }()), unsafe.Pointer(func() *int8 { if int32(_pTrigger.X2) == i32(108) { return str(25528) } return str(196) }()), unsafe.Pointer(func() *int8 { if int32(_pTrigger.X2) == i32(109) { return str(25536) } return str(196) }()), unsafe.Pointer(_pTab.X0)) _sqlite3VdbeChangeP4(tls, _v, i32(-1), _sqlite3MPrintf(tls, _db, str(121344), unsafe.Pointer(_pTrigger.X0)), i32(-1)) if (*XExpr)(unsafe.Pointer(_pTrigger.X4)) == nil { goto _19 } _pWhen = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pTrigger.X4)), i32(0)) if i32(0) != _sqlite3ResolveExprNames(tls, &_sNC, _pWhen) || int32(_db.X17) != i32(0) { goto _21 } _iEndTrigger = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprIfFalse(tls, _pSubParse, _pWhen, _iEndTrigger, i32(16)) _21: _sqlite3ExprDelete(tls, _db, _pWhen) _19: _codeTriggerProgram(tls, _pSubParse, (*XTriggerStep)(unsafe.Pointer(_pTrigger.X8)), _orconf) if _iEndTrigger == 0 { goto _22 } _sqlite3VdbeResolveLabel(tls, _v, _iEndTrigger) _22: _sqlite3VdbeAddOp0(tls, _v, i32(76)) _sqlite3VdbeComment(tls, _v, str(121360), unsafe.Pointer(_pTrigger.X0), unsafe.Pointer(_onErrorText(tls, _orconf))) _transferParseError(tls, _pParse, _pSubParse) if int32(_db.X17) != i32(0) { goto _23 } *(**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(8 /* X1 */))), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTop))+uintptr(136 /* X33 */)))) _23: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(12 /* X2 */))) = _pSubParse.X18 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(16 /* X3 */))) = _pSubParse.X17 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(32 /* X5 */))) = (unsafe.Pointer)(_pTrigger) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(28 /* X4 */))))) + 4*uintptr(i32(0)))) = _pSubParse.X43 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(28 /* X4 */))))) + 4*uintptr(i32(1)))) = _pSubParse.X44 _sqlite3VdbeDelete(tls, _v) _10: func() int32 { if ((*TAggInfo_func)(unsafe.Pointer(_pSubParse.X38)) == nil) && ((*XTable)(unsafe.Pointer(_pSubParse.X68)) == nil) { return i32(0) } return func() int32 { 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(121372))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XTriggerPrg)(unsafe.Pointer(_pSubParse.X69)) == nil) && ((_pSubParse.X33) == 0) { return i32(0) } return func() int32 { 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(121416))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ParserReset(tls, _pSubParse) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubParse)) r0 = _pPrg return } var _codeRowTriggerØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_codeRowTriggerØ00__func__Ø000[0], str(121464), 15) } func _sqlite3VdbeLinkSubProgram(tls *crt.TLS, _pVdbe *TVdbe, _p *XSubProgram) { // sqlite3.c:72226:1 *(**XSubProgram)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X6 */))))) = (*XSubProgram)(unsafe.Pointer(_pVdbe.X42)) *(**XSubProgram)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe)) + uintptr(272 /* X42 */))))) = _p return } func _onErrorText(tls *crt.TLS, _onError int32) (r0 *int8) { // sqlite3.c:122937:1 switch _onError { case i32(1): goto _2 case i32(2): goto _1 case i32(3): goto _3 case i32(4): goto _5 case i32(5): goto _4 case i32(10): goto _6 default: goto _7 } _1: r0 = str(48832) return _2: r0 = str(48820) return _3: r0 = str(48840) return _4: r0 = str(6412) return _5: r0 = str(48848) return _6: r0 = str(121480) return _7: r0 = str(121488) return } func _codeTriggerProgram(tls *crt.TLS, _pParse *XParse, _pStepList *XTriggerStep, _orconf int32) (r0 int32) { // sqlite3.c:122860:1 var _pStep *XTriggerStep // sqlite3.c:122865:15 _ = _pStep var _v *TVdbe // sqlite3.c:122866:8 _ = _v var _db *Xsqlite3 // sqlite3.c:122867:11 _ = _db var _6_sDest XSelectDest // sqlite3.c:122916:20 _ = _6_sDest var _6_pSelect *XSelect // sqlite3.c:122917:16 _ = _6_pSelect _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if ((*XTable)(unsafe.Pointer(_pParse.X40)) != nil) && ((*XParse)(unsafe.Pointer(_pParse.X39)) != nil) { return i32(0) } return func() int32 { 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(121492))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pStepList != nil { return i32(0) } return func() int32 { 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(121536))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _pStep = _pStepList _7: if _pStep == nil { goto _10 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(201 /* X46 */))) = func() uint8 { if _orconf == i32(10) { return (_pStep.X1) } return uint8(_orconf) }() func() int32 { if int32(_pParse.X11) == i32(0) { return i32(0) } return func() int32 { 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(121548))) crt.X__builtin_abort(tls) return i32(0) }() }() switch int32(_pStep.X0) { case i32(108): goto _17 case i32(109): goto _18 case i32(110): goto _16 default: goto _19 } _16: _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)) goto _20 _17: _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)) goto _20 _18: _sqlite3DeleteFrom(tls, _pParse, _targetSrcList(tls, _pParse, _pStep), _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pStep.X5)), i32(0))) goto _20 _19: func() int32 { if int32(_pStep.X0) == i32(119) { return i32(0) } return func() int32 { 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(121576))) crt.X__builtin_abort(tls) return i32(0) }() }() _6_pSelect = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pStep.X3)), i32(0)) _sqlite3SelectDestInit(tls, &_6_sDest, i32(4), i32(0)) _sqlite3Select(tls, _pParse, _6_pSelect, &_6_sDest) _sqlite3SelectDelete(tls, _db, _6_pSelect) goto _20 _20: if int32(_pStep.X0) == i32(119) { goto _23 } _sqlite3VdbeAddOp0(tls, _v, i32(119)) _23: _pStep = (*XTriggerStep)(unsafe.Pointer(_pStep.X8)) goto _7 _10: r0 = i32(0) return } var _codeTriggerProgramØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_codeTriggerProgramØ00__func__Ø000[0], str(121600), 19) } func _sqlite3Update(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pChanges *XExprList, _pWhere *XExpr, _onError int32) { // sqlite3.c:123373:1 var _i int32 // sqlite3.c:123380:7 _ = _i var _j int32 // sqlite3.c:123380:10 _ = _j var _pTab *XTable // sqlite3.c:123381:9 _ = _pTab var _addrTop int32 // sqlite3.c:123382:7 _ = _addrTop var _pWInfo *XWhereInfo // sqlite3.c:123383:13 _ = _pWInfo var _v *TVdbe // sqlite3.c:123384:8 _ = _v var _pIdx *XIndex // sqlite3.c:123385:9 _ = _pIdx var _pPk *XIndex // sqlite3.c:123386:9 _ = _pPk var _nIdx int32 // sqlite3.c:123387:7 _ = _nIdx var _iBaseCur int32 // sqlite3.c:123388:7 _ = _iBaseCur var _iDataCur int32 // sqlite3.c:123389:7 _ = _iDataCur var _iIdxCur int32 // sqlite3.c:123390:7 _ = _iIdxCur var _db *Xsqlite3 // sqlite3.c:123391:11 _ = _db var _aRegIdx *int32 // sqlite3.c:123392:7 _ = _aRegIdx var _aXRef *int32 // sqlite3.c:123393:7 _ = _aXRef var _aToOpen *uint8 // sqlite3.c:123396:6 _ = _aToOpen var _chngPk uint8 // sqlite3.c:123397:6 _ = _chngPk var _chngRowid uint8 // sqlite3.c:123398:6 _ = _chngRowid var _chngKey uint8 // sqlite3.c:123399:6 _ = _chngKey var _pRowidExpr *XExpr // sqlite3.c:123400:8 _ = _pRowidExpr var _sContext XAuthContext // sqlite3.c:123401:15 _ = _sContext var _sNC XNameContext // sqlite3.c:123402:15 _ = _sNC var _iDb int32 // sqlite3.c:123403:7 _ = _iDb var _eOnePass int32 // sqlite3.c:123404:7 _ = _eOnePass var _hasFK int32 // sqlite3.c:123405:7 _ = _hasFK var _labelBreak int32 // sqlite3.c:123406:7 _ = _labelBreak var _labelContinue int32 // sqlite3.c:123407:7 _ = _labelContinue var _flags int32 // sqlite3.c:123408:7 _ = _flags var _isView int32 // sqlite3.c:123411:7 _ = _isView var _pTrigger *XTrigger // sqlite3.c:123412:11 _ = _pTrigger var _tmask int32 // sqlite3.c:123413:7 _ = _tmask var _newmask int32 // sqlite3.c:123415:7 _ = _newmask var _iEph int32 // sqlite3.c:123416:7 _ = _iEph var _nKey int32 // sqlite3.c:123417:7 _ = _nKey var _aiCurOnePass [2]int32 // sqlite3.c:123418:7 _ = _aiCurOnePass var _addrOpen int32 // sqlite3.c:123419:7 _ = _addrOpen var _iPk int32 // sqlite3.c:123420:7 _ = _iPk var _nPk int16 // sqlite3.c:123421:7 _ = _nPk var _bReplace int32 // sqlite3.c:123422:7 _ = _bReplace var _regRowCount int32 // sqlite3.c:123425:7 _ = _regRowCount var _regOldRowid int32 // sqlite3.c:123426:7 _ = _regOldRowid var _regNewRowid int32 // sqlite3.c:123427:7 _ = _regNewRowid var _regNew int32 // sqlite3.c:123428:7 _ = _regNew var _regOld int32 // sqlite3.c:123429:7 _ = _regOld var _regRowSet int32 // sqlite3.c:123430:7 _ = _regRowSet var _regKey int32 // sqlite3.c:123431:7 _ = _regKey var _15_rc int32 // sqlite3.c:123538:11 _ = _15_rc var _18_reg int32 // sqlite3.c:123571:9 _ = _18_reg var _21_iIdxCol int16 // sqlite3.c:123578:13 _ = _21_iIdxCol var _36_iCur int32 // sqlite3.c:123698:9 _ = _36_iCur var _45_addrOnce int32 // sqlite3.c:123740:9 _ = _45_addrOnce var _55_oldmask uint32 // sqlite3.c:123798:9 _ = _55_oldmask var _71_addr1 int32 // sqlite3.c:123891:9 _ = _71_addr1 _addrTop = i32(0) _aRegIdx = nil _aXRef = nil _pRowidExpr = nil _iEph = i32(0) _nKey = i32(0) _addrOpen = i32(0) _iPk = i32(0) _nPk = i16(0) _bReplace = i32(0) _regRowCount = i32(0) _regOldRowid = i32(0) _regNewRowid = i32(0) _regNew = i32(0) _regOld = i32(0) _regRowSet = i32(0) _regKey = i32(0) crt.Xmemset(tls, (unsafe.Pointer)(&_sContext), i32(0), u64(16)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _1 } goto _update_cleanup _1: func() int32 { if (_pTabList.X0) == i32(1) { return i32(0) } return func() int32 { 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(120056))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTabList) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } goto _update_cleanup _4: _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) _pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(110), _pChanges, &_tmask) _isView = bool2int((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) func() int32 { if (_pTrigger != nil) || (_tmask == i32(0)) { return i32(0) } return func() int32 { 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(121620))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { goto _8 } goto _update_cleanup _8: if _sqlite3IsReadOnly(tls, _pParse, _pTab, _tmask) == 0 { goto _9 } goto _update_cleanup _9: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(64 /* X11 */))) = store961(&_iBaseCur, store961(&_iDataCur, postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)))) _iIdxCur = _iDataCur + i32(1) _pPk = func() *XIndex { if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { return (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) } return _sqlite3PrimaryKeyIndex(tls, _pTab) }() *func() **XIndex { _nIdx = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _12: if _pIdx == nil { goto _15 } if int32((uint32(_pIdx.X16)<>uint(i32(30))) != i32(2) || _pPk == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } _iDataCur = _pParse.X17 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(64 /* X11 */))) = _iDataCur _17: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) += 1 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_nIdx }() += 1 goto _12 _15: _aXRef = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, ((u64(4)*uint64(int32(_pTab.X11)+_nIdx))+uint64(_nIdx))+uint64(i32(2))))) if _aXRef != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } goto _update_cleanup _18: _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))))))))))) _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))))))))))))) crt.Xmemset(tls, (unsafe.Pointer)(_aToOpen), i32(1), uint64(_nIdx+i32(1))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_nIdx+i32(1)))) = uint8(i32(0)) _i = i32(0) _19: if _i >= int32(_pTab.X11) { goto _22 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i))) = i32(-1) _i += 1 goto _19 _22: crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X1 */))))) = _pTabList _chngRowid = store4537(&_chngPk, uint8(i32(0))) _i = i32(0) _23: if _i >= (_pChanges.X0) { goto _26 } if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1)+32*uintptr(_i))).X0))) == 0 { goto _27 } goto _update_cleanup _27: _j = i32(0) _28: if _j >= int32(_pTab.X11) { goto _31 } if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_j))).X0, (*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1)+32*uintptr(_i))).X1) != i32(0) { goto _32 } if _j != int32(_pTab.X10) { goto _33 } _chngRowid = uint8(i32(1)) _pRowidExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1) + 32*uintptr(_i))).X0)) goto _34 _33: if _pPk == nil || (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_j))).X6)&i32(1)) == i32(0) { goto _36 } _chngPk = uint8(i32(1)) _36: _34: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_j))) = _i goto _31 _32: _j += 1 goto _28 _31: if _j < int32(_pTab.X11) { goto _37 } if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3IsRowid(tls, (*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1)+32*uintptr(_i))).X1) == 0 { goto _39 } _j = i32(-1) _chngRowid = uint8(i32(1)) _pRowidExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1) + 32*uintptr(_i))).X0)) goto _40 _39: _sqlite3ErrorMsg(tls, _pParse, str(121644), unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1)+32*uintptr(_i))).X1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) goto _update_cleanup _40: _37: _15_rc = _sqlite3AuthCheck(tls, _pParse, i32(23), _pTab.X0, func() *int8 { if _j < i32(0) { return str(100520) } return ((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_j))).X0) }(), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) if _15_rc != i32(1) { goto _43 } goto _update_cleanup _43: if _15_rc != i32(2) { goto _45 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_j))) = i32(-1) _45: _i += 1 goto _23 _26: func() int32 { if (int32(_chngRowid) & int32(_chngPk)) == i32(0) { return i32(0) } return func() int32 { 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(121664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_chngRowid) == i32(0)) || (int32(_chngRowid) == i32(1)) { return i32(0) } return func() int32 { 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(121688))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_chngPk) == i32(0)) || (int32(_chngPk) == i32(1)) { return i32(0) } return func() int32 { 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(121720))) crt.X__builtin_abort(tls) return i32(0) }() }() _chngKey = uint8(int32(_chngRowid) + int32(_chngPk)) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(88 /* X14 */))) = func() uint64 { if (_pTab.X16) != 0 { return u64(18446744073709551615) } return uint64(i32(0)) }() _hasFK = _sqlite3FkRequired(tls, _pParse, _pTab, _aXRef, int32(_chngKey)) *func() **XIndex { _j = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _56: if _pIdx == nil { goto _59 } if _chngKey == 0 && _hasFK == 0 && (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil && _pIdx != _pPk { goto _63 } _18_reg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_pIdx.X14) sink961 = *p } goto _64 _63: _18_reg = i32(0) _i = i32(0) _65: if _i >= int32(_pIdx.X13) { goto _68 } _21_iIdxCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i))) if int32(_21_iIdxCol) >= i32(0) && (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_21_iIdxCol)))) < i32(0) { goto _70 } _18_reg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_pIdx.X14) sink961 = *p } if _onError != i32(5) && (_onError != i32(10) || int32(_pIdx.X15) != i32(5)) { goto _73 } _bReplace = i32(1) _73: goto _68 _70: _i += 1 goto _65 _68: _64: if _18_reg != i32(0) { goto _74 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_j+i32(1)))) = uint8(i32(0)) _74: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_j))) = _18_reg *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_j }() += 1 goto _56 _59: if _bReplace == 0 { goto _75 } crt.Xmemset(tls, (unsafe.Pointer)(_aToOpen), i32(1), uint64(_nIdx+i32(1))) _75: _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _76 } goto _update_cleanup _76: if int32(_pParse.X6) != i32(0) { goto _77 } _sqlite3VdbeCountChanges(tls, _v) _77: _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) if (_pTab.X16) != 0 { goto _78 } _regRowSet = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _regOldRowid = store961(&_regNewRowid, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1)) if _chngPk == 0 && _pTrigger == nil && _hasFK == 0 { goto _81 } _regOld = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_pTab.X11) sink961 = *p } _81: if _chngKey == 0 && _pTrigger == nil && _hasFK == 0 { goto _84 } _regNewRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _84: _regNew = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_pTab.X11) sink961 = *p } _78: if _isView == 0 { goto _85 } _sqlite3AuthContextPush(tls, _pParse, &_sContext, _pTab.X0) _85: if _isView == 0 { goto _86 } _sqlite3MaterializeView(tls, _pParse, _pTab, _pWhere, _iDataCur) _86: if _sqlite3ResolveExprNames(tls, &_sNC, _pWhere) == 0 { goto _87 } goto _update_cleanup _87: if (_pTab.X16) == 0 { goto _88 } _updateVirtualTable(tls, _pParse, _pTabList, _pTab, _pChanges, _pRowidExpr, _aXRef, _pWhere, _onError) goto _update_cleanup _88: if ((_db.X6)&i32(128)) == 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { goto _90 } _regRowCount = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regRowCount) _90: if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _91 } _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _regRowSet, _regOldRowid) goto _92 _91: func() int32 { if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42964))) crt.X__builtin_abort(tls) return i32(0) }() }() _nPk = int16(_pPk.X13) _iPk = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_nPk) sink961 = *p } _regKey = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _iEph = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _iPk) _addrOpen = _sqlite3VdbeAddOp2(tls, _v, i32(108), _iEph, int32(_nPk)) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pPk) _92: _flags = i32(4100) if (_pParse.X6) != 0 || _pTrigger != nil || _hasFK != 0 || _chngKey != 0 || _bReplace != 0 { goto _99 } { p := &_flags *p = (*p) | i32(8) sink961 = *p } _99: _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(_flags), _iIdxCur) if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _100 } goto _update_cleanup _100: _eOnePass = _sqlite3WhereOkOnePass(tls, _pWInfo, (*int32)(unsafe.Pointer(&_aiCurOnePass))) if _eOnePass != i32(2) { goto _101 } _36_iCur = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1)))) if _36_iCur < i32(0) || _36_iCur == _iDataCur || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_36_iCur-_iBaseCur)))) == 0 { goto _104 } _eOnePass = i32(0) _104: func() int32 { if (_36_iCur != _iDataCur) || (((_pTab.X9) & uint32(i32(32))) != uint32(i32(0))) { return i32(0) } return func() int32 { 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(121744))) crt.X__builtin_abort(tls) return i32(0) }() }() _101: if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _108 } _sqlite3VdbeAddOp2(tls, _v, i32(123), _iDataCur, _regOldRowid) if _eOnePass != i32(0) { goto _109 } _sqlite3VdbeAddOp2(tls, _v, i32(143), _regRowSet, _regOldRowid) _109: goto _110 _108: _i = i32(0) _111: if _i >= int32(_nPk) { goto _114 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) >= i32(0) { return i32(0) } return func() int32 { 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(120308))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iDataCur, int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))), _iPk+_i) _i += 1 goto _111 _114: if _eOnePass == 0 { goto _117 } _sqlite3VdbeChangeToNoop(tls, _v, _addrOpen) _nKey = int32(_nPk) _regKey = _iPk goto _118 _117: _sqlite3VdbeAddOp4(tls, _v, i32(100), _iPk, int32(_nPk), _regKey, _sqlite3IndexAffinityStr(tls, _db, _pPk), int32(_nPk)) _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iEph, _regKey, _iPk, int32(_nPk)) _118: _110: if _eOnePass == i32(2) { goto _119 } _sqlite3WhereEnd(tls, _pWInfo) _119: _labelBreak = _sqlite3VdbeMakeLabel(tls, _v) if _isView != 0 { goto _120 } _45_addrOnce = i32(0) if _eOnePass == i32(0) { goto _121 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0))))) < i32(0) { goto _122 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0)))))-_iBaseCur))) = uint8(i32(0)) _122: if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) < i32(0) { goto _123 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1)))))-_iBaseCur))) = uint8(i32(0)) _123: _121: if _eOnePass != i32(2) || (_nIdx-bool2int((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) >= i32(0))) <= i32(0) { goto _125 } _45_addrOnce = _sqlite3VdbeAddOp0(tls, _v, i32(20)) _125: _sqlite3OpenTableAndIndices(tls, _pParse, _pTab, i32(106), uint8(i32(0)), _iBaseCur, _aToOpen, (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) if _45_addrOnce == 0 { goto _126 } _sqlite3VdbeJumpHere(tls, _v, _45_addrOnce) _126: _120: if _eOnePass == i32(0) { goto _127 } 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 { goto _130 } func() int32 { if _pPk != nil { return i32(0) } return func() int32 { 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(121780))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _labelBreak, _regKey, _nKey) _130: if _eOnePass != i32(1) { goto _133 } _labelContinue = _labelBreak goto _134 _133: _labelContinue = _sqlite3VdbeMakeLabel(tls, _v) _134: _sqlite3VdbeAddOp2(tls, _v, i32(34), func() int32 { if _pPk != nil { return _regKey } return _regOldRowid }(), _labelBreak) goto _137 _127: if _pPk == nil { goto _138 } _labelContinue = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3VdbeAddOp2(tls, _v, i32(58), _iEph, _labelBreak) _addrTop = _sqlite3VdbeAddOp2(tls, _v, i32(122), _iEph, _regKey) _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _labelContinue, _regKey, i32(0)) goto _139 _138: _labelContinue = _sqlite3VdbeAddOp3(tls, _v, i32(63), _regRowSet, _labelBreak, _regOldRowid) _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, _labelContinue, _regOldRowid) _139: _137: func() int32 { if (((_chngKey != 0) || (_pTrigger != nil)) || _hasFK != 0) || (_regOldRowid == _regNewRowid) { return i32(0) } return func() int32 { 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(121784))) crt.X__builtin_abort(tls) return i32(0) }() }() if _chngRowid == 0 { goto _145 } _sqlite3ExprCode(tls, _pParse, _pRowidExpr, _regNewRowid) _sqlite3VdbeAddOp1(tls, _v, i32(17), _regNewRowid) _145: if _chngPk == 0 && _hasFK == 0 && _pTrigger == nil { goto _148 } _55_oldmask = func() uint32 { if _hasFK != 0 { return _sqlite3FkOldmask(tls, _pParse, _pTab) } return uint32(i32(0)) }() { p := &_55_oldmask *p = (*p) | _sqlite3TriggerColmask(tls, _pParse, _pTrigger, _pChanges, i32(0), i32(3), _pTab, _onError) sink985 = *p } _i = i32(0) _151: if _i >= int32(_pTab.X11) { goto _154 } if _55_oldmask != u32(4294967295) && (_i >= i32(32) || (_55_oldmask&(u32(1)<= int32(_pTab.X11) { goto _165 } if _i != int32(_pTab.X10) { goto _166 } _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regNew+_i) goto _167 _166: _j = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i))) if _j < i32(0) { goto _168 } _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1)+32*uintptr(_j))).X0)), _regNew+_i) goto _169 _168: if i32(0) != (_tmask&i32(1)) && _i <= i32(31) && (uint32(_newmask)&(u32(1)<= int32(_pTab.X11) { goto _180 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i)))) >= i32(0) || _i == int32(_pTab.X10) { goto _182 } _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iDataCur, _i, _regNew+_i) _182: _i += 1 goto _177 _180: _174: if _isView != 0 { goto _183 } _71_addr1 = i32(0) func() int32 { if _regOldRowid > i32(0) { return i32(0) } return func() int32 { 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(121844))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3GenerateConstraintChecks(tls, _pParse, _pTab, _aRegIdx, _iDataCur, _iIdxCur, _regNewRowid, _regOldRowid, _chngKey, uint8(_onError), _labelContinue, &_bReplace, _aXRef) if _hasFK == 0 { goto _186 } _sqlite3FkCheck(tls, _pParse, _pTab, _regOldRowid, i32(0), _aXRef, int32(_chngKey)) _186: if _bReplace == 0 && _chngKey == 0 { goto _188 } if _pPk == nil { goto _189 } _71_addr1 = _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, i32(0), _regKey, _nKey) goto _190 _189: _71_addr1 = _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, i32(0), _regOldRowid) _190: _188: _sqlite3GenerateRowIndexDelete(tls, _pParse, _pTab, _iDataCur, _iIdxCur, _aRegIdx, i32(-1)) func() int32 { if _regNew == (_regNewRowid + i32(1)) { return i32(0) } return func() int32 { 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(121860))) crt.X__builtin_abort(tls) return i32(0) }() }() if _hasFK == 0 && _chngKey == 0 { goto _194 } _sqlite3VdbeAddOp2(tls, _v, i32(118), _iDataCur, i32(0)) _194: if _bReplace == 0 && _chngKey == 0 { goto _196 } _sqlite3VdbeJumpHere(tls, _v, _71_addr1) _196: if _hasFK == 0 { goto _197 } _sqlite3FkCheck(tls, _pParse, _pTab, i32(0), _regNewRowid, _aXRef, int32(_chngKey)) _197: _sqlite3CompleteInsertion(tls, _pParse, _pTab, _iDataCur, _iIdxCur, _regNewRowid, _aRegIdx, i32(4)|func() int32 { if _eOnePass == i32(2) { return i32(2) } return i32(0) }(), i32(0), i32(0)) if _hasFK == 0 { goto _200 } _sqlite3FkActions(tls, _pParse, _pTab, _pChanges, _regOldRowid, _aXRef, int32(_chngKey)) _200: _183: if ((_db.X6)&i32(128)) == 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { goto _202 } _sqlite3VdbeAddOp2(tls, _v, i32(92), _regRowCount, i32(1)) _202: _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(110), _pChanges, i32(2), _pTab, _regOldRowid, _onError, _labelContinue) if _eOnePass != i32(1) { goto _203 } goto _204 _203: if _eOnePass != i32(2) { goto _205 } _sqlite3VdbeResolveLabel(tls, _v, _labelContinue) _sqlite3WhereEnd(tls, _pWInfo) goto _206 _205: if _pPk == nil { goto _207 } _sqlite3VdbeResolveLabel(tls, _v, _labelContinue) _sqlite3VdbeAddOp2(tls, _v, i32(7), _iEph, _addrTop) goto _208 _207: _sqlite3VdbeGoto(tls, _v, _labelContinue) _208: _206: _204: _sqlite3VdbeResolveLabel(tls, _v, _labelBreak) if int32(_pParse.X6) != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _210 } _sqlite3AutoincrementEnd(tls, _pParse) _210: if ((_db.X6)&i32(128)) == 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil || (_pParse.X6) != 0 { goto _213 } _sqlite3VdbeAddOp2(tls, _v, i32(88), _regRowCount, i32(1)) _sqlite3VdbeSetNumCols(tls, _v, i32(1)) _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), str(121884), nil) _213: _update_cleanup: _sqlite3AuthContextPop(tls, &_sContext) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aXRef)) _sqlite3SrcListDelete(tls, _db, _pTabList) _sqlite3ExprListDelete(tls, _db, _pChanges) _sqlite3ExprDelete(tls, _db, _pWhere) return } var _sqlite3UpdateØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3UpdateØ00__func__Ø000[0], str(121900), 14) } 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 var _v *TVdbe // sqlite3.c:124059:8 _ = _v var _ephemTab int32 // sqlite3.c:124060:7 _ = _ephemTab var _i int32 // sqlite3.c:124061:7 _ = _i var _db *Xsqlite3 // sqlite3.c:124062:11 _ = _db var _pVTab *int8 // sqlite3.c:124063:14 _ = _pVTab var _pWInfo *XWhereInfo // sqlite3.c:124064:13 _ = _pWInfo var _nArg int32 // sqlite3.c:124065:7 _ = _nArg var _regArg int32 // sqlite3.c:124066:7 _ = _regArg var _regRec int32 // sqlite3.c:124067:7 _ = _regRec var _regRowid int32 // sqlite3.c:124068:7 _ = _regRowid var _iCsr int32 // sqlite3.c:124069:7 _ = _iCsr var _aDummy [2]int32 // sqlite3.c:124070:7 _ = _aDummy var _bOnePass int32 // sqlite3.c:124071:7 _ = _bOnePass var _addr int32 // sqlite3.c:124072:7 _ = _addr _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab))) _nArg = i32(2) + int32(_pTab.X11) _iCsr = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X11 func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() _ephemTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _ephemTab, _nArg) _regArg = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + _nArg sink961 = *p } _regRec = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _regRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pSrc, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(i32(4)), i32(0)) if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } return _2: _sqlite3VdbeAddOp2(tls, _v, i32(123), _iCsr, _regArg) if _pRowid == nil { goto _3 } _sqlite3ExprCode(tls, _pParse, _pRowid, _regArg+i32(1)) goto _4 _3: _sqlite3VdbeAddOp2(tls, _v, i32(123), _iCsr, _regArg+i32(1)) _4: _i = i32(0) _5: if _i >= int32(_pTab.X11) { goto _8 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i)))) < i32(0) { goto _9 } _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pChanges.X1)+32*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i)))))).X0)), (_regArg+i32(2))+_i) goto _10 _9: _sqlite3VdbeAddOp3(tls, _v, i32(157), _iCsr, _i, (_regArg+i32(2))+_i) _10: _i += 1 goto _5 _8: _bOnePass = _sqlite3WhereOkOnePass(tls, _pWInfo, (*int32)(unsafe.Pointer(&_aDummy))) if _bOnePass == 0 { goto _11 } _sqlite3VdbeChangeToNoop(tls, _v, _addr) if (*XParse)(unsafe.Pointer(_pParse.X39)) != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(32 /* X8 */))) = uint8(i32(0)) _12: goto _13 _11: _sqlite3VdbeAddOp3(tls, _v, i32(100), _regArg, _nArg, _regRec) _sqlite3VdbeAddOp2(tls, _v, i32(115), _ephemTab, _regRowid) _sqlite3VdbeAddOp3(tls, _v, i32(116), _ephemTab, _regRec, _regRowid) _13: if _bOnePass != i32(0) { goto _14 } _sqlite3WhereEnd(tls, _pWInfo) _addr = _sqlite3VdbeAddOp1(tls, _v, i32(58), _ephemTab) _i = i32(0) _15: if _i >= _nArg { goto _18 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _ephemTab, _i, _regArg+_i) _i += 1 goto _15 _18: _14: _sqlite3VtabMakeWritable(tls, _pParse, _pTab) _sqlite3VdbeAddOp4(tls, _v, i32(12), i32(0), _nArg, _regArg, _pVTab, i32(-8)) _sqlite3VdbeChangeP5(tls, _v, uint16(func() int32 { if _onError == i32(10) { return i32(2) } return _onError }())) _sqlite3MayAbort(tls, _pParse) if _bOnePass != i32(0) { goto _21 } _sqlite3VdbeAddOp2(tls, _v, i32(7), _ephemTab, _addr+i32(1)) _sqlite3VdbeJumpHere(tls, _v, _addr) _sqlite3VdbeAddOp2(tls, _v, i32(112), _ephemTab, i32(0)) goto _22 _21: _sqlite3WhereEnd(tls, _pWInfo) _22: return } var _updateVirtualTableØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_updateVirtualTableØ00__func__Ø000[0], str(121916), 19) } func _sqlite3FkOldmask(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 uint32) { // sqlite3.c:108214:1 var _mask uint32 // sqlite3.c:108218:7 _ = _mask var _1_p *XFKey // sqlite3.c:108220:10 _ = _1_p var _1_i int32 // sqlite3.c:108221:9 _ = _1_i var _3_pIdx *XIndex // sqlite3.c:108226:13 _ = _3_pIdx _mask = u32(0) if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(524288)) == 0 { goto _0 } _1_p = (*XFKey)(unsafe.Pointer(_pTab.X4)) _1: if _1_p == nil { goto _4 } _1_i = i32(0) _5: if _1_i >= (_1_p.X5) { goto _8 } { p := &_mask *p = (*p) | func() uint32 { if ((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(64 /* X9 */))))) + 16*uintptr(_1_i))).X0) > i32(31) { return u32(4294967295) } return (u32(1) << uint((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(64 /* X9 */)))))+16*uintptr(_1_i))).X0)) }() sink985 = *p } _1_i += 1 goto _5 _8: _1_p = (*XFKey)(unsafe.Pointer(_1_p.X1)) goto _1 _4: _1_p = _sqlite3FkReferences(tls, _pTab) _11: if _1_p == nil { goto _14 } _3_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3FkLocateIndex(tls, _pParse, _pTab, _1_p, &_3_pIdx, (**int32)(unsafe.Pointer(uintptr(i32(0))))) if _3_pIdx == nil { goto _15 } _1_i = i32(0) _16: if _1_i >= int32(_3_pIdx.X13) { goto _19 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx.X1)) + 2*uintptr(_1_i)))) >= i32(0) { return i32(0) } return func() int32 { 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(121936))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_mask *p = (*p) | func() uint32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx.X1)) + 2*uintptr(_1_i)))) > i32(31) { return u32(4294967295) } return (u32(1) << uint(int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx.X1)) + 2*uintptr(_1_i)))))) }() sink985 = *p } _1_i += 1 goto _16 _19: _15: _1_p = (*XFKey)(unsafe.Pointer(_1_p.X3)) goto _11 _14: _0: r0 = _mask return } func _sqlite3FkLocateIndex(tls *crt.TLS, _pParse *XParse, _pParent *XTable, _pFKey *XFKey, _ppIdx **XIndex, _paiCol **int32) (r0 int32) { // sqlite3.c:107344:1 var _pIdx *XIndex // sqlite3.c:107351:9 _ = _pIdx var _aiCol *int32 // sqlite3.c:107352:7 _ = _aiCol var _nCol int32 // sqlite3.c:107353:7 _ = _nCol var _zKey *int8 // sqlite3.c:107354:8 _ = _zKey var _8_i int32 // sqlite3.c:107400:17 _ = _8_i var _9_i int32 // sqlite3.c:107410:13 _ = _9_i var _9_j int32 // sqlite3.c:107410:16 _ = _9_j var _10_iCol int16 // sqlite3.c:107412:15 _ = _10_iCol var _10_zDfltColl *int8 // sqlite3.c:107413:22 _ = _10_zDfltColl var _10_zIdxCol *int8 // sqlite3.c:107414:16 _ = _10_zIdxCol _pIdx = nil _aiCol = nil _nCol = _pFKey.X5 _zKey = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(i32(0)))).X1 func() int32 { if (_ppIdx != nil) && ((*_ppIdx) == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(121960))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_paiCol == nil) || ((*_paiCol) == (*int32)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(121980))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pParse != nil { return i32(0) } return func() int32 { 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(120784))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nCol != i32(1) { goto _8 } if int32(_pParent.X10) < i32(0) { goto _9 } if _zKey != nil { goto _10 } r0 = i32(0) return _10: if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pParent.X1)+32*uintptr(_pParent.X10))).X0, _zKey) != 0 { goto _11 } r0 = i32(0) return _11: _9: goto _12 _8: if _paiCol == nil { goto _13 } func() int32 { if _nCol > i32(1) { return i32(0) } return func() int32 { 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(122004))) crt.X__builtin_abort(tls) return i32(0) }() }() _aiCol = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(_nCol)*u64(4)))) if _aiCol != nil { goto _16 } r0 = i32(1) return _16: *_paiCol = _aiCol _13: _12: _pIdx = (*XIndex)(unsafe.Pointer(_pParent.X2)) _17: if _pIdx == nil { goto _20 } if int32(_pIdx.X13) != _nCol || int32(_pIdx.X15) == i32(0) || (*XExpr)(unsafe.Pointer(_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } if _zKey != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _24 } if int32((uint32(_pIdx.X16)<>uint(i32(30))) != i32(2) { goto _25 } if _aiCol == nil { goto _26 } _8_i = i32(0) _27: if _8_i >= _nCol { goto _30 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_8_i))) = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(_8_i))).X0 _8_i += 1 goto _27 _30: _26: goto _20 _25: goto _31 _24: _9_i = i32(0) _32: if _9_i >= _nCol { goto _35 } _10_iCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_9_i))) if int32(_10_iCol) >= i32(0) { goto _36 } goto _35 _36: _10_zDfltColl = (*XColumn)(unsafe.Pointer(uintptr(_pParent.X1) + 32*uintptr(_10_iCol))).X2 if _10_zDfltColl != nil { goto _37 } _10_zDfltColl = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _37: if _sqlite3StrICmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_9_i))), _10_zDfltColl) == 0 { goto _38 } goto _35 _38: _10_zIdxCol = (*XColumn)(unsafe.Pointer(uintptr(_pParent.X1) + 32*uintptr(_10_iCol))).X0 _9_j = i32(0) _39: if _9_j >= _nCol { goto _42 } if _sqlite3StrICmp(tls, (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */)))))+16*uintptr(_9_j))).X1, _10_zIdxCol) != i32(0) { goto _43 } if _aiCol == nil { goto _44 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_9_i))) = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(_9_j))).X0 _44: goto _42 _43: _9_j += 1 goto _39 _42: if _9_j != _nCol { goto _45 } goto _35 _45: _9_i += 1 goto _32 _35: if _9_i != _nCol { goto _46 } goto _20 _46: _31: _23: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _17 _20: if _pIdx != nil { goto _47 } if (_pParse.X47) != 0 { goto _48 } _sqlite3ErrorMsg(tls, _pParse, str(122012), unsafe.Pointer((*XTable)(unsafe.Pointer(_pFKey.X0)).X0), unsafe.Pointer(_pFKey.X2)) _48: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_aiCol)) r0 = i32(1) return _47: *_ppIdx = _pIdx r0 = i32(0) return } var _sqlite3FkLocateIndexØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FkLocateIndexØ00__func__Ø000[0], str(122060), 21) } var _sqlite3FkOldmaskØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FkOldmaskØ00__func__Ø000[0], str(122084), 17) } 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 var _p *XTrigger // sqlite3.c:123201:11 _ = _p func() int32 { if ((_op == i32(110)) || (_op == i32(108))) || (_op == i32(109)) { return i32(0) } return func() int32 { 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(122104))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_tr_tm == i32(1)) || (_tr_tm == i32(2)) { return i32(0) } return func() int32 { 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(122152))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op == i32(110)) == (_pChanges != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(122200))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = _pTrigger _9: if _p == nil { goto _12 } func() int32 { if (*XSchema)(unsafe.Pointer(_p.X6)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(122232))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSchema)(unsafe.Pointer(_p.X7)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(122248))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)+32*uintptr(i32(1)))).X4))) { return i32(0) } return func() int32 { 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(122268))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_p.X2) != _op || int32(_p.X3) != _tr_tm || _checkColumnOverlap(tls, (*XIdList)(unsafe.Pointer(_p.X5)), _pChanges) == 0 { goto _22 } _sqlite3CodeRowTriggerDirect(tls, _pParse, _p, _pTab, _reg, _orconf, _ignoreJump) _22: _p = (*XTrigger)(unsafe.Pointer(_p.X9)) goto _9 _12: return } var _sqlite3CodeRowTriggerØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CodeRowTriggerØ00__func__Ø000[0], str(122336), 22) } func _sqlite3CodeRowTriggerDirect(tls *crt.TLS, _pParse *XParse, _p *XTrigger, _pTab *XTable, _reg int32, _orconf int32, _ignoreJump int32) { // sqlite3.c:123118:1 var _v *TVdbe // sqlite3.c:123126:8 _ = _v var _pPrg *XTriggerPrg // sqlite3.c:123127:14 _ = _pPrg var _1_bRecursive int32 // sqlite3.c:123134:9 _ = _1_bRecursive _v = _sqlite3GetVdbe(tls, _pParse) _pPrg = _getRowTrigger(tls, _pParse, _p, _pTab, _orconf) func() int32 { if ((_pPrg != nil) || (_pParse.X16) != 0) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { return i32(0) } return func() int32 { 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(122360))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pPrg == nil { goto _4 } _1_bRecursive = bool2int(((_p.X0) != nil) && (i32(0) == (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(262144)))) _sqlite3VdbeAddOp4(tls, _v, i32(65), _reg, _ignoreJump, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1), (*int8)(unsafe.Pointer((*XSubProgram)(unsafe.Pointer(_pPrg.X2)))), i32(-13)) _sqlite3VdbeComment(tls, _v, str(122412), unsafe.Pointer(func() *int8 { if (_p.X0) != nil { return (_p.X0) } return str(122424) }()), unsafe.Pointer(_onErrorText(tls, _orconf))) _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_1_bRecursive))) _4: return } var _sqlite3CodeRowTriggerDirectØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CodeRowTriggerDirectØ00__func__Ø000[0], str(122432), 28) } 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 var _v *TVdbe // sqlite3.c:109807:8 _ = _v var _pIdx *XIndex // sqlite3.c:109808:9 _ = _pIdx var _pPk *XIndex // sqlite3.c:109809:9 _ = _pPk var _db *Xsqlite3 // sqlite3.c:109810:11 _ = _db var _i int32 // sqlite3.c:109811:7 _ = _i var _ix int32 // sqlite3.c:109812:7 _ = _ix var _nCol int32 // sqlite3.c:109813:7 _ = _nCol var _onError int32 // sqlite3.c:109814:7 _ = _onError var _addr1 int32 // sqlite3.c:109815:7 _ = _addr1 var _seenReplace int32 // sqlite3.c:109816:7 _ = _seenReplace var _nPkField int32 // sqlite3.c:109817:7 _ = _nPkField var _ipkTop int32 // sqlite3.c:109818:7 _ = _ipkTop var _ipkBottom int32 // sqlite3.c:109819:7 _ = _ipkBottom var _isUpdate uint8 // sqlite3.c:109820:6 _ = _isUpdate var _bAffinityDone uint8 // sqlite3.c:109821:6 _ = _bAffinityDone var _10_zMsg *int8 // sqlite3.c:109874:14 _ = _10_zMsg var _13_pCheck *XExprList // sqlite3.c:109903:14 _ = _13_pCheck var _14_allOk int32 // sqlite3.c:109907:11 _ = _14_allOk var _14_pExpr *XExpr // sqlite3.c:109908:12 _ = _14_pExpr var _16_zName *int8 // sqlite3.c:109915:14 _ = _16_zName var _17_addrRowidOk int32 // sqlite3.c:109931:9 _ = _17_addrRowidOk var _27_pTrigger *XTrigger // sqlite3.c:110004:17 _ = _27_pTrigger var _34_regIdx int32 // sqlite3.c:110052:9 _ = _34_regIdx var _34_regR int32 // sqlite3.c:110053:9 _ = _34_regR var _34_iThisCur int32 // sqlite3.c:110054:9 _ = _34_iThisCur var _34_addrUniqueOk int32 // sqlite3.c:110055:9 _ = _34_addrUniqueOk var _37_iField int32 // sqlite3.c:110079:11 _ = _37_iField var _37_x int32 // sqlite3.c:110080:11 _ = _37_x var _50_x int32 // sqlite3.c:110159:13 _ = _50_x var _53_addrJump int32 // sqlite3.c:110179:15 _ = _53_addrJump var _53_op int32 // sqlite3.c:110180:15 _ = _53_op var _53_regCmp int32 // sqlite3.c:110181:15 _ = _53_regCmp var _54_p4 *int8 // sqlite3.c:110184:18 _ = _54_p4 var _59_pTrigger *XTrigger // sqlite3.c:110217:17 _ = _59_pTrigger _pPk = nil _seenReplace = i32(0) _ipkTop = i32(0) _ipkBottom = i32(0) _bAffinityDone = u8(0) _isUpdate = uint8(bool2int(_regOldData != i32(0))) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(_pTab.X3)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(106644))) crt.X__builtin_abort(tls) return i32(0) }() }() _nCol = int32(_pTab.X11) if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _4 } _pPk = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _nPkField = i32(1) goto _5 _4: _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) _nPkField = int32(_pPk.X13) _5: _i = i32(0) _6: if _i >= _nCol { goto _9 } if _i != int32(_pTab.X10) { goto _10 } goto _7 _10: if _aiChng == nil || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiChng)) + 4*uintptr(_i)))) >= i32(0) { goto _12 } goto _7 _12: _onError = int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_i))).X3) if _onError != i32(0) { goto _13 } goto _7 _13: if int32(_overrideError) == i32(10) { goto _14 } _onError = int32(_overrideError) goto _15 _14: if _onError != i32(10) { goto _16 } _onError = i32(2) _16: _15: if _onError != i32(5) || (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X1)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } _onError = i32(2) _18: func() int32 { if ((((_onError == i32(1)) || (_onError == i32(2))) || (_onError == i32(3))) || (_onError == i32(4))) || (_onError == i32(5)) { return i32(0) } return func() int32 { 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(122460))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _onError { case i32(1): goto _27 case i32(2): goto _26 case i32(3): goto _28 case i32(4): goto _29 default: goto _30 } _26: _sqlite3MayAbort(tls, _pParse) _27: _28: _10_zMsg = _sqlite3MPrintf(tls, _db, str(6548), unsafe.Pointer(_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X0)) _sqlite3VdbeAddOp3(tls, _v, i32(75), i32(1299), _onError, (_regNewData+i32(1))+_i) _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_10_zMsg), i32(-1)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) goto _31 _29: _sqlite3VdbeAddOp2(tls, _v, i32(34), (_regNewData+i32(1))+_i, _ignoreDest) goto _31 _30: func() int32 { if _onError == i32(5) { return i32(0) } return func() int32 { 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(122568))) crt.X__builtin_abort(tls) return i32(0) }() }() _addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(35), (_regNewData+i32(1))+_i) _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X1)), (_regNewData+i32(1))+_i) _sqlite3VdbeJumpHere(tls, _v, _addr1) goto _31 _31: _7: _i += 1 goto _6 _9: if (*XExprList)(unsafe.Pointer(_pTab.X6)) == nil || ((_db.X6)&i32(8192)) != i32(0) { goto _35 } _13_pCheck = (*XExprList)(unsafe.Pointer(_pTab.X6)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(68 /* X21 */))) = _regNewData + i32(1) _onError = func() int32 { if int32(_overrideError) != i32(10) { return int32(_overrideError) } return i32(2) }() _i = i32(0) _38: if _i >= (_13_pCheck.X0) { goto _41 } _14_pExpr = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_13_pCheck.X1) + 32*uintptr(_i))).X0)) if _aiChng == nil || _checkConstraintUnchanged(tls, _14_pExpr, _aiChng, int32(_pkChng)) == 0 { goto _43 } goto _39 _43: _14_allOk = _sqlite3VdbeMakeLabel(tls, _v) _sqlite3ExprIfTrue(tls, _pParse, _14_pExpr, _14_allOk, i32(16)) if _onError != i32(4) { goto _44 } _sqlite3VdbeGoto(tls, _v, _ignoreDest) goto _45 _44: _16_zName = (*TExprList_item)(unsafe.Pointer(uintptr(_13_pCheck.X1) + 32*uintptr(_i))).X1 if _16_zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _46 } _16_zName = _pTab.X0 _46: if _onError != i32(5) { goto _47 } _onError = i32(2) _47: _sqlite3HaltConstraint(tls, _pParse, i32(275), _onError, _16_zName, int8(i32(0)), uint8(i32(3))) _45: _sqlite3VdbeResolveLabel(tls, _v, _14_allOk) _39: _i += 1 goto _38 _41: _35: if _pkChng == 0 || _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _49 } _17_addrRowidOk = _sqlite3VdbeMakeLabel(tls, _v) _onError = int32(_pTab.X14) if int32(_overrideError) == i32(10) { goto _50 } _onError = int32(_overrideError) goto _51 _50: if _onError != i32(10) { goto _52 } _onError = i32(2) _52: _51: if _isUpdate == 0 { goto _53 } _sqlite3VdbeAddOp3(tls, _v, i32(37), _regNewData, _17_addrRowidOk, _regOldData) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) _53: if _onError != i32(5) || int32(_overrideError) == i32(5) { goto _55 } _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _56: if _pIdx == nil { goto _59 } if int32(_pIdx.X15) != i32(4) && int32(_pIdx.X15) != i32(3) { goto _61 } _ipkTop = _sqlite3VdbeAddOp0(tls, _v, i32(13)) goto _59 _61: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _56 _59: _55: _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, _17_addrRowidOk, _regNewData) switch _onError { case i32(1): goto _64 case i32(2): goto _65 case i32(3): goto _66 case i32(4): goto _68 case i32(5): goto _67 default: goto _63 } _63: _onError = i32(2) _64: _65: _66: _sqlite3RowidConstraint(tls, _pParse, _onError, _pTab) goto _69 _67: _27_pTrigger = nil if ((_db.X6) & i32(262144)) == 0 { goto _70 } _27_pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) _70: if _27_pTrigger == nil && _sqlite3FkRequired(tls, _pParse, _pTab, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) == 0 { goto _72 } _sqlite3MultiWrite(tls, _pParse) _sqlite3GenerateRowDelete(tls, _pParse, _pTab, _27_pTrigger, _iDataCur, _iIdxCur, _regNewData, int16(i32(1)), uint8(i32(0)), uint8(i32(5)), uint8(i32(1)), i32(-1)) goto _73 _72: if (*XIndex)(unsafe.Pointer(_pTab.X2)) == nil { goto _74 } _sqlite3MultiWrite(tls, _pParse) _sqlite3GenerateRowIndexDelete(tls, _pParse, _pTab, _iDataCur, _iIdxCur, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(-1)) _74: _73: _seenReplace = i32(1) goto _69 _68: _sqlite3VdbeGoto(tls, _v, _ignoreDest) goto _69 _69: _sqlite3VdbeResolveLabel(tls, _v, _17_addrRowidOk) if _ipkTop == 0 { goto _75 } _ipkBottom = _sqlite3VdbeAddOp0(tls, _v, i32(13)) _sqlite3VdbeJumpHere(tls, _v, _ipkTop) _75: _49: *func() **XIndex { _ix = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _76: if _pIdx == nil { goto _79 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) != i32(0) { goto _80 } goto _77 _80: if int32(_bAffinityDone) != i32(0) { goto _81 } _sqlite3TableAffinity(tls, _v, _pTab, _regNewData+i32(1)) _bAffinityDone = uint8(i32(1)) _81: _34_iThisCur = _iIdxCur + _ix _34_addrUniqueOk = _sqlite3VdbeMakeLabel(tls, _v) if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil { goto _82 } _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(68 /* X21 */))) = _regNewData + i32(1) _sqlite3ExprIfFalseDup(tls, _pParse, (*XExpr)(unsafe.Pointer(_pIdx.X9)), _34_addrUniqueOk, i32(16)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(68 /* X21 */))) = i32(0) _82: _34_regIdx = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) + i32(1) _i = i32(0) _83: if _i >= int32(_pIdx.X14) { goto _86 } _37_iField = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) if _37_iField != i32(-2) { goto _87 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(68 /* X21 */))) = _regNewData + i32(1) _sqlite3ExprCodeCopy(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+32*uintptr(_i))).X0)), _34_regIdx+_i) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(68 /* X21 */))) = i32(0) _sqlite3VdbeComment(tls, _v, str(122588), unsafe.Pointer(_pIdx.X0), _i) goto _88 _87: if _37_iField != i32(-1) && _37_iField != int32(_pTab.X10) { goto _90 } _37_x = _regNewData goto _91 _90: _37_x = (_37_iField + _regNewData) + i32(1) _91: _sqlite3VdbeAddOp2(tls, _v, func() int32 { if _37_iField < i32(0) { return i32(87) } return i32(86) }(), _37_x, _34_regIdx+_i) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(func() *int8 { if _37_iField < i32(0) { return str(27380) } return ((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_37_iField))).X0) }())) _88: _i += 1 goto _83 _86: _sqlite3VdbeAddOp3(tls, _v, i32(100), _34_regIdx, int32(_pIdx.X14), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) _sqlite3VdbeComment(tls, _v, str(111784), unsafe.Pointer(_pIdx.X0)) if _isUpdate == 0 || _pPk != _pIdx || int32(_pkChng) != i32(0) { goto _98 } _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) goto _77 _98: _onError = int32(_pIdx.X15) if _onError != i32(0) { goto _99 } _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) goto _77 _99: if int32(_overrideError) == i32(10) { goto _100 } _onError = int32(_overrideError) goto _101 _100: if _onError != i32(10) { goto _102 } _onError = i32(2) _102: _101: 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)) { goto _111 } _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) goto _77 _111: _sqlite3VdbeAddOp4Int(tls, _v, i32(29), _34_iThisCur, _34_addrUniqueOk, _34_regIdx, int32(_pIdx.X13)) _34_regR = func() int32 { if _pIdx == _pPk { return _34_regIdx } return _sqlite3GetTempRange(tls, _pParse, _nPkField) }() if _isUpdate == 0 && _onError != i32(5) { goto _115 } if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _116 } _sqlite3VdbeAddOp2(tls, _v, i32(129), _34_iThisCur, _34_regR) if _isUpdate == 0 { goto _117 } _sqlite3VdbeAddOp3(tls, _v, i32(37), _34_regR, _34_addrUniqueOk, _regOldData) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) _117: goto _118 _116: if _pIdx == _pPk { goto _119 } _i = i32(0) _120: if _i >= int32(_pPk.X13) { goto _123 } func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) >= i32(0) { return i32(0) } return func() int32 { 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(120308))) crt.X__builtin_abort(tls) return i32(0) }() }() _50_x = int32(_sqlite3ColumnOfIndex(tls, _pIdx, *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) _sqlite3VdbeAddOp3(tls, _v, i32(98), _34_iThisCur, _50_x, _34_regR+_i) _sqlite3VdbeComment(tls, _v, str(6548), unsafe.Pointer(_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))))).X0)) _i += 1 goto _120 _123: _119: if _isUpdate == 0 { goto _126 } _53_addrJump = _sqlite3VdbeCurrentAddr(tls, _v) + int32(_pPk.X13) _53_op = i32(36) _53_regCmp = func() int32 { if int32((uint32(_pIdx.X16)<>uint(i32(30))) == i32(2) { return _34_regIdx } return _34_regR }() _i = i32(0) _129: if _i >= int32(_pPk.X13) { goto _132 } _54_p4 = (*int8)(unsafe.Pointer(_sqlite3LocateCollSeq(tls, _pParse, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 8*uintptr(_i)))))) _50_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) func() int32 { if _50_x >= i32(0) { return i32(0) } return func() int32 { 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(114468))) crt.X__builtin_abort(tls) return i32(0) }() }() if _i != (int32(_pPk.X13) - i32(1)) { goto _135 } _53_addrJump = _34_addrUniqueOk _53_op = i32(37) _135: _sqlite3VdbeAddOp4(tls, _v, _53_op, (_regOldData+i32(1))+_50_x, _53_addrJump, _53_regCmp+_i, _54_p4, i32(-3)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) _i += 1 goto _129 _132: _126: _118: _115: func() int32 { if ((((_onError == i32(1)) || (_onError == i32(2))) || (_onError == i32(3))) || (_onError == i32(4))) || (_onError == i32(5)) { return i32(0) } return func() int32 { 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(122460))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _onError { case i32(1): goto _143 case i32(2): goto _144 case i32(3): goto _145 case i32(4): goto _146 default: goto _147 } _143: _144: _145: _sqlite3UniqueConstraint(tls, _pParse, _onError, _pIdx) goto _148 _146: _sqlite3VdbeGoto(tls, _v, _ignoreDest) goto _148 _147: _59_pTrigger = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) func() int32 { if _onError == i32(5) { return i32(0) } return func() int32 { 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(122568))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3MultiWrite(tls, _pParse) if ((_db.X6) & i32(262144)) == 0 { goto _151 } _59_pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) _151: _sqlite3GenerateRowDelete(tls, _pParse, _pTab, _59_pTrigger, _iDataCur, _iIdxCur, _34_regR, int16(_nPkField), uint8(i32(0)), uint8(i32(5)), uint8(func() int32 { if _pIdx == _pPk { return i32(1) } return i32(0) }()), _34_iThisCur) _seenReplace = i32(1) goto _148 _148: _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) if _34_regR == _34_regIdx { goto _154 } _sqlite3ReleaseTempRange(tls, _pParse, _34_regR, _nPkField) _154: _77: *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_ix }() += 1 goto _76 _79: if _ipkTop == 0 { goto _155 } _sqlite3VdbeGoto(tls, _v, _ipkTop+i32(1)) _sqlite3VdbeJumpHere(tls, _v, _ipkBottom) _155: *_pbMayReplace = _seenReplace return } var _sqlite3GenerateConstraintChecksØ00__func__Ø000 [32]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GenerateConstraintChecksØ00__func__Ø000[0], str(122604), 32) } func _checkConstraintUnchanged(tls *crt.TLS, _pExpr *XExpr, _aiChng *int32, _chngRowid int32) (r0 int32) { // sqlite3.c:109692:1 var _w XWalker // sqlite3.c:109693:10 _ = _w crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u64(48)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(36 /* X5 */))) = uint8(i32(0)) *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X1 */))))) = _checkConstraintExprNode *(**int32)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(40 /* X6 */))))) = _aiChng _sqlite3WalkExpr(tls, &_w, _pExpr) if _chngRowid != 0 { goto _0 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(36 /* X5 */))) *p = uint8(int32(*p) & i32(-3)) sink4537 = *p } _0: r0 = bool2int((_w.X5) == 0) return } func _checkConstraintExprNode(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:109668:1 if int32(_pExpr.X0) != i32(152) { goto _0 } func() int32 { if (int32(_pExpr.X9) >= i32(0)) || (int32(_pExpr.X9) == i32(-1)) { return i32(0) } return func() int32 { 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(122636))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pExpr.X9) < i32(0) { goto _4 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int32)(unsafe.Pointer((*T5965012)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(40 /* X6 */))))))) + 4*uintptr(_pExpr.X9)))) < i32(0) { goto _5 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) *p = uint8(int32(*p) | i32(1)) sink4537 = *p } _5: goto _6 _4: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(36 /* X5 */))) *p = uint8(int32(*p) | i32(2)) sink4537 = *p } _6: _0: r0 = i32(0) return } var _checkConstraintExprNodeØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_checkConstraintExprNodeØ00__func__Ø000[0], str(122676), 24) } func _sqlite3RowidConstraint(tls *crt.TLS, _pParse *XParse, _onError int32, _pTab *XTable) { // sqlite3.c:103649:1 var _zMsg *int8 // sqlite3.c:103654:8 _ = _zMsg var _rc int32 // sqlite3.c:103655:7 _ = _rc if int32(_pTab.X10) < i32(0) { goto _0 } _zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(6548), unsafe.Pointer(_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_pTab.X10))).X0)) _rc = i32(1555) goto _1 _0: _zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(122700), unsafe.Pointer(_pTab.X0)) _rc = i32(2579) _1: _sqlite3HaltConstraint(tls, _pParse, _rc, _onError, _zMsg, int8(i32(-1)), uint8(i32(2))) return } func _sqlite3MultiWrite(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103565:1 var _pToplevel *XParse // sqlite3.c:103566:9 _ = _pToplevel _pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(32 /* X8 */))) = uint8(i32(1)) return } func _sqlite3GenerateRowIndexDelete(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iDataCur int32, _iIdxCur int32, _aRegIdx *int32, _iIdxNoSeek int32) { // sqlite3.c:105154:1 var _i int32 // sqlite3.c:105162:7 _ = _i var _r1 int32 // sqlite3.c:105163:7 _ = _r1 var _iPartIdxLabel int32 // sqlite3.c:105164:7 _ = _iPartIdxLabel var _pIdx *XIndex // sqlite3.c:105165:9 _ = _pIdx var _pPrior *XIndex // sqlite3.c:105166:9 _ = _pPrior var _v *TVdbe // sqlite3.c:105167:8 _ = _v var _pPk *XIndex // sqlite3.c:105168:9 _ = _pPk _r1 = i32(-1) _pPrior = nil _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _pPk = func() *XIndex { if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { return (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) } return _sqlite3PrimaryKeyIndex(tls, _pTab) }() *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _2: if _pIdx == nil { goto _5 } func() int32 { if ((_iIdxCur + _i) != _iDataCur) || (_pPk == _pIdx) { return i32(0) } return func() int32 { 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(122712))) crt.X__builtin_abort(tls) return i32(0) }() }() if _aRegIdx == (*int32)(unsafe.Pointer(uintptr(i32(0)))) || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i)))) != i32(0) { goto _10 } goto _3 _10: if _pIdx != _pPk { goto _11 } goto _3 _11: if (_iIdxCur + _i) != _iIdxNoSeek { goto _12 } goto _3 _12: _r1 = _sqlite3GenerateIndexKey(tls, _pParse, _pIdx, _iDataCur, i32(0), i32(1), &_iPartIdxLabel, _pPrior, _r1) _sqlite3VdbeAddOp3(tls, _v, i32(127), _iIdxCur+_i, _r1, int32(func() uint16 { if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { return (_pIdx.X13) } return (_pIdx.X14) }())) _sqlite3ResolvePartIdxLabel(tls, _pParse, _iPartIdxLabel) _pPrior = _pIdx _3: *func() **XIndex { _i += 1; return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _2 _5: return } var _sqlite3GenerateRowIndexDeleteØ00__func__Ø000 [30]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GenerateRowIndexDeleteØ00__func__Ø000[0], str(122748), 30) } func _sqlite3FkCheck(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _regOld int32, _regNew int32, _aChange *int32, _bChngRowid int32) { // sqlite3.c:108014:1 var _db *Xsqlite3 // sqlite3.c:108022:11 _ = _db var _pFKey *XFKey // sqlite3.c:108023:8 _ = _pFKey var _iDb int32 // sqlite3.c:108024:7 _ = _iDb var _zDb *int8 // sqlite3.c:108025:14 _ = _zDb var _isIgnoreErrors int32 // sqlite3.c:108026:7 _ = _isIgnoreErrors var _1_pTo *XTable // sqlite3.c:108040:11 _ = _1_pTo var _1_pIdx *XIndex // sqlite3.c:108041:11 _ = _1_pIdx var _1_aiFree *int32 // sqlite3.c:108042:9 _ = _1_aiFree var _1_aiCol *int32 // sqlite3.c:108043:9 _ = _1_aiCol var _1_iCol int32 // sqlite3.c:108044:9 _ = _1_iCol var _1_i int32 // sqlite3.c:108045:9 _ = _1_i var _1_bIgnore int32 // sqlite3.c:108046:9 _ = _1_bIgnore var _6_v *TVdbe // sqlite3.c:108075:14 _ = _6_v var _6_iJump int32 // sqlite3.c:108076:13 _ = _6_iJump var _7_iReg int32 // sqlite3.c:108078:15 _ = _7_iReg var _12_rcauth int32 // sqlite3.c:108103:13 _ = _12_rcauth var _12_zCol *int8 // sqlite3.c:108104:14 _ = _12_zCol var _15_pIdx *XIndex // sqlite3.c:108141:11 _ = _15_pIdx var _15_pSrc *XSrcList // sqlite3.c:108142:13 _ = _15_pSrc var _15_aiCol *int32 // sqlite3.c:108143:9 _ = _15_aiCol var _19_pItem *TSrcList_item // sqlite3.c:108168:27 _ = _19_pItem var _21_eAction int32 // sqlite3.c:108178:13 _ = _21_eAction _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _isIgnoreErrors = int32(_pParse.X47) func() int32 { if (_regOld == i32(0)) != (_regNew == i32(0)) { return i32(0) } return func() int32 { 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(122780))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_db.X6) & i32(524288)) != i32(0) { goto _2 } return _2: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _pFKey = (*XFKey)(unsafe.Pointer(_pTab.X4)) _3: if _pFKey == nil { goto _6 } _1_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _1_aiFree = (*int32)(unsafe.Pointer(uintptr(i32(0)))) _1_bIgnore = i32(0) if _aChange == nil || Xsqlite3_stricmp(tls, _pTab.X0, _pFKey.X2) == i32(0) || _fkChildIsModified(tls, _pTab, _pFKey, _aChange, _bChngRowid) != i32(0) { goto _9 } goto _4 _9: if (_pParse.X47) == 0 { goto _10 } _1_pTo = _sqlite3FindTable(tls, _db, _pFKey.X2, _zDb) goto _11 _10: _1_pTo = _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _pFKey.X2, _zDb) _11: if _1_pTo != nil && _sqlite3FkLocateIndex(tls, _pParse, _1_pTo, _pFKey, &_1_pIdx, &_1_aiFree) == 0 { goto _13 } func() int32 { if (_isIgnoreErrors == i32(0)) || ((_regOld != i32(0)) && (_regNew == i32(0))) { return i32(0) } return func() int32 { 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(122808))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isIgnoreErrors != 0 && (_db.X17) == 0 { goto _19 } return _19: if _1_pTo != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } _6_v = _sqlite3GetVdbe(tls, _pParse) _6_iJump = (_sqlite3VdbeCurrentAddr(tls, _6_v) + (_pFKey.X5)) + i32(1) _1_i = i32(0) _21: if _1_i >= (_pFKey.X5) { goto _24 } _7_iReg = (((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(_1_i))).X0) + _regOld) + i32(1) _sqlite3VdbeAddOp2(tls, _6_v, i32(34), _7_iReg, _6_iJump) _1_i += 1 goto _21 _24: _sqlite3VdbeAddOp2(tls, _6_v, i32(145), int32(_pFKey.X6), i32(-1)) _20: goto _4 _13: func() int32 { if ((_pFKey.X5) == i32(1)) || ((_1_aiFree != nil) && (_1_pIdx != nil)) { return i32(0) } return func() int32 { 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(122856))) crt.X__builtin_abort(tls) return i32(0) }() }() if _1_aiFree == nil { goto _29 } _1_aiCol = _1_aiFree goto _30 _29: _1_iCol = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(i32(0)))).X0 _1_aiCol = &_1_iCol _30: _1_i = i32(0) _31: if _1_i >= (_pFKey.X5) { goto _34 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aiCol)) + 4*uintptr(_1_i)))) != int32(_pTab.X10) { goto _35 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aiCol)) + 4*uintptr(_1_i))) = i32(-1) _35: func() int32 { 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)) { return i32(0) } return func() int32 { 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(122892))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X59) == nil { goto _39 } _12_zCol = (*XColumn)(unsafe.Pointer(uintptr(_1_pTo.X1) + 32*uintptr(func() int16 { if _1_pIdx != nil { return (*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X1)) + 2*uintptr(_1_i)))) } return (_1_pTo.X10) }()))).X0 _12_rcauth = _sqlite3AuthReadCol(tls, _pParse, _1_pTo.X0, _12_zCol, _iDb) _1_bIgnore = bool2int(_12_rcauth == i32(2)) _39: _1_i += 1 goto _31 _34: _sqlite3TableLock(tls, _pParse, _iDb, _1_pTo.X7, uint8(i32(0)), _1_pTo.X0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) += 1 if _regOld == i32(0) { goto _42 } _fkLookupParent(tls, _pParse, _iDb, _1_pTo, _1_pIdx, _pFKey, _1_aiCol, _regOld, i32(-1), _1_bIgnore) _42: if _regNew == i32(0) || _isSetNullAction(tls, _pParse, _pFKey) != 0 { goto _44 } _fkLookupParent(tls, _pParse, _iDb, _1_pTo, _1_pIdx, _pFKey, _1_aiCol, _regNew, i32(1), _1_bIgnore) _44: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_aiFree)) _4: _pFKey = (*XFKey)(unsafe.Pointer(_pFKey.X1)) goto _3 _6: _pFKey = _sqlite3FkReferences(tls, _pTab) _45: if _pFKey == nil { goto _48 } _15_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _15_aiCol = (*int32)(unsafe.Pointer(uintptr(i32(0)))) if _aChange == nil || _fkParentIsModified(tls, _pTab, _pFKey, _aChange, _bChngRowid) != i32(0) { goto _50 } goto _46 _50: if (_pFKey.X6) != 0 || ((_db.X6)&i32(33554432)) != 0 || (*XParse)(unsafe.Pointer(_pParse.X39)) != nil || (_pParse.X8) != 0 { goto _54 } func() int32 { if (_regOld == i32(0)) && (_regNew != i32(0)) { return i32(0) } return func() int32 { 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(122924))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _46 _54: if _sqlite3FkLocateIndex(tls, _pParse, _pTab, _pFKey, &_15_pIdx, &_15_aiCol) == 0 { goto _58 } if _isIgnoreErrors != 0 && (_db.X17) == 0 { goto _60 } return _60: goto _46 _58: func() int32 { if (_15_aiCol != nil) || ((_pFKey.X5) == i32(1)) { return i32(0) } return func() int32 { 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(122948))) crt.X__builtin_abort(tls) return i32(0) }() }() _15_pSrc = _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) if _15_pSrc == nil { goto _64 } _19_pItem = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pSrc)) + uintptr(8 /* X2 */))))) *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(32 /* X4 */))))) = (*XTable)(unsafe.Pointer(_pFKey.X0)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(16 /* X2 */))) = (*XTable)(unsafe.Pointer(_pFKey.X0)).X0 *(*uint32)(unsafe.Pointer(uintptr(_19_pItem.X4) + uintptr(60 /* X8 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(64 /* X11 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) if _regNew == i32(0) { goto _65 } _fkScanChildren(tls, _pParse, _15_pSrc, _pTab, _15_pIdx, _pFKey, _15_aiCol, _regNew, i32(-1)) _65: if _regOld == i32(0) { goto _66 } _21_eAction = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(45 /* X7 */))))) + 1*uintptr(bool2int(_aChange != (*int32)(unsafe.Pointer(uintptr(i32(0))))))))) _fkScanChildren(tls, _pParse, _15_pSrc, _pTab, _15_pIdx, _pFKey, _15_aiCol, _regOld, i32(1)) if (_pFKey.X6) != 0 || _21_eAction == i32(9) || _21_eAction == i32(7) { goto _69 } _sqlite3MayAbort(tls, _pParse) _69: _66: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3SrcListDelete(tls, _db, _15_pSrc) _64: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_15_aiCol)) _46: _pFKey = (*XFKey)(unsafe.Pointer(_pFKey.X3)) goto _45 _48: return } var _sqlite3FkCheckØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FkCheckØ00__func__Ø000[0], str(122972), 15) } 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 var _i int32 // sqlite3.c:107490:7 _ = _i var _v *TVdbe // sqlite3.c:107491:8 _ = _v var _iCur int32 // sqlite3.c:107492:7 _ = _iCur var _iOk int32 // sqlite3.c:107493:7 _ = _iOk var _2_iReg int32 // sqlite3.c:107507:9 _ = _2_iReg var _4_iMustBeInt int32 // sqlite3.c:107515:11 _ = _4_iMustBeInt var _4_regTemp int32 // sqlite3.c:107516:11 _ = _4_regTemp var _6_nCol int32 // sqlite3.c:107543:11 _ = _6_nCol var _6_regTemp int32 // sqlite3.c:107544:11 _ = _6_regTemp var _6_regRec int32 // sqlite3.c:107545:11 _ = _6_regRec var _8_iJump int32 // sqlite3.c:107564:13 _ = _8_iJump var _9_iChild int32 // sqlite3.c:107566:15 _ = _9_iChild var _9_iParent int32 // sqlite3.c:107567:15 _ = _9_iParent _v = _sqlite3GetVdbe(tls, _pParse) _iCur = (_pParse.X17) - i32(1) _iOk = _sqlite3VdbeMakeLabel(tls, _v) if _nIncr >= i32(0) { goto _0 } _sqlite3VdbeAddOp2(tls, _v, i32(66), int32(_pFKey.X6), _iOk) _0: _i = i32(0) _1: if _i >= (_pFKey.X5) { goto _4 } _2_iReg = ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) + _regData) + i32(1) _sqlite3VdbeAddOp2(tls, _v, i32(34), _2_iReg, _iOk) _i += 1 goto _1 _4: if _isIgnore != i32(0) { goto _5 } if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _4_regTemp = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp2(tls, _v, i32(86), ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(i32(0)))))+i32(1))+_regData, _4_regTemp) _4_iMustBeInt = _sqlite3VdbeAddOp2(tls, _v, i32(17), _4_regTemp, i32(0)) if _pTab != (*XTable)(unsafe.Pointer(_pFKey.X0)) || _nIncr != i32(1) { goto _8 } _sqlite3VdbeAddOp3(tls, _v, i32(37), _regData, _iOk, _4_regTemp) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) _8: _sqlite3OpenTable(tls, _pParse, _iCur, _iDb, _pTab, i32(105)) _sqlite3VdbeAddOp3(tls, _v, i32(33), _iCur, i32(0), _4_regTemp) _sqlite3VdbeGoto(tls, _v, _iOk) _sqlite3VdbeJumpHere(tls, _v, _sqlite3VdbeCurrentAddr(tls, _v)-i32(2)) _sqlite3VdbeJumpHere(tls, _v, _4_iMustBeInt) _sqlite3ReleaseTempReg(tls, _pParse, _4_regTemp) goto _9 _6: _6_nCol = _pFKey.X5 _6_regTemp = _sqlite3GetTempRange(tls, _pParse, _6_nCol) _6_regRec = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(105), _iCur, _pIdx.X11, _iDb) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) _i = i32(0) _10: if _i >= _6_nCol { goto _13 } _sqlite3VdbeAddOp2(tls, _v, i32(85), ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i))))+i32(1))+_regData, _6_regTemp+_i) _i += 1 goto _10 _13: if _pTab != (*XTable)(unsafe.Pointer(_pFKey.X0)) || _nIncr != i32(1) { goto _15 } _8_iJump = (_sqlite3VdbeCurrentAddr(tls, _v) + _6_nCol) + i32(1) _i = i32(0) _16: if _i >= _6_nCol { goto _19 } _9_iChild = ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) + i32(1)) + _regData _9_iParent = (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) + i32(1)) + _regData func() int32 { if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) >= i32(0) { return i32(0) } return func() int32 { 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(121936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) != int32(_pTab.X10) { return i32(0) } return func() int32 { 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(122988))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) != int32(_pTab.X10) { goto _24 } _9_iParent = _regData _24: _sqlite3VdbeAddOp3(tls, _v, i32(36), _9_iChild, _8_iJump, _9_iParent) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) _i += 1 goto _16 _19: _sqlite3VdbeGoto(tls, _v, _iOk) _15: _sqlite3VdbeAddOp4(tls, _v, i32(100), _6_regTemp, _6_nCol, _6_regRec, _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIdx), _6_nCol) _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iCur, _iOk, _6_regRec, i32(0)) _sqlite3ReleaseTempReg(tls, _pParse, _6_regRec) _sqlite3ReleaseTempRange(tls, _pParse, _6_regTemp, _6_nCol) _9: _5: if (_pFKey.X6) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(33554432)) != 0 || (*XParse)(unsafe.Pointer(_pParse.X39)) != nil || (_pParse.X8) != 0 { goto _28 } func() int32 { if _nIncr == i32(1) { return i32(0) } return func() int32 { 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(123012))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3HaltConstraint(tls, _pParse, i32(787), i32(2), (*int8)(unsafe.Pointer(uintptr(i32(0)))), int8(i32(-2)), uint8(i32(4))) goto _31 _28: if _nIncr <= i32(0) || int32(_pFKey.X6) != i32(0) { goto _33 } _sqlite3MayAbort(tls, _pParse) _33: _sqlite3VdbeAddOp2(tls, _v, i32(145), int32(_pFKey.X6), _nIncr) _31: _sqlite3VdbeResolveLabel(tls, _v, _iOk) _sqlite3VdbeAddOp1(tls, _v, i32(112), _iCur) return } var _fkLookupParentØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_fkLookupParentØ00__func__Ø000[0], str(123024), 15) } func _isSetNullAction(tls *crt.TLS, _pParse *XParse, _pFKey *XFKey) (r0 int32) { // sqlite3.c:107981:1 var _pTop *XParse // sqlite3.c:107982:9 _ = _pTop var _1_p *XTrigger // sqlite3.c:107984:13 _ = _1_p _pTop = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() if (*XTriggerPrg)(unsafe.Pointer(_pTop.X69)) == nil { goto _2 } _1_p = (*XTrigger)(unsafe.Pointer((*XTriggerPrg)(unsafe.Pointer(_pTop.X69)).X0)) if (_1_p != (*(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(48 /* X8 */))))) + 8*uintptr(i32(0))))) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(45 /* 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(48 /* X8 */))))) + 8*uintptr(i32(1))))) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(45 /* X7 */))))) + 1*uintptr(i32(1))))) != i32(7)) { goto _6 } r0 = i32(1) return _6: _2: r0 = i32(0) return } 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 var _db *Xsqlite3 // sqlite3.c:107709:11 _ = _db var _i int32 // sqlite3.c:107710:7 _ = _i var _pWhere *XExpr // sqlite3.c:107711:8 _ = _pWhere var _sNameContext XNameContext // sqlite3.c:107712:15 _ = _sNameContext var _pWInfo *XWhereInfo // sqlite3.c:107713:13 _ = _pWInfo var _iFkIfZero int32 // sqlite3.c:107714:7 _ = _iFkIfZero var _v *TVdbe // sqlite3.c:107715:8 _ = _v var _2_pLeft *XExpr // sqlite3.c:107736:10 _ = _2_pLeft var _2_pRight *XExpr // sqlite3.c:107737:10 _ = _2_pRight var _2_pEq *XExpr // sqlite3.c:107738:10 _ = _2_pEq var _2_iCol int16 // sqlite3.c:107739:9 _ = _2_iCol var _2_zCol *int8 // sqlite3.c:107740:16 _ = _2_zCol var _3_pNe *XExpr // sqlite3.c:107764:10 _ = _3_pNe var _3_pLeft *XExpr // sqlite3.c:107765:10 _ = _3_pLeft var _3_pRight *XExpr // sqlite3.c:107766:10 _ = _3_pRight var _5_pEq *XExpr // sqlite3.c:107772:12 _ = _5_pEq var _5_pAll *XExpr // sqlite3.c:107772:18 _ = _5_pAll var _5_pPk *XIndex // sqlite3.c:107773:13 _ = _5_pPk var _6_iCol int16 // sqlite3.c:107776:13 _ = _6_iCol _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pWhere = nil _iFkIfZero = i32(0) _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if (_pIdx == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((*XTable)(unsafe.Pointer(_pIdx.X3)) == _pTab) { return i32(0) } return func() int32 { 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(123040))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pIdx == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pIdx.X13) == (_pFKey.X5)) { return i32(0) } return func() int32 { 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(123072))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((_pFKey.X5) == i32(1)) { return i32(0) } return func() int32 { 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(123112))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || (((_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(123140))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nIncr >= i32(0) { goto _12 } _iFkIfZero = _sqlite3VdbeAddOp2(tls, _v, i32(66), int32(_pFKey.X6), i32(0)) _12: _i = i32(0) _13: if _i >= (_pFKey.X5) { goto _16 } _2_iCol = int16(func() int32 { if _pIdx != nil { return int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) } return i32(-1) }()) _2_pLeft = _exprTableRegister(tls, _pParse, _pTab, _regData, _2_iCol) _2_iCol = int16(func() int32 { if _aiCol != nil { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) } return ((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(i32(0)))).X0) }()) func() int32 { if int32(_2_iCol) >= i32(0) { return i32(0) } return func() int32 { 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(103368))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_zCol = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pFKey.X0)).X1) + 32*uintptr(_2_iCol))).X0 _2_pRight = _sqlite3Expr(tls, _db, i32(55), _2_zCol) _2_pEq = _sqlite3PExpr(tls, _pParse, i32(37), _2_pLeft, _2_pRight) _pWhere = _sqlite3ExprAnd(tls, _db, _pWhere, _2_pEq) _i += 1 goto _13 _16: if _pTab != (*XTable)(unsafe.Pointer(_pFKey.X0)) || _nIncr <= i32(0) { goto _24 } if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _25 } _3_pLeft = _exprTableRegister(tls, _pParse, _pTab, _regData, int16(i32(-1))) _3_pRight = _exprTableColumn(tls, _db, _pTab, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X11, int16(i32(-1))) _3_pNe = _sqlite3PExpr(tls, _pParse, i32(36), _3_pLeft, _3_pRight) goto _26 _25: _5_pAll = nil _5_pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) func() int32 { if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43052))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _29: if _i >= int32(_5_pPk.X13) { goto _32 } _6_iCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i))) func() int32 { if int32(_6_iCol) >= i32(0) { return i32(0) } return func() int32 { 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(103368))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_pLeft = _exprTableRegister(tls, _pParse, _pTab, _regData, _6_iCol) _3_pRight = _exprTableColumn(tls, _db, _pTab, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X11, _6_iCol) _5_pEq = _sqlite3PExpr(tls, _pParse, i32(37), _3_pLeft, _3_pRight) _5_pAll = _sqlite3ExprAnd(tls, _db, _5_pAll, _5_pEq) _i += 1 goto _29 _32: _3_pNe = _sqlite3PExpr(tls, _pParse, i32(19), _5_pAll, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) _26: _pWhere = _sqlite3ExprAnd(tls, _db, _pWhere, _3_pNe) _24: crt.Xmemset(tls, (unsafe.Pointer)(&_sNameContext), i32(0), u64(56)) *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNameContext)) + uintptr(8 /* X1 */))))) = _pSrc *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNameContext)) + uintptr(0 /* X0 */))))) = _pParse _sqlite3ResolveExprNames(tls, &_sNameContext, _pWhere) _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pSrc, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(i32(0)), i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(145), int32(_pFKey.X6), _nIncr) if _pWInfo == nil { goto _35 } _sqlite3WhereEnd(tls, _pWInfo) _35: _sqlite3ExprDelete(tls, _db, _pWhere) if _iFkIfZero == 0 { goto _36 } _sqlite3VdbeJumpHere(tls, _v, _iFkIfZero) _36: return } var _fkScanChildrenØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_fkScanChildrenØ00__func__Ø000[0], str(123168), 15) } func _exprTableRegister(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _regBase int32, _iCol int16) (r0 *XExpr) { // sqlite3.c:107620:1 var _pExpr *XExpr // sqlite3.c:107626:8 _ = _pExpr var _pCol *XColumn // sqlite3.c:107627:10 _ = _pCol var _zColl *int8 // sqlite3.c:107628:14 _ = _zColl var _db *Xsqlite3 // sqlite3.c:107629:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pExpr = _sqlite3Expr(tls, _db, i32(157), (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _pExpr == nil { goto _0 } if int32(_iCol) < i32(0) || int32(_iCol) == int32(_pTab.X10) { goto _2 } _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = (_regBase + int32(_iCol)) + i32(1) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = _pCol.X4 _zColl = _pCol.X2 if _zColl != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } _zColl = (*XCollSeq)(unsafe.Pointer(_db.X2)).X0 _3: _pExpr = _sqlite3ExprAddCollateString(tls, _pParse, _pExpr, _zColl) goto _4 _2: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = _regBase *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = int8(i32(68)) _4: _0: r0 = _pExpr return } func _exprTableColumn(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable, _iCursor int32, _iCol int16) (r0 *XExpr) { // sqlite3.c:107652:1 var _pExpr *XExpr // sqlite3.c:107658:8 _ = _pExpr _pExpr = _sqlite3Expr(tls, _db, i32(152), (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _pExpr == nil { goto _0 } *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(64 /* X14 */))))) = _pTab *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X8 */))) = _iCursor *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(48 /* X9 */))) = _iCol _0: r0 = _pExpr return } 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 var _v *TVdbe // sqlite3.c:110284:8 _ = _v var _pIdx *XIndex // sqlite3.c:110285:9 _ = _pIdx var _pik_flags uint8 // sqlite3.c:110286:6 _ = _pik_flags var _regData int32 // sqlite3.c:110287:7 _ = _regData var _regRec int32 // sqlite3.c:110288:7 _ = _regRec var _i int32 // sqlite3.c:110289:7 _ = _i var _bAffinityDone uint8 // sqlite3.c:110290:6 _ = _bAffinityDone _bAffinityDone = u8(0) func() int32 { if ((_update_flags == i32(0)) || (_update_flags == i32(4))) || (_update_flags == i32(6)) { return i32(0) } return func() int32 { 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(123184))) crt.X__builtin_abort(tls) return i32(0) }() }() _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XSelect)(unsafe.Pointer(_pTab.X3)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(106644))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _8: if _pIdx == nil { goto _11 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i)))) != i32(0) { goto _12 } goto _9 _12: _bAffinityDone = uint8(i32(1)) if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil { goto _13 } _sqlite3VdbeAddOp2(tls, _v, i32(34), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i))), _sqlite3VdbeCurrentAddr(tls, _v)+i32(2)) _13: _pik_flags = uint8(func() int32 { if _useSeekResult != 0 { return i32(16) } return i32(0) }()) if int32((uint32(_pIdx.X16)<>uint(i32(30))) != i32(2) || ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) { goto _17 } func() int32 { if int32(_pParse.X6) == i32(0) { return i32(0) } return func() int32 { 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(123288))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_pik_flags *p = uint8(int32(*p) | i32(1)) sink4537 = *p } { p := &_pik_flags *p = uint8(int32(*p) | (_update_flags & i32(2))) sink4537 = *p } _17: _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 { if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { return (_pIdx.X13) } return (_pIdx.X14) }())) _sqlite3VdbeChangeP5(tls, _v, uint16(_pik_flags)) _9: *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_i }() += 1 goto _8 _11: if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { goto _22 } return _22: _regData = _regNewData + i32(1) _regRec = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(100), _regData, int32(_pTab.X11), _regRec) if _bAffinityDone != 0 { goto _23 } _sqlite3TableAffinity(tls, _v, _pTab, i32(0)) _sqlite3ExprCacheAffinityChange(tls, _pParse, _regData, int32(_pTab.X11)) _23: if (_pParse.X6) == 0 { goto _24 } _pik_flags = uint8(i32(0)) goto _25 _24: _pik_flags = uint8(i32(1)) { p := &_pik_flags *p = uint8(int32(*p) | func() int32 { if _update_flags != 0 { return _update_flags } return i32(32) }()) sink4537 = *p } _25: if _appendBias == 0 { goto _28 } { p := &_pik_flags *p = uint8(int32(*p) | i32(8)) sink4537 = *p } _28: if _useSeekResult == 0 { goto _29 } { p := &_pik_flags *p = uint8(int32(*p) | i32(16)) sink4537 = *p } _29: _sqlite3VdbeAddOp3(tls, _v, i32(116), _iDataCur, _regRec, _regNewData) if (_pParse.X6) != 0 { goto _30 } _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_pTab), i32(-15)) _30: _sqlite3VdbeChangeP5(tls, _v, uint16(_pik_flags)) return } var _sqlite3CompleteInsertionØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CompleteInsertionØ00__func__Ø000[0], str(123308), 25) } func _sqlite3FkActions(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pChanges *XExprList, _regOld int32, _aChange *int32, _bChngRowid int32) { // sqlite3.c:108496:1 var _1_pFKey *XFKey // sqlite3.c:108509:10 _ = _1_pFKey var _3_pAct *XTrigger // sqlite3.c:108512:17 _ = _3_pAct if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(524288)) == 0 { goto _0 } _1_pFKey = _sqlite3FkReferences(tls, _pTab) _1: if _1_pFKey == nil { goto _4 } if _aChange != (*int32)(unsafe.Pointer(uintptr(i32(0)))) && _fkParentIsModified(tls, _pTab, _1_pFKey, _aChange, _bChngRowid) == 0 { goto _6 } _3_pAct = _fkActionTrigger(tls, _pParse, _pTab, _1_pFKey, _pChanges) if _3_pAct == nil { goto _7 } _sqlite3CodeRowTriggerDirect(tls, _pParse, _3_pAct, _pTab, _regOld, i32(2), i32(0)) _7: _6: _1_pFKey = (*XFKey)(unsafe.Pointer(_1_pFKey.X3)) goto _1 _4: _0: return } func _fkActionTrigger(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pFKey *XFKey, _pChanges *XExprList) (r0 *XTrigger) { // sqlite3.c:108314:1 var _db *Xsqlite3 // sqlite3.c:108320:11 _ = _db var _action int32 // sqlite3.c:108321:7 _ = _action var _pTrigger *XTrigger // sqlite3.c:108322:11 _ = _pTrigger var _iAction int32 // sqlite3.c:108323:7 _ = _iAction var _2_zFrom *int8 // sqlite3.c:108332:16 _ = _2_zFrom var _2_nFrom int32 // sqlite3.c:108333:9 _ = _2_nFrom var _2_pIdx *XIndex // sqlite3.c:108334:11 _ = _2_pIdx var _2_aiCol *int32 // sqlite3.c:108335:9 _ = _2_aiCol var _2_pStep *XTriggerStep // sqlite3.c:108336:17 _ = _2_pStep var _2_pWhere *XExpr // sqlite3.c:108337:10 _ = _2_pWhere var _2_pList *XExprList // sqlite3.c:108338:14 _ = _2_pList var _2_pSelect *XSelect // sqlite3.c:108339:12 _ = _2_pSelect var _2_i int32 // sqlite3.c:108340:9 _ = _2_i var _2_pWhen *XExpr // sqlite3.c:108341:10 _ = _2_pWhen var _3_tOld XToken // sqlite3.c:108347:13 _ = _3_tOld var _3_tNew XToken // sqlite3.c:108348:13 _ = _3_tNew var _3_tFromCol XToken // sqlite3.c:108349:13 _ = _3_tFromCol var _3_tToCol XToken // sqlite3.c:108350:13 _ = _3_tToCol var _3_iFromCol int32 // sqlite3.c:108351:11 _ = _3_iFromCol var _3_pEq *XExpr // sqlite3.c:108352:12 _ = _3_pEq var _5_pNew *XExpr // sqlite3.c:108392:14 _ = _5_pNew var _7_pDflt *XExpr // sqlite3.c:108398:16 _ = _7_pDflt var _11_tFrom XToken // sqlite3.c:108417:13 _ = _11_tFrom var _11_pRaise *XExpr // sqlite3.c:108418:12 _ = _11_pRaise _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _iAction = bool2int(_pChanges != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) _action = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(45 /* X7 */))))) + 1*uintptr(_iAction)))) if _action != i32(6) || ((_db.X6)&i32(33554432)) == 0 { goto _1 } r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) return _1: _pTrigger = *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(48 /* X8 */))))) + 8*uintptr(_iAction))) if _action == i32(0) || _pTrigger != nil { goto _3 } _2_pIdx = nil _2_aiCol = nil _2_pStep = nil _2_pWhere = nil _2_pList = nil _2_pSelect = nil _2_pWhen = nil if _sqlite3FkLocateIndex(tls, _pParse, _pTab, _pFKey, &_2_pIdx, &_2_aiCol) == 0 { goto _4 } r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) return _4: func() int32 { if (_2_aiCol != nil) || ((_pFKey.X5) == i32(1)) { return i32(0) } return func() int32 { 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(122948))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_i = i32(0) _8: if _2_i >= (_pFKey.X5) { goto _11 } _3_tOld = XToken{} *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tOld)) + uintptr(0 /* X0 */))) = str(44252) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tOld)) + uintptr(8 /* X1 */))) = uint32(i32(3)) _3_tNew = XToken{} *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tNew)) + uintptr(0 /* X0 */))) = str(44248) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tNew)) + uintptr(8 /* X1 */))) = uint32(i32(3)) _3_iFromCol = func() int32 { if _2_aiCol != nil { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aiCol)) + 4*uintptr(_2_i)))) } return ((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(i32(0)))).X0) }() func() int32 { if _3_iFromCol >= i32(0) { return i32(0) } return func() int32 { 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(123336))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_2_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((int32(_pTab.X10) >= i32(0)) && (int32(_pTab.X10) < int32(_pTab.X11))) { return i32(0) } return func() int32 { 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(123348))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { 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(122892))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3TokenInit(tls, &_3_tToCol, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(func() int16 { if _2_pIdx != nil { return (*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pIdx.X1)) + 2*uintptr(_2_i)))) } return (_pTab.X10) }()))).X0) _sqlite3TokenInit(tls, &_3_tFromCol, (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pFKey.X0)).X1)+32*uintptr(_3_iFromCol))).X0) _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))) _2_pWhere = _sqlite3ExprAnd(tls, _db, _2_pWhere, _3_pEq) if _pChanges == nil { goto _25 } _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)))) _2_pWhen = _sqlite3ExprAnd(tls, _db, _2_pWhen, _3_pEq) _25: if _action == i32(6) || _action == i32(9) && _pChanges == nil { goto _28 } if _action != i32(9) { goto _29 } _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))) goto _30 _29: if _action != i32(8) { goto _31 } _7_pDflt = (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pFKey.X0)).X1) + 32*uintptr(_3_iFromCol))).X1)) if _7_pDflt == nil { goto _32 } _5_pNew = _sqlite3ExprDup(tls, _db, _7_pDflt, i32(0)) goto _33 _32: _5_pNew = _sqlite3ExprAlloc(tls, _db, i32(101), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _33: goto _34 _31: _5_pNew = _sqlite3ExprAlloc(tls, _db, i32(101), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _34: _30: _2_pList = _sqlite3ExprListAppend(tls, _pParse, _2_pList, _5_pNew) _sqlite3ExprListSetName(tls, _pParse, _2_pList, &_3_tFromCol, i32(0)) _28: _2_i += 1 goto _8 _11: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_aiCol)) _2_zFrom = (*XTable)(unsafe.Pointer(_pFKey.X0)).X0 _2_nFrom = _sqlite3Strlen30(tls, _2_zFrom) if _action != i32(6) { goto _35 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_11_tFrom)) + uintptr(0 /* X0 */))) = _2_zFrom *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_11_tFrom)) + uintptr(8 /* X1 */))) = uint32(_2_nFrom) _11_pRaise = _sqlite3Expr(tls, _db, i32(83), str(60148)) if _11_pRaise == nil { goto _36 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pRaise)) + uintptr(1 /* X1 */))) = int8(i32(2)) _36: _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))))) _2_pWhere = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _35: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, (u64(144)+uint64(_2_nFrom))+uint64(i32(1))))) if _pTrigger == nil { goto _37 } _2_pStep = store6195530((**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger))+uintptr(56 /* X8 */))))), (*XTriggerStep)(unsafe.Pointer((*XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger))+72*uintptr(i32(1))))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(24 /* X4 */))) = (*int8)(unsafe.Pointer((*XTriggerStep)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + 72*uintptr(i32(1)))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_2_pStep.X4), (unsafe.Pointer)(_2_zFrom), uint64(_2_nFrom)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(32 /* X5 */))))) = _sqlite3ExprDup(tls, _db, _2_pWhere, i32(1)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(40 /* X6 */))))) = _sqlite3ExprListDup(tls, _db, _2_pList, i32(1)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(16 /* X3 */))))) = _sqlite3SelectDup(tls, _db, _2_pSelect, i32(1)) if _2_pWhen == nil { goto _38 } _2_pWhen = _sqlite3PExpr(tls, _pParse, i32(19), _2_pWhen, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(24 /* X4 */))))) = _sqlite3ExprDup(tls, _db, _2_pWhen, i32(1)) _38: _37: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) -= 1 _sqlite3ExprDelete(tls, _db, _2_pWhere) _sqlite3ExprDelete(tls, _db, _2_pWhen) _sqlite3ExprListDelete(tls, _db, _2_pList) _sqlite3SelectDelete(tls, _db, _2_pSelect) if int32(_db.X17) != i32(1) { goto _39 } _fkTriggerDelete(tls, _db, _pTrigger) r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) return _39: func() int32 { if _2_pStep != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(123404))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _action { case i32(6): goto _43 case i32(9): goto _44 default: goto _45 } _43: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(0 /* X0 */))) = uint8(i32(119)) goto _46 _44: if _pChanges != nil { goto _47 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(0 /* X0 */))) = uint8(i32(109)) goto _46 _47: _45: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(0 /* X0 */))) = uint8(i32(110)) _46: *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(8 /* X2 */))))) = _pTrigger *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(40 /* X6 */))))) = (*XSchema)(unsafe.Pointer(_pTab.X20)) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(48 /* X7 */))))) = (*XSchema)(unsafe.Pointer(_pTab.X20)) *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(48 /* X8 */))))) + 8*uintptr(_iAction))) = _pTrigger *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(16 /* X2 */))) = uint8(func() int32 { if _pChanges != nil { return i32(110) } return i32(109) }()) _3: r0 = _pTrigger return } var _fkActionTriggerØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_fkActionTriggerØ00__func__Ø000[0], str(123416), 16) } func _sqlite3AutoincrementEnd(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:108927:1 if (*TAggInfo_func)(unsafe.Pointer(_pParse.X38)) == nil { goto _0 } _autoIncrementEnd(tls, _pParse) _0: return } func _autoIncrementEnd(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:108892:1 var _p *TAggInfo_func // sqlite3.c:108893:15 _ = _p var _v *TVdbe // sqlite3.c:108894:8 _ = _v var _db *Xsqlite3 // sqlite3.c:108895:11 _ = _db var _1_aOp *XVdbeOp // sqlite3.c:108907:12 _ = _1_aOp var _1_pDb *XDb // sqlite3.c:108908:8 _ = _1_pDb var _1_iRec int32 // sqlite3.c:108909:9 _ = _1_iRec var _1_memId int32 // sqlite3.c:108910:9 _ = _1_memId _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _v != nil { return i32(0) } return func() int32 { 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(42824))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*TAggInfo_func)(unsafe.Pointer(_pParse.X38)) _2: if _p == nil { goto _5 } _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_p.X2))) _1_memId = _p.X3 _1_iRec = _sqlite3GetTempReg(tls, _pParse) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_1_pDb.X4))) != 0 { return i32(0) } return func() int32 { 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(42828))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3OpenTable(tls, _pParse, i32(0), _p.X2, (*XTable)(unsafe.Pointer((*XSchema)(unsafe.Pointer(_1_pDb.X4)).X6)), i32(106)) _1_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(5), (*XVdbeOpList)(unsafe.Pointer(&_autoIncrementEndØ00autoIncEndØ002)), _autoIncrementEndØ00iLnØ001) if _1_aOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } goto _5 _8: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _1_memId + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(1)))))) + uintptr(8 /* X4 */))) = _1_memId + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(2)))))) + uintptr(4 /* X3 */))) = _1_memId - i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(2)))))) + uintptr(12 /* X5 */))) = _1_iRec *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(3)))))) + uintptr(8 /* X4 */))) = _1_iRec *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(3)))))) + uintptr(12 /* X5 */))) = _1_memId + i32(1) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+32*uintptr(i32(3)))))) + uintptr(2 /* X2 */))) = uint16(i32(8)) _sqlite3ReleaseTempReg(tls, _pParse, _1_iRec) _p = (*TAggInfo_func)(unsafe.Pointer(_p.X0)) goto _2 _5: return } var _autoIncrementEndØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_autoIncrementEndØ00__func__Ø000[0], str(123432), 17) } var _autoIncrementEndØ00autoIncEndØ002 [5]XVdbeOpList // sqlite3.c:108900:29 func init() { _autoIncrementEndØ00autoIncEndØ002 = [5]XVdbeOpList{XVdbeOpList{X0: u8(35), X1: i8(0), X2: i8(2), X3: i8(0)}, XVdbeOpList{X0: u8(115), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(100), X1: i8(0), X2: i8(2), X3: i8(0)}, XVdbeOpList{X0: u8(116), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(112), X1: i8(0), X2: i8(0), X3: i8(0)}} } var _autoIncrementEndØ00iLnØ001 int32 // sqlite3.c:108899:22 func _sqlite3AuthContextPop(tls *crt.TLS, _pContext *XAuthContext) { // sqlite3.c:99441:1 if (*XParse)(unsafe.Pointer(_pContext.X1)) == nil { goto _0 } *(**int8)(unsafe.Pointer(uintptr(_pContext.X1) + uintptr(536 /* X65 */))) = _pContext.X0 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pContext)) + uintptr(8 /* X1 */))))) = (*XParse)(unsafe.Pointer(uintptr(i32(0)))) _0: return } func _targetSrcList(tls *crt.TLS, _pParse *XParse, _pStep *XTriggerStep) (r0 *XSrcList) { // sqlite3.c:122833:1 var _db *Xsqlite3 // sqlite3.c:122837:11 _ = _db var _iDb int32 // sqlite3.c:122838:7 _ = _iDb var _pSrc *XSrcList // sqlite3.c:122839:11 _ = _pSrc var _2_zDb *int8 // sqlite3.c:122847:18 _ = _2_zDb _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pSrc = _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) if _pSrc == nil { goto _0 } func() int32 { if (_pSrc.X0) > i32(0) { return i32(0) } return func() int32 { 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(123452))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr((_pSrc.X0)-i32(1)))))) + uintptr(16 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pStep.X4) _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer((*XTrigger)(unsafe.Pointer(_pStep.X2)).X6))) if _iDb != i32(0) && _iDb < i32(2) { goto _4 } func() int32 { if _iDb < (_db.X5) { return i32(0) } return func() int32 { 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(56012))) crt.X__builtin_abort(tls) return i32(0) }() }() _2_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr((_pSrc.X0)-i32(1)))))) + uintptr(8 /* X1 */))) = _sqlite3DbStrDup(tls, _db, _2_zDb) _4: _0: r0 = _pSrc return } var _targetSrcListØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_targetSrcListØ00__func__Ø000[0], str(123468), 14) } func _sqlite3Insert(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pSelect *XSelect, _pColumn *XIdList, _onError int32) { // sqlite3.c:109046:1 var _db *Xsqlite3 // sqlite3.c:109053:11 _ = _db var _pTab *XTable // sqlite3.c:109054:9 _ = _pTab var _zTab *int8 // sqlite3.c:109055:8 _ = _zTab var _i int32 // sqlite3.c:109056:7 _ = _i var _j int32 // sqlite3.c:109056:10 _ = _j var _v *TVdbe // sqlite3.c:109057:8 _ = _v var _pIdx *XIndex // sqlite3.c:109058:9 _ = _pIdx var _nColumn int32 // sqlite3.c:109059:7 _ = _nColumn var _nHidden int32 // sqlite3.c:109060:7 _ = _nHidden var _iDataCur int32 // sqlite3.c:109061:7 _ = _iDataCur var _iIdxCur int32 // sqlite3.c:109062:7 _ = _iIdxCur var _ipkColumn int32 // sqlite3.c:109063:7 _ = _ipkColumn var _endOfLoop int32 // sqlite3.c:109064:7 _ = _endOfLoop var _srcTab int32 // sqlite3.c:109065:7 _ = _srcTab var _addrInsTop int32 // sqlite3.c:109066:7 _ = _addrInsTop var _addrCont int32 // sqlite3.c:109067:7 _ = _addrCont var _dest XSelectDest // sqlite3.c:109068:14 _ = _dest var _iDb int32 // sqlite3.c:109069:7 _ = _iDb var _useTempTable uint8 // sqlite3.c:109070:6 _ = _useTempTable var _appendFlag uint8 // sqlite3.c:109071:6 _ = _appendFlag var _withoutRowid uint8 // sqlite3.c:109072:6 _ = _withoutRowid var _bIdListInOrder uint8 // sqlite3.c:109073:6 _ = _bIdListInOrder var _pList *XExprList // sqlite3.c:109074:12 _ = _pList var _regFromSelect int32 // sqlite3.c:109077:7 _ = _regFromSelect var _regAutoinc int32 // sqlite3.c:109078:7 _ = _regAutoinc var _regRowCount int32 // sqlite3.c:109079:7 _ = _regRowCount var _regIns int32 // sqlite3.c:109080:7 _ = _regIns var _regRowid int32 // sqlite3.c:109081:7 _ = _regRowid var _regData int32 // sqlite3.c:109082:7 _ = _regData var _aRegIdx *int32 // sqlite3.c:109083:7 _ = _aRegIdx var _isView int32 // sqlite3.c:109086:7 _ = _isView var _pTrigger *XTrigger // sqlite3.c:109087:11 _ = _pTrigger var _tmask int32 // sqlite3.c:109088:7 _ = _tmask var _18_regYield int32 // sqlite3.c:109244:9 _ = _18_regYield var _18_addrTop int32 // sqlite3.c:109245:9 _ = _18_addrTop var _18_rc int32 // sqlite3.c:109246:9 _ = _18_rc var _20_regRec int32 // sqlite3.c:109286:11 _ = _20_regRec var _20_regTempRowid int32 // sqlite3.c:109287:11 _ = _20_regTempRowid var _20_addrL int32 // sqlite3.c:109288:11 _ = _20_addrL var _21_sNC XNameContext // sqlite3.c:109307:17 _ = _21_sNC var _30_nIdx int32 // sqlite3.c:109356:9 _ = _30_nIdx var _35_regCols int32 // sqlite3.c:109400:9 _ = _35_regCols var _37_addr1 int32 // sqlite3.c:109411:11 _ = _37_addr1 var _52_pOp *XVdbeOp // sqlite3.c:109480:16 _ = _52_pOp var _54_addr1 int32 // sqlite3.c:109495:13 _ = _54_addr1 var _59_iRegStore int32 // sqlite3.c:109519:11 _ = _59_iRegStore var _71_pVTab *int8 // sqlite3.c:109559:18 _ = _71_pVTab var _72_isReplace int32 // sqlite3.c:109567:11 _ = _72_isReplace var _72_bUseSeek int32 // sqlite3.c:109568:11 _ = _72_bUseSeek _nHidden = i32(0) _iDataCur = i32(0) _iIdxCur = i32(0) _ipkColumn = i32(-1) _srcTab = i32(0) _addrInsTop = i32(0) _addrCont = i32(0) _useTempTable = u8(0) _appendFlag = u8(0) _pList = nil _regFromSelect = i32(0) _regAutoinc = i32(0) _regRowCount = i32(0) _aRegIdx = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) crt.Xmemset(tls, (unsafe.Pointer)(&_dest), i32(0), u64(40)) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _1 } goto _insert_cleanup _1: if _pSelect == nil || ((_pSelect.X3)&uint32(i32(512))) == uint32(i32(0)) || (*XSelect)(unsafe.Pointer(_pSelect.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } _pList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelect)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3SelectDelete(tls, _db, _pSelect) _pSelect = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) _4: func() int32 { if (_pTabList.X0) == i32(1) { return i32(0) } return func() int32 { 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(120056))) crt.X__builtin_abort(tls) return i32(0) }() }() _zTab = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X2 if func() int32 { if _zTab == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _9 } goto _insert_cleanup _9: _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTabList) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } goto _insert_cleanup _10: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) func() int32 { if _iDb < (_db.X5) { return i32(0) } return func() int32 { 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(56012))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AuthCheck(tls, _pParse, i32(18), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) == 0 { goto _13 } goto _insert_cleanup _13: _withoutRowid = uint8(bool2int(((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)))) _pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(108), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), &_tmask) _isView = bool2int((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) func() int32 { if ((_pTrigger != nil) && _tmask != 0) || ((_pTrigger == (*XTrigger)(unsafe.Pointer(uintptr(i32(0))))) && (_tmask == i32(0))) { return i32(0) } return func() int32 { 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(123484))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { goto _19 } goto _insert_cleanup _19: if _sqlite3IsReadOnly(tls, _pParse, _pTab, _tmask) == 0 { goto _20 } goto _insert_cleanup _20: _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _21 } goto _insert_cleanup _21: if int32(_pParse.X6) != i32(0) { goto _22 } _sqlite3VdbeCountChanges(tls, _v) _22: _sqlite3BeginWriteOperation(tls, _pParse, bool2int((_pSelect != nil) || (_pTrigger != nil)), _iDb) if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _xferOptimization(tls, _pParse, _pTab, _pSelect, _onError, _iDb) == 0 { goto _25 } func() int32 { if _pTrigger == nil { return i32(0) } return func() int32 { 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(123536))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pList == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(123548))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _insert_end _25: _regAutoinc = _autoIncBegin(tls, _pParse, _iDb, _pTab) _regRowid = store961(&_regIns, (_pParse.X18)+i32(1)) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + (int32(_pTab.X11) + i32(1)) sink961 = *p } if (_pTab.X16) == 0 { goto _30 } _regRowid += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) += 1 _30: _regData = _regRowid + i32(1) _bIdListInOrder = uint8(bool2int(((_pTab.X9) & uint32(i32(128))) == uint32(i32(0)))) if _pColumn == nil { goto _31 } _i = i32(0) _32: if _i >= (_pColumn.X1) { goto _35 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0)+16*uintptr(_i))))) + uintptr(8 /* X1 */))) = i32(-1) _i += 1 goto _32 _35: _i = i32(0) _36: if _i >= (_pColumn.X1) { goto _39 } _j = i32(0) _40: if _j >= int32(_pTab.X11) { goto _43 } if _sqlite3StrICmp(tls, (*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0)+16*uintptr(_i))).X0, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_j))).X0) != i32(0) { goto _44 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0)+16*uintptr(_i))))) + uintptr(8 /* X1 */))) = _j if _i == _j { goto _45 } _bIdListInOrder = uint8(i32(0)) _45: if _j != int32(_pTab.X10) { goto _46 } _ipkColumn = _i func() int32 { if _withoutRowid == 0 { return i32(0) } return func() int32 { 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(123560))) crt.X__builtin_abort(tls) return i32(0) }() }() _46: goto _43 _44: _j += 1 goto _40 _43: if _j < int32(_pTab.X11) { goto _49 } if _sqlite3IsRowid(tls, (*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0)+16*uintptr(_i))).X0) == 0 || _withoutRowid != 0 { goto _51 } _ipkColumn = _i _bIdListInOrder = uint8(i32(0)) goto _52 _51: _sqlite3ErrorMsg(tls, _pParse, str(123576), unsafe.Pointer(_pTabList), i32(0), unsafe.Pointer((*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0)+16*uintptr(_i))).X0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) goto _insert_cleanup _52: _49: _i += 1 goto _36 _39: _31: if _pSelect == nil { goto _53 } _18_regYield = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _18_addrTop = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) _sqlite3VdbeAddOp3(tls, _v, i32(15), _18_regYield, i32(0), _18_addrTop) _sqlite3SelectDestInit(tls, &_dest, i32(13), _18_regYield) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_dest)) + uintptr(20 /* X3 */))) = func() int32 { if _bIdListInOrder != 0 { return _regData } return i32(0) }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_dest)) + uintptr(24 /* X4 */))) = int32(_pTab.X11) _18_rc = _sqlite3Select(tls, _pParse, _pSelect, &_dest) _regFromSelect = _dest.X3 if _18_rc == 0 && (_db.X17) == 0 && (_pParse.X16) == 0 { goto _58 } goto _insert_cleanup _58: _sqlite3VdbeEndCoroutine(tls, _v, _18_regYield) _sqlite3VdbeJumpHere(tls, _v, _18_addrTop-i32(1)) func() int32 { if (*XExprList)(unsafe.Pointer(_pSelect.X0)) != nil { return i32(0) } return func() int32 { 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(123608))) crt.X__builtin_abort(tls) return i32(0) }() }() _nColumn = (*XExprList)(unsafe.Pointer(_pSelect.X0)).X0 if _pTrigger == nil && _readsTable(tls, _pParse, _iDb, _pTab) == 0 { goto _62 } _useTempTable = uint8(i32(1)) _62: if _useTempTable == 0 { goto _63 } _srcTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _20_regRec = _sqlite3GetTempReg(tls, _pParse) _20_regTempRowid = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp2(tls, _v, i32(108), _srcTab, _nColumn) _20_addrL = _sqlite3VdbeAddOp1(tls, _v, i32(16), _dest.X2) _sqlite3VdbeAddOp3(tls, _v, i32(100), _regFromSelect, _nColumn, _20_regRec) _sqlite3VdbeAddOp2(tls, _v, i32(115), _srcTab, _20_regTempRowid) _sqlite3VdbeAddOp3(tls, _v, i32(116), _srcTab, _20_regRec, _20_regTempRowid) _sqlite3VdbeGoto(tls, _v, _20_addrL) _sqlite3VdbeJumpHere(tls, _v, _20_addrL) _sqlite3ReleaseTempReg(tls, _pParse, _20_regRec) _sqlite3ReleaseTempReg(tls, _pParse, _20_regTempRowid) _63: goto _64 _53: crt.Xmemset(tls, (unsafe.Pointer)(&_21_sNC), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_21_sNC)) + uintptr(0 /* X0 */))))) = _pParse _srcTab = i32(-1) func() int32 { if int32(_useTempTable) == i32(0) { return i32(0) } return func() int32 { 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(123624))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pList == nil { goto _67 } _nColumn = _pList.X0 if _sqlite3ResolveExprListNames(tls, &_21_sNC, _pList) == 0 { goto _68 } goto _insert_cleanup _68: goto _69 _67: _nColumn = i32(0) _69: _64: if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _nColumn <= i32(0) { goto _71 } _ipkColumn = int32(_pTab.X10) _71: _i = i32(0) _72: if _i >= int32(_pTab.X11) { goto _75 } { p := &_nHidden *p = (*p) + func() int32 { if (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X6) & i32(2)) != i32(0) { return i32(1) } return i32(0) }() sink961 = *p } _i += 1 goto _72 _75: if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _nColumn == 0 || _nColumn == (int32(_pTab.X11)-_nHidden) { goto _80 } _sqlite3ErrorMsg(tls, _pParse, str(123640), unsafe.Pointer(_pTabList), i32(0), int32(_pTab.X11)-_nHidden, _nColumn) goto _insert_cleanup _80: if _pColumn == (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _nColumn == (_pColumn.X1) { goto _82 } _sqlite3ErrorMsg(tls, _pParse, str(123692), _nColumn, _pColumn.X1) goto _insert_cleanup _82: if ((_db.X6) & i32(128)) == 0 { goto _83 } _regRowCount = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regRowCount) _83: if _isView != 0 { goto _84 } _30_nIdx = _sqlite3OpenTableAndIndices(tls, _pParse, _pTab, i32(106), uint8(i32(0)), i32(-1), (*uint8)(unsafe.Pointer(uintptr(i32(0)))), &_iDataCur, &_iIdxCur) _aRegIdx = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(4)*uint64(_30_nIdx+i32(1))))) if _aRegIdx != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _85 } goto _insert_cleanup _85: *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) _86: if _i >= _30_nIdx { goto _89 } func() int32 { if _pIdx != nil { return i32(0) } return func() int32 { 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(123720))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + int32(_pIdx.X14) sink961 = *p } *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_i }() += 1 goto _86 _89: _84: if _useTempTable == 0 { goto _92 } _addrInsTop = _sqlite3VdbeAddOp1(tls, _v, i32(58), _srcTab) _addrCont = _sqlite3VdbeCurrentAddr(tls, _v) goto _93 _92: if _pSelect == nil { goto _94 } _addrInsTop = store961(&_addrCont, _sqlite3VdbeAddOp1(tls, _v, i32(16), _dest.X2)) _94: _93: _endOfLoop = _sqlite3VdbeMakeLabel(tls, _v) if (_tmask & i32(1)) == 0 { goto _95 } _35_regCols = _sqlite3GetTempRange(tls, _pParse, int32(_pTab.X11)+i32(1)) if _ipkColumn >= i32(0) { goto _96 } _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(-1), _35_regCols) goto _97 _96: func() int32 { if _withoutRowid == 0 { return i32(0) } return func() int32 { 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(123560))) crt.X__builtin_abort(tls) return i32(0) }() }() if _useTempTable == 0 { goto _100 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _ipkColumn, _35_regCols) goto _101 _100: func() int32 { if _pSelect == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(123728))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_ipkColumn))).X0)), _35_regCols) _101: _37_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(35), _35_regCols) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(-1), _35_regCols) _sqlite3VdbeJumpHere(tls, _v, _37_addr1) _sqlite3VdbeAddOp1(tls, _v, i32(17), _35_regCols) _97: func() int32 { if (_pTab.X16) == 0 { return i32(0) } return func() int32 { 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(42900))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = store961(&_j, i32(0)) _106: if _i >= int32(_pTab.X11) { goto _109 } if _pColumn == nil { goto _110 } _j = i32(0) _111: if _j >= (_pColumn.X1) { goto _114 } if ((*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0) + 16*uintptr(_j))).X1) != _i { goto _115 } goto _114 _115: _j += 1 goto _111 _114: _110: if (_useTempTable != 0 || _pList != nil) && (_pColumn == nil || _j < (_pColumn.X1)) && (_pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) == 0) { goto _121 } _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X1)), (_35_regCols+_i)+i32(1)) goto _122 _121: if _useTempTable == 0 { goto _123 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _j, (_35_regCols+_i)+i32(1)) goto _124 _123: func() int32 { if _pSelect == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(123728))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCodeAndCache(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_j))).X0)), (_35_regCols+_i)+i32(1)) _124: _122: if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || i32(1) == 0 { goto _128 } _j += 1 _128: _i += 1 goto _106 _109: if _isView != 0 { goto _129 } _sqlite3TableAffinity(tls, _v, _pTab, _35_regCols+i32(1)) _129: _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(108), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(1), _pTab, (_35_regCols-int32(_pTab.X11))-i32(1), _onError, _endOfLoop) _sqlite3ReleaseTempRange(tls, _pParse, _35_regCols, int32(_pTab.X11)+i32(1)) _95: if _isView != 0 { goto _130 } if (_pTab.X16) == 0 { goto _131 } _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regIns) _131: if _ipkColumn < i32(0) { goto _132 } if _useTempTable == 0 { goto _133 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _ipkColumn, _regRowid) goto _134 _133: if _pSelect == nil { goto _135 } _sqlite3VdbeAddOp2(tls, _v, i32(85), _regFromSelect+_ipkColumn, _regRowid) goto _136 _135: _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_ipkColumn))).X0)), _regRowid) _52_pOp = _sqlite3VdbeGetOp(tls, _v, i32(-1)) if func() int32 { if _52_pOp != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || int32(_52_pOp.X0) != i32(80) || (_pTab.X16) != 0 { goto _141 } _appendFlag = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(115)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(4 /* X3 */))) = _iDataCur *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(8 /* X4 */))) = _regRowid *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(12 /* X5 */))) = _regAutoinc _141: _136: _134: if _appendFlag != 0 { goto _142 } if (_pTab.X16) != 0 { goto _143 } _54_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(35), _regRowid) _sqlite3VdbeAddOp3(tls, _v, i32(115), _iDataCur, _regRowid, _regAutoinc) _sqlite3VdbeJumpHere(tls, _v, _54_addr1) goto _144 _143: _54_addr1 = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeAddOp2(tls, _v, i32(34), _regRowid, _54_addr1+i32(2)) _144: _sqlite3VdbeAddOp1(tls, _v, i32(17), _regRowid) _142: goto _145 _132: if (_pTab.X16) == 0 && _withoutRowid == 0 { goto _147 } _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regRowid) goto _148 _147: _sqlite3VdbeAddOp3(tls, _v, i32(115), _iDataCur, _regRowid, _regAutoinc) _appendFlag = uint8(i32(1)) _148: _145: _autoIncStep(tls, _pParse, _regAutoinc, _regRowid) _nHidden = i32(0) _i = i32(0) _149: if _i >= int32(_pTab.X11) { goto _152 } _59_iRegStore = (_regRowid + i32(1)) + _i if _i != int32(_pTab.X10) { goto _153 } _sqlite3VdbeAddOp1(tls, _v, i32(81), _59_iRegStore) goto _150 _153: if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _154 } if (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X6) & i32(2)) == i32(0) { goto _155 } _j = i32(-1) _nHidden += 1 goto _156 _155: _j = _i - _nHidden _156: goto _157 _154: _j = i32(0) _158: if _j >= (_pColumn.X1) { goto _161 } if ((*TIdList_item)(unsafe.Pointer(uintptr(_pColumn.X0) + 16*uintptr(_j))).X1) != _i { goto _162 } goto _161 _162: _j += 1 goto _158 _161: _157: if _j >= i32(0) && _nColumn != i32(0) && (_pColumn == nil || _j < (_pColumn.X1)) { goto _166 } _sqlite3ExprCodeFactorable(tls, _pParse, (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_i))).X1)), _59_iRegStore) goto _167 _166: if _useTempTable == 0 { goto _168 } _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _j, _59_iRegStore) goto _169 _168: if _pSelect == nil { goto _170 } if _regFromSelect == _regData { goto _171 } _sqlite3VdbeAddOp2(tls, _v, i32(86), _regFromSelect+_j, _59_iRegStore) _171: goto _172 _170: _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_j))).X0)), _59_iRegStore) _172: _169: _167: _150: _i += 1 goto _149 _152: if (_pTab.X16) == 0 { goto _173 } _71_pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab))) _sqlite3VtabMakeWritable(tls, _pParse, _pTab) _sqlite3VdbeAddOp4(tls, _v, i32(12), i32(1), int32(_pTab.X11)+i32(2), _regIns, _71_pVTab, i32(-8)) _sqlite3VdbeChangeP5(tls, _v, uint16(func() int32 { if _onError == i32(10) { return i32(2) } return _onError }())) _sqlite3MayAbort(tls, _pParse) goto _176 _173: _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))))) _sqlite3FkCheck(tls, _pParse, _pTab, i32(0), _regIns, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) _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)))))))) _sqlite3CompleteInsertion(tls, _pParse, _pTab, _iDataCur, _iIdxCur, _regIns, _aRegIdx, i32(0), int32(_appendFlag), _72_bUseSeek) _176: _130: if ((_db.X6) & i32(128)) == i32(0) { goto _180 } _sqlite3VdbeAddOp2(tls, _v, i32(92), _regRowCount, i32(1)) _180: if _pTrigger == nil { goto _181 } _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(108), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(2), _pTab, (_regData-i32(2))-int32(_pTab.X11), _onError, _endOfLoop) _181: _sqlite3VdbeResolveLabel(tls, _v, _endOfLoop) if _useTempTable == 0 { goto _182 } _sqlite3VdbeAddOp2(tls, _v, i32(7), _srcTab, _addrCont) _sqlite3VdbeJumpHere(tls, _v, _addrInsTop) _sqlite3VdbeAddOp1(tls, _v, i32(112), _srcTab) goto _183 _182: if _pSelect == nil { goto _184 } _sqlite3VdbeGoto(tls, _v, _addrCont) _sqlite3VdbeJumpHere(tls, _v, _addrInsTop) _184: _183: _insert_end: if int32(_pParse.X6) != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _186 } _sqlite3AutoincrementEnd(tls, _pParse) _186: if ((_db.X6)&i32(128)) == 0 || (_pParse.X6) != 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { goto _189 } _sqlite3VdbeAddOp2(tls, _v, i32(88), _regRowCount, i32(1)) _sqlite3VdbeSetNumCols(tls, _v, i32(1)) _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), str(123740), nil) _189: _insert_cleanup: _sqlite3SrcListDelete(tls, _db, _pTabList) _sqlite3ExprListDelete(tls, _db, _pList) _sqlite3SelectDelete(tls, _db, _pSelect) _sqlite3IdListDelete(tls, _db, _pColumn) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aRegIdx)) return } var _sqlite3InsertØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3InsertØ00__func__Ø000[0], str(123756), 14) } func _xferOptimization(tls *crt.TLS, _pParse *XParse, _pDest *XTable, _pSelect *XSelect, _onError int32, _iDbDest int32) (r0 int32) { // sqlite3.c:110514:1 var _db *Xsqlite3 // sqlite3.c:110521:11 _ = _db var _pEList *XExprList // sqlite3.c:110522:12 _ = _pEList var _pSrc *XTable // sqlite3.c:110523:9 _ = _pSrc var _pSrcIdx *XIndex // sqlite3.c:110524:9 _ = _pSrcIdx var _pDestIdx *XIndex // sqlite3.c:110524:19 _ = _pDestIdx var _pItem *TSrcList_item // sqlite3.c:110525:23 _ = _pItem var _i int32 // sqlite3.c:110526:7 _ = _i var _iDbSrc int32 // sqlite3.c:110527:7 _ = _iDbSrc var _iSrc int32 // sqlite3.c:110528:7 _ = _iSrc var _iDest int32 // sqlite3.c:110528:13 _ = _iDest var _addr1 int32 // sqlite3.c:110529:7 _ = _addr1 var _addr2 int32 // sqlite3.c:110529:14 _ = _addr2 var _emptyDestTest int32 // sqlite3.c:110530:7 _ = _emptyDestTest var _emptySrcTest int32 // sqlite3.c:110531:7 _ = _emptySrcTest var _v *TVdbe // sqlite3.c:110532:8 _ = _v var _regAutoinc int32 // sqlite3.c:110533:7 _ = _regAutoinc var _destHasUniqueIdx int32 // sqlite3.c:110534:7 _ = _destHasUniqueIdx var _regData int32 // sqlite3.c:110535:7 _ = _regData var _regRowid int32 // sqlite3.c:110535:16 _ = _regRowid var _23_pDestCol *XColumn // sqlite3.c:110626:12 _ = _23_pDestCol var _23_pSrcCol *XColumn // sqlite3.c:110627:12 _ = _23_pSrcCol var _37_insFlags uint8 // sqlite3.c:110732:8 _ = _37_insFlags var _44_idxInsFlags uint8 // sqlite3.c:110767:8 _ = _44_idxInsFlags var _47_zColl *int8 // sqlite3.c:110797:20 _ = _47_zColl _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _emptyDestTest = i32(0) _emptySrcTest = i32(0) _destHasUniqueIdx = i32(0) if _pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: if (*XWith)(unsafe.Pointer(_pParse.X70)) == nil && (*XWith)(unsafe.Pointer(_pSelect.X17)) == nil { goto _2 } r0 = i32(0) return _2: if _sqlite3TriggerList(tls, _pParse, _pDest) == nil { goto _3 } r0 = i32(0) return _3: if (_pDest.X16) == 0 { goto _4 } r0 = i32(0) return _4: if _onError != i32(10) { goto _5 } if int32(_pDest.X10) < i32(0) { goto _6 } _onError = int32(_pDest.X14) _6: if _onError != i32(10) { goto _7 } _onError = i32(2) _7: _5: func() int32 { if (*XSrcList)(unsafe.Pointer(_pSelect.X8)) != nil { return i32(0) } return func() int32 { 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(123772))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((*XSrcList)(unsafe.Pointer(_pSelect.X8)).X0) == i32(1) { goto _10 } r0 = i32(0) return _10: if (*XSelect)(unsafe.Pointer((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pSelect.X8)+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X5)) == nil { goto _11 } r0 = i32(0) return _11: if (*XExpr)(unsafe.Pointer(_pSelect.X9)) == nil { goto _12 } r0 = i32(0) return _12: if (*XExprList)(unsafe.Pointer(_pSelect.X12)) == nil { goto _13 } r0 = i32(0) return _13: if (*XExprList)(unsafe.Pointer(_pSelect.X10)) == nil { goto _14 } r0 = i32(0) return _14: if (*XExpr)(unsafe.Pointer(_pSelect.X15)) == nil { goto _15 } r0 = i32(0) return _15: func() int32 { if (*XExpr)(unsafe.Pointer(_pSelect.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(123788))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XSelect)(unsafe.Pointer(_pSelect.X13)) == nil { goto _18 } r0 = i32(0) return _18: if ((_pSelect.X3) & uint32(i32(1))) == 0 { goto _19 } r0 = i32(0) return _19: _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) func() int32 { if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(46224))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pEList.X0) == i32(1) { goto _22 } r0 = i32(0) return _22: func() int32 { if (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(i32(0)))).X0)) != nil { return i32(0) } return func() int32 { 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(123808))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32((*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pEList.X1)+32*uintptr(i32(0)))).X0)).X0) == i32(160) { goto _25 } r0 = i32(0) return _25: _pItem = (*TSrcList_item)(unsafe.Pointer((*[1]TSrcList_item)(unsafe.Pointer(uintptr(_pSelect.X8) + uintptr(8 /* X2 */))))) _pSrc = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), _pItem) if _pSrc != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _26 } r0 = i32(0) return _26: if _pSrc != _pDest { goto _27 } r0 = i32(0) return _27: if (((_pDest.X9) & uint32(i32(32))) == uint32(i32(0))) == (((_pSrc.X9) & uint32(i32(32))) == uint32(i32(0))) { goto _28 } r0 = i32(0) return _28: if (_pSrc.X16) == 0 { goto _29 } r0 = i32(0) return _29: if (*XSelect)(unsafe.Pointer(_pSrc.X3)) == nil { goto _30 } r0 = i32(0) return _30: if int32(_pDest.X11) == int32(_pSrc.X11) { goto _31 } r0 = i32(0) return _31: if int32(_pDest.X10) == int32(_pSrc.X10) { goto _32 } r0 = i32(0) return _32: _i = i32(0) _33: if _i >= int32(_pDest.X11) { goto _36 } _23_pDestCol = (*XColumn)(unsafe.Pointer(uintptr(_pDest.X1) + 32*uintptr(_i))) _23_pSrcCol = (*XColumn)(unsafe.Pointer(uintptr(_pSrc.X1) + 32*uintptr(_i))) if int32(_23_pDestCol.X4) == int32(_23_pSrcCol.X4) { goto _37 } r0 = i32(0) return _37: if Xsqlite3_stricmp(tls, _23_pDestCol.X2, _23_pSrcCol.X2) == i32(0) { goto _38 } r0 = i32(0) return _38: if (_23_pDestCol.X3) == 0 || (_23_pSrcCol.X3) != 0 { goto _40 } r0 = i32(0) return _40: if _i <= i32(0) { goto _41 } func() int32 { if ((*XExpr)(unsafe.Pointer(_23_pDestCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*XExpr)(unsafe.Pointer(_23_pDestCol.X1)).X0) == i32(161)) { return i32(0) } return func() int32 { 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(123828))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XExpr)(unsafe.Pointer(_23_pSrcCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*XExpr)(unsafe.Pointer(_23_pSrcCol.X1)).X0) == i32(161)) { return i32(0) } return func() int32 { 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(123880))) crt.X__builtin_abort(tls) return i32(0) }() }() 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((*T5519038)(unsafe.Pointer(uintptr(_23_pDestCol.X1) + uintptr(8 /* X3 */))))), *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_23_pSrcCol.X1) + uintptr(8 /* X3 */)))))) == i32(0)) { goto _50 } r0 = i32(0) return _50: _41: _i += 1 goto _33 _36: _pDestIdx = (*XIndex)(unsafe.Pointer(_pDest.X2)) _51: if _pDestIdx == nil { goto _54 } if int32(_pDestIdx.X15) == i32(0) { goto _55 } _destHasUniqueIdx = i32(1) _55: _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrc.X2)) _56: if _pSrcIdx == nil { goto _59 } if _xferCompatibleIndex(tls, _pDestIdx, _pSrcIdx) == 0 { goto _60 } goto _59 _60: _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrcIdx.X5)) goto _56 _59: if _pSrcIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _61 } r0 = i32(0) return _61: _pDestIdx = (*XIndex)(unsafe.Pointer(_pDestIdx.X5)) goto _51 _54: if (*XExprList)(unsafe.Pointer(_pDest.X6)) == nil || _sqlite3ExprListCompare(tls, (*XExprList)(unsafe.Pointer(_pSrc.X6)), (*XExprList)(unsafe.Pointer(_pDest.X6)), i32(-1)) == 0 { goto _63 } r0 = i32(0) return _63: if ((_db.X6)&i32(524288)) == i32(0) || (*XFKey)(unsafe.Pointer(_pDest.X4)) == (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { goto _65 } r0 = i32(0) return _65: if ((_db.X6) & i32(128)) == i32(0) { goto _66 } r0 = i32(0) return _66: _iDbSrc = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pSrc.X20))) _v = _sqlite3GetVdbe(tls, _pParse) _sqlite3CodeVerifySchema(tls, _pParse, _iDbSrc) _iSrc = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _iDest = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _regAutoinc = _autoIncBegin(tls, _pParse, _iDbDest, _pDest) _regData = _sqlite3GetTempReg(tls, _pParse) _regRowid = _sqlite3GetTempReg(tls, _pParse) _sqlite3OpenTable(tls, _pParse, _iDest, _iDbDest, _pDest, i32(106)) func() int32 { if (((_pDest.X9) & uint32(i32(32))) == uint32(i32(0))) || _destHasUniqueIdx != 0 { return i32(0) } return func() int32 { 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(123932))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)) { goto _75 } _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iDest, i32(0)) _emptyDestTest = _sqlite3VdbeAddOp0(tls, _v, i32(13)) _sqlite3VdbeJumpHere(tls, _v, _addr1) _75: if ((_pSrc.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _76 } _sqlite3OpenTable(tls, _pParse, _iSrc, _iDbSrc, _pSrc, i32(105)) _emptySrcTest = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iSrc, i32(0)) if int32(_pDest.X10) < i32(0) { goto _77 } _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(123), _iSrc, _regRowid) _addr2 = _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDest, i32(0), _regRowid) _sqlite3RowidConstraint(tls, _pParse, _onError, _pDest) _sqlite3VdbeJumpHere(tls, _v, _addr2) _autoIncStep(tls, _pParse, _regAutoinc, _regRowid) goto _78 _77: if (*XIndex)(unsafe.Pointer(_pDest.X2)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _79 } _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(115), _iDest, _regRowid) goto _80 _79: _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(123), _iSrc, _regRowid) func() int32 { if ((_pDest.X9) & uint32(i32(8))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(123968))) crt.X__builtin_abort(tls) return i32(0) }() }() _80: _78: _sqlite3VdbeAddOp3(tls, _v, i32(122), _iSrc, _regData, i32(1)) if ((_db.X6) & i32(268435456)) == 0 { goto _83 } _sqlite3VdbeAddOp3(tls, _v, i32(53), _iDest, i32(0), i32(-1)) _37_insFlags = uint8(i32(57)) goto _84 _83: _37_insFlags = uint8(i32(41)) _84: _sqlite3VdbeAddOp4(tls, _v, i32(116), _iDest, _regData, _regRowid, (*int8)(unsafe.Pointer(_pDest)), i32(-15)) _sqlite3VdbeChangeP5(tls, _v, uint16(_37_insFlags)) _sqlite3VdbeAddOp2(tls, _v, i32(7), _iSrc, _addr1) _sqlite3VdbeAddOp2(tls, _v, i32(112), _iSrc, i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(112), _iDest, i32(0)) goto _85 _76: _sqlite3TableLock(tls, _pParse, _iDbDest, _pDest.X7, uint8(i32(1)), _pDest.X0) _sqlite3TableLock(tls, _pParse, _iDbSrc, _pSrc.X7, uint8(i32(0)), _pSrc.X0) _85: _pDestIdx = (*XIndex)(unsafe.Pointer(_pDest.X2)) _86: if _pDestIdx == nil { goto _89 } _44_idxInsFlags = uint8(i32(0)) _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrc.X2)) _90: if func() int32 { if _pSrcIdx != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _95 } if _xferCompatibleIndex(tls, _pDestIdx, _pSrcIdx) == 0 { goto _96 } goto _95 _96: _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrcIdx.X5)) goto _90 _95: func() int32 { if _pSrcIdx != nil { return i32(0) } return func() int32 { 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(124008))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, i32(105), _iSrc, _pSrcIdx.X11, _iDbSrc) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pSrcIdx) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pSrcIdx.X0)) _sqlite3VdbeAddOp3(tls, _v, i32(106), _iDest, _pDestIdx.X11, _iDbDest) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pDestIdx) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pDestIdx.X0)) _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iSrc, i32(0)) _sqlite3VdbeAddOp3(tls, _v, i32(122), _iSrc, _regData, i32(1)) if ((_db.X6) & i32(268435456)) == 0 { goto _99 } _i = i32(0) _100: if _i >= int32(_pSrcIdx.X14) { goto _103 } _47_zColl = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrcIdx.X8)) + 8*uintptr(_i))) if Xsqlite3_stricmp(tls, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), _47_zColl) == 0 { goto _104 } goto _103 _104: _i += 1 goto _100 _103: if _i != int32(_pSrcIdx.X14) { goto _105 } _44_idxInsFlags = uint8(i32(16)) _sqlite3VdbeAddOp3(tls, _v, i32(53), _iDest, i32(0), i32(-1)) _105: _99: if ((_pSrc.X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_pDestIdx.X16)<>uint(i32(30))) != i32(2) { goto _107 } { p := &_44_idxInsFlags *p = uint8(int32(*p) | i32(1)) sink4537 = *p } _107: _sqlite3VdbeAddOp2(tls, _v, i32(126), _iDest, _regData) _sqlite3VdbeChangeP5(tls, _v, uint16(int32(_44_idxInsFlags)|i32(8))) _sqlite3VdbeAddOp2(tls, _v, i32(7), _iSrc, _addr1+i32(1)) _sqlite3VdbeJumpHere(tls, _v, _addr1) _sqlite3VdbeAddOp2(tls, _v, i32(112), _iSrc, i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(112), _iDest, i32(0)) _pDestIdx = (*XIndex)(unsafe.Pointer(_pDestIdx.X5)) goto _86 _89: if _emptySrcTest == 0 { goto _108 } _sqlite3VdbeJumpHere(tls, _v, _emptySrcTest) _108: _sqlite3ReleaseTempReg(tls, _pParse, _regRowid) _sqlite3ReleaseTempReg(tls, _pParse, _regData) if _emptyDestTest == 0 { goto _109 } _sqlite3AutoincrementEnd(tls, _pParse) _sqlite3VdbeAddOp2(tls, _v, i32(76), i32(0), i32(0)) _sqlite3VdbeJumpHere(tls, _v, _emptyDestTest) _sqlite3VdbeAddOp2(tls, _v, i32(112), _iDest, i32(0)) r0 = i32(0) return _109: r0 = i32(1) return } var _xferOptimizationØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_xferOptimizationØ00__func__Ø000[0], str(124016), 17) } func _xferCompatibleIndex(tls *crt.TLS, _pDest *XIndex, _pSrc *XIndex) (r0 int32) { // sqlite3.c:110453:1 var _i int32 // sqlite3.c:110454:7 _ = _i func() int32 { if (_pDest != nil) && (_pSrc != nil) { return i32(0) } return func() int32 { 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(124036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XTable)(unsafe.Pointer(_pDest.X3)) != (*XTable)(unsafe.Pointer(_pSrc.X3)) { return i32(0) } return func() int32 { 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(124052))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pDest.X13) == int32(_pSrc.X13) { goto _5 } r0 = i32(0) return _5: if int32(_pDest.X15) == int32(_pSrc.X15) { goto _6 } r0 = i32(0) return _6: _i = i32(0) _7: if _i >= int32(_pSrc.X13) { goto _10 } 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)))) { goto _11 } r0 = i32(0) return _11: if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc.X1)) + 2*uintptr(_i)))) != i32(-2) { goto _12 } func() int32 { if ((*XExprList)(unsafe.Pointer(_pSrc.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExprList)(unsafe.Pointer(_pDest.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(124080))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSrc.X10)).X1)+32*uintptr(_i))).X0)), (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pDest.X10)).X1)+32*uintptr(_i))).X0)), i32(-1)) == i32(0) { goto _16 } r0 = i32(0) return _16: _12: 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)))) { goto _17 } r0 = i32(0) return _17: if Xsqlite3_stricmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc.X8)) + 8*uintptr(_i))), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest.X8)) + 8*uintptr(_i)))) == i32(0) { goto _18 } r0 = i32(0) return _18: _i += 1 goto _7 _10: if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pSrc.X9)), (*XExpr)(unsafe.Pointer(_pDest.X9)), i32(-1)) == 0 { goto _19 } r0 = i32(0) return _19: r0 = i32(1) return } var _xferCompatibleIndexØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_xferCompatibleIndexØ00__func__Ø000[0], str(124120), 20) } func _autoIncBegin(tls *crt.TLS, _pParse *XParse, _iDb int32, _pTab *XTable) (r0 int32) { // sqlite3.c:108790:1 var _memId int32 // sqlite3.c:108795:7 _ = _memId var _1_pToplevel *XParse // sqlite3.c:108799:11 _ = _1_pToplevel var _1_pInfo *TAggInfo_func // sqlite3.c:108800:17 _ = _1_pInfo _memId = i32(0) if ((_pTab.X9)&uint32(i32(8))) == uint32(i32(0)) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(268435456)) != i32(0) { goto _1 } _1_pToplevel = func() *XParse { if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { return (*XParse)(unsafe.Pointer(_pParse.X39)) } return _pParse }() _1_pInfo = (*TAggInfo_func)(unsafe.Pointer(_1_pToplevel.X38)) _4: if _1_pInfo == nil || (*XTable)(unsafe.Pointer(_1_pInfo.X1)) == _pTab { goto _5 } _1_pInfo = (*TAggInfo_func)(unsafe.Pointer(_1_pInfo.X0)) goto _4 _5: if _1_pInfo != (*TAggInfo_func)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _1_pInfo = (*TAggInfo_func)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), u64(24)))) if _1_pInfo != (*TAggInfo_func)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } r0 = i32(0) return _8: *(**TAggInfo_func)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(0 /* X0 */))))) = (*TAggInfo_func)(unsafe.Pointer(_1_pToplevel.X38)) *(**TAggInfo_func)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel)) + uintptr(160 /* X38 */))))) = _1_pInfo *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(8 /* X1 */))))) = _pTab *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(16 /* X2 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel)) + uintptr(56 /* X18 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(20 /* X3 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel))+uintptr(56 /* X18 */))), 1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel)) + uintptr(56 /* X18 */))) += 1 _7: _memId = _1_pInfo.X3 _1: r0 = _memId return } func _autoIncStep(tls *crt.TLS, _pParse *XParse, _memId int32, _regRowid int32) { // sqlite3.c:108879:1 if _memId <= i32(0) { goto _0 } _sqlite3VdbeAddOp2(tls, (*TVdbe)(unsafe.Pointer(_pParse.X2)), i32(146), _memId, _regRowid) _0: return } func _readsTable(tls *crt.TLS, _p *XParse, _iDb int32, _pTab *XTable) (r0 int32) { // sqlite3.c:108733:1 var _v *TVdbe // sqlite3.c:108734:8 _ = _v var _i int32 // sqlite3.c:108735:7 _ = _i var _iEnd int32 // sqlite3.c:108736:7 _ = _iEnd var _pVTab *XVTable // sqlite3.c:108738:10 _ = _pVTab var _1_pOp *XVdbeOp // sqlite3.c:108742:12 _ = _1_pOp var _2_pIndex *XIndex // sqlite3.c:108745:13 _ = _2_pIndex var _2_tnum int32 // sqlite3.c:108746:11 _ = _2_tnum _v = _sqlite3GetVdbe(tls, _p) _iEnd = _sqlite3VdbeCurrentAddr(tls, _v) _pVTab = func() *XVTable { if (_pTab.X16) != 0 { return _sqlite3GetVTable(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _pTab) } return (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) }() _i = i32(1) _2: if _i >= _iEnd { goto _5 } _1_pOp = _sqlite3VdbeGetOp(tls, _v, _i) func() int32 { if _1_pOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(114104))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_1_pOp.X0) != i32(105) || (_1_pOp.X5) != _iDb { goto _9 } _2_tnum = _1_pOp.X4 if _2_tnum != (_pTab.X7) { goto _10 } r0 = i32(1) return _10: _2_pIndex = (*XIndex)(unsafe.Pointer(_pTab.X2)) _11: if _2_pIndex == nil { goto _14 } if _2_tnum != (_2_pIndex.X11) { goto _15 } r0 = i32(1) return _15: _2_pIndex = (*XIndex)(unsafe.Pointer(_2_pIndex.X5)) goto _11 _14: _9: if int32(_1_pOp.X0) != i32(156) || (*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */))))))) != _pVTab { goto _17 } func() int32 { if (*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */))))))) != (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(124140))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_1_pOp.X1) == i32(-8) { return i32(0) } return func() int32 { 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(73000))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(1) return _17: _i += 1 goto _2 _5: r0 = i32(0) return } var _readsTableØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_readsTableØ00__func__Ø000[0], str(124160), 11) } func _sqlite3ExprCodeAndCache(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94877:1 var _v *TVdbe // sqlite3.c:94878:8 _ = _v var _iMem int32 // sqlite3.c:94879:7 _ = _iMem _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) func() int32 { if _target > i32(0) { return i32(0) } return func() int32 { 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(103808))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pExpr.X0) != i32(157) { return i32(0) } return func() int32 { 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(124172))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprCode(tls, _pParse, _pExpr, _target) _iMem = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeAddOp2(tls, _v, i32(85), _target, _iMem) _exprToRegister(tls, _pExpr, _iMem) return } var _sqlite3ExprCodeAndCacheØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprCodeAndCacheØ00__func__Ø000[0], str(124196), 24) } func _transferParseError(tls *crt.TLS, _pTo *XParse, _pFrom *XParse) { // sqlite3.c:122955:1 func() int32 { if ((_pFrom.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pFrom.X16) != 0 { return i32(0) } return func() int32 { 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(124220))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pTo.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pTo.X16) != 0 { return i32(0) } return func() int32 { 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(124256))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTo.X16) != i32(0) { goto _6 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) = _pFrom.X1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(48 /* X16 */))) = _pFrom.X16 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(24 /* X3 */))) = _pFrom.X3 goto _7 _6: _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pFrom.X0)), (unsafe.Pointer)(_pFrom.X1)) _7: return } var _transferParseErrorØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_transferParseErrorØ00__func__Ø000[0], str(124288), 19) } func _sqlite3VdbeTakeOpArray(tls *crt.TLS, _p *TVdbe, _pnOp *int32, _pnMaxArg *int32) (r0 *XVdbeOp) { // sqlite3.c:72015:1 var _aOp *XVdbeOp // sqlite3.c:72016:10 _ = _aOp _aOp = (*XVdbeOp)(unsafe.Pointer(_p.X17)) func() int32 { if (_aOp != nil) && (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0) { return i32(0) } return func() int32 { 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(124308))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_p.X33) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(124336))) crt.X__builtin_abort(tls) return i32(0) }() }() _resolveP2Values(tls, _p, _pnMaxArg) *_pnOp = _p.X27 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X17 */))))) = (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) r0 = _aOp return } var _sqlite3VdbeTakeOpArrayØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeTakeOpArrayØ00__func__Ø000[0], str(124364), 23) } func _sqlite3CodeDropTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iDb int32, _isView int32) { // sqlite3.c:101888:1 var _v *TVdbe // sqlite3.c:101889:8 _ = _v var _db *Xsqlite3 // sqlite3.c:101890:11 _ = _db var _pTrigger *XTrigger // sqlite3.c:101891:11 _ = _pTrigger var _pDb *XDb // sqlite3.c:101892:6 _ = _pDb _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) _v = _sqlite3GetVdbe(tls, _pParse) func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) if (_pTab.X16) == 0 { goto _2 } _sqlite3VdbeAddOp0(tls, _v, i32(153)) _2: _pTrigger = _sqlite3TriggerList(tls, _pParse, _pTab) _3: if _pTrigger == nil { goto _4 } func() int32 { 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)+32*uintptr(i32(1)))).X4))) { return i32(0) } return func() int32 { 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(124388))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3DropTriggerPtr(tls, _pParse, _pTrigger) _pTrigger = (*XTrigger)(unsafe.Pointer(_pTrigger.X9)) goto _3 _4: if ((_pTab.X9) & uint32(i32(8))) == 0 { goto _8 } _sqlite3NestedParse(tls, _pParse, str(124464), unsafe.Pointer(_pDb.X0), unsafe.Pointer(_pTab.X0)) _8: _sqlite3NestedParse(tls, _pParse, str(124512), unsafe.Pointer(_pDb.X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_pTab.X0)) if _isView != 0 || (_pTab.X16) != 0 { goto _10 } _destroyTable(tls, _pParse, _pTab) _10: if (_pTab.X16) == 0 { goto _11 } _sqlite3VdbeAddOp4(tls, _v, i32(155), _iDb, i32(0), i32(0), _pTab.X0, i32(0)) _11: _sqlite3VdbeAddOp4(tls, _v, i32(139), _iDb, i32(0), i32(0), _pTab.X0, i32(0)) _sqlite3ChangeCookie(tls, _pParse, _iDb) _sqliteViewResetAll(tls, _db, _iDb) return } var _sqlite3CodeDropTableØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CodeDropTableØ00__func__Ø000[0], str(124568), 21) } func _sqlite3DropTriggerPtr(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger) { // sqlite3.c:122714:1 var _pTable *XTable // sqlite3.c:122715:11 _ = _pTable var _v *TVdbe // sqlite3.c:122716:8 _ = _v var _db *Xsqlite3 // sqlite3.c:122717:11 _ = _db var _iDb int32 // sqlite3.c:122718:7 _ = _iDb var _1_code int32 // sqlite3.c:122727:9 _ = _1_code var _1_zDb *int8 // sqlite3.c:122728:16 _ = _1_zDb var _1_zTab *int8 // sqlite3.c:122729:16 _ = _1_zTab _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTrigger.X6))) func() int32 { if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { return i32(0) } return func() int32 { 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(21300))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTable = _tableOfTrigger(tls, _pTrigger) func() int32 { if _pTable != nil { return i32(0) } return func() int32 { 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(98016))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XSchema)(unsafe.Pointer(_pTable.X20)) == (*XSchema)(unsafe.Pointer(_pTrigger.X6))) || (_iDb == i32(1)) { return i32(0) } return func() int32 { 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(124592))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_code = i32(16) _1_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _1_zTab = func() *int8 { if i32(1) != 0 && (_iDb == i32(1)) { return str(51488) } return str(51508) }() if _iDb != i32(1) { goto _11 } _1_code = i32(14) _11: 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 { goto _13 } return _13: func() int32 { if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(21532))) crt.X__builtin_abort(tls) return i32(0) }() }() if store5435885(&_v, _sqlite3GetVdbe(tls, _pParse)) == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } _sqlite3NestedParse(tls, _pParse, str(124640), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_pTrigger.X0)) _sqlite3ChangeCookie(tls, _pParse, _iDb) _sqlite3VdbeAddOp4(tls, _v, i32(141), _iDb, i32(0), i32(0), _pTrigger.X0, i32(0)) _16: return } var _sqlite3DropTriggerPtrØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DropTriggerPtrØ00__func__Ø000[0], str(124692), 22) } func _destroyTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable) { // sqlite3.c:101807:1 var _iTab int32 // sqlite3.c:101832:7 _ = _iTab var _iDestroyed int32 // sqlite3.c:101833:7 _ = _iDestroyed var _1_pIdx *XIndex // sqlite3.c:101836:11 _ = _1_pIdx var _1_iLargest int32 // sqlite3.c:101837:9 _ = _1_iLargest var _3_iIdx int32 // sqlite3.c:101843:11 _ = _3_iIdx var _6_iDb int32 // sqlite3.c:101852:11 _ = _6_iDb _iTab = _pTab.X7 _iDestroyed = i32(0) _0: _1_iLargest = i32(0) if _iDestroyed != i32(0) && _iTab >= _iDestroyed { goto _3 } _1_iLargest = _iTab _3: _1_pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _4: if _1_pIdx == nil { goto _7 } _3_iIdx = _1_pIdx.X11 func() int32 { if (*XSchema)(unsafe.Pointer(_1_pIdx.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { return i32(0) } return func() int32 { 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(120172))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iDestroyed != i32(0) && _3_iIdx >= _iDestroyed || _3_iIdx <= _1_iLargest { goto _12 } _1_iLargest = _3_iIdx _12: _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pIdx.X5)) goto _4 _7: if _1_iLargest != i32(0) { goto _13 } return _13: _6_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) func() int32 { if (_6_iDb >= i32(0)) && (_6_iDb < ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X5)) { return i32(0) } return func() int32 { 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(106720))) crt.X__builtin_abort(tls) return i32(0) }() }() _destroyRootPage(tls, _pParse, _1_iLargest, _6_iDb) _iDestroyed = _1_iLargest goto _0 } var _destroyTableØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_destroyTableØ00__func__Ø000[0], str(124716), 13) } func _destroyRootPage(tls *crt.TLS, _pParse *XParse, _iTable int32, _iDb int32) { // sqlite3.c:101778:1 var _v *TVdbe // sqlite3.c:101779:8 _ = _v var _r1 int32 // sqlite3.c:101780:7 _ = _r1 _v = _sqlite3GetVdbe(tls, _pParse) _r1 = _sqlite3GetTempReg(tls, _pParse) func() int32 { if _iTable > i32(1) { return i32(0) } return func() int32 { 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(124732))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, i32(130), _iTable, _r1, _iDb) _sqlite3MayAbort(tls, _pParse) _sqlite3NestedParse(tls, _pParse, str(124744), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(str(51508)), _iTable, _r1, _r1) _sqlite3ReleaseTempReg(tls, _pParse, _r1) return } var _destroyRootPageØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_destroyRootPageØ00__func__Ø000[0], str(124800), 16) } func _sqliteViewResetAll(tls *crt.TLS, _db *Xsqlite3, _idx int32) { // sqlite3.c:101712:1 var _i *XHashElem // sqlite3.c:101713:12 _ = _i var _1_pTab *XTable // sqlite3.c:101717:11 _ = _1_pTab func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _idx, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(124816))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_idx))).X4)).X9) & i32(2)) == i32(2) { goto _2 } return _2: _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_idx))).X4) + uintptr(8 /* X2 */))).X2)) _3: if _i == nil { goto _6 } _1_pTab = (*XTable)(unsafe.Pointer(_i.X2)) if (*XSelect)(unsafe.Pointer(_1_pTab.X3)) == nil { goto _7 } _sqlite3DeleteColumnNames(tls, _db, _1_pTab) *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(70 /* X11 */))) = int16(i32(0)) _7: _i = (*XHashElem)(unsafe.Pointer(_i.X0)) goto _3 _6: { p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_idx))).X4) + uintptr(114 /* X9 */))) *p = uint16(int32(*p) & i32(-3)) sink4530 = *p } return } var _sqliteViewResetAllØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqliteViewResetAllØ00__func__Ø000[0], str(124852), 19) } 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 var _p *XTable // sqlite3.c:101536:9 _ = _p var _n int32 // sqlite3.c:101537:7 _ = _n var _z *int8 // sqlite3.c:101538:14 _ = _z var _sEnd XToken // sqlite3.c:101539:9 _ = _sEnd var _sFix XDbFixer // sqlite3.c:101540:11 _ = _sFix var _pName *XToken // sqlite3.c:101541:9 _ = _pName var _iDb int32 // sqlite3.c:101542:7 _ = _iDb var _db *Xsqlite3 // sqlite3.c:101543:11 _ = _db _pName = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if int32(_pParse.X52) <= i32(0) { goto _0 } _sqlite3ErrorMsg(tls, _pParse, str(124872)) goto _create_view_fail _0: _sqlite3StartTable(tls, _pParse, _pName1, _pName2, _isTemp, i32(1), i32(0), _noErr) _p = (*XTable)(unsafe.Pointer(_pParse.X63)) if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && (_pParse.X16) == 0 { goto _2 } goto _create_view_fail _2: _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_p.X20))) _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(116664), _pName) if _sqlite3FixSelect(tls, &_sFix, _pSelect) == 0 { goto _3 } goto _create_view_fail _3: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))))) = _sqlite3SelectDup(tls, _db, _pSelect, i32(1)) *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X6 */))))) = _sqlite3ExprListDup(tls, _db, _pCNames, i32(1)) if (_db.X17) == 0 { goto _4 } goto _create_view_fail _4: _sEnd = _pParse.X51 func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sEnd.X0)) + 1*uintptr(i32(0))))) != i32(0) { return i32(0) } return func() int32 { 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(124908))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sEnd.X0)) + 1*uintptr(i32(0))))) == i32(59) { goto _7 } { p := (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(0 /* X0 */))) *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sEnd.X1))) sink1025 = *p } _7: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(8 /* X1 */))) = uint32(i32(0)) _n = int32(int64((uintptr(unsafe.Pointer(_sEnd.X0)) - uintptr(unsafe.Pointer(_pBegin.X0))) / 1)) func() int32 { if _n > i32(0) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _z = _pBegin.X0 _10: 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 { goto _11 } _n -= 1 goto _10 _11: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(8 /* X1 */))) = uint32(i32(1)) _sqlite3EndTable(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), &_sEnd, uint8(i32(0)), (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) _create_view_fail: _sqlite3SelectDelete(tls, _db, _pSelect) _sqlite3ExprListDelete(tls, _db, _pCNames) return } var _sqlite3CreateViewØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3CreateViewØ00__func__Ø000[0], str(124924), 18) } func _parserDoubleLinkSelect(tls *crt.TLS, _pParse *XParse, _p *XSelect) { // sqlite3.c:134925:3 var _1_pNext *XSelect // sqlite3.c:134927:14 _ = _1_pNext var _1_pLoop *XSelect // sqlite3.c:134927:26 _ = _1_pLoop var _1_mxSelect int32 // sqlite3.c:134928:11 _ = _1_mxSelect var _1_cnt int32 // sqlite3.c:134928:21 _ = _1_cnt if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { goto _0 } _1_pNext = nil _1_cnt = i32(0) _1_pLoop = _p _1: if _1_pLoop == nil { goto _4 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop)) + uintptr(96 /* X14 */))))) = _1_pNext { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop)) + uintptr(12 /* X3 */))) *p = (*p) | uint32(i32(256)) sink985 = *p } *func() *int32 { *func() **XSelect { _1_pNext = _1_pLoop; return &_1_pLoop }() = (*XSelect)(unsafe.Pointer(_1_pLoop.X13)) return &_1_cnt }() += 1 goto _1 _4: 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(112 /* X31 */))))) + 4*uintptr(i32(4))))) <= i32(0) || _1_cnt <= _1_mxSelect { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(124944)) _7: _0: return } var _yy_reduceØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_yy_reduceØ00__func__Ø000[0], str(124980), 10) } func _sqlite3ExprListSetSpan(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pSpan *XExprSpan) { // sqlite3.c:92362:1 var _db *Xsqlite3 // sqlite3.c:92367:11 _ = _db var _1_pItem *TExprList_item // sqlite3.c:92370:26 _ = _1_pItem _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if (_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_db.X17) != i32(0)) { return i32(0) } return func() int32 { 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(124992))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pList == nil { goto _3 } _1_pItem = (*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr((_pList.X0)-i32(1)))) func() int32 { if (_pList.X0) > i32(0) { return i32(0) } return func() int32 { 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(49244))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_db.X17) != 0) || ((*XExpr)(unsafe.Pointer(_1_pItem.X0)) == (*XExpr)(unsafe.Pointer(_pSpan.X0))) { return i32(0) } return func() int32 { 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(125024))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pItem.X2)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(16 /* X2 */))) = _sqlite3DbStrNDup(tls, _db, _pSpan.X1, uint64(int32(int64((uintptr(unsafe.Pointer(_pSpan.X2))-uintptr(unsafe.Pointer(_pSpan.X1)))/1)))) _3: return } var _sqlite3ExprListSetSpanØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListSetSpanØ00__func__Ø000[0], str(125072), 23) } func _sqlite3SrcListShiftJoinType(tls *crt.TLS, _p *XSrcList) { // sqlite3.c:103380:1 var _1_i int32 // sqlite3.c:103382:9 _ = _1_i if _p == nil { goto _0 } _1_i = (_p.X0) - i32(1) _1: if _1_i <= i32(0) { goto _4 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+112*uintptr(_1_i)))))+uintptr(60 /* X9 */))))) + uintptr(0 /* X0 */))) = (*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+112*uintptr(_1_i-i32(1)))))) + uintptr(60 /* X9 */))).X0 _1_i -= 1 goto _1 _4: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))))+uintptr(60 /* X9 */))))) + uintptr(0 /* X0 */))) = uint8(i32(0)) _0: return } func _sqlite3SrcListIndexedBy(tls *crt.TLS, _pParse *XParse, _p *XSrcList, _pIndexedBy *XToken) { // sqlite3.c:103330:1 var _1_pItem *TSrcList_item // sqlite3.c:103333:25 _ = _1_pItem func() int32 { if _pIndexedBy != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(125096))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p == nil || func() int32 { if (_p.X0) > i32(0) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _5 } _1_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 112*uintptr((_p.X0)-i32(1)))) func() int32 { if int32((uint32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */))).X1)<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(125112))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(1)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(125136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(125164))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pIndexedBy.X1) != uint32(i32(1)) || (_pIndexedBy.X0) != nil { goto _13 } storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 1, 0) goto _14 _13: *(**int8)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(96 /* X15 */))))) = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIndexedBy) storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(bool2int((*(**int8)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(96 /* X15 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))))), 2, 1) _14: _5: return } var _sqlite3SrcListIndexedByØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListIndexedByØ00__func__Ø000[0], str(125188), 24) } func _sqlite3SrcListFuncArgs(tls *crt.TLS, _pParse *XParse, _p *XSrcList, _pList *XExprList) { // sqlite3.c:103352:1 var _1_pItem *TSrcList_item // sqlite3.c:103354:25 _ = _1_pItem if _p == nil { goto _0 } _1_pItem = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 112*uintptr((_p.X0)-i32(1)))) func() int32 { if int32((uint32((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */))).X1)<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(125112))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(1)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(125136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((uint32(((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */))).X1)>>uint(i32(2)))<>uint(i32(31))) == i32(0) { return i32(0) } return func() int32 { 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(125164))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5506918)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(96 /* X15 */))))))) = _pList storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5506898)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(60 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 4, 2) goto _7 _0: _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pList) _7: return } var _sqlite3SrcListFuncArgsØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3SrcListFuncArgsØ00__func__Ø000[0], str(125212), 23) } func _sqlite3JoinType(tls *crt.TLS, _pParse *XParse, _pA *XToken, _pB *XToken, _pC *XToken) (r0 int32) { // sqlite3.c:116448:1 var _jointype int32 // sqlite3.c:116449:7 _ = _jointype var _apAll [3]*XToken // sqlite3.c:116450:9 _ = _apAll var _p *XToken // sqlite3.c:116451:9 _ = _p var _i int32 // sqlite3.c:116467:7 _ = _i var _j int32 // sqlite3.c:116467:10 _ = _j var _5_zSp *int8 // sqlite3.c:116490:16 _ = _5_zSp _jointype = i32(0) *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 8*uintptr(i32(0)))) = _pA *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 8*uintptr(i32(1)))) = _pB *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 8*uintptr(i32(2)))) = _pC _i = i32(0) _0: if _i >= i32(3) || (*(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 8*uintptr(_i)))) == nil { goto _4 } _p = *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 8*uintptr(_i))) _j = i32(0) _5: if _j >= i32(7) { goto _8 } if (_p.X1) != uint32((*T6460481)(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((*T6460481)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JoinTypeØ00aKeywordØ002))+3*uintptr(_j))).X0))), int32(_p.X1)) != i32(0) { goto _10 } { p := &_jointype *p = (*p) | int32((*T6460481)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JoinTypeØ00aKeywordØ002))+3*uintptr(_j))).X2) sink961 = *p } goto _8 _10: _j += 1 goto _5 _8: if _j < i32(7) { goto _11 } { p := &_jointype *p = (*p) | i32(64) sink961 = *p } goto _4 _11: _i += 1 goto _0 _4: if (_jointype&i32(33)) != i32(33) && (_jointype&i32(64)) == i32(0) { goto _13 } _5_zSp = str(125236) func() int32 { if _pB != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(125240))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pC != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } *(*uintptr)(unsafe.Pointer(&_5_zSp)) += uintptr(1) _16: _sqlite3ErrorMsg(tls, _pParse, str(125248), unsafe.Pointer(_pA), unsafe.Pointer(_pB), unsafe.Pointer(_5_zSp), unsafe.Pointer(_pC)) _jointype = i32(1) goto _17 _13: if (_jointype&i32(32)) == i32(0) || (_jointype&i32(24)) == i32(8) { goto _19 } _sqlite3ErrorMsg(tls, _pParse, str(125292)) _jointype = i32(1) _19: _17: r0 = _jointype return } var _sqlite3JoinTypeØ00aKeywordØ002 [7]struct { X0 uint8 X1 uint8 X2 uint8 } // sqlite3.c:116458:5 func init() { _sqlite3JoinTypeØ00aKeywordØ002 = [7]struct { X0 uint8 X1 uint8 X2 uint8 }{T6460481{X0: u8(0), X1: u8(7), X2: u8(4)}, T6460481{X0: u8(6), X1: u8(4), X2: u8(40)}, T6460481{X0: u8(10), X1: u8(5), X2: u8(32)}, T6460481{X0: u8(14), X1: u8(5), X2: u8(48)}, T6460481{X0: u8(19), X1: u8(4), X2: u8(56)}, T6460481{X0: u8(23), X1: u8(5), X2: u8(1)}, T6460481{X0: u8(28), X1: u8(5), X2: u8(3)}} } var _sqlite3JoinTypeØ00zKeyTextØ001 [34]int8 // sqlite3.c:116453:21 func init() { crt.Xstrncpy(nil, &_sqlite3JoinTypeØ00zKeyTextØ001[0], str(125348), 34) } var _sqlite3JoinTypeØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3JoinTypeØ00__func__Ø000[0], str(125384), 16) } func _sqlite3ExprListAppendVector(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pColumns *XIdList, _pExpr *XExpr) (r0 *XExprList) { // sqlite3.c:92257:1 var _db *Xsqlite3 // sqlite3.c:92263:11 _ = _db var _n int32 // sqlite3.c:92264:7 _ = _n var _i int32 // sqlite3.c:92265:7 _ = _i var _iFirst int32 // sqlite3.c:92266:7 _ = _iFirst var _2_pSubExpr *XExpr // sqlite3.c:92284:10 _ = _2_pSubExpr var _5_pFirst *XExpr // sqlite3.c:92295:12 _ = _5_pFirst _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _iFirst = func() int32 { if _pList != nil { return (_pList.X0) } return i32(0) }() if func() int32 { if _pColumns == (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _4 } goto _vector_append_error _4: if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } goto _vector_append_error _5: if int32(_pExpr.X0) == i32(119) || (_pColumns.X1) == store961(&_n, _sqlite3ExprVectorSize(tls, _pExpr)) { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(44032), _pColumns.X1, _n) goto _vector_append_error _7: _i = i32(0) _8: if _i >= (_pColumns.X1) { goto _11 } _2_pSubExpr = _sqlite3ExprForVectorField(tls, _pParse, _pExpr, _i) _pList = _sqlite3ExprListAppend(tls, _pParse, _pList, _2_pSubExpr) if _pList == nil { goto _12 } func() int32 { if (_pList.X0) == ((_iFirst + _i) + i32(1)) { return i32(0) } return func() int32 { 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(125400))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr((_pList.X0)-i32(1)))))) + uintptr(8 /* X1 */))) = (*TIdList_item)(unsafe.Pointer(uintptr(_pColumns.X0) + 16*uintptr(_i))).X0 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TIdList_item)(unsafe.Pointer(uintptr(_pColumns.X0)+16*uintptr(_i))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _12: _i += 1 goto _8 _11: if int32(_pExpr.X0) != i32(119) { goto _15 } if _pList == nil || (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1)+32*uintptr(_iFirst))).X0)) == nil { goto _17 } _5_pFirst = (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_pList.X1) + 32*uintptr(_iFirst))).X0)) func() int32 { if int32(_5_pFirst.X0) == i32(159) { return i32(0) } return func() int32 { 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(125428))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pFirst)) + uintptr(24 /* X5 */))))) = _pExpr _pExpr = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pFirst)) + uintptr(44 /* X8 */))) = _pColumns.X1 _17: _15: _vector_append_error: _sqlite3ExprDelete(tls, _db, _pExpr) _sqlite3IdListDelete(tls, _db, _pColumns) r0 = _pList return } var _sqlite3ExprListAppendVectorØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprListAppendVectorØ00__func__Ø000[0], str(125460), 28) } func _sqlite3IdListAppend(tls *crt.TLS, _db *Xsqlite3, _pList *XIdList, _pToken *XToken) (r0 *XIdList) { // sqlite3.c:103046:1 var _i int32 // sqlite3.c:103047:7 _ = _i if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _pList = (*XIdList)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(16)))) if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) return _1: _0: *(**TIdList_item)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))))) = (*TIdList_item)(unsafe.Pointer(_sqlite3ArrayAllocate(tls, _db, _pList.X0, int32(u64(16)), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X1 */))), &_i))) if _i >= i32(0) { goto _2 } _sqlite3IdListDelete(tls, _db, _pList) r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) return _2: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TIdList_item)(unsafe.Pointer(uintptr(_pList.X0)+16*uintptr(_i))))) + uintptr(0 /* X0 */))) = _sqlite3NameFromToken(tls, _db, _pToken) r0 = _pList return } func _spanSet(tls *crt.TLS, _pOut *XExprSpan, _pStart *XToken, _pEnd *XToken) { // sqlite3.c:134946:3 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = _pStart.X0 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEnd.X0)) + 1*uintptr(_pEnd.X1))) return } func _sqlite3ExprAssignVarNumber(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _n uint32) { // sqlite3.c:91683:1 var _db *Xsqlite3 // sqlite3.c:91684:11 _ = _db var _z *int8 // sqlite3.c:91685:14 _ = _z var _x int16 // sqlite3.c:91686:9 _ = _x var _2_doAdd int32 // sqlite3.c:91699:9 _ = _2_doAdd var _3_i int64 // sqlite3.c:91703:11 _ = _3_i var _3_bOk int32 // sqlite3.c:91704:11 _ = _3_bOk _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: func() int32 { if ((_pExpr.X2) & uint32(i32(25600))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(125488))) crt.X__builtin_abort(tls) return i32(0) }() }() _z = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) func() int32 { if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(45588))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(0) { return i32(0) } return func() int32 { 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(125552))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _n == uint32(_sqlite3Strlen30(tls, _z)) { return i32(0) } return func() int32 { 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(125560))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(0) { goto _9 } func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == i32(63) { return i32(0) } return func() int32 { 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(125584))) crt.X__builtin_abort(tls) return i32(0) }() }() _x = preInc955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(472 /* X52 */))), 1) goto _12 _9: _2_doAdd = i32(0) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(63) { goto _13 } if _n != uint32(i32(2)) { goto _14 } _3_i = int64(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) - i32(48)) _3_bOk = i32(1) goto _15 _14: _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)))) _15: 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(112 /* X31 */))))) + 4*uintptr(i32(9))))) { goto _18 } _sqlite3ErrorMsg(tls, _pParse, str(125596), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(9))))) return _18: _x = int16(_3_i) if int32(_x) <= int32(_pParse.X52) { goto _19 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(472 /* X52 */))) = int16(int32(_x)) _2_doAdd = i32(1) goto _20 _19: if _sqlite3VListNumToName(tls, _pParse.X60, int32(_x)) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _21 } _2_doAdd = i32(1) _21: _20: goto _22 _13: _x = int16(_sqlite3VListNameToNum(tls, _pParse.X60, _z, int32(_n))) if int32(_x) != i32(0) { goto _23 } _x = preInc955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(472 /* X52 */))), 1) _2_doAdd = i32(1) _23: _22: if _2_doAdd == 0 { goto _24 } *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(496 /* X60 */))) = _sqlite3VListAdd(tls, _db, _pParse.X60, _z, int32(_n), int32(_x)) _24: _12: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(48 /* X9 */))) = _x if int32(_x) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(9))))) { goto _25 } _sqlite3ErrorMsg(tls, _pParse, str(125640)) _25: return } var _sqlite3ExprAssignVarNumberØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprAssignVarNumberØ00__func__Ø000[0], str(125664), 27) } func _sqlite3VListAdd(tls *crt.TLS, _db *Xsqlite3, _pIn *int32, _zName *int8, _nName int32, _iVal int32) (r0 *int32) { // sqlite3.c:29115:1 var _nInt int32 // sqlite3.c:29122:7 _ = _nInt var _z *int8 // sqlite3.c:29123:8 _ = _z var _i int32 // sqlite3.c:29124:7 _ = _i var _1_nAlloc int32 // sqlite3.c:29130:9 _ = _1_nAlloc var _1_pOut *int32 // sqlite3.c:29131:11 _ = _1_pOut _nInt = (_nName / i32(4)) + i32(3) func() int32 { if (_pIn == (*int32)(unsafe.Pointer(uintptr(i32(0))))) || ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) >= i32(3)) { return i32(0) } return func() int32 { 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(125692))) crt.X__builtin_abort(tls) return i32(0) }() }() 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))))) { goto _4 } _1_nAlloc = func() int32 { if _pIn != nil { return ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) * i32(2)) } return i32(10) }() + _nInt _1_pOut = (*int32)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pIn), uint64(_1_nAlloc)*u64(4)))) if _1_pOut != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } r0 = _pIn return _7: if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOut)) + 4*uintptr(i32(1)))) = i32(2) _8: _pIn = _1_pOut *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0)))) = _1_nAlloc _4: _i = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i))) = _iVal *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(1)))) = _nInt _z = (*int8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(2)))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) = _i + _nInt func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1))))) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(125712))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(_zName), uint64(_nName)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_nName))) = int8(i32(0)) r0 = _pIn return } var _sqlite3VListAddØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VListAddØ00__func__Ø000[0], str(125728), 16) } func _sqlite3ExprFunction(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pToken *XToken) (r0 *XExpr) { // sqlite3.c:91652:1 var _pNew *XExpr // sqlite3.c:91653:8 _ = _pNew var _db *Xsqlite3 // sqlite3.c:91654:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _pToken != nil { return i32(0) } return func() int32 { 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(125744))) crt.X__builtin_abort(tls) return i32(0) }() }() _pNew = _sqlite3ExprAlloc(tls, _db, i32(151), _pToken, i32(1)) if _pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _sqlite3ExprListDelete(tls, _db, _pList) r0 = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) return _2: *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X6 */))))))) = _pList func() int32 { if ((_pNew.X2) & uint32(i32(2048))) == uint32(i32(0)) { return i32(0) } return func() int32 { 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(108348))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ExprSetHeightAndFlags(tls, _pParse, _pNew) r0 = _pNew return } var _sqlite3ExprFunctionØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ExprFunctionØ00__func__Ø000[0], str(125752), 20) } func _sqlite3ExprSetHeightAndFlags(tls *crt.TLS, _pParse *XParse, _p *XExpr) { // sqlite3.c:91412:1 if (_pParse.X16) == 0 { goto _0 } return _0: _exprSetHeight(tls, _p) _sqlite3ExprCheckHeight(tls, _pParse, _p.X7) return } func _spanBinaryExpr(tls *crt.TLS, _pParse *XParse, _op int32, _pLeft *XExprSpan, _pRight *XExprSpan) { // sqlite3.c:134981:3 *(**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))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLeft)) + uintptr(16 /* X2 */))) = _pRight.X2 return } func _exprNot(tls *crt.TLS, _pParse *XParse, _doNot int32, _pSpan *XExprSpan) { // sqlite3.c:134994:3 if _doNot == 0 { goto _0 } *(**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))))) _0: return } func _spanUnaryPostfix(tls *crt.TLS, _pParse *XParse, _op int32, _pOperand *XExprSpan, _pPostOp *XToken) { // sqlite3.c:135002:3 *(**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))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOperand)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPostOp.X0)) + 1*uintptr(_pPostOp.X1))) return } func _binaryToUnaryIfNull(tls *crt.TLS, _pParse *XParse, _pY *XExpr, _pA *XExpr, _op int32) { // sqlite3.c:135014:3 var _db *Xsqlite3 // sqlite3.c:135015:13 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pA == nil || _pY == nil || int32(_pY.X0) != i32(101) { goto _2 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(0 /* X0 */))) = uint8(_op) _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pA.X5))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(24 /* X5 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _2: return } func _spanUnaryPrefix(tls *crt.TLS, _pOut *XExprSpan, _pParse *XParse, _op int32, _pOperand *XExprSpan, _pPreOp *XToken) { // sqlite3.c:135025:3 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = _pPreOp.X0 *(**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))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X2 */))) = _pOperand.X2 return } func _sqlite3PExprAddSelect(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pSelect *XSelect) { // sqlite3.c:91585:1 if _pExpr == nil { goto _0 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T5458811)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X6 */))))))) = _pSelect { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) *p = (*p) | uint32(i32(2099200)) sink985 = *p } _sqlite3ExprSetHeightAndFlags(tls, _pParse, _pExpr) goto _1 _0: func() int32 { if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { return i32(0) } return func() int32 { 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(43496))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pSelect) _1: return } var _sqlite3PExprAddSelectØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PExprAddSelectØ00__func__Ø000[0], str(125772), 22) } func _parserAddExprIdListTerm(tls *crt.TLS, _pParse *XParse, _pPrior *XExprList, _pIdToken *XToken, _hasCollate int32, _sortOrder int32) (r0 *XExprList) { // sqlite3.c:135042:3 var _p *XExprList // sqlite3.c:135049:14 _ = _p _p = _sqlite3ExprListAppend(tls, _pParse, _pPrior, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) if _hasCollate == 0 && _sortOrder == i32(-1) || int32((*T5414794)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(164 /* X33 */))).X2) != i32(0) { goto _2 } _sqlite3ErrorMsg(tls, _pParse, str(125796), _pIdToken.X1, unsafe.Pointer(_pIdToken.X0)) _2: _sqlite3ExprListSetName(tls, _pParse, _p, _pIdToken, i32(1)) r0 = _p return } func _sqlite3DropIndex(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _ifExists int32) { // sqlite3.c:102934:1 var _pIndex *XIndex // sqlite3.c:102935:9 _ = _pIndex var _v *TVdbe // sqlite3.c:102936:8 _ = _v var _db *Xsqlite3 // sqlite3.c:102937:11 _ = _db var _iDb int32 // sqlite3.c:102938:7 _ = _iDb var _7_code int32 // sqlite3.c:102966:9 _ = _7_code var _7_pTab *XTable // sqlite3.c:102967:11 _ = _7_pTab var _7_zDb *int8 // sqlite3.c:102968:16 _ = _7_zDb var _7_zTab *int8 // sqlite3.c:102969:16 _ = _7_zTab _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if (_pParse.X16) == i32(0) { return i32(0) } return func() int32 { 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(117244))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 { goto _2 } goto _exit_drop_index _2: func() int32 { if (_pName.X0) == i32(1) { return i32(0) } return func() int32 { 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(119808))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _5 } goto _exit_drop_index _5: _pIndex = _sqlite3FindIndex(tls, _db, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X2, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X1) if _pIndex != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } if _ifExists != 0 { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(125836), unsafe.Pointer(_pName), i32(0)) goto _8 _7: _sqlite3CodeVerifyNamedSchema(tls, _pParse, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X1) _8: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) goto _exit_drop_index _6: if int32((uint32(_pIndex.X16)<>uint(i32(30))) == i32(0) { goto _9 } _sqlite3ErrorMsg(tls, _pParse, str(125856), i32(0)) goto _exit_drop_index _9: _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pIndex.X6))) _7_code = i32(10) _7_pTab = (*XTable)(unsafe.Pointer(_pIndex.X3)) _7_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _7_zTab = func() *int8 { if i32(1) != 0 && (_iDb == i32(1)) { return str(51488) } return str(51508) }() if _sqlite3AuthCheck(tls, _pParse, i32(9), _7_zTab, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _7_zDb) == 0 { goto _13 } goto _exit_drop_index _13: if i32(1) == 0 || _iDb == 0 { goto _15 } _7_code = i32(12) _15: if _sqlite3AuthCheck(tls, _pParse, _7_code, _pIndex.X0, _7_pTab.X0, _7_zDb) == 0 { goto _16 } goto _exit_drop_index _16: _v = _sqlite3GetVdbe(tls, _pParse) if _v == nil { goto _17 } _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) _sqlite3NestedParse(tls, _pParse, str(125932), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_pIndex.X0)) _sqlite3ClearStatTables(tls, _pParse, _iDb, str(97584), _pIndex.X0) _sqlite3ChangeCookie(tls, _pParse, _iDb) _destroyRootPage(tls, _pParse, _pIndex.X11, _iDb) _sqlite3VdbeAddOp4(tls, _v, i32(140), _iDb, i32(0), i32(0), _pIndex.X0, i32(0)) _17: _exit_drop_index: _sqlite3SrcListDelete(tls, _db, _pName) return } var _sqlite3DropIndexØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DropIndexØ00__func__Ø000[0], str(125984), 17) } func _sqlite3Vacuum(tls *crt.TLS, _pParse *XParse, _pNm *XToken) { // sqlite3.c:124253:1 var _v *TVdbe // sqlite3.c:124254:8 _ = _v var _iDb int32 // sqlite3.c:124255:7 _ = _iDb _v = _sqlite3GetVdbe(tls, _pParse) _iDb = i32(0) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: if _pNm == nil { goto _1 } _iDb = _sqlite3TwoPartName(tls, _pParse, _pNm, _pNm, &_pNm) if _iDb >= i32(0) { goto _2 } return _2: _1: if _iDb == i32(1) { goto _3 } _sqlite3VdbeAddOp1(tls, _v, i32(10), _iDb) _sqlite3VdbeUsesBtree(tls, _v, _iDb) _3: return } func _sqlite3Pragma(tls *crt.TLS, _pParse *XParse, _pId1 *XToken, _pId2 *XToken, _pValue *XToken, _minusFlag int32) { // sqlite3.c:113289:1 var _zLeft *int8 // sqlite3.c:113296:8 _ = _zLeft var _zRight *int8 // sqlite3.c:113297:8 _ = _zRight var _zDb *int8 // sqlite3.c:113298:14 _ = _zDb var _pId *XToken // sqlite3.c:113299:9 _ = _pId var _aFcntl [4]*int8 // sqlite3.c:113300:8 _ = _aFcntl var _iDb int32 // sqlite3.c:113301:7 _ = _iDb var _rc int32 // sqlite3.c:113302:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:113303:11 _ = _db var _pDb *XDb // sqlite3.c:113304:6 _ = _pDb var _v *TVdbe // sqlite3.c:113305:8 _ = _v var _pPragma *XPragmaName // sqlite3.c:113306:20 _ = _pPragma var _11_aOp *XVdbeOp // sqlite3.c:113426:12 _ = _11_aOp var _13_size int32 // sqlite3.c:113437:11 _ = _13_size var _14_pBt *XBtree // sqlite3.c:113459:11 _ = _14_pBt var _15_size int32 // sqlite3.c:113462:11 _ = _15_size var _18_pBt *XBtree // sqlite3.c:113485:11 _ = _18_pBt var _18_b int32 // sqlite3.c:113486:9 _ = _18_b var _20_ii int32 // sqlite3.c:113492:11 _ = _20_ii var _22_iReg int32 // sqlite3.c:113520:9 _ = _22_iReg var _25_zRet *int8 // sqlite3.c:113538:16 _ = _25_zRet var _25_eMode int32 // sqlite3.c:113539:9 _ = _25_eMode var _27_pPager *XPager // sqlite3.c:113548:13 _ = _27_pPager var _28_ii int32 // sqlite3.c:113558:13 _ = _28_ii var _31_eMode int32 // sqlite3.c:113585:9 _ = _31_eMode var _31_ii int32 // sqlite3.c:113586:9 _ = _31_ii var _33_zMode *int8 // sqlite3.c:113593:18 _ = _33_zMode var _33_n int32 // sqlite3.c:113594:11 _ = _33_n var _39_pPager *XPager // sqlite3.c:113626:11 _ = _39_pPager var _39_iLimit int64 // sqlite3.c:113627:9 _ = _39_iLimit var _41_pBt *XBtree // sqlite3.c:113648:11 _ = _41_pBt var _43_eAuto int32 // sqlite3.c:113653:11 _ = _43_eAuto var _44_aOp *XVdbeOp // sqlite3.c:113676:16 _ = _44_aOp var _44_iAddr int32 // sqlite3.c:113677:13 _ = _44_iAddr var _45_iLimit int32 // sqlite3.c:113700:9 _ = _45_iLimit var _45_addr int32 // sqlite3.c:113700:17 _ = _45_addr var _49_size int32 // sqlite3.c:113732:11 _ = _49_size var _52_size int32 // sqlite3.c:113768:11 _ = _52_size var _56_sz int64 // sqlite3.c:113797:19 _ = _56_sz var _57_ii int32 // sqlite3.c:113801:11 _ = _57_ii var _68_res int32 // sqlite3.c:113862:13 _ = _68_res var _77_iLevel int32 // sqlite3.c:113979:13 _ = _77_iLevel var _80_mask int32 // sqlite3.c:113996:11 _ = _80_mask var _84_pTab *XTable // sqlite3.c:114041:11 _ = _84_pTab var _85_i int32 // sqlite3.c:114044:11 _ = _85_i var _85_k int32 // sqlite3.c:114044:14 _ = _85_k var _85_nHidden int32 // sqlite3.c:114045:11 _ = _85_nHidden var _85_pCol *XColumn // sqlite3.c:114046:14 _ = _85_pCol var _85_pPk *XIndex // sqlite3.c:114047:13 _ = _85_pPk var _92_pIdx *XIndex // sqlite3.c:114079:11 _ = _92_pIdx var _92_i *XHashElem // sqlite3.c:114080:14 _ = _92_i var _93_pTab *XTable // sqlite3.c:114084:13 _ = _93_pTab var _95_pIdx *XIndex // sqlite3.c:114106:11 _ = _95_pIdx var _95_pTab *XTable // sqlite3.c:114107:11 _ = _95_pTab var _96_i int32 // sqlite3.c:114110:11 _ = _96_i var _96_mx int32 // sqlite3.c:114111:11 _ = _96_mx var _99_cnum int16 // sqlite3.c:114125:13 _ = _99_cnum var _101_pIdx *XIndex // sqlite3.c:114141:11 _ = _101_pIdx var _101_pTab *XTable // sqlite3.c:114142:11 _ = _101_pTab var _101_i int32 // sqlite3.c:114143:9 _ = _101_i var _103_azOrigin [3]*int8 // sqlite3.c:114149:20 _ = _103_azOrigin var _104_i int32 // sqlite3.c:114163:9 _ = _104_i var _106_i int32 // sqlite3.c:114178:9 _ = _106_i var _106_p *XHashElem // sqlite3.c:114179:14 _ = _106_p var _107_pColl *XCollSeq // sqlite3.c:114182:15 _ = _107_pColl var _108_pFK *XFKey // sqlite3.c:114192:10 _ = _108_pFK var _108_pTab *XTable // sqlite3.c:114193:11 _ = _108_pTab var _110_i int32 // sqlite3.c:114198:13 _ = _110_i var _111_j int32 // sqlite3.c:114202:15 _ = _111_j var _113_pFK *XFKey // sqlite3.c:114227:10 _ = _113_pFK var _113_pTab *XTable // sqlite3.c:114228:11 _ = _113_pTab var _113_pParent *XTable // sqlite3.c:114229:11 _ = _113_pParent var _113_pIdx *XIndex // sqlite3.c:114230:11 _ = _113_pIdx var _113_i int32 // sqlite3.c:114231:9 _ = _113_i var _113_j int32 // sqlite3.c:114232:9 _ = _113_j var _113_k *XHashElem // sqlite3.c:114233:14 _ = _113_k var _113_x int32 // sqlite3.c:114234:9 _ = _113_x var _113_regResult int32 // sqlite3.c:114235:9 _ = _113_regResult var _113_regKey int32 // sqlite3.c:114236:9 _ = _113_regKey var _113_regRow int32 // sqlite3.c:114237:9 _ = _113_regRow var _113_addrTop int32 // sqlite3.c:114238:9 _ = _113_addrTop var _113_addrOk int32 // sqlite3.c:114239:9 _ = _113_addrOk var _113_aiCols *int32 // sqlite3.c:114240:9 _ = _113_aiCols var _124_iKey int32 // sqlite3.c:114293:15 _ = _124_iKey var _136_i int32 // sqlite3.c:114373:9 _ = _136_i var _136_j int32 // sqlite3.c:114373:12 _ = _136_j var _136_addr int32 // sqlite3.c:114373:15 _ = _136_addr var _136_mxErr int32 // sqlite3.c:114373:21 _ = _136_mxErr var _136_isQuick int32 // sqlite3.c:114375:9 _ = _136_isQuick var _139_x *XHashElem // sqlite3.c:114405:16 _ = _139_x var _139_pTbls *XHash // sqlite3.c:114406:12 _ = _139_pTbls var _139_aRoot *int32 // sqlite3.c:114407:11 _ = _139_aRoot var _139_cnt int32 // sqlite3.c:114408:11 _ = _139_cnt var _139_mxIdx int32 // sqlite3.c:114409:11 _ = _139_mxIdx var _139_nIdx int32 // sqlite3.c:114410:11 _ = _139_nIdx var _140_pTab *XTable // sqlite3.c:114425:15 _ = _140_pTab var _140_pIdx *XIndex // sqlite3.c:114426:15 _ = _140_pIdx var _142_pTab *XTable // sqlite3.c:114434:15 _ = _142_pTab var _142_pIdx *XIndex // sqlite3.c:114435:15 _ = _142_pIdx var _144_pTab *XTable // sqlite3.c:114461:15 _ = _144_pTab var _144_pIdx *XIndex // sqlite3.c:114462:15 _ = _144_pIdx var _144_pPk *XIndex // sqlite3.c:114462:22 _ = _144_pPk var _144_pPrior *XIndex // sqlite3.c:114463:15 _ = _144_pPrior var _144_loopTop int32 // sqlite3.c:114464:13 _ = _144_loopTop var _144_iDataCur int32 // sqlite3.c:114465:13 _ = _144_iDataCur var _144_iIdxCur int32 // sqlite3.c:114465:23 _ = _144_iIdxCur var _144_r1 int32 // sqlite3.c:114466:13 _ = _144_r1 var _147_zErr *int8 // sqlite3.c:114489:16 _ = _147_zErr var _147_jmp2 int32 // sqlite3.c:114490:15 _ = _147_jmp2 var _148_addrCkFault int32 // sqlite3.c:114504:15 _ = _148_addrCkFault var _148_addrCkOk int32 // sqlite3.c:114505:15 _ = _148_addrCkOk var _148_pCheck *XExprList // sqlite3.c:114506:20 _ = _148_pCheck var _148_zErr *int8 // sqlite3.c:114507:16 _ = _148_zErr var _148_k int32 // sqlite3.c:114508:15 _ = _148_k var _150_jmp2 int32 // sqlite3.c:114526:15 _ = _150_jmp2 var _150_jmp3 int32 // sqlite3.c:114526:21 _ = _150_jmp3 var _150_jmp4 int32 // sqlite3.c:114526:27 _ = _150_jmp4 var _150_jmp5 int32 // sqlite3.c:114526:33 _ = _150_jmp5 var _150_ckUniq int32 // sqlite3.c:114527:15 _ = _150_ckUniq var _151_uniqOk int32 // sqlite3.c:114548:17 _ = _151_uniqOk var _151_jmp6 int32 // sqlite3.c:114549:17 _ = _151_jmp6 var _151_kk int32 // sqlite3.c:114550:17 _ = _151_kk var _152_iCol int32 // sqlite3.c:114552:19 _ = _152_iCol var _155_aOp *XVdbeOp // sqlite3.c:114597:14 _ = _155_aOp var _157_pEnc *TEncName // sqlite3.c:114648:26 _ = _157_pEnc var _164_iCookie int32 // sqlite3.c:114715:9 _ = _164_iCookie var _165_aOp *XVdbeOp // sqlite3.c:114723:14 _ = _165_aOp var _166_aOp *XVdbeOp // sqlite3.c:114738:14 _ = _166_aOp var _167_i int32 // sqlite3.c:114759:9 _ = _167_i var _167_zOpt *int8 // sqlite3.c:114760:16 _ = _167_zOpt var _169_iBt int32 // sqlite3.c:114778:9 _ = _169_iBt var _169_eMode int32 // sqlite3.c:114779:9 _ = _169_eMode var _177_iDbLast int32 // sqlite3.c:114880:9 _ = _177_iDbLast var _177_iTabCur int32 // sqlite3.c:114881:9 _ = _177_iTabCur var _177_k *XHashElem // sqlite3.c:114882:14 _ = _177_k var _177_pSchema *XSchema // sqlite3.c:114883:12 _ = _177_pSchema var _177_pTab *XTable // sqlite3.c:114884:11 _ = _177_pTab var _177_pIdx *XIndex // sqlite3.c:114885:11 _ = _177_pIdx var _177_szThreshold int16 // sqlite3.c:114886:12 _ = _177_szThreshold var _177_zSubSql *int8 // sqlite3.c:114887:10 _ = _177_zSubSql var _177_opMask uint32 // sqlite3.c:114888:9 _ = _177_opMask var _185_r1 int32 // sqlite3.c:114926:15 _ = _185_r1 var _189_N int64 // sqlite3.c:114968:19 _ = _189_N var _191_N int64 // sqlite3.c:114984:19 _ = _191_N var _193_i int32 // sqlite3.c:115003:9 _ = _193_i var _194_pBt *XBtree // sqlite3.c:115006:13 _ = _194_pBt var _194_zState *int8 // sqlite3.c:115007:18 _ = _194_zState var _194_j int32 // sqlite3.c:115008:11 _ = _194_j _zLeft = nil _zRight = nil _zDb = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _sqlite3VdbeRunOnlyOnce(tls, _v) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(2) _iDb = _sqlite3TwoPartName(tls, _pParse, _pId1, _pId2, &_pId) if _iDb >= i32(0) { goto _1 } return _1: _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) if _iDb != i32(1) || _sqlite3OpenTempDatabase(tls, _pParse) == 0 { goto _3 } return _3: _zLeft = _sqlite3NameFromToken(tls, _db, _pId) if _zLeft != nil { goto _4 } return _4: if _minusFlag == 0 { goto _5 } _zRight = _sqlite3MPrintf(tls, _db, str(126004), unsafe.Pointer(_pValue)) goto _6 _5: _zRight = _sqlite3NameFromToken(tls, _db, _pValue) _6: func() int32 { if _pId2 != nil { return i32(0) } return func() int32 { 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(126008))) crt.X__builtin_abort(tls) return i32(0) }() }() _zDb = func() *int8 { if (_pId2.X1) > uint32(i32(0)) { return (_pDb.X0) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() if _sqlite3AuthCheck(tls, _pParse, i32(19), _zLeft, _zRight, _zDb) == 0 { goto _11 } goto _pragma_out _11: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(1)))) = _zLeft *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(2)))) = _zRight *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(3)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415638)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(536 /* X71 */))))) + uintptr(16 /* X2 */))) = i32(0) _rc = Xsqlite3_file_control(tls, _db, _zDb, i32(14), (unsafe.Pointer)(&_aFcntl)) if _rc != i32(0) { goto _12 } _sqlite3VdbeSetNumCols(tls, _v, i32(1)) _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0)))), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) _returnSingleText(tls, _v, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0))))) Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0)))))) goto _pragma_out _12: if _rc == i32(12) { goto _13 } if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0))))) == nil { goto _14 } _sqlite3ErrorMsg(tls, _pParse, str(24304), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0)))))) Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 8*uintptr(i32(0)))))) _14: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(48 /* X16 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = _rc goto _pragma_out _13: _pPragma = _pragmaLocate(tls, _zLeft) if _pPragma != (*XPragmaName)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } goto _pragma_out _15: if (int32(_pPragma.X2) & i32(1)) == i32(0) { goto _16 } if _sqlite3ReadSchema(tls, _pParse) == 0 { goto _17 } goto _pragma_out _17: _16: if (int32(_pPragma.X2)&i32(2)) != i32(0) || (int32(_pPragma.X2)&i32(4)) != i32(0) && _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } _setPragmaResultColumnNames(tls, _v, _pPragma) _20: switch int32(_pPragma.X1) { case i32(0): goto _50 case i32(1): goto _29 case i32(2): goto _37 case i32(4): goto _31 case i32(5): goto _32 case i32(6): goto _47 case i32(7): goto _43 case i32(8): goto _51 case i32(10): goto _42 case i32(11): goto _22 case i32(12): goto _49 case i32(13): goto _45 case i32(14): goto _44 case i32(15): goto _30 case i32(16): goto _40 case i32(17): goto _41 case i32(18): goto _48 case i32(19): goto _27 case i32(20): goto _28 case i32(22): goto _26 case i32(23): goto _25 case i32(24): goto _33 case i32(25): goto _55 case i32(26): goto _23 case i32(27): goto _24 case i32(28): goto _54 case i32(29): goto _57 case i32(30): goto _36 case i32(31): goto _38 case i32(32): goto _34 case i32(33): goto _35 case i32(34): goto _58 case i32(35): goto _53 case i32(36): goto _52 case i32(41): goto _59 case i32(42): goto _46 case i32(43): goto _39 default: goto _56 } _22: _sqlite3VdbeUsesBtree(tls, _v, _iDb) if _zRight != nil { goto _60 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + i32(2) sink961 = *p } _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(9)) _11_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(9), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3PragmaØ00getCacheSizeØ002)), _sqlite3PragmaØ00iLnØ001) if func() int32 { if _11_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _63 } goto _64 _63: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_aOp))+32*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_aOp))+32*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_aOp))+32*uintptr(i32(6)))))) + uintptr(4 /* X3 */))) = i32(-2000) goto _65 _60: _13_size = _sqlite3AbsInt32(tls, _sqlite3Atoi(tls, _zRight)) _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(3), _13_size) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(116 /* X10 */))) = _13_size _sqlite3BtreeSetCacheSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), (*XSchema)(unsafe.Pointer(_pDb.X4)).X10) _65: goto _64 _23: _14_pBt = (*XBtree)(unsafe.Pointer(_pDb.X1)) func() int32 { if _14_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(126016))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight != nil { goto _70 } _15_size = func() int32 { if func() int32 { if _14_pBt != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() != 0 { return _sqlite3BtreeGetPageSize(tls, _14_pBt) } return i32(0) }() _returnSingleInt(tls, _v, int64(_15_size)) goto _75 _70: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(96 /* X27 */))) = _sqlite3Atoi(tls, _zRight) if i32(7) != _sqlite3BtreeSetPageSize(tls, _14_pBt, _db.X27, i32(-1), i32(0)) { goto _76 } _sqlite3OomFault(tls, _db) _76: _75: goto _64 _24: _18_pBt = (*XBtree)(unsafe.Pointer(_pDb.X1)) _18_b = i32(-1) func() int32 { if _18_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(126016))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight == nil { goto _79 } _18_b = int32(_sqlite3GetBoolean(tls, _zRight, uint8(i32(0)))) _79: if (_pId2.X1) != uint32(i32(0)) || _18_b < i32(0) { goto _81 } _20_ii = i32(0) _82: if _20_ii >= (_db.X5) { goto _85 } _sqlite3BtreeSecureDelete(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_20_ii))).X1)), _18_b) _20_ii += 1 goto _82 _85: _81: _18_b = _sqlite3BtreeSecureDelete(tls, _18_pBt, _18_b) _returnSingleInt(tls, _v, int64(_18_b)) goto _64 _25: _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _22_iReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) 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) { goto _86 } _sqlite3VdbeAddOp2(tls, _v, i32(159), _iDb, _22_iReg) goto _87 _86: _sqlite3VdbeAddOp3(tls, _v, i32(160), _iDb, _22_iReg, _sqlite3AbsInt32(tls, _sqlite3Atoi(tls, _zRight))) _87: _sqlite3VdbeAddOp2(tls, _v, i32(88), _22_iReg, i32(1)) goto _64 _26: _25_zRet = str(93256) _25_eMode = _getLockingMode(tls, _zRight) if (_pId2.X1) != uint32(i32(0)) || _25_eMode != i32(-1) { goto _89 } _25_eMode = int32(_db.X19) goto _90 _89: if (_pId2.X1) != uint32(i32(0)) { goto _91 } func() int32 { if _pDb == (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(126024))) crt.X__builtin_abort(tls) return i32(0) }() }() _28_ii = i32(2) _94: if _28_ii >= (_db.X5) { goto _97 } _27_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_28_ii))).X1))) _sqlite3PagerLockingMode(tls, _27_pPager, _25_eMode) _28_ii += 1 goto _94 _97: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(87 /* X19 */))) = uint8(_25_eMode) _91: _27_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) _25_eMode = _sqlite3PagerLockingMode(tls, _27_pPager, _25_eMode) _90: func() int32 { if (_25_eMode == i32(0)) || (_25_eMode == i32(1)) { return i32(0) } return func() int32 { 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(126044))) crt.X__builtin_abort(tls) return i32(0) }() }() if _25_eMode != i32(1) { goto _101 } _25_zRet = str(93244) _101: _returnSingleText(tls, _v, _25_zRet) goto _64 _27: if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _102 } _31_eMode = i32(-1) goto _103 _102: _33_n = _sqlite3Strlen30(tls, _zRight) _31_eMode = i32(0) _104: if store1025(&_33_zMode, _sqlite3JournalModename(tls, _31_eMode)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _107 } if Xsqlite3_strnicmp(tls, _zRight, _33_zMode, _33_n) != i32(0) { goto _108 } goto _107 _108: _31_eMode += 1 goto _104 _107: if _33_zMode != nil { goto _109 } _31_eMode = i32(-1) _109: _103: if _31_eMode != i32(-1) || (_pId2.X1) != uint32(i32(0)) { goto _111 } _iDb = i32(0) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pId2)) + uintptr(8 /* X1 */))) = uint32(i32(1)) _111: _31_ii = (_db.X5) - i32(1) _112: if _31_ii < i32(0) { goto _115 } if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_31_ii))).X1)) == nil || _31_ii != _iDb && (_pId2.X1) != uint32(i32(0)) { goto _118 } _sqlite3VdbeUsesBtree(tls, _v, _31_ii) _sqlite3VdbeAddOp3(tls, _v, i32(9), _31_ii, i32(1), _31_eMode) _118: _31_ii -= 1 goto _112 _115: _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) goto _64 _28: _39_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) _39_iLimit = i64(-2) if _zRight == nil { goto _119 } _sqlite3DecOrHexToI64(tls, _zRight, &_39_iLimit) if _39_iLimit >= int64(i32(-1)) { goto _120 } _39_iLimit = int64(i32(-1)) _120: _119: _39_iLimit = _sqlite3PagerJournalSizeLimit(tls, _39_pPager, _39_iLimit) _returnSingleInt(tls, _v, _39_iLimit) goto _64 _29: _41_pBt = (*XBtree)(unsafe.Pointer(_pDb.X1)) func() int32 { if _41_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(126016))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight != nil { goto _123 } _returnSingleInt(tls, _v, int64(_sqlite3BtreeGetAutoVacuum(tls, _41_pBt))) goto _124 _123: _43_eAuto = _getAutoVacuum(tls, _zRight) func() int32 { if (_43_eAuto >= i32(0)) && (_43_eAuto <= i32(2)) { return i32(0) } return func() int32 { 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(126116))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(88 /* X20 */))) = int8(uint8(_43_eAuto)) _rc = _sqlite3BtreeSetAutoVacuum(tls, _41_pBt, _43_eAuto) if _rc != i32(0) || _43_eAuto != i32(1) && _43_eAuto != i32(2) { goto _130 } _44_iAddr = _sqlite3VdbeCurrentAddr(tls, _v) _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(5)) _44_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(5), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3PragmaØ00setMeta6Ø004)), _sqlite3PragmaØ00iLnØ003) if func() int32 { if _44_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _133 } goto _64 _133: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+32*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+32*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+32*uintptr(i32(2)))))) + uintptr(8 /* X4 */))) = _44_iAddr + i32(4) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+32*uintptr(i32(4)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+32*uintptr(i32(4)))))) + uintptr(12 /* X5 */))) = _43_eAuto - i32(1) _sqlite3VdbeUsesBtree(tls, _v, _iDb) _130: _124: goto _64 _30: if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3GetInt32(tls, _zRight, &_45_iLimit) != 0 && _45_iLimit > i32(0) { goto _136 } _45_iLimit = i32(2147483647) _136: _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _sqlite3VdbeAddOp2(tls, _v, i32(77), _45_iLimit, i32(1)) _45_addr = _sqlite3VdbeAddOp1(tls, _v, i32(70), _iDb) _sqlite3VdbeAddOp1(tls, _v, i32(88), i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(92), i32(1), i32(-1)) _sqlite3VdbeAddOp2(tls, _v, i32(67), i32(1), _45_addr) _sqlite3VdbeJumpHere(tls, _v, _45_addr) goto _64 _31: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight != nil { goto _139 } _returnSingleInt(tls, _v, int64((*XSchema)(unsafe.Pointer(_pDb.X4)).X10)) goto _140 _139: _49_size = _sqlite3Atoi(tls, _zRight) *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(116 /* X10 */))) = _49_size _sqlite3BtreeSetCacheSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), (*XSchema)(unsafe.Pointer(_pDb.X4)).X10) _140: goto _64 _32: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight != nil { goto _143 } _returnSingleInt(tls, _v, int64(func() int32 { if ((_db.X6) & i32(32)) == i32(0) { return i32(0) } return _sqlite3BtreeSetSpillSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), i32(0)) }())) goto _146 _143: _52_size = i32(1) if _sqlite3GetInt32(tls, _zRight, &_52_size) == 0 { goto _147 } _sqlite3BtreeSetSpillSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), _52_size) _147: if _sqlite3GetBoolean(tls, _zRight, uint8(bool2int(_52_size != i32(0)))) == 0 { goto _148 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(32) sink961 = *p } goto _149 _148: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & i32(-33) sink961 = *p } _149: _setAllPagerFlags(tls, _db) _146: goto _64 _33: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight == nil { goto _152 } _sqlite3DecOrHexToI64(tls, _zRight, &_56_sz) if _56_sz >= int64(i32(0)) { goto _153 } _56_sz = _sqlite3Config.X17 _153: if (_pId2.X1) != uint32(i32(0)) { goto _154 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(56 /* X8 */))) = _56_sz _154: _57_ii = (_db.X5) - i32(1) _155: if _57_ii < i32(0) { goto _158 } if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_57_ii))).X1)) == nil || _57_ii != _iDb && (_pId2.X1) != uint32(i32(0)) { goto _161 } _sqlite3BtreeSetMmapLimit(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_57_ii))).X1)), _56_sz) _161: _57_ii -= 1 goto _155 _158: _152: _56_sz = int64(i32(-1)) _rc = Xsqlite3_file_control(tls, _db, _zDb, i32(18), (unsafe.Pointer)(&_56_sz)) if _rc != i32(0) { goto _162 } _returnSingleInt(tls, _v, _56_sz) goto _163 _162: if _rc == i32(12) { goto _164 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(48 /* X16 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X3 */))) = _rc _164: _163: goto _64 _34: if _zRight != nil { goto _165 } _returnSingleInt(tls, _v, int64(_db.X16)) goto _166 _165: _changeTempStorage(tls, _pParse, _zRight) _166: goto _64 _35: if _zRight != nil { goto _167 } _returnSingleText(tls, _v, Xsqlite3_temp_directory) goto _168 _167: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRight)) + 1*uintptr(i32(0))))) == 0 { goto _169 } _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), _zRight, i32(1), &_68_res) if _rc == i32(0) && _68_res != i32(0) { goto _171 } _sqlite3ErrorMsg(tls, _pParse, str(126140)) goto _pragma_out _171: _169: if i32(0) == 0 && (i32(1) == 0 || int32(_db.X16) > i32(1)) && i32(0) == 0 { goto _175 } _invalidateTempStorage(tls, _pParse) _175: Xsqlite3_free(tls, (unsafe.Pointer)(Xsqlite3_temp_directory)) if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRight)) + 1*uintptr(i32(0))))) == 0 { goto _176 } Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer(_zRight)) bug20530(Xsqlite3_temp_directory) goto _177 _176: Xsqlite3_temp_directory = (*int8)(unsafe.Pointer(uintptr(i32(0)))) bug20530(Xsqlite3_temp_directory) _177: _168: goto _64 _36: if _zRight != nil { goto _178 } _returnSingleInt(tls, _v, int64(int32(_pDb.X2)-i32(1))) goto _179 _178: if (_db.X15) != 0 { goto _180 } _sqlite3ErrorMsg(tls, _pParse, str(126168)) goto _181 _180: if _iDb == i32(1) { goto _182 } _77_iLevel = (int32(_getSafetyLevel(tls, _zRight, i32(0), uint8(i32(1)))) + i32(1)) & i32(7) if _77_iLevel != i32(0) { goto _183 } _77_iLevel = i32(1) _183: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(16 /* X2 */))) = uint8(_77_iLevel) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(17 /* X3 */))) = uint8(i32(1)) _setAllPagerFlags(tls, _db) _182: _181: _179: goto _64 _37: if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _184 } _setPragmaResultColumnNames(tls, _v, _pPragma) _returnSingleInt(tls, _v, int64(bool2int((uint32(_db.X6)&(_pPragma.X5)) != uint32(i32(0))))) goto _185 _184: _80_mask = int32(_pPragma.X5) if int32(_db.X15) != i32(0) { goto _186 } { p := &_80_mask *p = (*p) & i32(-524289) sink961 = *p } _186: if _sqlite3GetBoolean(tls, _zRight, uint8(i32(0))) == 0 { goto _187 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | _80_mask sink961 = *p } goto _188 _187: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) & (^_80_mask) sink961 = *p } if _80_mask != i32(33554432) { goto _189 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(656 /* X78 */))) = int64(i32(0)) _189: _188: _sqlite3VdbeAddOp0(tls, _v, i32(151)) _setAllPagerFlags(tls, _db) _185: goto _64 _38: if _zRight == nil { goto _190 } _84_pTab = _sqlite3LocateTable(tls, _pParse, uint32(i32(2)), _zRight, _zDb) if _84_pTab == nil { goto _191 } _85_nHidden = i32(0) _85_pPk = _sqlite3PrimaryKeyIndex(tls, _84_pTab) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(6) _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _sqlite3ViewGetColumnNames(tls, _pParse, _84_pTab) *func() **XColumn { _85_i = i32(0); return &_85_pCol }() = (*XColumn)(unsafe.Pointer(_84_pTab.X1)) _192: if _85_i >= int32(_84_pTab.X11) { goto _195 } if (int32(_85_pCol.X6) & i32(2)) == i32(0) { goto _196 } _85_nHidden += 1 goto _193 _196: if (int32(_85_pCol.X6) & i32(1)) != i32(0) { goto _197 } _85_k = i32(0) goto _198 _197: if _85_pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _199 } _85_k = i32(1) goto _200 _199: _85_k = i32(1) _201: if _85_k > int32(_84_pTab.X11) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pPk.X1)) + 2*uintptr(_85_k-i32(1))))) == _85_i { goto _205 } _85_k += 1 goto _201 _205: _200: _198: func() int32 { if ((*XExpr)(unsafe.Pointer(_85_pCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*XExpr)(unsafe.Pointer(_85_pCol.X1)).X0) == i32(161)) { return i32(0) } return func() int32 { 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(126224))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126268), _85_i-_85_nHidden, unsafe.Pointer(_85_pCol.X0), unsafe.Pointer(_sqlite3ColumnType(tls, _85_pCol, str(196))), func() int32 { if (_85_pCol.X3) != 0 { return i32(1) } return i32(0) }(), unsafe.Pointer(func() *int8 { if (*XExpr)(unsafe.Pointer(_85_pCol.X1)) != nil { return (*(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr(_85_pCol.X1) + uintptr(8 /* X3 */)))))) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }()), _85_k) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(6)) _193: *(*uintptr)(unsafe.Pointer(func() **XColumn { _85_i += 1; return &_85_pCol }())) += uintptr(32) goto _192 _195: _191: _190: goto _64 _39: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(5) _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _92_i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(8 /* X2 */))).X2)) _213: if _92_i == nil { goto _216 } _93_pTab = (*XTable)(unsafe.Pointer(_92_i.X2)) _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126276), unsafe.Pointer(_93_pTab.X0), i32(0), int32(_93_pTab.X13), int32(_93_pTab.X12), _93_pTab.X9) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(5)) _92_pIdx = (*XIndex)(unsafe.Pointer(_93_pTab.X2)) _217: if _92_pIdx == nil { goto _220 } _sqlite3VdbeMultiLoad(tls, _v, i32(2), str(126284), unsafe.Pointer(_92_pIdx.X0), int32(_92_pIdx.X12), int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_92_pIdx.X2)) + 2*uintptr(i32(0))))), (uint32((_92_pIdx.X16)>>uint(i32(7)))<>uint(i32(31))) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(5)) _92_pIdx = (*XIndex)(unsafe.Pointer(_92_pIdx.X5)) goto _217 _220: _92_i = (*XHashElem)(unsafe.Pointer(_92_i.X0)) goto _213 _216: goto _64 _40: if _zRight == nil { goto _221 } _95_pIdx = _sqlite3FindIndex(tls, _db, _zRight, _zDb) if _95_pIdx == nil { goto _222 } if (_pPragma.X5) == 0 { goto _223 } _96_mx = int32(_95_pIdx.X14) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(6) goto _224 _223: _96_mx = int32(_95_pIdx.X13) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(3) _224: _95_pTab = (*XTable)(unsafe.Pointer(_95_pIdx.X3)) _sqlite3CodeVerifySchema(tls, _pParse, _iDb) func() int32 { if (_pParse.X18) <= int32(_pPragma.X4) { return i32(0) } return func() int32 { 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(126292))) crt.X__builtin_abort(tls) return i32(0) }() }() _96_i = i32(0) _227: if _96_i >= _96_mx { goto _230 } _99_cnum = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_95_pIdx.X1)) + 2*uintptr(_96_i))) _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126328), _96_i, int32(_99_cnum), unsafe.Pointer(func() *int8 { if int32(_99_cnum) < i32(0) { return (*int8)(unsafe.Pointer(uintptr(i32(0)))) } return ((*XColumn)(unsafe.Pointer(uintptr(_95_pTab.X1) + 32*uintptr(_99_cnum))).X0) }())) if (_pPragma.X5) == 0 { goto _233 } _sqlite3VdbeMultiLoad(tls, _v, i32(4), str(126332), int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_95_pIdx.X7)) + 1*uintptr(_96_i)))), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_95_pIdx.X8)) + 8*uintptr(_96_i)))), bool2int(_96_i < int32(_95_pIdx.X13))) _233: _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), _pParse.X18) _96_i += 1 goto _227 _230: _222: _221: goto _64 _41: if _zRight == nil { goto _234 } _101_pTab = _sqlite3FindTable(tls, _db, _zRight, _zDb) if _101_pTab == nil { goto _235 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(5) _sqlite3CodeVerifySchema(tls, _pParse, _iDb) *func() *int32 { _101_pIdx = (*XIndex)(unsafe.Pointer(_101_pTab.X2)); return &_101_i }() = i32(0) _236: if _101_pIdx == nil { goto _239 } _103_azOrigin = [3]*int8{} *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_103_azOrigin)) + 8*uintptr(i32(0)))) = str(126336) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_103_azOrigin)) + 8*uintptr(i32(1)))) = str(126340) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_103_azOrigin)) + 8*uintptr(i32(2)))) = str(97576) _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126344), _101_i, unsafe.Pointer(_101_pIdx.X0), bool2int(int32(_101_pIdx.X15) != i32(0)), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_103_azOrigin)) + 8*uintptr((uint32(_101_pIdx.X16)<>uint(i32(30)))))), bool2int((*XExpr)(unsafe.Pointer(_101_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))))) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(5)) *func() *int32 { _101_pIdx = (*XIndex)(unsafe.Pointer(_101_pIdx.X5)); return &_101_i }() += 1 goto _236 _239: _235: _234: goto _64 _42: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(3) _104_i = i32(0) _240: if _104_i >= (_db.X5) { goto _243 } if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_104_i))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _244 } goto _241 _244: func() int32 { if ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_104_i))).X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(126352))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126376), _104_i, unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_104_i))).X0), unsafe.Pointer(_sqlite3BtreeGetFilename(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_104_i))).X1))))) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(3)) _241: _104_i += 1 goto _240 _243: goto _64 _43: _106_i = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(2) _106_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(512 /* X70 */))).X2)) _247: if _106_p == nil { goto _250 } _107_pColl = (*XCollSeq)(unsafe.Pointer(_106_p.X2)) _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126380), postInc961(&_106_i, int32(1)), unsafe.Pointer(_107_pColl.X0)) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(2)) _106_p = (*XHashElem)(unsafe.Pointer(_106_p.X0)) goto _247 _250: goto _64 _44: if _zRight == nil { goto _251 } _108_pTab = _sqlite3FindTable(tls, _db, _zRight, _zDb) if _108_pTab == nil { goto _252 } _108_pFK = (*XFKey)(unsafe.Pointer(_108_pTab.X4)) if _108_pFK == nil { goto _253 } _110_i = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(8) _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _254: if _108_pFK == nil { goto _255 } _111_j = i32(0) _256: if _111_j >= (_108_pFK.X5) { goto _259 } _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(126384), _110_i, _111_j, unsafe.Pointer(_108_pFK.X2), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_108_pTab.X1)+32*uintptr((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_108_pFK))+uintptr(64 /* X9 */)))))+16*uintptr(_111_j))).X0))).X0), unsafe.Pointer((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_108_pFK))+uintptr(64 /* X9 */)))))+16*uintptr(_111_j))).X1), unsafe.Pointer(_actionName(tls, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_108_pFK))+uintptr(45 /* X7 */))))) + 1*uintptr(i32(1)))))), unsafe.Pointer(_actionName(tls, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_108_pFK))+uintptr(45 /* X7 */))))) + 1*uintptr(i32(0)))))), unsafe.Pointer(str(126396))) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(8)) _111_j += 1 goto _256 _259: _110_i += 1 _108_pFK = (*XFKey)(unsafe.Pointer(_108_pFK.X1)) goto _254 _255: _253: _252: _251: goto _64 _45: _113_regResult = (_pParse.X18) + i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) *p = (*p) + i32(4) sink961 = *p } _113_regKey = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _113_regRow = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _113_k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(8 /* X2 */))).X2)) _260: if _113_k == nil { goto _261 } if _zRight == nil { goto _262 } _113_pTab = _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _zRight, _zDb) _113_k = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) goto _263 _262: _113_pTab = (*XTable)(unsafe.Pointer(_113_k.X2)) _113_k = (*XHashElem)(unsafe.Pointer(_113_k.X0)) _263: if _113_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && (*XFKey)(unsafe.Pointer(_113_pTab.X4)) != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { goto _265 } goto _260 _265: _sqlite3TableLock(tls, _pParse, _iDb, _113_pTab.X7, uint8(i32(0)), _113_pTab.X0) if (int32(_113_pTab.X11) + _113_regRow) <= (_pParse.X18) { goto _266 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = int32(_113_pTab.X11) + _113_regRow _266: _sqlite3OpenTable(tls, _pParse, i32(0), _iDb, _113_pTab, i32(105)) _sqlite3VdbeLoadString(tls, _v, _113_regResult, _113_pTab.X0) *func() **XFKey { _113_i = i32(1); return &_113_pFK }() = (*XFKey)(unsafe.Pointer(_113_pTab.X4)) _267: if _113_pFK == nil { goto _270 } _113_pParent = _sqlite3FindTable(tls, _db, _113_pFK.X2, _zDb) if _113_pParent != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _271 } goto _268 _271: _113_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3TableLock(tls, _pParse, _iDb, _113_pParent.X7, uint8(i32(0)), _113_pParent.X0) _113_x = _sqlite3FkLocateIndex(tls, _pParse, _113_pParent, _113_pFK, &_113_pIdx, (**int32)(unsafe.Pointer(uintptr(i32(0))))) if _113_x != i32(0) { goto _272 } if _113_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _273 } _sqlite3OpenTable(tls, _pParse, _113_i, _iDb, _113_pParent, i32(105)) goto _274 _273: _sqlite3VdbeAddOp3(tls, _v, i32(105), _113_i, _113_pIdx.X11, _iDb) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _113_pIdx) _274: goto _275 _272: _113_k = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) goto _270 _275: _268: *func() **XFKey { _113_i += 1; return &_113_pFK }() = (*XFKey)(unsafe.Pointer(_113_pFK.X1)) goto _267 _270: func() int32 { if ((_pParse.X16) > i32(0)) || (_113_pFK == (*XFKey)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(126404))) crt.X__builtin_abort(tls) return i32(0) }() }() if _113_pFK == nil { goto _279 } goto _261 _279: if (_pParse.X17) >= _113_i { goto _280 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = _113_i _280: _113_addrTop = _sqlite3VdbeAddOp1(tls, _v, i32(58), i32(0)) *func() **XFKey { _113_i = i32(1); return &_113_pFK }() = (*XFKey)(unsafe.Pointer(_113_pTab.X4)) _281: if _113_pFK == nil { goto _284 } _113_pParent = _sqlite3FindTable(tls, _db, _113_pFK.X2, _zDb) _113_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _113_aiCols = (*int32)(unsafe.Pointer(uintptr(i32(0)))) if _113_pParent == nil { goto _285 } _113_x = _sqlite3FkLocateIndex(tls, _pParse, _113_pParent, _113_pFK, &_113_pIdx, &_113_aiCols) func() int32 { if _113_x == i32(0) { return i32(0) } return func() int32 { 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(126432))) crt.X__builtin_abort(tls) return i32(0) }() }() _285: _113_addrOk = _sqlite3VdbeMakeLabel(tls, _v) if _113_pParent == nil || _113_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _289 } _124_iKey = (*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_113_pFK))+uintptr(64 /* X9 */))))) + 16*uintptr(i32(0)))).X0 func() int32 { if (_124_iKey >= i32(0)) && (_124_iKey < int32(_113_pTab.X11)) { return i32(0) } return func() int32 { 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(126440))) crt.X__builtin_abort(tls) return i32(0) }() }() if _124_iKey == int32(_113_pTab.X10) { goto _293 } _sqlite3VdbeAddOp3(tls, _v, i32(98), i32(0), _124_iKey, _113_regRow) _sqlite3ColumnDefault(tls, _v, _113_pTab, _124_iKey, _113_regRow) _sqlite3VdbeAddOp2(tls, _v, i32(34), _113_regRow, _113_addrOk) goto _294 _293: _sqlite3VdbeAddOp2(tls, _v, i32(123), i32(0), _113_regRow) _294: _sqlite3VdbeAddOp3(tls, _v, i32(32), _113_i, i32(0), _113_regRow) _sqlite3VdbeGoto(tls, _v, _113_addrOk) _sqlite3VdbeJumpHere(tls, _v, _sqlite3VdbeCurrentAddr(tls, _v)-i32(2)) goto _295 _289: _113_j = i32(0) _296: if _113_j >= (_113_pFK.X5) { goto _299 } _sqlite3ExprCodeGetColumnOfTable(tls, _v, _113_pTab, i32(0), func() int32 { if _113_aiCols != nil { return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_113_aiCols)) + 4*uintptr(_113_j)))) } return ((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_113_pFK))+uintptr(64 /* X9 */))))) + 16*uintptr(_113_j))).X0) }(), _113_regRow+_113_j) _sqlite3VdbeAddOp2(tls, _v, i32(34), _113_regRow+_113_j, _113_addrOk) _113_j += 1 goto _296 _299: if _113_pParent == nil { goto _302 } _sqlite3VdbeAddOp4(tls, _v, i32(100), _113_regRow, _113_pFK.X5, _113_regKey, _sqlite3IndexAffinityStr(tls, _db, _113_pIdx), _113_pFK.X5) _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _113_i, _113_addrOk, _113_regKey, i32(0)) _302: _295: _sqlite3VdbeAddOp2(tls, _v, i32(123), i32(0), _113_regResult+i32(1)) _sqlite3VdbeMultiLoad(tls, _v, _113_regResult+i32(2), str(126468), unsafe.Pointer(_113_pFK.X2), _113_i-i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(88), _113_regResult, i32(4)) _sqlite3VdbeResolveLabel(tls, _v, _113_addrOk) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_113_aiCols)) *func() **XFKey { _113_i += 1; return &_113_pFK }() = (*XFKey)(unsafe.Pointer(_113_pFK.X1)) goto _281 _284: _sqlite3VdbeAddOp2(tls, _v, i32(7), i32(0), _113_addrTop+i32(1)) _sqlite3VdbeJumpHere(tls, _v, _113_addrTop) goto _260 _261: goto _64 _46: if _zRight == nil { goto _303 } if _sqlite3GetBoolean(tls, _zRight, uint8(i32(0))) == 0 { goto _304 } _sqlite3ParserTrace(tls, (*crt.XFILE)(unsafe.Pointer(Xstdout)), str(126472)) goto _305 _304: _sqlite3ParserTrace(tls, (*crt.XFILE)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) _305: _303: goto _64 _47: if _zRight == nil { goto _306 } _sqlite3RegisterLikeFunctions(tls, _db, int32(_sqlite3GetBoolean(tls, _zRight, uint8(i32(0))))) _306: goto _64 _48: _136_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)) func() int32 { if _iDb >= i32(0) { return i32(0) } return func() int32 { 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(43016))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_iDb == i32(0)) || ((_pId2.X0) != nil) { return i32(0) } return func() int32 { 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(126484))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pId2.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _312 } _iDb = i32(-1) _312: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(6) _136_mxErr = i32(100) if _zRight == nil { goto _313 } _sqlite3GetInt32(tls, _zRight, &_136_mxErr) if _136_mxErr > i32(0) { goto _314 } _136_mxErr = i32(100) _314: _313: _sqlite3VdbeAddOp2(tls, _v, i32(77), _136_mxErr-i32(1), i32(1)) _136_i = i32(0) _315: if _136_i >= (_db.X5) { goto _318 } _139_cnt = i32(0) _139_mxIdx = i32(0) goto _319 _319: if _iDb < i32(0) || _136_i == _iDb { goto _321 } goto _316 _321: _sqlite3CodeVerifySchema(tls, _pParse, _136_i) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _136_i, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(126504))) crt.X__builtin_abort(tls) return i32(0) }() }() _139_pTbls = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_136_i))).X4) + uintptr(8 /* X2 */))) *func() **XHashElem { _139_cnt = i32(0); return &_139_x }() = (*XHashElem)(unsafe.Pointer(_139_pTbls.X2)) _324: if _139_x == nil { goto _327 } _140_pTab = (*XTable)(unsafe.Pointer(_139_x.X2)) if ((_140_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _328 } _139_cnt += 1 _328: *func() **XIndex { _139_nIdx = i32(0); return &_140_pIdx }() = (*XIndex)(unsafe.Pointer(_140_pTab.X2)) _329: if _140_pIdx == nil { goto _332 } _139_cnt += 1 *func() *int32 { _140_pIdx = (*XIndex)(unsafe.Pointer(_140_pIdx.X5)); return &_139_nIdx }() += 1 goto _329 _332: if _139_nIdx <= _139_mxIdx { goto _333 } _139_mxIdx = _139_nIdx _333: _139_x = (*XHashElem)(unsafe.Pointer(_139_x.X0)) goto _324 _327: _139_aRoot = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(4)*uint64(_139_cnt+i32(1))))) if _139_aRoot != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _334 } goto _318 _334: *func() **XHashElem { _139_cnt = i32(0); return &_139_x }() = (*XHashElem)(unsafe.Pointer(_139_pTbls.X2)) _335: if _139_x == nil { goto _338 } _142_pTab = (*XTable)(unsafe.Pointer(_139_x.X2)) if ((_142_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { goto _339 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aRoot)) + 4*uintptr(postInc961(&_139_cnt, int32(1))))) = _142_pTab.X7 _339: _142_pIdx = (*XIndex)(unsafe.Pointer(_142_pTab.X2)) _340: if _142_pIdx == nil { goto _343 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aRoot)) + 4*uintptr(postInc961(&_139_cnt, int32(1))))) = _142_pIdx.X11 _142_pIdx = (*XIndex)(unsafe.Pointer(_142_pIdx.X5)) goto _340 _343: _139_x = (*XHashElem)(unsafe.Pointer(_139_x.X0)) goto _335 _338: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aRoot)) + 4*uintptr(_139_cnt))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = func() int32 { if (_pParse.X18) > (i32(8) + _139_mxIdx) { return (_pParse.X18) } return (i32(8) + _139_mxIdx) }() _sqlite3VdbeAddOp4(tls, _v, i32(142), i32(2), _139_cnt, i32(1), (*int8)(unsafe.Pointer(_139_aRoot)), i32(-12)) _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_136_i))) _136_addr = _sqlite3VdbeAddOp1(tls, _v, i32(34), i32(2)) _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), i32(3), i32(0), _sqlite3MPrintf(tls, _db, str(126540), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_136_i))).X0)), i32(-1)) _sqlite3VdbeAddOp3(tls, _v, i32(84), i32(2), i32(4), i32(1)) _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(4), i32(3), i32(2)) _integrityCheckResultRow(tls, _v, i32(2)) _sqlite3VdbeJumpHere(tls, _v, _136_addr) _139_x = (*XHashElem)(unsafe.Pointer(_139_pTbls.X2)) _346: if _139_x == nil { goto _349 } _144_pTab = (*XTable)(unsafe.Pointer(_139_x.X2)) _144_pPrior = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) _144_r1 = i32(-1) if (_144_pTab.X7) >= i32(1) { goto _350 } goto _347 _350: if (*XExprList)(unsafe.Pointer(_144_pTab.X6)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || ((_144_pTab.X9)&uint32(i32(512))) != uint32(i32(0)) || (*XIndex)(unsafe.Pointer(_144_pTab.X2)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) && _136_isQuick == 0 { goto _354 } goto _347 _354: _144_pPk = func() *XIndex { if ((_144_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { return (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) } return _sqlite3PrimaryKeyIndex(tls, _144_pTab) }() _sqlite3ExprCacheClear(tls, _pParse) _sqlite3OpenTableAndIndices(tls, _pParse, _144_pTab, i32(105), uint8(i32(0)), i32(1), (*uint8)(unsafe.Pointer(uintptr(i32(0)))), &_144_iDataCur, &_144_iIdxCur) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), i32(7)) *func() **XIndex { _136_j = i32(0); return &_144_pIdx }() = (*XIndex)(unsafe.Pointer(_144_pTab.X2)) _357: if _144_pIdx == nil { goto _360 } _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), i32(8)+_136_j) *func() *int32 { _144_pIdx = (*XIndex)(unsafe.Pointer(_144_pIdx.X5)); return &_136_j }() += 1 goto _357 _360: func() int32 { if (_pParse.X18) >= (i32(8) + _136_j) { return i32(0) } return func() int32 { 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(126564))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3NoTempsInRange(tls, _pParse, i32(1), i32(7)+_136_j) != 0 { return i32(0) } return func() int32 { 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(126584))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _v, i32(58), _144_iDataCur, i32(0)) _144_loopTop = _sqlite3VdbeAddOp2(tls, _v, i32(92), i32(7), i32(1)) _136_j = i32(0) _365: if _136_j >= int32(_144_pTab.X11) { goto _368 } if _136_j != int32(_144_pTab.X10) { goto _369 } goto _366 _369: if int32((*XColumn)(unsafe.Pointer(uintptr(_144_pTab.X1)+32*uintptr(_136_j))).X3) != i32(0) { goto _370 } goto _366 _370: _sqlite3ExprCodeGetColumnOfTable(tls, _v, _144_pTab, _144_iDataCur, _136_j, i32(3)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) _147_jmp2 = _sqlite3VdbeAddOp1(tls, _v, i32(35), i32(3)) _147_zErr = _sqlite3MPrintf(tls, _db, str(126620), unsafe.Pointer(_144_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_144_pTab.X1)+32*uintptr(_136_j))).X0)) _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), i32(3), i32(0), _147_zErr, i32(-1)) _integrityCheckResultRow(tls, _v, i32(3)) _sqlite3VdbeJumpHere(tls, _v, _147_jmp2) _366: _136_j += 1 goto _365 _368: if (*XExprList)(unsafe.Pointer(_144_pTab.X6)) == nil || ((_db.X6)&i32(8192)) != i32(0) { goto _372 } _148_addrCkFault = _sqlite3VdbeMakeLabel(tls, _v) _148_addrCkOk = _sqlite3VdbeMakeLabel(tls, _v) _148_pCheck = (*XExprList)(unsafe.Pointer(_144_pTab.X6)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(72 /* X22 */))) = _144_iDataCur _sqlite3ExprCachePush(tls, _pParse) _148_k = (_148_pCheck.X0) - i32(1) _373: if _148_k <= i32(0) { goto _376 } _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_148_pCheck.X1)+32*uintptr(_148_k))).X0)), _148_addrCkFault, i32(0)) _148_k -= 1 goto _373 _376: _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(uintptr(_148_pCheck.X1)+32*uintptr(i32(0)))).X0)), _148_addrCkOk, i32(16)) _sqlite3VdbeResolveLabel(tls, _v, _148_addrCkFault) _148_zErr = _sqlite3MPrintf(tls, _db, str(126640), unsafe.Pointer(_144_pTab.X0)) _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), i32(3), i32(0), _148_zErr, i32(-1)) _integrityCheckResultRow(tls, _v, i32(3)) _sqlite3VdbeResolveLabel(tls, _v, _148_addrCkOk) _sqlite3ExprCachePop(tls, _pParse) _372: *func() **XIndex { _136_j = i32(0); return &_144_pIdx }() = (*XIndex)(unsafe.Pointer(_144_pTab.X2)) _377: if _144_pIdx == nil || _136_isQuick != 0 { goto _381 } _150_ckUniq = _sqlite3VdbeMakeLabel(tls, _v) if _144_pPk != _144_pIdx { goto _382 } goto _378 _382: _144_r1 = _sqlite3GenerateIndexKey(tls, _pParse, _144_pIdx, _144_iDataCur, i32(0), i32(0), &_150_jmp3, _144_pPrior, _144_r1) _144_pPrior = _144_pIdx _sqlite3VdbeAddOp2(tls, _v, i32(92), i32(8)+_136_j, i32(1)) _150_jmp2 = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _144_iIdxCur+_136_j, _150_ckUniq, _144_r1, int32(_144_pIdx.X14)) _sqlite3VdbeLoadString(tls, _v, i32(3), str(126672)) _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(7), i32(3), i32(3)) _sqlite3VdbeLoadString(tls, _v, i32(4), str(126680)) _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(4), i32(3), i32(3)) _150_jmp5 = _sqlite3VdbeLoadString(tls, _v, i32(4), _144_pIdx.X0) _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(4), i32(3), i32(3)) _150_jmp4 = _integrityCheckResultRow(tls, _v, i32(3)) _sqlite3VdbeJumpHere(tls, _v, _150_jmp2) if int32(_144_pIdx.X15) == i32(0) { goto _383 } _151_uniqOk = _sqlite3VdbeMakeLabel(tls, _v) _151_kk = i32(0) _384: if _151_kk >= int32(_144_pIdx.X13) { goto _387 } _152_iCol = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_144_pIdx.X1)) + 2*uintptr(_151_kk)))) func() int32 { if (_152_iCol != i32(-1)) && (_152_iCol < int32(_144_pTab.X11)) { return i32(0) } return func() int32 { 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(126704))) crt.X__builtin_abort(tls) return i32(0) }() }() if _152_iCol < i32(0) || ((*XColumn)(unsafe.Pointer(uintptr(_144_pTab.X1)+32*uintptr(_152_iCol))).X3) == 0 { goto _392 } goto _385 _392: _sqlite3VdbeAddOp2(tls, _v, i32(34), _144_r1+_151_kk, _151_uniqOk) _385: _151_kk += 1 goto _384 _387: _151_jmp6 = _sqlite3VdbeAddOp1(tls, _v, i32(7), _144_iIdxCur+_136_j) _sqlite3VdbeGoto(tls, _v, _151_uniqOk) _sqlite3VdbeJumpHere(tls, _v, _151_jmp6) _sqlite3VdbeAddOp4Int(tls, _v, i32(60), _144_iIdxCur+_136_j, _151_uniqOk, _144_r1, int32(_144_pIdx.X13)) _sqlite3VdbeLoadString(tls, _v, i32(3), str(126740)) _sqlite3VdbeGoto(tls, _v, _150_jmp5) _sqlite3VdbeResolveLabel(tls, _v, _151_uniqOk) _383: _sqlite3VdbeJumpHere(tls, _v, _150_jmp4) _sqlite3ResolvePartIdxLabel(tls, _pParse, _150_jmp3) _378: *func() *int32 { _144_pIdx = (*XIndex)(unsafe.Pointer(_144_pIdx.X5)); return &_136_j }() += 1 goto _377 _381: _sqlite3VdbeAddOp2(tls, _v, i32(7), _144_iDataCur, _144_loopTop) _sqlite3VdbeJumpHere(tls, _v, _144_loopTop-i32(1)) if _136_isQuick != 0 { goto _393 } _sqlite3VdbeLoadString(tls, _v, i32(2), str(126768)) *func() **XIndex { _136_j = i32(0); return &_144_pIdx }() = (*XIndex)(unsafe.Pointer(_144_pTab.X2)) _394: if _144_pIdx == nil { goto _397 } if _144_pPk != _144_pIdx { goto _398 } goto _395 _398: _sqlite3VdbeAddOp2(tls, _v, i32(101), _144_iIdxCur+_136_j, i32(3)) _136_addr = _sqlite3VdbeAddOp3(tls, _v, i32(37), i32(8)+_136_j, i32(0), i32(3)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) _sqlite3VdbeLoadString(tls, _v, i32(3), _144_pIdx.X0) _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(3), i32(2), i32(7)) _integrityCheckResultRow(tls, _v, i32(7)) _sqlite3VdbeJumpHere(tls, _v, _136_addr) _395: *func() *int32 { _144_pIdx = (*XIndex)(unsafe.Pointer(_144_pIdx.X5)); return &_136_j }() += 1 goto _394 _397: _393: _347: _139_x = (*XHashElem)(unsafe.Pointer(_139_x.X0)) goto _346 _349: _316: _136_i += 1 goto _315 _318: _155_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(4), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3PragmaØ00endCodeØ006)), _sqlite3PragmaØ00iLnØ005) if _155_aOp == nil { goto _399 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_155_aOp))+32*uintptr(i32(0)))))) + uintptr(8 /* X4 */))) = i32(1) - _136_mxErr *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_155_aOp))+32*uintptr(i32(2)))))) + uintptr(1 /* X1 */))) = int8(i32(-2)) *(**int8)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_155_aOp))+32*uintptr(i32(2)))))) + uintptr(16 /* X6 */))))) = str(126800) _399: goto _64 _49: if _zRight != nil { goto _400 } if _sqlite3ReadSchema(tls, _pParse) == 0 { goto _401 } goto _pragma_out _401: func() int32 { if int32((*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+16*uintptr(i32(1)))).X1) == i32(1) { return i32(0) } return func() int32 { 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(126804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+16*uintptr(i32(2)))).X1) == i32(2) { return i32(0) } return func() int32 { 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(126844))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+16*uintptr(i32(3)))).X1) == i32(3) { return i32(0) } return func() int32 { 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(126892))) crt.X__builtin_abort(tls) return i32(0) }() }() _returnSingleText(tls, _v, (*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+16*uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X14))).X0) goto _408 _400: if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X4)).X9)&i32(1)) == i32(1) && (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X4)).X9)&i32(4)) != i32(4) { goto _410 } _157_pEnc = (*TEncName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007)) + 16*uintptr(i32(0)))) _411: if (_157_pEnc.X0) == nil { goto _414 } if i32(0) != _sqlite3StrICmp(tls, _zRight, _157_pEnc.X0) { goto _415 } *(*uint8)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X4) + uintptr(113 /* X8 */))) = store4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(82 /* X14 */))), uint8(func() int32 { if (_157_pEnc.X1) != 0 { return int32(_157_pEnc.X1) } return i32(2) }())) goto _414 _415: *(*uintptr)(unsafe.Pointer(&_157_pEnc)) += uintptr(16) goto _411 _414: if (_157_pEnc.X0) != nil { goto _418 } _sqlite3ErrorMsg(tls, _pParse, str(126940), unsafe.Pointer(_zRight)) _418: _410: _408: goto _64 _50: _164_iCookie = int32(_pPragma.X5) _sqlite3VdbeUsesBtree(tls, _v, _iDb) if _zRight == nil || (int32(_pPragma.X2)&i32(8)) != i32(0) { goto _420 } _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(2)) _165_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(2), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3PragmaØ00setCookieØ008)), i32(0)) if func() int32 { if _165_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _423 } goto _64 _423: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_165_aOp))+32*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_165_aOp))+32*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_165_aOp))+32*uintptr(i32(1)))))) + uintptr(8 /* X4 */))) = _164_iCookie *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_165_aOp))+32*uintptr(i32(1)))))) + uintptr(12 /* X5 */))) = _sqlite3Atoi(tls, _zRight) goto _424 _420: _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(3)) _166_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(3), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3PragmaØ00readCookieØ009)), i32(0)) if func() int32 { if _166_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _427 } goto _64 _427: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_166_aOp))+32*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_166_aOp))+32*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_166_aOp))+32*uintptr(i32(1)))))) + uintptr(12 /* X5 */))) = _164_iCookie _sqlite3VdbeReusable(tls, _v) _424: goto _64 _51: _167_i = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(1) _428: if store1025(&_167_zOpt, Xsqlite3_compileoption_get(tls, postInc961(&_167_i, int32(1)))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _429 } _sqlite3VdbeLoadString(tls, _v, i32(1), _167_zOpt) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) goto _428 _429: _sqlite3VdbeReusable(tls, _v) goto _64 _52: _169_iBt = func() int32 { if (_pId2.X0) != nil { return _iDb } return i32(10) }() _169_eMode = i32(0) if _zRight == nil { goto _432 } if _sqlite3StrICmp(tls, _zRight, str(126968)) != i32(0) { goto _433 } _169_eMode = i32(1) goto _434 _433: if _sqlite3StrICmp(tls, _zRight, str(126976)) != i32(0) { goto _435 } _169_eMode = i32(2) goto _436 _435: if _sqlite3StrICmp(tls, _zRight, str(93292)) != i32(0) { goto _437 } _169_eMode = i32(3) _437: _436: _434: _432: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(3) _sqlite3VdbeAddOp3(tls, _v, i32(8), _169_iBt, _169_eMode, i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(3)) goto _64 _53: if _zRight == nil { goto _438 } Xsqlite3_wal_autocheckpoint(tls, _db, _sqlite3Atoi(tls, _zRight)) _438: _returnSingleInt(tls, _v, int64(func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32 }{(*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 }{(_db.X51)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32 }{_sqlite3WalDefaultHook})) { return int32(int64(uintptr(unsafe.Pointer(_db.X52)))) } return i32(0) }())) goto _64 _54: Xsqlite3_db_release_memory(tls, _db) goto _64 _55: if _zRight == nil { goto _441 } _177_opMask = uint32(_sqlite3Atoi(tls, _zRight)) if (_177_opMask & uint32(i32(2))) != uint32(i32(0)) { goto _442 } goto _64 _442: goto _443 _441: _177_opMask = uint32(i32(65534)) _443: _177_iTabCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(52 /* X17 */))), int32(1)) _177_iDbLast = func() int32 { if _zDb != nil { return _iDb } return ((_db.X5) - i32(1)) }() _446: if _iDb > _177_iDbLast { goto _449 } if _iDb != i32(1) { goto _450 } goto _447 _450: _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _177_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) _177_k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_177_pSchema)) + uintptr(8 /* X2 */))).X2)) _451: if _177_k == nil { goto _454 } _177_pTab = (*XTable)(unsafe.Pointer(_177_k.X2)) if ((_177_pTab.X9) & uint32(i32(256))) != uint32(i32(0)) { goto _455 } goto _452 _455: _177_szThreshold = int16(int32(_177_pTab.X12) + i32(46)) func() int32 { if int32(_sqlite3LogEst(tls, uint64(i32(25)))) == i32(46) { return i32(0) } return func() int32 { 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(126984))) crt.X__builtin_abort(tls) return i32(0) }() }() _177_pIdx = (*XIndex)(unsafe.Pointer(_177_pTab.X2)) _458: if _177_pIdx == nil { goto _461 } if ((uint32((_177_pIdx.X16)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { goto _462 } _177_szThreshold = int16(i32(0)) goto _461 _462: _177_pIdx = (*XIndex)(unsafe.Pointer(_177_pIdx.X5)) goto _458 _461: if _177_szThreshold == 0 { goto _463 } _sqlite3OpenTable(tls, _pParse, _177_iTabCur, _iDb, _177_pTab, i32(105)) _sqlite3VdbeAddOp3(tls, _v, i32(55), _177_iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, _v)+i32(2))+(_177_opMask&uint32(i32(1)))), int32(_177_szThreshold)) _463: _177_zSubSql = _sqlite3MPrintf(tls, _db, str(127008), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(_177_pTab.X0)) if (_177_opMask & uint32(i32(1))) == 0 { goto _464 } _185_r1 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), _185_r1, i32(0), _177_zSubSql, i32(-1)) _sqlite3VdbeAddOp2(tls, _v, i32(88), _185_r1, i32(1)) goto _465 _464: _sqlite3VdbeAddOp4(tls, _v, i32(136), i32(0), i32(0), i32(0), _177_zSubSql, i32(-1)) _465: _452: _177_k = (*XHashElem)(unsafe.Pointer(_177_k.X0)) goto _451 _454: _447: _iDb += 1 goto _446 _449: _sqlite3VdbeAddOp0(tls, _v, i32(151)) goto _64 _56: func() int32 { if int32(_pPragma.X1) == i32(3) { return i32(0) } return func() int32 { 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(127028))) crt.X__builtin_abort(tls) return i32(0) }() }() if _zRight == nil { goto _468 } Xsqlite3_busy_timeout(tls, _db, _sqlite3Atoi(tls, _zRight)) _468: _returnSingleInt(tls, _v, int64(_db.X74)) goto _64 _57: if _zRight == nil || _sqlite3DecOrHexToI64(tls, _zRight, &_189_N) != i32(0) { goto _470 } Xsqlite3_soft_heap_limit64(tls, _189_N) _470: _returnSingleInt(tls, _v, Xsqlite3_soft_heap_limit64(tls, int64(i32(-1)))) goto _64 _58: if _zRight == nil || _sqlite3DecOrHexToI64(tls, _zRight, &_191_N) != i32(0) || _191_N < int64(i32(0)) { goto _473 } Xsqlite3_limit(tls, _db, i32(11), int32(_191_N&int64(i32(2147483647)))) _473: _returnSingleInt(tls, _v, int64(Xsqlite3_limit(tls, _db, i32(11), i32(-1)))) goto _64 _59: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(2) _193_i = i32(0) _474: if _193_i >= (_db.X5) { goto _477 } _194_zState = str(127068) if ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_193_i))).X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _478 } goto _475 _478: _194_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_193_i))).X1)) if _194_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3BtreePager(tls, _194_pBt) != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { goto _480 } _194_zState = str(127076) goto _481 _480: if Xsqlite3_file_control(tls, _db, func() *int8 { if _193_i != 0 { return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_193_i))).X0) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), i32(1), (unsafe.Pointer)(&_194_j)) != i32(0) { goto _484 } _194_zState = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00azLockNameØ0010)) + 8*uintptr(_194_j))) _484: _481: _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127084), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_193_i))).X0), unsafe.Pointer(_194_zState)) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(2)) _475: _193_i += 1 goto _474 _477: goto _64 _64: if (int32(_pPragma.X2)&i32(4)) == 0 || _zRight == nil { goto _486 } _sqlite3VdbeVerifyNoResultRow(tls, _v) _486: _pragma_out: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zLeft)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zRight)) return } func _sqlite3VdbeRunOnlyOnce(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:71723:1 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 32, 5) return } var _sqlite3PragmaØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PragmaØ00__func__Ø000[0], str(127088), 14) } func Xsqlite3_file_control(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8, _op int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:143414:12 var _rc int32 // sqlite3.c:143415:7 _ = _rc var _pBtree *XBtree // sqlite3.c:143416:9 _ = _pBtree var _1_pPager *XPager // sqlite3.c:143424:11 _ = _1_pPager var _1_fd *Xsqlite3_file // sqlite3.c:143425:18 _ = _1_fd _rc = i32(1) if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(143419)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pBtree = _sqlite3DbNameToBtree(tls, _db, _zDbName) if _pBtree == nil { goto _1 } _sqlite3BtreeEnter(tls, _pBtree) _1_pPager = _sqlite3BtreePager(tls, _pBtree) func() int32 { if _1_pPager != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(14948))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_fd = _sqlite3PagerFile(tls, _1_pPager) func() int32 { if _1_fd != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(127104))) crt.X__builtin_abort(tls) return i32(0) }() }() if _op != i32(7) { goto _6 } *(**Xsqlite3_file)(unsafe.Pointer(_pArg)) = _1_fd _rc = i32(0) goto _7 _6: if _op != i32(27) { goto _8 } *(**Xsqlite3_vfs)(unsafe.Pointer(_pArg)) = _sqlite3PagerVfs(tls, _1_pPager) _rc = i32(0) goto _9 _8: if _op != i32(28) { goto _10 } *(**Xsqlite3_file)(unsafe.Pointer(_pArg)) = _sqlite3PagerJrnlFile(tls, _1_pPager) _rc = i32(0) goto _11 _10: if (*Xsqlite3_io_methods)(unsafe.Pointer(_1_fd.X0)) == nil { goto _12 } _rc = _sqlite3OsFileControl(tls, _1_fd, _op, _pArg) goto _13 _12: _rc = i32(12) _13: _11: _9: _7: _sqlite3BtreeLeave(tls, _pBtree) _1: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func _sqlite3DbNameToBtree(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8) (r0 *XBtree) { // sqlite3.c:143848:1 var _iDb int32 // sqlite3.c:143849:7 _ = _iDb _iDb = func() int32 { if _zDbName != nil { return _sqlite3FindDbName(tls, _db, _zDbName) } return i32(0) }() r0 = func() *XBtree { if _iDb < i32(0) { return (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) } return (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X1)) }() return } var _sqlite3_file_controlØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_file_controlØ00__func__Ø000[0], str(127112), 21) } func _sqlite3PagerJrnlFile(tls *crt.TLS, _pPager *XPager) (r0 *Xsqlite3_file) { // sqlite3.c:53719:1 r0 = func() *Xsqlite3_file { if (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { return _sqlite3WalFile(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) } return (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)) }() return } func _sqlite3WalFile(tls *crt.TLS, _pWal *XWal) (r0 *Xsqlite3_file) { // sqlite3.c:57935:1 r0 = (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)) return } func _returnSingleText(tls *crt.TLS, _v *TVdbe, _zValue *int8) { // sqlite3.c:113155:1 if _zValue == nil { goto _0 } _sqlite3VdbeLoadString(tls, _v, i32(1), _zValue) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) _0: return } func _setPragmaResultColumnNames(tls *crt.TLS, _v *TVdbe, _pPragma *XPragmaName) { // sqlite3.c:113128:1 var _n uint8 // sqlite3.c:113132:6 _ = _n var _2_i int32 // sqlite3.c:113137:9 _ = _2_i var _2_j int32 // sqlite3.c:113137:12 _ = _2_j _n = _pPragma.X4 _sqlite3VdbeSetNumCols(tls, _v, func() int32 { if int32(_n) == i32(0) { return i32(1) } return int32(_n) }()) if int32(_n) != i32(0) { goto _2 } _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), _pPragma.X0, nil) goto _3 _2: *func() *int32 { _2_i = i32(0); return &_2_j }() = int32(_pPragma.X3) _4: if _2_i >= int32(_n) { goto _7 } _sqlite3VdbeSetColName(tls, _v, _2_i, i32(0), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pragCName)) + 8*uintptr(_2_j))), nil) *func() *int32 { _2_i += 1; return &_2_j }() += 1 goto _4 _7: _3: return } func _sqlite3VdbeVerifyNoMallocRequired(tls *crt.TLS, _p *TVdbe, _N int32) { // sqlite3.c:71983:1 func() int32 { if ((_p.X27) + _N) <= ((*XParse)(unsafe.Pointer(_p.X3)).X19) { return i32(0) } return func() int32 { 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(127136))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _sqlite3VdbeVerifyNoMallocRequiredØ00__func__Ø000 [34]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeVerifyNoMallocRequiredØ00__func__Ø000[0], str(127172), 34) } var _sqlite3PragmaØ00getCacheSizeØ002 [9]XVdbeOpList // sqlite3.c:113415:29 func init() { _sqlite3PragmaØ00getCacheSizeØ002 = [9]XVdbeOpList{XVdbeOpList{X0: u8(2), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(102), X1: i8(0), X2: i8(1), X3: i8(3)}, XVdbeOpList{X0: u8(67), X1: i8(1), X2: i8(8), X3: i8(0)}, XVdbeOpList{X0: u8(77), X1: i8(0), X2: i8(2), X3: i8(0)}, XVdbeOpList{X0: u8(48), X1: i8(1), X2: i8(2), X3: i8(1)}, XVdbeOpList{X0: u8(67), X1: i8(1), X2: i8(8), X3: i8(0)}, XVdbeOpList{X0: u8(77), X1: i8(0), X2: i8(1), X3: i8(0)}, XVdbeOpList{X0: u8(162), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(88), X1: i8(1), X2: i8(1), X3: i8(0)}} } var _sqlite3PragmaØ00iLnØ001 int32 // sqlite3.c:113414:22 func _returnSingleInt(tls *crt.TLS, _v *TVdbe, _value int64) { // sqlite3.c:113147:1 _sqlite3VdbeAddOp4Dup8(tls, _v, i32(78), i32(0), i32(1), i32(0), (*uint8)(unsafe.Pointer(&_value)), i32(-10)) _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) return } func _sqlite3BtreeSecureDelete(tls *crt.TLS, _p *XBtree, _newFlag int32) (r0 int32) { // sqlite3.c:61763:1 var _b int32 // sqlite3.c:61764:7 _ = _b if _p != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _sqlite3BtreeEnter(tls, _p) if _newFlag < i32(0) { goto _1 } { p := (*uint16)(unsafe.Pointer(uintptr(_p.X1) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) & i32(-5)) sink4530 = *p } if _newFlag == 0 { goto _2 } { p := (*uint16)(unsafe.Pointer(uintptr(_p.X1) + uintptr(38 /* X10 */))) *p = uint16(int32(*p) | i32(4)) sink4530 = *p } _2: _1: _b = bool2int((int32((*XBtShared)(unsafe.Pointer(_p.X1)).X10) & i32(4)) != i32(0)) _sqlite3BtreeLeave(tls, _p) r0 = _b return } func _getLockingMode(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:113042:1 if _z == nil { goto _0 } if i32(0) != _sqlite3StrICmp(tls, _z, str(93244)) { goto _1 } r0 = i32(1) return _1: if i32(0) != _sqlite3StrICmp(tls, _z, str(93256)) { goto _2 } r0 = i32(0) return _2: _0: r0 = i32(-1) return } func _sqlite3PagerLockingMode(tls *crt.TLS, _pPager *XPager, _eMode int32) (r0 int32) { // sqlite3.c:53970:1 func() int32 { if ((_eMode == i32(-1)) || (_eMode == i32(0))) || (_eMode == i32(1)) { return i32(0) } return func() int32 { 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(127208))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) func() int32 { if ((_pPager.X1) != 0) || (i32(0) == _sqlite3WalHeapMemory(tls, (*XWal)(unsafe.Pointer(_pPager.X60)))) { return i32(0) } return func() int32 { 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(127312))) crt.X__builtin_abort(tls) return i32(0) }() }() if _eMode < i32(0) || (_pPager.X10) != 0 || _sqlite3WalHeapMemory(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) != 0 { goto _9 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(8 /* X1 */))) = uint8(_eMode) _9: r0 = int32(_pPager.X1) return } var _sqlite3PagerLockingModeØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerLockingModeØ00__func__Ø000[0], str(127376), 24) } func _sqlite3WalHeapMemory(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57866:1 r0 = bool2int((_pWal != nil) && (int32(_pWal.X11) == i32(2))) return } func _sqlite3PagerJournalSizeLimit(tls *crt.TLS, _pPager *XPager, _iLimit int64) (r0 int64) { // sqlite3.c:54123:1 if _iLimit < int64(i32(-1)) { goto _0 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(200 /* X50 */))) = _iLimit _sqlite3WalLimit(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _iLimit) _0: r0 = _pPager.X50 return } func _sqlite3WalLimit(tls *crt.TLS, _pWal *XWal, _iLimit int64) { // sqlite3.c:55753:1 if _pWal == nil { goto _0 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(32 /* X4 */))) = _iLimit _0: return } func _getAutoVacuum(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:113057:1 var _i int32 // sqlite3.c:113058:7 _ = _i if i32(0) != _sqlite3StrICmp(tls, _z, str(43952)) { goto _0 } r0 = i32(0) return _0: if i32(0) != _sqlite3StrICmp(tls, _z, str(126968)) { goto _1 } r0 = i32(1) return _1: if i32(0) != _sqlite3StrICmp(tls, _z, str(127400)) { goto _2 } r0 = i32(2) return _2: _i = _sqlite3Atoi(tls, _z) r0 = int32(uint8(func() int32 { if (_i >= i32(0)) && (_i <= i32(2)) { return _i } return i32(0) }())) return } var _sqlite3PragmaØ00setMeta6Ø004 [5]XVdbeOpList // sqlite3.c:113669:33 func init() { _sqlite3PragmaØ00setMeta6Ø004 = [5]XVdbeOpList{XVdbeOpList{X0: u8(2), X1: i8(0), X2: i8(1), X3: i8(0)}, XVdbeOpList{X0: u8(102), X1: i8(0), X2: i8(1), X3: i8(4)}, XVdbeOpList{X0: u8(21), X1: i8(1), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(76), X1: i8(0), X2: i8(2), X3: i8(0)}, XVdbeOpList{X0: u8(103), X1: i8(0), X2: i8(7), X3: i8(0)}} } var _sqlite3PragmaØ00iLnØ003 int32 // sqlite3.c:113668:26 func _setAllPagerFlags(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:113171:1 var _1_pDb *XDb // sqlite3.c:113173:8 _ = _1_pDb var _1_n int32 // sqlite3.c:113174:9 _ = _1_n if (_db.X15) == 0 { goto _0 } _1_pDb = (*XDb)(unsafe.Pointer(_db.X4)) _1_n = _db.X5 i32(0) i32(0) i32(0) i32(0) func() int32 { if (int32(_1_pDb.X2) & i32(7)) == int32(_1_pDb.X2) { return i32(0) } return func() int32 { 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(127412))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: if postInc961(&_1_n, int32(-1)) <= i32(0) { goto _4 } if (*XBtree)(unsafe.Pointer(_1_pDb.X1)) == nil { goto _5 } _sqlite3BtreeSetPagerFlags(tls, (*XBtree)(unsafe.Pointer(_1_pDb.X1)), uint32(int32(_1_pDb.X2)|((_db.X6)&i32(56)))) _5: *(*uintptr)(unsafe.Pointer(&_1_pDb)) += uintptr(32) goto _3 _4: _0: return } var _setAllPagerFlagsØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_setAllPagerFlagsØ00__func__Ø000[0], str(127476), 17) } func _sqlite3BtreeSetMmapLimit(tls *crt.TLS, _p *XBtree, _szMmap int64) (r0 int32) { // sqlite3.c:61617:1 var _pBt *XBtShared // sqlite3.c:61618:12 _ = _pBt _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(7616))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnter(tls, _p) _sqlite3PagerSetMmapLimit(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _szMmap) _sqlite3BtreeLeave(tls, _p) r0 = i32(0) return } var _sqlite3BtreeSetMmapLimitØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreeSetMmapLimitØ00__func__Ø000[0], str(127496), 25) } func _changeTempStorage(tls *crt.TLS, _pParse *XParse, _zStorageType *int8) (r0 int32) { // sqlite3.c:113113:1 var _ts int32 // sqlite3.c:113114:7 _ = _ts var _db *Xsqlite3 // sqlite3.c:113115:11 _ = _db _ts = _getTempStore(tls, _zStorageType) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if int32(_db.X16) != _ts { goto _0 } r0 = i32(0) return _0: if _invalidateTempStorage(tls, _pParse) == i32(0) { goto _1 } r0 = i32(1) return _1: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(84 /* X16 */))) = uint8(_ts) r0 = i32(0) return } func _getTempStore(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:113073:1 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) { goto _1 } r0 = int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) - i32(48) return _1: if _sqlite3StrICmp(tls, _z, str(97668)) != i32(0) { goto _3 } r0 = i32(1) return _3: if _sqlite3StrICmp(tls, _z, str(93264)) != i32(0) { goto _5 } r0 = i32(2) return _5: r0 = i32(0) return } func _invalidateTempStorage(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:113091:1 var _db *Xsqlite3 // sqlite3.c:113092:11 _ = _db _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X1)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } if (_db.X15) != 0 && _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X1))) == 0 { goto _2 } _sqlite3ErrorMsg(tls, _pParse, str(127524)) r0 = i32(1) return _2: _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))).X1))) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))))) + uintptr(8 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ResetAllSchemasOfConnection(tls, _db) _0: r0 = i32(0) return } var Xsqlite3_temp_directory *int8 // sqlite3.c:5521:17 func _sqlite3VdbeMultiLoad(tls *crt.TLS, _p *TVdbe, _iDest int32, _zTypes *int8, args ...interface{}) { // sqlite3.c:71575:1 var _ap []interface{} // sqlite3.c:71576:11 _ = _ap var _i int32 // sqlite3.c:71577:7 _ = _i var _c int8 // sqlite3.c:71578:8 _ = _c var _2_z *int8 // sqlite3.c:71582:18 _ = _2_z _ap = args _i = i32(0) _0: if int32(store973(&_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTypes)) + 1*uintptr(_i))))) == i32(0) { goto _3 } if int32(_c) != i32(115) { goto _4 } _2_z = (*int8)(crt.VAPointer(&_ap)) _sqlite3VdbeAddOp4(tls, _p, func() int32 { if _2_z == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(80) } return i32(97) }(), i32(0), postInc961(&_iDest, int32(1)), i32(0), _2_z, i32(0)) goto _7 _4: func() int32 { if int32(_c) == i32(105) { return i32(0) } return func() int32 { 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(127588))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp2(tls, _p, i32(77), crt.VAInt32(&_ap), postInc961(&_iDest, int32(1))) _7: _i += 1 goto _0 _3: _ap = nil return } var _sqlite3VdbeMultiLoadØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeMultiLoadØ00__func__Ø000[0], str(127596), 21) } func _actionName(tls *crt.TLS, _action uint8) (r0 *int8) { // sqlite3.c:113199:1 var _zName *int8 // sqlite3.c:113200:14 _ = _zName switch int32(_action) { case i32(6): goto _4 case i32(7): goto _1 case i32(8): goto _2 case i32(9): goto _3 default: goto _5 } _1: _zName = str(127620) goto _6 _2: _zName = str(127632) goto _6 _3: _zName = str(25180) goto _6 _4: _zName = str(25352) goto _6 _5: _zName = str(127644) func() int32 { if int32(_action) == i32(0) { return i32(0) } return func() int32 { 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(127656))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _6 _6: r0 = _zName return } var _actionNameØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_actionNameØ00__func__Ø000[0], str(127672), 11) } func _sqlite3ParserTrace(tls *crt.TLS, _TraceFILE *crt.XFILE, _zTracePrompt *int8) { // sqlite3.c:135872:1 _yyTraceFILE = _TraceFILE bug20530(_yyTraceFILE) _yyTracePrompt = _zTracePrompt bug20530(_yyTracePrompt) if _yyTraceFILE != (*crt.XFILE)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _yyTracePrompt = (*int8)(unsafe.Pointer(uintptr(i32(0)))) bug20530(_yyTracePrompt) goto _1 _0: if _yyTracePrompt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } _yyTraceFILE = (*crt.XFILE)(unsafe.Pointer(uintptr(i32(0)))) bug20530(_yyTraceFILE) _2: _1: return } func _sqlite3RegisterLikeFunctions(tls *crt.TLS, _db *Xsqlite3, _caseSensitive int32) { // sqlite3.c:106974:1 var _pInfo *TcompareInfo // sqlite3.c:106975:22 _ = _pInfo if _caseSensitive == 0 { goto _0 } _pInfo = &_likeInfoAlt goto _1 _0: _pInfo = &_likeInfoNorm _1: _sqlite3CreateFunc(tls, _db, str(6488), i32(2), i32(1), (unsafe.Pointer)(_pInfo), _likeFunc, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3CreateFunc(tls, _db, str(6488), i32(3), i32(1), (unsafe.Pointer)(_pInfo), _likeFunc, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3CreateFunc(tls, _db, str(6480), i32(2), i32(1), (unsafe.Pointer)(&_globInfo), _likeFunc, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) _setLikeOptFlag(tls, _db, str(6480), uint8(i32(12))) _setLikeOptFlag(tls, _db, str(6488), uint8(func() int32 { if _caseSensitive != 0 { return i32(12) } return i32(4) }())) return } func _likeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106096:1 var _zA *uint8 // sqlite3.c:106101:23 _ = _zA var _zB *uint8 // sqlite3.c:106101:28 _ = _zB var _escape uint32 // sqlite3.c:106102:7 _ = _escape var _nPat int32 // sqlite3.c:106103:7 _ = _nPat var _db *Xsqlite3 // sqlite3.c:106104:11 _ = _db var _pInfo *TcompareInfo // sqlite3.c:106105:22 _ = _pInfo var _2_zEsc *uint8 // sqlite3.c:106137:25 _ = _2_zEsc _db = Xsqlite3_context_db_handle(tls, _context) _pInfo = (*TcompareInfo)(unsafe.Pointer(Xsqlite3_user_data(tls, _context))) _zB = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _zA = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) _nPat = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _nPat <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(8))))) { goto _0 } Xsqlite3_result_error(tls, _context, str(127684), i32(-1)) return _0: func() int32 { if _zB == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(127720))) crt.X__builtin_abort(tls) return i32(0) }() }() if _argc != i32(3) { goto _3 } _2_zEsc = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) if _2_zEsc != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } return _4: if _sqlite3Utf8CharLen(tls, (*int8)(unsafe.Pointer(_2_zEsc)), i32(-1)) == i32(1) { goto _5 } Xsqlite3_result_error(tls, _context, str(127752), i32(-1)) return _5: _escape = _sqlite3Utf8Read(tls, &_2_zEsc) goto _6 _3: _escape = uint32(_pInfo.X2) _6: if _zA == nil || _zB == nil { goto _8 } Xsqlite3_result_int(tls, _context, bool2int(_patternCompare(tls, _zB, _zA, _pInfo, _escape) == i32(0))) _8: return } func Xsqlite3_user_data(tls *crt.TLS, _p *Xsqlite3_context) (r0 unsafe.Pointer) { // sqlite3.c:76706:12 func() int32 { if (_p != nil) && ((*XFuncDef)(unsafe.Pointer(_p.X1)) != nil) { return i32(0) } return func() int32 { 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(127800))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*XFuncDef)(unsafe.Pointer(_p.X1)).X2 return } var _sqlite3_user_dataØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_user_dataØ00__func__Ø000[0], str(127816), 18) } var _likeFuncØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_likeFuncØ00__func__Ø000[0], str(127836), 9) } func Xsqlite3_result_int(tls *crt.TLS, _pCtx *Xsqlite3_context, _iVal int32) { // sqlite3.c:76372:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), int64(_iVal)) return } var _sqlite3_result_intØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_intØ00__func__Ø000[0], str(127848), 19) } func _setLikeOptFlag(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _flagVal uint8) { // sqlite3.c:106961:1 var _pDef *XFuncDef // sqlite3.c:106962:11 _ = _pDef _pDef = _sqlite3FindFunction(tls, _db, _zName, i32(2), uint8(i32(1)), uint8(i32(0))) if func() int32 { if _pDef != nil { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _2 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDef)) + uintptr(2 /* X1 */))) *p = uint16(int32(*p) | int32(_flagVal)) sink4530 = *p } _2: return } var _setLikeOptFlagØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_setLikeOptFlagØ00__func__Ø000[0], str(127868), 15) } func _integrityCheckResultRow(tls *crt.TLS, _v *TVdbe, _regResult int32) (r0 int32) { // sqlite3.c:113265:1 var _addr int32 // sqlite3.c:113266:7 _ = _addr _sqlite3VdbeAddOp2(tls, _v, i32(88), _regResult, i32(1)) _addr = _sqlite3VdbeAddOp3(tls, _v, i32(67), i32(1), _sqlite3VdbeCurrentAddr(tls, _v)+i32(2), i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(76), i32(0), i32(0)) r0 = _addr return } func _sqlite3NoTempsInRange(tls *crt.TLS, _pParse *XParse, _iFirst int32, _iLast int32) (r0 int32) { // sqlite3.c:95858:1 var _i int32 // sqlite3.c:95859:7 _ = _i if (_pParse.X14) <= i32(0) || ((_pParse.X15)+(_pParse.X14)) >= _iLast || (_pParse.X15) < _iFirst { goto _2 } r0 = i32(0) return _2: _i = i32(0) _3: if _i >= int32(_pParse.X7) { goto _6 } if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(404 /* X49 */))))) + 4*uintptr(_i)))) < _iFirst || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(404 /* X49 */))))) + 4*uintptr(_i)))) > _iLast { goto _8 } r0 = i32(0) return _8: _i += 1 goto _3 _6: r0 = i32(1) return } var _sqlite3PragmaØ00endCodeØ006 [4]XVdbeOpList // sqlite3.c:114591:31 func init() { _sqlite3PragmaØ00endCodeØ006 = [4]XVdbeOpList{XVdbeOpList{X0: u8(92), X1: i8(1), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(68), X1: i8(1), X2: i8(4), X3: i8(0)}, XVdbeOpList{X0: u8(97), X1: i8(0), X2: i8(3), X3: i8(0)}, XVdbeOpList{X0: u8(88), X1: i8(3), X2: i8(1), X3: i8(0)}} } var _sqlite3PragmaØ00iLnØ005 int32 // sqlite3.c:114590:24 var _sqlite3PragmaØ00encnamesØ007 [9]TEncName // sqlite3.c:114637:7 func init() { _sqlite3PragmaØ00encnamesØ007 = [9]TEncName{TEncName{X0: str(127884), X1: u8(1)}, TEncName{X0: str(127892), X1: u8(1)}, TEncName{X0: str(127900), X1: u8(2)}, TEncName{X0: str(127912), X1: u8(3)}, TEncName{X0: str(127924), X1: u8(2)}, TEncName{X0: str(127932), X1: u8(3)}, TEncName{X0: str(127940), X1: u8(0)}, TEncName{X0: str(127948), X1: u8(0)}, TEncName{}} } var _sqlite3PragmaØ00setCookieØ008 [2]XVdbeOpList // sqlite3.c:114719:31 func init() { _sqlite3PragmaØ00setCookieØ008 = [2]XVdbeOpList{XVdbeOpList{X0: u8(2), X1: i8(0), X2: i8(1), X3: i8(0)}, XVdbeOpList{X0: u8(103), X1: i8(0), X2: i8(0), X3: i8(0)}} } var _sqlite3PragmaØ00readCookieØ009 [3]XVdbeOpList // sqlite3.c:114733:31 func init() { _sqlite3PragmaØ00readCookieØ009 = [3]XVdbeOpList{XVdbeOpList{X0: u8(2), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(102), X1: i8(0), X2: i8(1), X3: i8(0)}, XVdbeOpList{X0: u8(88), X1: i8(1), X2: i8(1), X3: i8(0)}} } func _sqlite3VdbeReusable(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:71730:1 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(0)), 32, 5) return } func Xsqlite3_compileoption_get(tls *crt.TLS, _N int32) (r0 *int8) { // sqlite3.c:17881:12 if _N < i32(0) || _N >= i32(6) { goto _1 } r0 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azCompileOpt)) + 8*uintptr(_N))) return _1: r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } var _azCompileOpt [6]*int8 // sqlite3.c:17454:19 func init() { _azCompileOpt = [6]*int8{str(127956), str(127964), str(127988), str(128016), str(128036), str(128052)} } func Xsqlite3_wal_autocheckpoint(tls *crt.TLS, _db *Xsqlite3, _nFrame int32) (r0 int32) { // sqlite3.c:141936:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(141942)) return _0: if _nFrame <= i32(0) { goto _1 } Xsqlite3_wal_hook(tls, _db, _sqlite3WalDefaultHook, (unsafe.Pointer)(uintptr(int64(_nFrame)))) goto _2 _1: Xsqlite3_wal_hook(tls, _db, nil, (unsafe.Pointer)(uintptr(i32(0)))) _2: r0 = i32(0) return } 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 var _pRet unsafe.Pointer // sqlite3.c:141963:8 _ = _pRet if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141966)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pRet = _db.X52 *(*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(288 /* X51 */))))) = _xCallback *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(296 /* X52 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _pRet return } func _sqlite3WalDefaultHook(tls *crt.TLS, _pClientData unsafe.Pointer, _db *Xsqlite3, _zDb *int8, _nFrame int32) (r0 int32) { // sqlite3.c:141910:1 if _nFrame < int32(int64(uintptr(unsafe.Pointer(_pClientData)))) { goto _0 } _sqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, _db, _zDb) _sqlite3EndBenignMalloc(tls) _0: r0 = i32(0) return } func Xsqlite3_wal_checkpoint(tls *crt.TLS, _db *Xsqlite3, _zDb *int8) (r0 int32) { // sqlite3.c:142046:12 r0 = Xsqlite3_wal_checkpoint_v2(tls, _db, _zDb, i32(0), (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) return } func Xsqlite3_wal_checkpoint_v2(tls *crt.TLS, _db *Xsqlite3, _zDb *int8, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:141984:12 var _rc int32 // sqlite3.c:141994:7 _ = _rc var _iDb int32 // sqlite3.c:141995:7 _ = _iDb _iDb = i32(10) if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(141998)) return _0: if _pnLog == nil { goto _1 } *_pnLog = i32(-1) _1: if _pnCkpt == nil { goto _2 } *_pnCkpt = i32(-1) _2: i32(0) i32(0) i32(0) i32(0) if _eMode >= i32(0) && _eMode <= i32(3) { goto _4 } r0 = i32(21) return _4: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if _zDb == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDb)) + 1*uintptr(i32(0))))) == 0 { goto _6 } _iDb = _sqlite3FindDbName(tls, _db, _zDb) _6: if _iDb >= i32(0) { goto _7 } _rc = i32(1) _sqlite3ErrorWithMsg(tls, _db, i32(1), str(128068), unsafe.Pointer(_zDb)) goto _8 _7: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415638)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(536 /* X71 */))))) + uintptr(16 /* X2 */))) = i32(0) _rc = _sqlite3Checkpoint(tls, _db, _iDb, _eMode, _pnLog, _pnCkpt) _sqlite3Error(tls, _db, _rc) _8: _rc = _sqlite3ApiExit(tls, _db, _rc) if (_db.X34) != i32(0) { goto _9 } *(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */))))) = i32(0) _9: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func Xsqlite3_db_release_memory(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140637:12 var _i int32 // sqlite3.c:140638:7 _ = _i var _1_pBt *XBtree // sqlite3.c:140646:11 _ = _1_pBt var _2_pPager *XPager // sqlite3.c:140648:13 _ = _2_pPager if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(140641)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _sqlite3BtreeEnterAll(tls, _db) _i = i32(0) _1: if _i >= (_db.X5) { goto _4 } _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _1_pBt == nil { goto _5 } _2_pPager = _sqlite3BtreePager(tls, _1_pBt) _sqlite3PagerShrink(tls, _2_pPager) _5: _i += 1 goto _1 _4: _sqlite3BtreeLeaveAll(tls, _db) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(0) return } func _sqlite3PagerShrink(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50366:1 _sqlite3PcacheShrink(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) return } func _sqlite3PcacheShrink(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44922:1 func() int32 { if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { 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(15048))) crt.X__builtin_abort(tls) return i32(0) }() }() ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X12)(tls, _pCache.X12) return } var _sqlite3PcacheShrinkØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PcacheShrinkØ00__func__Ø000[0], str(128092), 20) } func Xsqlite3_soft_heap_limit64(tls *crt.TLS, _n int64) (r0 int64) { // sqlite3.c:24285:12 var _priorLimit int64 // sqlite3.c:24286:17 _ = _priorLimit var _excess int64 // sqlite3.c:24287:17 _ = _excess var _nUsed int64 // sqlite3.c:24288:17 _ = _nUsed var _rc int32 // sqlite3.c:24290:7 _ = _rc _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _0 } r0 = int64(i32(-1)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _priorLimit = _mem0.X1 if _n >= int64(i32(0)) { goto _1 } Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) r0 = _priorLimit return _1: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(8 /* X1 */))) = _n _nUsed = _sqlite3StatusValue(tls, i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(36 /* X5 */))) = bool2int((_n > int64(i32(0))) && (_n <= _nUsed)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) _excess = Xsqlite3_memory_used(tls) - _n if _excess <= int64(i32(0)) { goto _3 } Xsqlite3_release_memory(tls, int32(_excess&int64(i32(2147483647)))) _3: r0 = _priorLimit return } func Xsqlite3_memory_used(tls *crt.TLS) (r0 int64) { // sqlite3.c:24376:12 var _res int64 // sqlite3.c:24377:17 _ = _res var _mx int64 // sqlite3.c:24377:22 _ = _mx Xsqlite3_status64(tls, i32(0), &_res, &_mx, i32(0)) r0 = _res return } func Xsqlite3_status64(tls *crt.TLS, _op int32, _pCurrent *int64, _pHighwater *int64, _resetFlag int32) (r0 int32) { // sqlite3.c:18582:12 var _pMutex *Xsqlite3_mutex // sqlite3.c:18588:17 _ = _pMutex if _op >= i32(0) && _op < i32(10) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(18591)) return _1: if _pCurrent != (*int64)(unsafe.Pointer(uintptr(i32(0)))) && _pHighwater != (*int64)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } r0 = _sqlite3MisuseError(tls, i32(18594)) return _3: _pMutex = func() *Xsqlite3_mutex { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { return _sqlite3Pcache1Mutex(tls) } return _sqlite3MallocMutex(tls) }() Xsqlite3_mutex_enter(tls, _pMutex) *_pCurrent = *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op))) *_pHighwater = *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(80 /* X1 */))))) + 8*uintptr(_op))) if _resetFlag == 0 { goto _6 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(80 /* X1 */))))) + 8*uintptr(_op))) = *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 8*uintptr(_op))) _6: Xsqlite3_mutex_leave(tls, _pMutex) r0 = i32(0) return } func Xsqlite3_limit(tls *crt.TLS, _db *Xsqlite3, _limitId int32, _newLimit int32) (r0 int32) { // sqlite3.c:142385:12 var _oldLimit int32 // sqlite3.c:142386:7 _ = _oldLimit if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(142390)) r0 = i32(-1) return _0: func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(0))))) == i32(1000000000) { return i32(0) } return func() int32 { 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(128112))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(1))))) == i32(1000000000) { return i32(0) } return func() int32 { 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(128164))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(2))))) == i32(2000) { return i32(0) } return func() int32 { 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(128224))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(3))))) == i32(1000) { return i32(0) } return func() int32 { 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(128276))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(4))))) == i32(500) { return i32(0) } return func() int32 { 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(128336))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(5))))) == i32(250000000) { return i32(0) } return func() int32 { 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(128408))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(6))))) == i32(127) { return i32(0) } return func() int32 { 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(128464))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(7))))) == i32(10) { return i32(0) } return func() int32 { 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(128528))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(8))))) == i32(50000) { return i32(0) } return func() int32 { 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(128584))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(9))))) == i32(999) { return i32(0) } return func() int32 { 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(128664))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(10))))) == i32(1000) { return i32(0) } return func() int32 { 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(128736))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(11))))) == i32(8) { return i32(0) } return func() int32 { 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(128804))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) if _limitId >= i32(0) && _limitId < i32(12) { goto _26 } r0 = i32(-1) return _26: _oldLimit = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(_limitId))) if _newLimit < i32(0) { goto _27 } if _newLimit <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(_limitId)))) { goto _28 } _newLimit = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(_limitId))) _28: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(_limitId))) = _newLimit _27: r0 = _oldLimit return } var _aHardLimit [12]int32 // sqlite3.c:142322:18 func init() { _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)} } var _sqlite3_limitØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_limitØ00__func__Ø000[0], str(128872), 14) } var _sqlite3PragmaØ00azLockNameØ0010 [5]*int8 // sqlite3.c:115000:23 func init() { _sqlite3PragmaØ00azLockNameØ0010 = [5]*int8{str(128888), str(128900), str(128908), str(128920), str(93244)} } func _sqlite3VdbeVerifyNoResultRow(tls *crt.TLS, _p *TVdbe) { // sqlite3.c:71996:1 var _i int32 // sqlite3.c:71997:7 _ = _i _i = i32(0) _0: if _i >= (_p.X27) { goto _3 } func() int32 { if int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+32*uintptr(_i))).X0) != i32(88) { return i32(0) } return func() int32 { 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(128928))) crt.X__builtin_abort(tls) return i32(0) }() }() _i += 1 goto _0 _3: return } var _sqlite3VdbeVerifyNoResultRowØ00__func__Ø000 [29]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VdbeVerifyNoResultRowØ00__func__Ø000[0], str(128960), 29) } func _sqlite3FinishTrigger(tls *crt.TLS, _pParse *XParse, _pStepList *XTriggerStep, _pAll *XToken) { // sqlite3.c:122450:1 var _pTrig *XTrigger // sqlite3.c:122455:11 _ = _pTrig var _zName *int8 // sqlite3.c:122456:8 _ = _zName var _db *Xsqlite3 // sqlite3.c:122457:11 _ = _db var _sFix XDbFixer // sqlite3.c:122458:11 _ = _sFix var _iDb int32 // sqlite3.c:122459:7 _ = _iDb var _nameToken XToken // sqlite3.c:122460:9 _ = _nameToken var _3_v *TVdbe // sqlite3.c:122483:10 _ = _3_v var _3_z *int8 // sqlite3.c:122484:10 _ = _3_z var _4_pLink *XTrigger // sqlite3.c:122502:13 _ = _4_pLink var _4_pHash *XHash // sqlite3.c:122503:10 _ = _4_pHash var _6_pTab *XTable // sqlite3.c:122509:13 _ = _6_pTab _pTrig = (*XTrigger)(unsafe.Pointer(_pParse.X64)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(528 /* X64 */))))) = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) if func() int32 { if (_pParse.X16) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 && _pTrig != nil { goto _3 } goto _triggerfinish_cleanup _3: _zName = _pTrig.X0 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTrig.X6))) *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrig)) + uintptr(56 /* X8 */))))) = _pStepList _4: if _pStepList == nil { goto _5 } *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pStepList)) + uintptr(8 /* X2 */))))) = _pTrig _pStepList = (*XTriggerStep)(unsafe.Pointer(_pStepList.X8)) goto _4 _5: _sqlite3TokenInit(tls, &_nameToken, _pTrig.X0) _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(23536), &_nameToken) if _sqlite3FixTriggerStep(tls, &_sFix, (*XTriggerStep)(unsafe.Pointer(_pTrig.X8))) == 0 && _sqlite3FixExpr(tls, &_sFix, (*XExpr)(unsafe.Pointer(_pTrig.X4))) == 0 { goto _7 } goto _triggerfinish_cleanup _7: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { goto _8 } _3_v = _sqlite3GetVdbe(tls, _pParse) if _3_v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } goto _triggerfinish_cleanup _9: _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _3_z = _sqlite3DbStrNDup(tls, _db, _pAll.X0, uint64(_pAll.X1)) _sqlite3NestedParse(tls, _pParse, str(128992), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_zName), unsafe.Pointer(_pTrig.X1), unsafe.Pointer(_3_z)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_z)) _sqlite3ChangeCookie(tls, _pParse, _iDb) _sqlite3VdbeAddParseSchemaOp(tls, _3_v, _iDb, _sqlite3MPrintf(tls, _db, str(129056), unsafe.Pointer(_zName))) _8: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { goto _10 } _4_pLink = _pTrig _4_pHash = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4) + uintptr(56 /* X4 */))) func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTrig = (*XTrigger)(unsafe.Pointer(_sqlite3HashInsert(tls, _4_pHash, _zName, (unsafe.Pointer)(_pTrig)))) if _pTrig == nil { goto _13 } _sqlite3OomFault(tls, _db) goto _14 _13: if (*XSchema)(unsafe.Pointer(_4_pLink.X6)) != (*XSchema)(unsafe.Pointer(_4_pLink.X7)) { goto _15 } _6_pTab = (*XTable)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_4_pLink.X7)+uintptr(8 /* X2 */))), _4_pLink.X1))) func() int32 { if _6_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pLink)) + uintptr(64 /* X9 */))))) = (*XTrigger)(unsafe.Pointer(_6_pTab.X19)) *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pTab)) + uintptr(104 /* X19 */))))) = _4_pLink _15: _14: _10: _triggerfinish_cleanup: _sqlite3DeleteTrigger(tls, _db, _pTrig) func() int32 { if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == nil { return i32(0) } return func() int32 { 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(129088))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3DeleteTriggerStep(tls, _db, _pStepList) return } var _sqlite3FinishTriggerØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3FinishTriggerØ00__func__Ø000[0], str(129112), 21) } func _sqlite3FixTriggerStep(tls *crt.TLS, _pFix *XDbFixer, _pStep *XTriggerStep) (r0 int32) { // sqlite3.c:99166:1 _0: if _pStep == nil { goto _1 } if _sqlite3FixSelect(tls, _pFix, (*XSelect)(unsafe.Pointer(_pStep.X3))) == 0 { goto _2 } r0 = i32(1) return _2: if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pStep.X5))) == 0 { goto _3 } r0 = i32(1) return _3: if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pStep.X6))) == 0 { goto _4 } r0 = i32(1) return _4: _pStep = (*XTriggerStep)(unsafe.Pointer(_pStep.X8)) goto _0 _1: r0 = i32(0) return } 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 var _pTrigger *XTrigger // sqlite3.c:122274:11 _ = _pTrigger var _pTab *XTable // sqlite3.c:122275:9 _ = _pTab var _zName *int8 // sqlite3.c:122276:8 _ = _zName var _db *Xsqlite3 // sqlite3.c:122277:11 _ = _db var _iDb int32 // sqlite3.c:122278:7 _ = _iDb var _pName *XToken // sqlite3.c:122279:9 _ = _pName var _sFix XDbFixer // sqlite3.c:122280:11 _ = _sFix var _19_iTabDb int32 // sqlite3.c:122396:9 _ = _19_iTabDb var _19_code int32 // sqlite3.c:122397:9 _ = _19_code var _19_zDb *int8 // sqlite3.c:122398:16 _ = _19_zDb var _19_zDbTrig *int8 // sqlite3.c:122399:16 _ = _19_zDbTrig _pTrigger = nil _zName = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _pName1 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(129136))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pName2 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(116340))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_op == i32(108)) || (_op == i32(110))) || (_op == i32(109)) { return i32(0) } return func() int32 { 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(129148))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op > i32(0)) && (_op < i32(255)) { return i32(0) } return func() int32 { 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(129196))) crt.X__builtin_abort(tls) return i32(0) }() }() if _isTemp == 0 { goto _11 } if (_pName2.X1) <= uint32(i32(0)) { goto _12 } _sqlite3ErrorMsg(tls, _pParse, str(129212)) goto _trigger_cleanup _12: _iDb = i32(1) _pName = _pName1 goto _13 _11: _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) if _iDb >= i32(0) { goto _14 } goto _trigger_cleanup _14: _13: if _pTableName != nil && (_db.X17) == 0 { goto _16 } goto _trigger_cleanup _16: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X2) == 0 || _iDb == i32(1) { goto _18 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTableName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTableName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))))) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _18: _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTableName) if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* 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)+32*uintptr(i32(1)))).X4)) { goto _22 } _iDb = i32(1) _22: if (_db.X17) == 0 { goto _23 } goto _trigger_cleanup _23: func() int32 { if (_pTableName.X0) == i32(1) { return i32(0) } return func() int32 { 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(129260))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(23536), _pName) if _sqlite3FixSrcList(tls, &_sFix, _pTableName) == 0 { goto _26 } goto _trigger_cleanup _26: _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTableName) if _pTab != nil { goto _27 } if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))).X1) != i32(1) { goto _28 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(164 /* X33 */))))) + uintptr(6 /* X3 */))) = uint8(i32(1)) _28: goto _trigger_cleanup _27: if (_pTab.X16) == 0 { goto _29 } _sqlite3ErrorMsg(tls, _pParse, str(129280)) goto _trigger_cleanup _29: _zName = _sqlite3NameFromToken(tls, _db, _pName) if _zName != nil && i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { goto _31 } goto _trigger_cleanup _31: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X4)+uintptr(56 /* X4 */))), _zName) == nil { goto _34 } if _noErr != 0 { goto _35 } _sqlite3ErrorMsg(tls, _pParse, str(129324), unsafe.Pointer(_pName)) goto _36 _35: func() int32 { if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) == 0 { return i32(0) } return func() int32 { 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(117436))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3CodeVerifySchema(tls, _pParse, _iDb) _36: goto _trigger_cleanup _34: if Xsqlite3_strnicmp(tls, _pTab.X0, str(116480), i32(7)) != i32(0) { goto _39 } _sqlite3ErrorMsg(tls, _pParse, str(129352)) goto _trigger_cleanup _39: if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil || _tr_tm == i32(77) { goto _41 } _sqlite3ErrorMsg(tls, _pParse, str(129392), unsafe.Pointer(func() *int8 { if _tr_tm == i32(63) { return str(25168) } return str(25140) }()), unsafe.Pointer(_pTableName), i32(0)) goto _trigger_cleanup _41: if (*XSelect)(unsafe.Pointer(_pTab.X3)) != nil || _tr_tm != i32(77) { goto _45 } _sqlite3ErrorMsg(tls, _pParse, str(129432), unsafe.Pointer(_pTableName), i32(0)) goto _trigger_cleanup _45: _19_iTabDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) _19_code = i32(7) _19_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_19_iTabDb))).X0 _19_zDbTrig = func() *int8 { if _isTemp != 0 { return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(i32(1)))).X0) } return _19_zDb }() if _19_iTabDb != i32(1) && _isTemp == 0 { goto _49 } _19_code = i32(5) _49: if _sqlite3AuthCheck(tls, _pParse, _19_code, _zName, _pTab.X0, _19_zDbTrig) == 0 { goto _50 } goto _trigger_cleanup _50: if _sqlite3AuthCheck(tls, _pParse, i32(18), func() *int8 { if i32(1) != 0 && (_19_iTabDb == i32(1)) { return str(51488) } return str(51508) }(), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _19_zDb) == 0 { goto _54 } goto _trigger_cleanup _54: if _tr_tm != i32(77) { goto _55 } _tr_tm = i32(63) _55: _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(72)))) if _pTrigger != (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { goto _56 } goto _trigger_cleanup _56: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(0 /* X0 */))) = _zName _zName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(8 /* X1 */))) = _sqlite3DbStrDup(tls, _db, (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTableName))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0)))).X2) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(40 /* X6 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(48 /* X7 */))))) = (*XSchema)(unsafe.Pointer(_pTab.X20)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(16 /* X2 */))) = uint8(_op) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(17 /* X3 */))) = uint8(func() int32 { if _tr_tm == i32(63) { return i32(1) } return i32(2) }()) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(24 /* X4 */))))) = _sqlite3ExprDup(tls, _db, _pWhen, i32(1)) *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(32 /* X5 */))))) = _sqlite3IdListDup(tls, _db, _pColumns) func() int32 { if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24392))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(528 /* X64 */))))) = _pTrigger _trigger_cleanup: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) _sqlite3SrcListDelete(tls, _db, _pTableName) _sqlite3IdListDelete(tls, _db, _pColumns) _sqlite3ExprDelete(tls, _db, _pWhen) if (*XTrigger)(unsafe.Pointer(_pParse.X64)) != nil { goto _61 } _sqlite3DeleteTrigger(tls, _db, _pTrigger) goto _62 _61: func() int32 { if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == _pTrigger { return i32(0) } return func() int32 { 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(129480))) crt.X__builtin_abort(tls) return i32(0) }() }() _62: return } var _sqlite3BeginTriggerØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BeginTriggerØ00__func__Ø000[0], str(129512), 20) } func _sqlite3TriggerUpdateStep(tls *crt.TLS, _db *Xsqlite3, _pTableName *XToken, _pEList *XExprList, _pWhere *XExpr, _orconf uint8) (r0 *XTriggerStep) { // sqlite3.c:122602:1 var _pTriggerStep *XTriggerStep // sqlite3.c:122609:15 _ = _pTriggerStep _pTriggerStep = _triggerStepAllocate(tls, _db, uint8(i32(110)), _pTableName) if _pTriggerStep == nil { goto _0 } *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(40 /* X6 */))))) = _sqlite3ExprListDup(tls, _db, _pEList, i32(1)) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(32 /* X5 */))))) = _sqlite3ExprDup(tls, _db, _pWhere, i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = _orconf _0: _sqlite3ExprListDelete(tls, _db, _pEList) _sqlite3ExprDelete(tls, _db, _pWhere) r0 = _pTriggerStep return } func _triggerStepAllocate(tls *crt.TLS, _db *Xsqlite3, _op uint8, _pName *XToken) (r0 *XTriggerStep) { // sqlite3.c:122548:1 var _pTriggerStep *XTriggerStep // sqlite3.c:122553:15 _ = _pTriggerStep var _1_z *int8 // sqlite3.c:122557:10 _ = _1_z _pTriggerStep = (*XTriggerStep)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, (u64(72)+uint64(_pName.X1))+uint64(i32(1))))) if _pTriggerStep == nil { goto _0 } _1_z = (*int8)(unsafe.Pointer((*XTriggerStep)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + 72*uintptr(i32(1)))))) crt.Xmemcpy(tls, (unsafe.Pointer)(_1_z), (unsafe.Pointer)(_pName.X0), uint64(_pName.X1)) _sqlite3Dequote(tls, _1_z) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(24 /* X4 */))) = _1_z *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(0 /* X0 */))) = _op _0: r0 = _pTriggerStep return } func _sqlite3TriggerInsertStep(tls *crt.TLS, _db *Xsqlite3, _pTableName *XToken, _pColumn *XIdList, _pSelect *XSelect, _orconf uint8) (r0 *XTriggerStep) { // sqlite3.c:122573:1 var _pTriggerStep *XTriggerStep // sqlite3.c:122580:15 _ = _pTriggerStep func() int32 { if (_pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(129532))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTriggerStep = _triggerStepAllocate(tls, _db, uint8(i32(108)), _pTableName) if _pTriggerStep == nil { goto _3 } *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(16 /* X3 */))))) = _sqlite3SelectDup(tls, _db, _pSelect, i32(1)) *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(48 /* X7 */))))) = _pColumn *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = _orconf goto _4 _3: _sqlite3IdListDelete(tls, _db, _pColumn) _4: _sqlite3SelectDelete(tls, _db, _pSelect) r0 = _pTriggerStep return } var _sqlite3TriggerInsertStepØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3TriggerInsertStepØ00__func__Ø000[0], str(129568), 25) } func _sqlite3TriggerDeleteStep(tls *crt.TLS, _db *Xsqlite3, _pTableName *XToken, _pWhere *XExpr) (r0 *XTriggerStep) { // sqlite3.c:122627:1 var _pTriggerStep *XTriggerStep // sqlite3.c:122632:15 _ = _pTriggerStep _pTriggerStep = _triggerStepAllocate(tls, _db, uint8(i32(109)), _pTableName) if _pTriggerStep == nil { goto _0 } *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(32 /* X5 */))))) = _sqlite3ExprDup(tls, _db, _pWhere, i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = uint8(i32(10)) _0: _sqlite3ExprDelete(tls, _db, _pWhere) r0 = _pTriggerStep return } func _sqlite3TriggerSelectStep(tls *crt.TLS, _db *Xsqlite3, _pSelect *XSelect) (r0 *XTriggerStep) { // sqlite3.c:122530:1 var _pTriggerStep *XTriggerStep // sqlite3.c:122531:15 _ = _pTriggerStep _pTriggerStep = (*XTriggerStep)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(72)))) if _pTriggerStep != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3SelectDelete(tls, _db, _pSelect) r0 = (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) return _0: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(0 /* X0 */))) = uint8(i32(119)) *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(16 /* X3 */))))) = _pSelect *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = uint8(i32(10)) r0 = _pTriggerStep return } func _sqlite3DropTrigger(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _noErr int32) { // sqlite3.c:122664:1 var _pTrigger *XTrigger // sqlite3.c:122665:11 _ = _pTrigger var _i int32 // sqlite3.c:122666:7 _ = _i var _zDb *int8 // sqlite3.c:122667:14 _ = _zDb var _zName *int8 // sqlite3.c:122668:14 _ = _zName var _db *Xsqlite3 // sqlite3.c:122669:11 _ = _db var _2_j int32 // sqlite3.c:122681:9 _ = _2_j _pTrigger = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_db.X17) == 0 { goto _0 } goto _drop_trigger_cleanup _0: if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _1 } goto _drop_trigger_cleanup _1: func() int32 { if (_pName.X0) == i32(1) { return i32(0) } return func() int32 { 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(119808))) crt.X__builtin_abort(tls) return i32(0) }() }() _zDb = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X1 _zName = (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */))))) + 112*uintptr(i32(0)))).X2 func() int32 { if (_zDb != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(61940))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _7: if _i >= (_db.X5) { goto _10 } _2_j = func() int32 { if _i < i32(2) { return (_i ^ i32(1)) } return _i }() if _zDb == nil || _sqlite3StrICmp(tls, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_2_j))).X0, _zDb) == 0 { goto _14 } goto _8 _14: func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _2_j, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(61992))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_2_j))).X4)+uintptr(56 /* X4 */))), _zName))) if _pTrigger == nil { goto _17 } goto _10 _17: _8: _i += 1 goto _7 _10: if _pTrigger != nil { goto _18 } if _noErr != 0 { goto _19 } _sqlite3ErrorMsg(tls, _pParse, str(129596), unsafe.Pointer(_pName), i32(0)) goto _20 _19: _sqlite3CodeVerifyNamedSchema(tls, _pParse, _zDb) _20: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(29 /* X5 */))) = uint8(i32(1)) goto _drop_trigger_cleanup _18: _sqlite3DropTriggerPtr(tls, _pParse, _pTrigger) _drop_trigger_cleanup: _sqlite3SrcListDelete(tls, _db, _pName) return } var _sqlite3DropTriggerØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3DropTriggerØ00__func__Ø000[0], str(129616), 19) } func _sqlite3Attach(tls *crt.TLS, _pParse *XParse, _p *XExpr, _pDbname *XExpr, _pKey *XExpr) { // sqlite3.c:99008:1 _codeAttach(tls, _pParse, i32(24), &_sqlite3AttachØ00attach_funcØ001, _p, _p, _pDbname, _pKey) return } func _codeAttach(tls *crt.TLS, _pParse *XParse, _type int32, _pFunc *XFuncDef, _pAuthArg *XExpr, _pFilename *XExpr, _pDbname *XExpr, _pKey *XExpr) { // sqlite3.c:98915:1 var _rc int32 // sqlite3.c:98924:7 _ = _rc var _sName XNameContext // sqlite3.c:98925:15 _ = _sName var _v *TVdbe // sqlite3.c:98926:8 _ = _v var _db *Xsqlite3 // sqlite3.c:98927:10 _ = _db var _regArgs int32 // sqlite3.c:98928:7 _ = _regArgs var _2_zAuthArg *int8 // sqlite3.c:98944:10 _ = _2_zAuthArg _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X16) == 0 { goto _0 } goto _attach_end _0: crt.Xmemset(tls, (unsafe.Pointer)(&_sName), i32(0), u64(56)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sName)) + uintptr(0 /* X0 */))))) = _pParse 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)) { goto _3 } goto _attach_end _3: if _pAuthArg == nil { goto _4 } if int32(_pAuthArg.X0) != i32(97) { goto _5 } _2_zAuthArg = *(**int8)(unsafe.Pointer((*T5519038)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuthArg)) + uintptr(8 /* X3 */))))) goto _6 _5: _2_zAuthArg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _6: _rc = _sqlite3AuthCheck(tls, _pParse, _type, _2_zAuthArg, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _rc == i32(0) { goto _7 } goto _attach_end _7: _4: _v = _sqlite3GetVdbe(tls, _pParse) _regArgs = _sqlite3GetTempRange(tls, _pParse, i32(4)) _sqlite3ExprCode(tls, _pParse, _pFilename, _regArgs) _sqlite3ExprCode(tls, _pParse, _pDbname, _regArgs+i32(1)) _sqlite3ExprCode(tls, _pParse, _pKey, _regArgs+i32(2)) func() int32 { if (_v != nil) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(129636))) crt.X__builtin_abort(tls) return i32(0) }() }() if _v == nil { goto _11 } _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(0), (_regArgs+i32(3))-int32(_pFunc.X0), _regArgs+i32(3), (*int8)(unsafe.Pointer(_pFunc)), i32(-4)) func() int32 { if (int32(_pFunc.X0) == i32(-1)) || ((int32(_pFunc.X0) & i32(255)) == int32(_pFunc.X0)) { return i32(0) } return func() int32 { 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(129660))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_pFunc.X0))) _sqlite3VdbeAddOp1(tls, _v, i32(151), bool2int(_type == i32(24))) _11: _attach_end: _sqlite3ExprDelete(tls, _db, _pFilename) _sqlite3ExprDelete(tls, _db, _pDbname) _sqlite3ExprDelete(tls, _db, _pKey) return } func _resolveAttachExpr(tls *crt.TLS, _pName *XNameContext, _pExpr *XExpr) (r0 int32) { // sqlite3.c:98636:1 var _rc int32 // sqlite3.c:98638:7 _ = _rc _rc = i32(0) if _pExpr == nil { goto _0 } if int32(_pExpr.X0) == i32(55) { goto _1 } _rc = _sqlite3ResolveExprNames(tls, _pName, _pExpr) goto _2 _1: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(97)) _2: _0: r0 = _rc return } var _codeAttachØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_codeAttachØ00__func__Ø000[0], str(129712), 11) } var _sqlite3AttachØ00attach_funcØ001 XFuncDef // sqlite3.c:99009:24 func init() { _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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_attachFunc})), X5: nil, X6: str(129724), X7: T5458811{}} } func _attachFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:98660:1 var _i int32 // sqlite3.c:98665:7 _ = _i var _rc int32 // sqlite3.c:98666:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:98667:11 _ = _db var _zName *int8 // sqlite3.c:98668:14 _ = _zName var _zFile *int8 // sqlite3.c:98669:14 _ = _zFile var _zPath *int8 // sqlite3.c:98670:8 _ = _zPath var _zErr *int8 // sqlite3.c:98671:8 _ = _zErr var _flags uint32 // sqlite3.c:98672:16 _ = _flags var _aNew *XDb // sqlite3.c:98673:6 _ = _aNew var _zErrDyn *int8 // sqlite3.c:98674:8 _ = _zErrDyn var _pVfs *Xsqlite3_vfs // sqlite3.c:98675:15 _ = _pVfs var _3_z *int8 // sqlite3.c:98701:10 _ = _3_z var _9_pPager *XPager // sqlite3.c:98746:11 _ = _9_pPager var _14_iDb int32 // sqlite3.c:98825:9 _ = _14_iDb _rc = i32(0) _db = Xsqlite3_context_db_handle(tls, _context) _zPath = nil _zErr = nil _zErrDyn = nil _zFile = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _zName = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))))) if _zFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _zFile = str(196) _0: if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _zName = str(196) _1: if (_db.X5) < ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(7))))) + i32(2)) { goto _2 } _zErrDyn = _sqlite3MPrintf(tls, _db, str(129740), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(7))))) goto _attach_error _2: if (_db.X15) != 0 { goto _3 } _zErrDyn = _sqlite3MPrintf(tls, _db, str(129780)) goto _attach_error _3: _i = i32(0) _4: if _i >= (_db.X5) { goto _7 } _3_z = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X0 func() int32 { if (_3_z != nil) && (_zName != nil) { return i32(0) } return func() int32 { 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(129824))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3StrICmp(tls, _3_z, _zName) != i32(0) { goto _11 } _zErrDyn = _sqlite3MPrintf(tls, _db, str(129836), unsafe.Pointer(_zName)) goto _attach_error _11: _i += 1 goto _4 _7: if (*XDb)(unsafe.Pointer(_db.X4)) != (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(560 /* X72 */))))) { goto _12 } _aNew = (*XDb)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(96)))) if _aNew != (*XDb)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } return _13: crt.Xmemcpy(tls, (unsafe.Pointer)(_aNew), _db.X4, u64(64)) goto _14 _12: _aNew = (*XDb)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, _db.X4, u64(32)*uint64((_db.X5)+i32(1))))) if _aNew != (*XDb)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } return _15: _14: *(**XDb)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(32 /* X4 */))))) = _aNew _aNew = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_db.X5))) crt.Xmemset(tls, (unsafe.Pointer)(_aNew), i32(0), u64(32)) _flags = _db.X9 _rc = _sqlite3ParseUri(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)).X4, _zFile, &_flags, &_pVfs, &_zPath, &_zErr) if _rc == i32(0) { goto _16 } if _rc != i32(7) { goto _17 } _sqlite3OomFault(tls, _db) _17: Xsqlite3_result_error(tls, _context, _zErr, i32(-1)) Xsqlite3_free(tls, (unsafe.Pointer)(_zErr)) return _16: func() int32 { if _pVfs != nil { return i32(0) } return func() int32 { 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(129868))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_flags *p = (*p) | uint32(i32(256)) sink985 = *p } _rc = _sqlite3BtreeOpen(tls, _pVfs, _zPath, _db, (**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+uintptr(8 /* X1 */))))), i32(0), int32(_flags)) Xsqlite3_free(tls, (unsafe.Pointer)(_zPath)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(40 /* X5 */))) += 1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(93 /* X25 */))) = uint8(i32(0)) if _rc != i32(19) { goto _20 } _rc = i32(1) _zErrDyn = _sqlite3MPrintf(tls, _db, str(129876)) goto _21 _20: if _rc != i32(0) { goto _22 } *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew)) + uintptr(24 /* X4 */))))) = _sqlite3SchemaGet(tls, _db, (*XBtree)(unsafe.Pointer(_aNew.X1))) if (*XSchema)(unsafe.Pointer(_aNew.X4)) != nil { goto _23 } _rc = _sqlite3NomemError(tls, i32(98749)) goto _24 _23: if ((*XSchema)(unsafe.Pointer(_aNew.X4)).X7) == 0 || int32((*XSchema)(unsafe.Pointer(_aNew.X4)).X8) == int32(_db.X14) { goto _26 } _zErrDyn = _sqlite3MPrintf(tls, _db, str(51604)) _rc = i32(1) _26: _24: _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_aNew.X1))) _9_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_aNew.X1))) _sqlite3PagerLockingMode(tls, _9_pPager, int32(_db.X19)) _sqlite3BtreeSecureDelete(tls, (*XBtree)(unsafe.Pointer(_aNew.X1)), _sqlite3BtreeSecureDelete(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1)), i32(-1))) _sqlite3BtreeSetPagerFlags(tls, (*XBtree)(unsafe.Pointer(_aNew.X1)), uint32(i32(3)|((_db.X6)&i32(56)))) _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_aNew.X1))) _22: _21: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew)) + uintptr(16 /* X2 */))) = uint8(i32(3)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _zName) if _rc != i32(0) || (_aNew.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _28 } _rc = _sqlite3NomemError(tls, i32(98769)) _28: if _rc != i32(0) { goto _29 } _sqlite3BtreeEnterAll(tls, _db) _rc = _sqlite3Init(tls, _db, &_zErrDyn) _sqlite3BtreeLeaveAll(tls, _db) _29: if _rc == 0 { goto _30 } _14_iDb = (_db.X5) - i32(1) func() int32 { if _14_iDb >= i32(2) { return i32(0) } return func() int32 { 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(129908))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_14_iDb))).X1)) == nil { goto _33 } _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_14_iDb))).X1))) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_14_iDb))))) + uintptr(8 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_14_iDb))))) + uintptr(24 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) _33: _sqlite3ResetAllSchemasOfConnection(tls, _db) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(40 /* X5 */))) = _14_iDb if _rc != i32(7) && _rc != i32(3082) { goto _35 } _sqlite3OomFault(tls, _db) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrDyn)) _zErrDyn = _sqlite3MPrintf(tls, _db, str(61408)) goto _36 _35: if _zErrDyn != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _37 } _zErrDyn = _sqlite3MPrintf(tls, _db, str(129916), unsafe.Pointer(_zFile)) _37: _36: goto _attach_error _30: return _attach_error: if _zErrDyn == nil { goto _38 } Xsqlite3_result_error(tls, _context, _zErrDyn, i32(-1)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrDyn)) _38: if _rc == 0 { goto _39 } Xsqlite3_result_error_code(tls, _context, _rc) _39: return } var _attachFuncØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_attachFuncØ00__func__Ø000[0], str(129944), 11) } func _sqlite3ParseUri(tls *crt.TLS, _zDefaultVfs *int8, _zUri *int8, _pFlags *uint32, _ppVfs **Xsqlite3_vfs, _pzFile **int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:142453:1 var _rc int32 // sqlite3.c:142461:7 _ = _rc var _flags uint32 // sqlite3.c:142462:16 _ = _flags var _zVfs *int8 // sqlite3.c:142463:14 _ = _zVfs var _zFile *int8 // sqlite3.c:142464:8 _ = _zFile var _c int8 // sqlite3.c:142465:8 _ = _c var _nUri int32 // sqlite3.c:142466:7 _ = _nUri var _1_zOpt *int8 // sqlite3.c:142474:10 _ = _1_zOpt var _1_eState int32 // sqlite3.c:142475:9 _ = _1_eState var _1_iIn int32 // sqlite3.c:142476:9 _ = _1_iIn var _1_iOut int32 // sqlite3.c:142477:9 _ = _1_iOut var _1_nByte uint64 // sqlite3.c:142478:9 _ = _1_nByte var _5_octet int32 // sqlite3.c:142532:13 _ = _5_octet var _13_nOpt int32 // sqlite3.c:142586:11 _ = _13_nOpt var _13_zVal *int8 // sqlite3.c:142587:12 _ = _13_zVal var _13_nVal int32 // sqlite3.c:142588:11 _ = _13_nVal var _15_aMode *TIdList_item // sqlite3.c:142596:11 _ = _15_aMode var _15_zModeType *int8 // sqlite3.c:142597:14 _ = _15_zModeType var _15_mask int32 // sqlite3.c:142598:13 _ = _15_mask var _15_limit int32 // sqlite3.c:142599:13 _ = _15_limit var _18_i int32 // sqlite3.c:142630:15 _ = _18_i var _18_mode int32 // sqlite3.c:142631:15 _ = _18_mode var _19_z *int8 // sqlite3.c:142633:24 _ = _19_z _rc = i32(0) _flags = *_pFlags _zVfs = _zDefaultVfs _nUri = _sqlite3Strlen30(tls, _zUri) func() int32 { if (*_pzErrMsg) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(129956))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_flags&uint32(i32(64))) == 0 && (_sqlite3Config.X3) == 0 || _nUri < i32(5) || crt.Xmemcmp(tls, (unsafe.Pointer)(_zUri), (unsafe.Pointer)(str(129972)), uint64(i32(5))) != i32(0) { goto _5 } _1_iOut = i32(0) _1_nByte = uint64(_nUri + i32(2)) { p := &_flags *p = (*p) | uint32(i32(64)) sink985 = *p } _1_iIn = i32(0) _6: if _1_iIn >= _nUri { goto _9 } { p := &_1_nByte *p = (*p) + uint64(bool2int(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn)))) == i32(38))) sink992 = *p } _1_iIn += 1 goto _6 _9: _zFile = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, _1_nByte))) if _zFile != nil { goto _10 } r0 = _sqlite3NomemError(tls, i32(142486)) return _10: _1_iIn = i32(5) 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) { goto _12 } _1_iIn = i32(7) _13: 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) { goto _14 } _1_iIn += 1 goto _13 _14: if _1_iIn == i32(7) || _1_iIn == i32(16) && crt.Xmemcmp(tls, (unsafe.Pointer)(str(129980)), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri))+1*uintptr(i32(7))))), uint64(i32(9))) == 0 { goto _18 } *_pzErrMsg = Xsqlite3_mprintf(tls, str(129992), _1_iIn-i32(7), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri))+1*uintptr(i32(7)))))) _rc = i32(1) goto _parse_uri_out _18: _12: _1_eState = i32(0) _19: if int32(store973(&_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn))))) == i32(0) || int32(_c) == i32(35) { goto _20 } _1_iIn += 1 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 { goto _24 } _5_octet = int32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(postInc961(&_1_iIn, int32(1)))))))) << uint(i32(4)) { p := &_5_octet *p = (*p) + int32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(postInc961(&_1_iIn, int32(1)))))))) sink961 = *p } func() int32 { if (_5_octet >= i32(0)) && (_5_octet < i32(256)) { return i32(0) } return func() int32 { 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(130020))) crt.X__builtin_abort(tls) return i32(0) }() }() if _5_octet != i32(0) { goto _28 } _29: 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) { goto _30 } _1_iIn += 1 goto _29 _30: goto _19 _28: _c = int8(_5_octet) goto _39 _24: if _1_eState != i32(1) || int32(_c) != i32(38) && int32(_c) != i32(61) { goto _42 } if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_1_iOut-i32(1))))) != i32(0) { goto _43 } _44: 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) { goto _45 } _1_iIn += 1 goto _44 _45: goto _19 _43: if int32(_c) != i32(38) { goto _48 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) goto _49 _48: _1_eState = i32(2) _49: _c = int8(i32(0)) goto _50 _42: if (_1_eState != i32(0) || int32(_c) != i32(63)) && (_1_eState != i32(2) || int32(_c) != i32(38)) { goto _54 } _c = int8(i32(0)) _1_eState = i32(1) _54: _50: _39: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = _c goto _19 _20: if _1_eState != i32(1) { goto _55 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) _55: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) _1_zOpt = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_sqlite3Strlen30(tls, _zFile)+i32(1)))) _56: if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zOpt)) + 1*uintptr(i32(0))))) == 0 { goto _57 } _13_nOpt = _sqlite3Strlen30(tls, _1_zOpt) _13_zVal = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zOpt)) + 1*uintptr(_13_nOpt+i32(1)))) _13_nVal = _sqlite3Strlen30(tls, _13_zVal) if _13_nOpt != i32(3) || crt.Xmemcmp(tls, (unsafe.Pointer)(str(130044)), (unsafe.Pointer)(_1_zOpt), uint64(i32(3))) != i32(0) { goto _59 } _zVfs = _13_zVal goto _60 _59: _15_aMode = (*TIdList_item)(unsafe.Pointer(uintptr(i32(0)))) _15_zModeType = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _15_mask = i32(0) _15_limit = i32(0) if _13_nOpt != i32(5) || crt.Xmemcmp(tls, (unsafe.Pointer)(str(130048)), (unsafe.Pointer)(_1_zOpt), uint64(i32(5))) != i32(0) { goto _62 } _15_mask = i32(393216) _15_aMode = (*TIdList_item)(unsafe.Pointer(&_sqlite3ParseUriØ00aCacheModeØ001)) _15_limit = _15_mask _15_zModeType = str(130048) _62: if _13_nOpt != i32(4) || crt.Xmemcmp(tls, (unsafe.Pointer)(str(130056)), (unsafe.Pointer)(_1_zOpt), uint64(i32(4))) != i32(0) { goto _64 } _15_mask = i32(135) _15_aMode = (*TIdList_item)(unsafe.Pointer(&_sqlite3ParseUriØ00aOpenModeØ002)) _15_limit = int32(uint32(_15_mask) & _flags) _15_zModeType = str(130064) _64: if _15_aMode == nil { goto _65 } _18_mode = i32(0) _18_i = i32(0) _66: if ((*TIdList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_aMode)) + 16*uintptr(_18_i))).X0) == nil { goto _69 } _19_z = (*TIdList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_aMode)) + 16*uintptr(_18_i))).X0 if _13_nVal != _sqlite3Strlen30(tls, _19_z) || i32(0) != crt.Xmemcmp(tls, (unsafe.Pointer)(_13_zVal), (unsafe.Pointer)(_19_z), uint64(_13_nVal)) { goto _71 } _18_mode = (*TIdList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_aMode)) + 16*uintptr(_18_i))).X1 goto _69 _71: _18_i += 1 goto _66 _69: if _18_mode != i32(0) { goto _72 } *_pzErrMsg = Xsqlite3_mprintf(tls, str(130072), unsafe.Pointer(_15_zModeType), unsafe.Pointer(_13_zVal)) _rc = i32(1) goto _parse_uri_out _72: if (_18_mode & i32(-129)) <= _15_limit { goto _73 } *_pzErrMsg = Xsqlite3_mprintf(tls, str(130092), unsafe.Pointer(_15_zModeType), unsafe.Pointer(_13_zVal)) _rc = i32(3) goto _parse_uri_out _73: _flags = (_flags & uint32(^_15_mask)) | uint32(_18_mode) _65: _60: _1_zOpt = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_zVal)) + 1*uintptr(_13_nVal+i32(1)))) goto _56 _57: goto _74 _5: _zFile = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_nUri+i32(2))))) if _zFile != nil { goto _75 } r0 = _sqlite3NomemError(tls, i32(142659)) return _75: if _nUri == 0 { goto _76 } crt.Xmemcpy(tls, (unsafe.Pointer)(_zFile), (unsafe.Pointer)(_zUri), uint64(_nUri)) _76: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_nUri))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_nUri+i32(1)))) = int8(i32(0)) { p := &_flags *p = (*p) & uint32(i32(-65)) sink985 = *p } _74: *_ppVfs = Xsqlite3_vfs_find(tls, _zVfs) if (*_ppVfs) != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { goto _77 } *_pzErrMsg = Xsqlite3_mprintf(tls, str(130116), unsafe.Pointer(_zVfs)) _rc = i32(1) _77: _parse_uri_out: if _rc == i32(0) { goto _78 } Xsqlite3_free(tls, (unsafe.Pointer)(_zFile)) _zFile = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _78: *_pFlags = _flags *_pzFile = _zFile r0 = _rc return } var _sqlite3ParseUriØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ParseUriØ00__func__Ø000[0], str(130132), 16) } var _sqlite3ParseUriØ00aCacheModeØ001 [3]TIdList_item // sqlite3.c:142602:34 func init() { _sqlite3ParseUriØ00aCacheModeØ001 = [3]TIdList_item{TIdList_item{X0: str(128900), X1: i32(131072)}, TIdList_item{X0: str(130148), X1: i32(262144)}, TIdList_item{}} } var _sqlite3ParseUriØ00aOpenModeØ002 [5]TIdList_item // sqlite3.c:142614:34 func init() { _sqlite3ParseUriØ00aOpenModeØ002 = [5]TIdList_item{TIdList_item{X0: str(130156), X1: i32(1)}, TIdList_item{X0: str(130160), X1: i32(2)}, TIdList_item{X0: str(130164), X1: i32(6)}, TIdList_item{X0: str(93264), X1: i32(128)}, TIdList_item{}} } func _sqlite3SchemaGet(tls *crt.TLS, _db *Xsqlite3, _pBt *XBtree) (r0 *XSchema) { // sqlite3.c:104368:1 var _p *XSchema // sqlite3.c:104369:10 _ = _p if _pBt == nil { goto _0 } _p = (*XSchema)(unsafe.Pointer(_sqlite3BtreeSchema(tls, _pBt, int32(u64(120)), _sqlite3SchemaClear))) goto _1 _0: _p = (*XSchema)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), u64(120)))) _1: if _p != nil { goto _2 } _sqlite3OomFault(tls, _db) goto _3 _2: if i32(0) != int32(_p.X7) { goto _4 } _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))) _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X3 */)))) _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(56 /* X4 */)))) _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(80 /* X5 */)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(113 /* X8 */))) = uint8(i32(1)) _4: _3: r0 = _p return } func Xsqlite3_result_error_code(tls *crt.TLS, _pCtx *Xsqlite3_context, _errCode int32) { // sqlite3.c:76461:12 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(36 /* X5 */))) = _errCode *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(1)) if (*TVdbe)(unsafe.Pointer(_pCtx.X3)) == nil { goto _0 } *(*int32)(unsafe.Pointer(uintptr(_pCtx.X3) + uintptr(188 /* X28 */))) = _errCode _0: if (int32((*XMem)(unsafe.Pointer(_pCtx.X0)).X1) & i32(1)) == 0 { goto _1 } _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _sqlite3ErrStr(tls, _errCode), i32(-1), uint8(i32(1)), nil) _1: return } func _sqlite3Detach(tls *crt.TLS, _pParse *XParse, _pDbname *XExpr) { // sqlite3.c:98989:1 _codeAttach(tls, _pParse, i32(25), &_sqlite3DetachØ00detach_funcØ001, _pDbname, (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _pDbname) return } var _sqlite3DetachØ00detach_funcØ001 XFuncDef // sqlite3.c:98990:24 func init() { _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 { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_detachFunc})), X5: nil, X6: str(130168), X7: T5458811{}} } func _detachFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:98863:1 var _zName *int8 // sqlite3.c:98868:14 _ = _zName var _db *Xsqlite3 // sqlite3.c:98869:11 _ = _db var _i int32 // sqlite3.c:98870:7 _ = _i var _pDb *XDb // sqlite3.c:98871:6 _ = _pDb var _zErr [128]int8 // sqlite3.c:98872:8 _ = _zErr _zName = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _db = Xsqlite3_context_db_handle(tls, _context) _pDb = nil if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _zName = str(196) _0: _i = i32(0) _1: if _i >= (_db.X5) { goto _4 } _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))) if (*XBtree)(unsafe.Pointer(_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } goto _2 _5: if _sqlite3StrICmp(tls, _pDb.X0, _zName) != i32(0) { goto _6 } goto _4 _6: _2: _i += 1 goto _1 _4: if _i < (_db.X5) { goto _7 } Xsqlite3_snprintf(tls, int32(u64(128)), (*int8)(unsafe.Pointer(&_zErr)), str(130184), unsafe.Pointer(_zName)) goto _detach_error _7: if _i >= i32(2) { goto _8 } Xsqlite3_snprintf(tls, int32(u64(128)), (*int8)(unsafe.Pointer(&_zErr)), str(130208), unsafe.Pointer(_zName)) goto _detach_error _8: if (_db.X15) != 0 { goto _9 } Xsqlite3_snprintf(tls, int32(u64(128)), (*int8)(unsafe.Pointer(&_zErr)), str(130236)) goto _detach_error _9: if _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) == 0 && _sqlite3BtreeIsInBackup(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) == 0 { goto _11 } Xsqlite3_snprintf(tls, int32(u64(128)), (*int8)(unsafe.Pointer(&_zErr)), str(130280), unsafe.Pointer(_zName)) goto _detach_error _11: _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(8 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(24 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3CollapseDatabaseArray(tls, _db) return _detach_error: Xsqlite3_result_error(tls, _context, (*int8)(unsafe.Pointer(&_zErr)), i32(-1)) return } func _sqlite3Reindex(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken) { // sqlite3.c:103743:1 var _pColl *XCollSeq // sqlite3.c:103744:11 _ = _pColl var _z *int8 // sqlite3.c:103745:8 _ = _z var _zDb *int8 // sqlite3.c:103746:14 _ = _zDb var _pTab *XTable // sqlite3.c:103747:9 _ = _pTab var _pIndex *XIndex // sqlite3.c:103748:9 _ = _pIndex var _iDb int32 // sqlite3.c:103749:7 _ = _iDb var _db *Xsqlite3 // sqlite3.c:103750:11 _ = _db var _pObjName *XToken // sqlite3.c:103751:9 _ = _pObjName var _3_zColl *int8 // sqlite3.c:103763:10 _ = _3_zColl _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _0 } return _0: if _pName1 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _reindexDatabases(tls, _pParse, (*int8)(unsafe.Pointer(uintptr(i32(0))))) return _1: if func() int32 { if _pName2 == (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 && (_pName2.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } func() int32 { if (_pName1.X0) != nil { return i32(0) } return func() int32 { 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(130304))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_zColl = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName1) if _3_zColl != nil { goto _9 } return _9: _pColl = _sqlite3FindCollSeq(tls, _db, _db.X14, _3_zColl, i32(0)) if _pColl == nil { goto _10 } _reindexDatabases(tls, _pParse, _3_zColl) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_zColl)) return _10: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_zColl)) _6: _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pObjName) if _iDb >= i32(0) { goto _11 } return _11: _z = _sqlite3NameFromToken(tls, _db, _pObjName) if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } return _12: _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _pTab = _sqlite3FindTable(tls, _db, _z, _zDb) if _pTab == nil { goto _13 } _reindexTable(tls, _pParse, _pTab, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) return _13: _pIndex = _sqlite3FindIndex(tls, _db, _z, _zDb) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) if _pIndex == nil { goto _14 } _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _sqlite3RefillIndex(tls, _pParse, _pIndex, i32(-1)) return _14: _sqlite3ErrorMsg(tls, _pParse, str(130316)) return } func _reindexDatabases(tls *crt.TLS, _pParse *XParse, _zColl *int8) { // sqlite3.c:103711:1 var _pDb *XDb // sqlite3.c:103712:6 _ = _pDb var _iDb int32 // sqlite3.c:103713:7 _ = _iDb var _db *Xsqlite3 // sqlite3.c:103714:11 _ = _db var _k *XHashElem // sqlite3.c:103715:12 _ = _k var _pTab *XTable // sqlite3.c:103716:9 _ = _pTab _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() *func() **XDb { _iDb = i32(0); return &_pDb }() = (*XDb)(unsafe.Pointer(_db.X4)) _2: if _iDb >= (_db.X5) { goto _5 } func() int32 { if _pDb != (*XDb)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(130364))) crt.X__builtin_abort(tls) return i32(0) }() }() _k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(8 /* X2 */))).X2)) _8: if _k == nil { goto _11 } _pTab = (*XTable)(unsafe.Pointer(_k.X2)) _reindexTable(tls, _pParse, _pTab, _zColl) _k = (*XHashElem)(unsafe.Pointer(_k.X0)) goto _8 _11: *(*uintptr)(unsafe.Pointer(func() **XDb { _iDb += 1; return &_pDb }())) += uintptr(32) goto _2 _5: return } var _reindexDatabasesØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_reindexDatabasesØ00__func__Ø000[0], str(130372), 17) } func _reindexTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _zColl *int8) { // sqlite3.c:103692:1 var _pIndex *XIndex // sqlite3.c:103693:9 _ = _pIndex var _2_iDb int32 // sqlite3.c:103697:11 _ = _2_iDb _pIndex = (*XIndex)(unsafe.Pointer(_pTab.X2)) _0: if _pIndex == nil { goto _3 } if _zColl != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _collationMatch(tls, _zColl, _pIndex) == 0 { goto _5 } _2_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _2_iDb) _sqlite3RefillIndex(tls, _pParse, _pIndex, i32(-1)) _5: _pIndex = (*XIndex)(unsafe.Pointer(_pIndex.X5)) goto _0 _3: return } func _collationMatch(tls *crt.TLS, _zColl *int8, _pIndex *XIndex) (r0 int32) { // sqlite3.c:103673:1 var _i int32 // sqlite3.c:103674:7 _ = _i var _1_z *int8 // sqlite3.c:103677:16 _ = _1_z func() int32 { if _zColl != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(130392))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = i32(0) _2: if _i >= int32(_pIndex.X14) { goto _5 } _1_z = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 8*uintptr(_i))) func() int32 { if (_1_z != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i)))) < i32(0)) { return i32(0) } return func() int32 { 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(130404))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i)))) < i32(0) || i32(0) != _sqlite3StrICmp(tls, _1_z, _zColl) { goto _10 } r0 = i32(1) return _10: _i += 1 goto _2 _5: r0 = i32(0) return } var _collationMatchØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_collationMatchØ00__func__Ø000[0], str(130436), 15) } var _sqlite3ReindexØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3ReindexØ00__func__Ø000[0], str(130452), 15) } func _sqlite3Analyze(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken) { // sqlite3.c:98054:1 var _db *Xsqlite3 // sqlite3.c:98055:11 _ = _db var _iDb int32 // sqlite3.c:98056:7 _ = _iDb var _i int32 // sqlite3.c:98057:7 _ = _i var _z *int8 // sqlite3.c:98058:8 _ = _z var _zDb *int8 // sqlite3.c:98058:12 _ = _zDb var _pTab *XTable // sqlite3.c:98059:9 _ = _pTab var _pIdx *XIndex // sqlite3.c:98060:9 _ = _pIdx var _pTableName *XToken // sqlite3.c:98061:9 _ = _pTableName var _v *TVdbe // sqlite3.c:98062:8 _ = _v _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { return i32(0) } return func() int32 { 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(130468))) crt.X__builtin_abort(tls) return i32(0) }() }() if i32(0) == _sqlite3ReadSchema(tls, _pParse) { goto _2 } return _2: func() int32 { if (_pName2 != (*XToken)(unsafe.Pointer(uintptr(i32(0))))) || (_pName1 == (*XToken)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(130508))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pName1 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _i = i32(0) _7: if _i >= (_db.X5) { goto _10 } if _i != i32(1) { goto _11 } goto _8 _11: _analyzeDatabase(tls, _pParse, _i) _8: _i += 1 goto _7 _10: goto _12 _6: if (_pName2.X1) != uint32(i32(0)) || store961(&_iDb, _sqlite3FindDb(tls, _db, _pName1)) < i32(0) { goto _14 } _analyzeDatabase(tls, _pParse, _iDb) goto _15 _14: _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pTableName) if _iDb < i32(0) { goto _16 } _zDb = func() *int8 { if (_pName2.X1) != 0 { return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() _z = _sqlite3NameFromToken(tls, _db, _pTableName) if _z == nil { goto _19 } if store5661021(&_pIdx, _sqlite3FindIndex(tls, _db, _z, _zDb)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } _analyzeTable(tls, _pParse, (*XTable)(unsafe.Pointer(_pIdx.X3)), _pIdx) goto _21 _20: if store5434322(&_pTab, _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _z, _zDb)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _22 } _analyzeTable(tls, _pParse, _pTab, (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) _22: _21: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) _19: _16: _15: _12: if int32(_db.X26) != i32(0) || store5435885(&_v, _sqlite3GetVdbe(tls, _pParse)) == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _24 } _sqlite3VdbeAddOp0(tls, _v, i32(151)) _24: return } var _sqlite3AnalyzeØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AnalyzeØ00__func__Ø000[0], str(130532), 15) } func _analyzeDatabase(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:97996:1 var _db *Xsqlite3 // sqlite3.c:97997:11 _ = _db var _pSchema *XSchema // sqlite3.c:97998:10 _ = _pSchema var _k *XHashElem // sqlite3.c:97999:12 _ = _k var _iStatCur int32 // sqlite3.c:98000:7 _ = _iStatCur var _iMem int32 // sqlite3.c:98001:7 _ = _iMem var _iTab int32 // sqlite3.c:98002:7 _ = _iTab var _1_pTab *XTable // sqlite3.c:98012:11 _ = _1_pTab _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _iStatCur = _pParse.X17 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) *p = (*p) + i32(3) sink961 = *p } _openStatTable(tls, _pParse, _iDb, _iStatCur, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) _iMem = (_pParse.X18) + i32(1) _iTab = _pParse.X17 func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() _k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(8 /* X2 */))).X2)) _2: if _k == nil { goto _5 } _1_pTab = (*XTable)(unsafe.Pointer(_k.X2)) _analyzeOneTable(tls, _pParse, _1_pTab, (*XIndex)(unsafe.Pointer(uintptr(i32(0)))), _iStatCur, _iMem, _iTab) _k = (*XHashElem)(unsafe.Pointer(_k.X0)) goto _2 _5: _loadAnalysis(tls, _pParse, _iDb) return } func _openStatTable(tls *crt.TLS, _pParse *XParse, _iDb int32, _iStatCur int32, _zWhere *int8, _zWhereType *int8) { // sqlite3.c:96859:1 var _i int32 // sqlite3.c:96882:7 _ = _i var _db *Xsqlite3 // sqlite3.c:96883:11 _ = _db var _pDb *XDb // sqlite3.c:96884:6 _ = _pDb var _v *TVdbe // sqlite3.c:96885:8 _ = _v var _aRoot [3]int32 // sqlite3.c:96886:7 _ = _aRoot var _aCreateTbl [3]uint8 // sqlite3.c:96887:6 _ = _aCreateTbl var _1_zTab *int8 // sqlite3.c:96898:16 _ = _1_zTab var _1_pStat *XTable // sqlite3.c:96899:11 _ = _1_pStat _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3VdbeDb(tls, _v) == _db { return i32(0) } return func() int32 { 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(130548))) crt.X__builtin_abort(tls) return i32(0) }() }() _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))) _i = i32(0) _5: if _i >= i32(3) { goto _8 } _1_zTab = (*T6167097)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001)) + 16*uintptr(_i))).X0 if store5434322(&_1_pStat, _sqlite3FindTable(tls, _db, _1_zTab, _pDb.X0)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } if ((*T6167097)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001)) + 16*uintptr(_i))).X1) == nil { goto _10 } _sqlite3NestedParse(tls, _pParse, str(130572), unsafe.Pointer(_pDb.X0), unsafe.Pointer(_1_zTab), unsafe.Pointer((*T6167097)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001))+16*uintptr(_i))).X1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))) = _pParse.X32 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCreateTbl)) + 1*uintptr(_i))) = uint8(i32(16)) _10: goto _11 _9: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))) = _1_pStat.X7 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCreateTbl)) + 1*uintptr(_i))) = uint8(i32(0)) _sqlite3TableLock(tls, _pParse, _iDb, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))), uint8(i32(1)), _1_zTab) if _zWhere == nil { goto _12 } _sqlite3NestedParse(tls, _pParse, str(120004), unsafe.Pointer(_pDb.X0), unsafe.Pointer(_1_zTab), unsafe.Pointer(_zWhereType), unsafe.Pointer(_zWhere)) goto _13 _12: _sqlite3VdbeAddOp2(tls, _v, i32(131), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))), _iDb) _13: _11: _i += 1 goto _5 _8: _i = i32(0) _14: if ((*T6167097)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001)) + 16*uintptr(_i))).X1) == nil { goto _17 } func() int32 { if _i < i32(3) { return i32(0) } return func() int32 { 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(130596))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4Int(tls, _v, i32(106), _iStatCur+_i, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))), _iDb, i32(3)) _sqlite3VdbeChangeP5(tls, _v, uint16(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCreateTbl)) + 1*uintptr(_i))))) _sqlite3VdbeComment(tls, _v, (*T6167097)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001))+16*uintptr(_i))).X0) _i += 1 goto _14 _17: return } var _openStatTableØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_openStatTableØ00__func__Ø000[0], str(130616), 14) } var _openStatTableØ00aTableØ001 [3]struct { X0 *int8 X1 *int8 } // sqlite3.c:96869:5 func init() { _openStatTableØ00aTableØ001 = [3]struct { X0 *int8 X1 *int8 }{T6167097{X0: str(90024), X1: str(130632)}, T6167097{X0: str(130648), X1: nil}, T6167097{X0: str(130664), X1: nil}} } var _analyzeDatabaseØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_analyzeDatabaseØ00__func__Ø000[0], str(130680), 16) } func _analyzeOneTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pOnlyIdx *XIndex, _iStatCur int32, _iMem int32, _iTab int32) { // sqlite3.c:97660:1 var _db *Xsqlite3 // sqlite3.c:97668:11 _ = _db var _pIdx *XIndex // sqlite3.c:97669:9 _ = _pIdx var _iIdxCur int32 // sqlite3.c:97670:7 _ = _iIdxCur var _iTabCur int32 // sqlite3.c:97671:7 _ = _iTabCur var _v *TVdbe // sqlite3.c:97672:8 _ = _v var _i int32 // sqlite3.c:97673:7 _ = _i var _jZeroRows int32 // sqlite3.c:97674:7 _ = _jZeroRows var _iDb int32 // sqlite3.c:97675:7 _ = _iDb var _needTableCnt uint8 // sqlite3.c:97676:6 _ = _needTableCnt var _regNewRowid int32 // sqlite3.c:97677:7 _ = _regNewRowid var _regStat4 int32 // sqlite3.c:97678:7 _ = _regStat4 var _regChng int32 // sqlite3.c:97679:7 _ = _regChng var _regTemp int32 // sqlite3.c:97683:7 _ = _regTemp var _regTabname int32 // sqlite3.c:97684:7 _ = _regTabname var _regIdxname int32 // sqlite3.c:97685:7 _ = _regIdxname var _regStat1 int32 // sqlite3.c:97686:7 _ = _regStat1 var _regPrev int32 // sqlite3.c:97687:7 _ = _regPrev var _5_nCol int32 // sqlite3.c:97725:9 _ = _5_nCol var _5_addrRewind int32 // sqlite3.c:97726:9 _ = _5_addrRewind var _5_addrNextRow int32 // sqlite3.c:97727:9 _ = _5_addrNextRow var _5_zIdxName *int8 // sqlite3.c:97728:16 _ = _5_zIdxName var _5_nColTest int32 // sqlite3.c:97729:9 _ = _5_nColTest var _8_endDistinctTest int32 // sqlite3.c:97824:11 _ = _8_endDistinctTest var _8_aGotoChng *int32 // sqlite3.c:97825:11 _ = _8_aGotoChng var _10_pColl *int8 // sqlite3.c:97849:14 _ = _10_pColl _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _jZeroRows = i32(-1) _needTableCnt = u8(1) _regNewRowid = postInc961(&_iMem, int32(1)) _regStat4 = postInc961(&_iMem, int32(1)) _regChng = postInc961(&_iMem, int32(1)) _regTemp = postInc961(&_iMem, int32(1)) _regTabname = postInc961(&_iMem, int32(1)) _regIdxname = postInc961(&_iMem, int32(1)) _regStat1 = postInc961(&_iMem, int32(1)) _regPrev = _iMem *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = func() int32 { if (_pParse.X18) > _iMem { return (_pParse.X18) } return _iMem }() _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _5 } return _5: if (_pTab.X7) != i32(0) { goto _6 } return _6: if Xsqlite3_strlike(tls, str(130696), _pTab.X0, uint32(i32(0))) != i32(0) { goto _7 } return _7: func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) func() int32 { if _iDb >= i32(0) { return i32(0) } return func() int32 { 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(43016))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(52700))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AuthCheck(tls, _pParse, i32(28), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_iDb))).X0) == 0 { goto _14 } return _14: _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(i32(0)), _pTab.X0) _iTabCur = postInc961(&_iTab, int32(1)) _iIdxCur = postInc961(&_iTab, int32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = func() int32 { if (_pParse.X17) > _iTab { return (_pParse.X17) } return _iTab }() _sqlite3OpenTable(tls, _pParse, _iTabCur, _iDb, _pTab, i32(105)) _sqlite3VdbeLoadString(tls, _v, _regTabname, _pTab.X0) _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _17: if _pIdx == nil { goto _20 } if _pOnlyIdx == nil || _pOnlyIdx == _pIdx { goto _22 } goto _18 _22: if (*XExpr)(unsafe.Pointer(_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } _needTableCnt = uint8(i32(0)) _23: if ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_pIdx.X16)<>uint(i32(30))) != i32(2) { goto _25 } _5_nCol = int32(_pIdx.X13) _5_zIdxName = _pTab.X0 _5_nColTest = _5_nCol - i32(1) goto _26 _25: _5_nCol = int32(_pIdx.X14) _5_zIdxName = _pIdx.X0 _5_nColTest = func() int32 { if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { return (int32(_pIdx.X13) - i32(1)) } return (_5_nCol - i32(1)) }() _26: _sqlite3VdbeLoadString(tls, _v, _regIdxname, _5_zIdxName) _sqlite3VdbeComment(tls, _v, str(130708), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_5_zIdxName)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = func() int32 { if (_pParse.X18) > (_regPrev + _5_nColTest) { return (_pParse.X18) } return (_regPrev + _5_nColTest) }() func() int32 { if _iDb == _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pIdx.X6))) { return i32(0) } return func() int32 { 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(130728))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp3(tls, _v, i32(105), _iIdxCur, _pIdx.X11, _iDb) _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pIdx.X0)) _sqlite3VdbeAddOp2(tls, _v, i32(77), _5_nCol, _regStat4+i32(1)) _sqlite3VdbeAddOp2(tls, _v, i32(77), int32(_pIdx.X13), _regStat4+i32(2)) _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(0), _regStat4+i32(1), _regStat4, (*int8)(unsafe.Pointer(&_statInitFuncdef)), i32(-4)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) _5_addrRewind = _sqlite3VdbeAddOp1(tls, _v, i32(58), _iIdxCur) _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regChng) _5_addrNextRow = _sqlite3VdbeCurrentAddr(tls, _v) if _5_nColTest <= i32(0) { goto _33 } _8_endDistinctTest = _sqlite3VdbeMakeLabel(tls, _v) _8_aGotoChng = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, u64(4)*uint64(_5_nColTest)))) if _8_aGotoChng != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _34 } goto _18 _34: _sqlite3VdbeAddOp0(tls, _v, i32(13)) _5_addrNextRow = _sqlite3VdbeCurrentAddr(tls, _v) if _5_nColTest != i32(1) || int32(_pIdx.X13) != i32(1) || int32(_pIdx.X15) == i32(0) { goto _37 } _sqlite3VdbeAddOp2(tls, _v, i32(35), _regPrev, _8_endDistinctTest) _37: _i = i32(0) _38: if _i >= _5_nColTest { goto _41 } _10_pColl = (*int8)(unsafe.Pointer(_sqlite3LocateCollSeq(tls, _pParse, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 8*uintptr(_i)))))) _sqlite3VdbeAddOp2(tls, _v, i32(77), _i, _regChng) _sqlite3VdbeAddOp3(tls, _v, i32(98), _iIdxCur, _i, _regTemp) *(*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)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) _i += 1 goto _38 _41: _sqlite3VdbeAddOp2(tls, _v, i32(77), _5_nColTest, _regChng) _sqlite3VdbeGoto(tls, _v, _8_endDistinctTest) _sqlite3VdbeJumpHere(tls, _v, _5_addrNextRow-i32(1)) _i = i32(0) _42: if _i >= _5_nColTest { goto _45 } _sqlite3VdbeJumpHere(tls, _v, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aGotoChng)) + 4*uintptr(_i)))) _sqlite3VdbeAddOp3(tls, _v, i32(98), _iIdxCur, _i, _regPrev+_i) _i += 1 goto _42 _45: _sqlite3VdbeResolveLabel(tls, _v, _8_endDistinctTest) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_8_aGotoChng)) _33: func() int32 { if _regChng == (_regStat4 + i32(1)) { return i32(0) } return func() int32 { 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(130776))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(1), _regStat4, _regTemp, (*int8)(unsafe.Pointer(&_statPushFuncdef)), i32(-4)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) _sqlite3VdbeAddOp2(tls, _v, i32(7), _iIdxCur, _5_addrNextRow) _callStatGet(tls, _v, _regStat4, i32(0), _regStat1) func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(str(130800))) + 1*uintptr(i32(0))))) == i32(66) { return i32(0) } return func() int32 { 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(130804))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(100), _regTabname, i32(3), _regTemp, str(130800), i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(115), _iStatCur, _regNewRowid) _sqlite3VdbeAddOp3(tls, _v, i32(116), _iStatCur, _regTemp, _regNewRowid) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) _sqlite3VdbeJumpHere(tls, _v, _5_addrRewind) _18: _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) goto _17 _20: if _pOnlyIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || _needTableCnt == 0 { goto _51 } _sqlite3VdbeComment(tls, _v, str(24304), unsafe.Pointer(_pTab.X0)) _sqlite3VdbeAddOp2(tls, _v, i32(101), _iTabCur, _regStat1) _jZeroRows = _sqlite3VdbeAddOp1(tls, _v, i32(22), _regStat1) _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regIdxname) func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(str(130800))) + 1*uintptr(i32(0))))) == i32(66) { return i32(0) } return func() int32 { 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(130804))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(100), _regTabname, i32(3), _regTemp, str(130800), i32(0)) _sqlite3VdbeAddOp2(tls, _v, i32(115), _iStatCur, _regNewRowid) _sqlite3VdbeAddOp3(tls, _v, i32(116), _iStatCur, _regTemp, _regNewRowid) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) _sqlite3VdbeJumpHere(tls, _v, _jZeroRows) _51: return } var _analyzeOneTableØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_analyzeOneTableØ00__func__Ø000[0], str(130832), 16) } var _statInitFuncdef XFuncDef // sqlite3.c:97164:22 func init() { _statInitFuncdef = XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_statInit})), X5: nil, X6: str(130848), X7: T5458811{}} } func _statInit(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:97082:1 var _p *XStat4Accum // sqlite3.c:97087:14 _ = _p var _nCol int32 // sqlite3.c:97088:7 _ = _nCol var _nKeyCol int32 // sqlite3.c:97089:7 _ = _nKeyCol var _nColUp int32 // sqlite3.c:97090:7 _ = _nColUp var _n int32 // sqlite3.c:97091:7 _ = _n var _db *Xsqlite3 // sqlite3.c:97092:11 _ = _db _nCol = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _nCol > i32(0) { return i32(0) } return func() int32 { 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(130860))) crt.X__builtin_abort(tls) return i32(0) }() }() _nColUp = (_nCol + i32(1)) & i32(-2) _nKeyCol = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) func() int32 { if _nKeyCol <= _nCol { return i32(0) } return func() int32 { 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(130868))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nKeyCol > i32(0) { return i32(0) } return func() int32 { 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(111700))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = int32((u64(88) + (u64(4) * uint64(_nColUp))) + (u64(4) * uint64(_nColUp))) _db = Xsqlite3_context_db_handle(tls, _context) _p = (*XStat4Accum)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_n)))) if _p != (*XStat4Accum)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } Xsqlite3_result_error_nomem(tls, _context) return _6: *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(80 /* X13 */))))) = _db *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint32(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _nCol *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = _nKeyCol *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))))) + uintptr(8 /* X1 */))) = (*uint32)(unsafe.Pointer((*XStat4Accum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 88*uintptr(i32(1)))))) *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))))) + uintptr(0 /* X0 */))) = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X1)) + 4*uintptr(_nColUp))) Xsqlite3_result_blob(tls, _context, (unsafe.Pointer)(_p), int32(u64(88)), _stat4Destructor) return } var _statInitØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_statInitØ00__func__Ø000[0], str(130884), 9) } 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 func() int32 { if _n >= i32(0) { return i32(0) } return func() int32 { 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(130896))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(0)), _xDel) return } var _sqlite3_result_blobØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_blobØ00__func__Ø000[0], str(130904), 20) } func _stat4Destructor(tls *crt.TLS, _pOld unsafe.Pointer) { // sqlite3.c:97048:1 var _p *XStat4Accum // sqlite3.c:97049:14 _ = _p _p = (*XStat4Accum)(unsafe.Pointer(_pOld)) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X13)), (unsafe.Pointer)(_p)) return } var _statPushFuncdef XFuncDef // sqlite3.c:97480:22 func init() { _statPushFuncdef = XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_statPush})), X5: nil, X6: str(130924), X7: T5458811{}} } func _statPush(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:97411:1 var _i int32 // sqlite3.c:97416:7 _ = _i var _p *XStat4Accum // sqlite3.c:97419:14 _ = _p var _iChng int32 // sqlite3.c:97420:7 _ = _iChng _p = (*XStat4Accum)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _iChng = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) func() int32 { if (_p.X2) > i32(0) { return i32(0) } return func() int32 { 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(130936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iChng < (_p.X2) { return i32(0) } return func() int32 { 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(130948))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X0) != uint32(i32(0)) { goto _4 } _i = i32(0) _5: if _i >= (_p.X2) { goto _8 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X0)) + 4*uintptr(_i))) = uint32(i32(1)) _i += 1 goto _5 _8: goto _9 _4: _samplePushPrevious(tls, _p, _iChng) _i = i32(0) _10: if _i >= _iChng { goto _13 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X0)) + 4*uintptr(_i))) += 1 _i += 1 goto _10 _13: _i = _iChng _14: if _i >= (_p.X2) { goto _17 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X1)) + 4*uintptr(_i))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X0)) + 4*uintptr(_i))) = uint32(i32(1)) _i += 1 goto _14 _17: _9: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 return } var _statPushØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_statPushØ00__func__Ø000[0], str(130964), 9) } func _samplePushPrevious(tls *crt.TLS, _p *XStat4Accum, _iChng int32) { // sqlite3.c:97335:1 return } func _callStatGet(tls *crt.TLS, _v *TVdbe, _regStat4 int32, _iParam int32, _regOut int32) { // sqlite3.c:97642:1 func() int32 { if (_regOut != _regStat4) && (_regOut != (_regStat4 + i32(1))) { return i32(0) } return func() int32 { 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(130976))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _iParam == i32(0) { return i32(0) } return func() int32 { 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(131016))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(0), _regStat4, _regOut, (*int8)(unsafe.Pointer(&_statGetFuncdef)), i32(-4)) _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) return } var _callStatGetØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_callStatGetØ00__func__Ø000[0], str(131040), 12) } var _statGetFuncdef XFuncDef // sqlite3.c:97631:22 func init() { _statGetFuncdef = XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) }{_statGet})), X5: nil, X6: str(131052), X7: T5458811{}} } func _statGet(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:97516:1 var _p *XStat4Accum // sqlite3.c:97521:14 _ = _p var _1_z *int8 // sqlite3.c:97556:10 _ = _1_z var _1_i int32 // sqlite3.c:97557:9 _ = _1_i var _1_zRet *int8 // sqlite3.c:97559:10 _ = _1_zRet var _3_nDistinct uint64 // sqlite3.c:97568:11 _ = _3_nDistinct var _3_iVal uint64 // sqlite3.c:97569:11 _ = _3_iVal _p = (*XStat4Accum)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_zRet = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(((_p.X3)+i32(1))*i32(25))))) if _1_zRet != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } Xsqlite3_result_error_nomem(tls, _context) return _2: Xsqlite3_snprintf(tls, i32(24), _1_zRet, str(131072), uint64(_p.X0)) _1_z = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_1_zRet)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_sqlite3Strlen30(tls, _1_zRet)))))))) _1_i = i32(0) _3: if _1_i >= (_p.X3) { goto _6 } _3_nDistinct = uint64((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X1)) + 4*uintptr(_1_i)))) + uint32(i32(1))) _3_iVal = ((uint64(_p.X0) + _3_nDistinct) - uint64(i32(1))) / _3_nDistinct Xsqlite3_snprintf(tls, i32(24), _1_z, str(131080), _3_iVal) { p := &_1_z *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _1_z)))) sink1025 = *p } func() int32 { if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T6167364)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))).X0)) + 4*uintptr(_1_i)))) != 0 { return i32(0) } return func() int32 { 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(131088))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_i += 1 goto _3 _6: func() int32 { 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))) { return i32(0) } return func() int32 { 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(131108))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_result_text(tls, _context, _1_zRet, i32(-1), Xsqlite3_free) return } var _statGetØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_statGetØ00__func__Ø000[0], str(131132), 8) } func _loadAnalysis(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:97986:1 var _v *TVdbe // sqlite3.c:97987:8 _ = _v _v = _sqlite3GetVdbe(tls, _pParse) if _v == nil { goto _0 } _sqlite3VdbeAddOp1(tls, _v, i32(138), _iDb) _0: return } func _analyzeTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pOnlyIdx *XIndex) { // sqlite3.c:98023:1 var _iDb int32 // sqlite3.c:98024:7 _ = _iDb var _iStatCur int32 // sqlite3.c:98025:7 _ = _iStatCur func() int32 { if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(44684))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { return i32(0) } return func() int32 { 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(130468))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _iStatCur = _pParse.X17 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) *p = (*p) + i32(3) sink961 = *p } if _pOnlyIdx == nil { goto _4 } _openStatTable(tls, _pParse, _iDb, _iStatCur, _pOnlyIdx.X0, str(97584)) goto _5 _4: _openStatTable(tls, _pParse, _iDb, _iStatCur, _pTab.X0, str(97580)) _5: _analyzeOneTable(tls, _pParse, _pTab, _pOnlyIdx, _iStatCur, (_pParse.X18)+i32(1), _pParse.X17) _loadAnalysis(tls, _pParse, _iDb) return } var _analyzeTableØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_analyzeTableØ00__func__Ø000[0], str(131140), 13) } func _sqlite3AlterRenameTable(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList, _pName *XToken) { // sqlite3.c:96265:1 var _iDb int32 // sqlite3.c:96270:7 _ = _iDb var _zDb *int8 // sqlite3.c:96271:8 _ = _zDb var _pTab *XTable // sqlite3.c:96272:9 _ = _pTab var _zName *int8 // sqlite3.c:96273:8 _ = _zName var _db *Xsqlite3 // sqlite3.c:96274:11 _ = _db var _nTabName int32 // sqlite3.c:96275:7 _ = _nTabName var _zTabName *int8 // sqlite3.c:96276:14 _ = _zTabName var _v *TVdbe // sqlite3.c:96277:8 _ = _v var _zWhere *int8 // sqlite3.c:96279:8 _ = _zWhere var _pVTab *XVTable // sqlite3.c:96281:10 _ = _pVTab var _savedDbFlags int32 // sqlite3.c:96282:7 _ = _savedDbFlags var _10_i int32 // sqlite3.c:96363:9 _ = _10_i var _15_p *XFKey // sqlite3.c:96442:10 _ = _15_p var _16_pFrom *XTable // sqlite3.c:96444:13 _ = _16_pFrom _zName = nil _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _zWhere = nil _pVTab = nil _savedDbFlags = _db.X6 if func() int32 { if (_db.X17) != 0 { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } goto _exit_rename_table _2: func() int32 { if (_pSrc.X0) == i32(1) { return i32(0) } return func() int32 { 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(131156))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { return i32(0) } return func() int32 { 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(130468))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))) if _pTab != nil { goto _7 } goto _exit_rename_table _7: _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2097152) sink961 = *p } _zName = _sqlite3NameFromToken(tls, _db, _pName) if _zName != nil { goto _8 } goto _exit_rename_table _8: if _sqlite3FindTable(tls, _db, _zName, _zDb) == nil && _sqlite3FindIndex(tls, _db, _zName, _zDb) == nil { goto _10 } _sqlite3ErrorMsg(tls, _pParse, str(131172), unsafe.Pointer(_zName)) goto _exit_rename_table _10: if i32(0) == _isSystemTable(tls, _pParse, _pTab.X0) { goto _11 } goto _exit_rename_table _11: if i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { goto _12 } goto _exit_rename_table _12: if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _13 } _sqlite3ErrorMsg(tls, _pParse, str(131232), unsafe.Pointer(_pTab.X0)) goto _exit_rename_table _13: if _sqlite3AuthCheck(tls, _pParse, i32(26), _zDb, _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { goto _14 } goto _exit_rename_table _14: if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { goto _15 } goto _exit_rename_table _15: if (_pTab.X16) == 0 { goto _16 } _pVTab = _sqlite3GetVTable(tls, _db, _pTab) if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, *int8) int32 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8) int32 }{((*Xsqlite3_module)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)).X0)).X19)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vtab, *int8) int32 }{nil})) { goto _17 } _pVTab = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) _17: _16: _v = _sqlite3GetVdbe(tls, _pParse) if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } goto _exit_rename_table _18: _sqlite3BeginWriteOperation(tls, _pParse, bool2int(_pVTab != (*XVTable)(unsafe.Pointer(uintptr(i32(0))))), _iDb) _sqlite3ChangeCookie(tls, _pParse, _iDb) if _pVTab == nil { goto _19 } _10_i = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeLoadString(tls, _v, _10_i, _zName) _sqlite3VdbeAddOp4(tls, _v, i32(158), _10_i, i32(0), i32(0), (*int8)(unsafe.Pointer(_pVTab)), i32(-8)) _sqlite3MayAbort(tls, _pParse) _19: _zTabName = _pTab.X0 _nTabName = _sqlite3Utf8CharLen(tls, _zTabName, i32(-1)) if ((_db.X6) & i32(524288)) == 0 { goto _20 } if store1025(&_zWhere, _whereForeignKeys(tls, _pParse, _pTab)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _21 } _sqlite3NestedParse(tls, _pParse, str(131260), unsafe.Pointer(_zDb), unsafe.Pointer(str(51508)), unsafe.Pointer(_zTabName), unsafe.Pointer(_zName), unsafe.Pointer(_zWhere)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zWhere)) _21: _20: _sqlite3NestedParse(tls, _pParse, str(131332), unsafe.Pointer(_zDb), unsafe.Pointer(str(51508)), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zName), _nTabName, unsafe.Pointer(_zTabName)) if _sqlite3FindTable(tls, _db, str(116324), _zDb) == nil { goto _22 } _sqlite3NestedParse(tls, _pParse, str(131716), unsafe.Pointer(_zDb), unsafe.Pointer(_zName), unsafe.Pointer(_pTab.X0)) _22: if store1025(&_zWhere, _whereTempTriggers(tls, _pParse, _pTab)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _23 } _sqlite3NestedParse(tls, _pParse, str(131776), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zWhere)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zWhere)) _23: if ((_db.X6) & i32(524288)) == 0 { goto _24 } _15_p = _sqlite3FkReferences(tls, _pTab) _25: if _15_p == nil { goto _28 } _16_pFrom = (*XTable)(unsafe.Pointer(_15_p.X0)) if _16_pFrom == _pTab { goto _29 } _reloadTableSchema(tls, _pParse, (*XTable)(unsafe.Pointer(_15_p.X0)), _16_pFrom.X0) _29: _15_p = (*XFKey)(unsafe.Pointer(_15_p.X3)) goto _25 _28: _24: _reloadTableSchema(tls, _pParse, _pTab, _zName) _exit_rename_table: _sqlite3SrcListDelete(tls, _db, _pSrc) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) = _savedDbFlags return } var _sqlite3AlterRenameTableØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AlterRenameTableØ00__func__Ø000[0], str(131868), 24) } func _isSystemTable(tls *crt.TLS, _pParse *XParse, _zName *int8) (r0 int32) { // sqlite3.c:96253:1 if _sqlite3Strlen30(tls, _zName) <= i32(6) || i32(0) != Xsqlite3_strnicmp(tls, _zName, str(116480), i32(7)) { goto _1 } _sqlite3ErrorMsg(tls, _pParse, str(131892), unsafe.Pointer(_zName)) r0 = i32(1) return _1: r0 = i32(0) return } func _whereForeignKeys(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 *int8) { // sqlite3.c:96154:1 var _p *XFKey // sqlite3.c:96155:8 _ = _p var _zWhere *int8 // sqlite3.c:96156:8 _ = _zWhere _zWhere = nil _p = _sqlite3FkReferences(tls, _pTab) _0: if _p == nil { goto _3 } _zWhere = _whereOrName(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zWhere, (*XTable)(unsafe.Pointer(_p.X0)).X0) _p = (*XFKey)(unsafe.Pointer(_p.X3)) goto _0 _3: r0 = _zWhere return } func _whereOrName(tls *crt.TLS, _db *Xsqlite3, _zWhere *int8, _zConstant *int8) (r0 *int8) { // sqlite3.c:96136:1 var _zNew *int8 // sqlite3.c:96137:8 _ = _zNew if _zWhere != nil { goto _0 } _zNew = _sqlite3MPrintf(tls, _db, str(131920), unsafe.Pointer(_zConstant)) goto _1 _0: _zNew = _sqlite3MPrintf(tls, _db, str(131928), unsafe.Pointer(_zWhere), unsafe.Pointer(_zConstant)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zWhere)) _1: r0 = _zNew return } func _whereTempTriggers(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 *int8) { // sqlite3.c:96170:1 var _pTrig *XTrigger // sqlite3.c:96171:11 _ = _pTrig var _zWhere *int8 // sqlite3.c:96172:8 _ = _zWhere var _pTempSchema *XSchema // sqlite3.c:96173:16 _ = _pTempSchema var _1_db *Xsqlite3 // sqlite3.c:96181:13 _ = _1_db var _4_zNew *int8 // sqlite3.c:96189:10 _ = _4_zNew _zWhere = nil _pTempSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 32*uintptr(i32(1)))).X4)) if (*XSchema)(unsafe.Pointer(_pTab.X20)) == _pTempSchema { goto _0 } _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _pTrig = _sqlite3TriggerList(tls, _pParse, _pTab) _1: if _pTrig == nil { goto _4 } if (*XSchema)(unsafe.Pointer(_pTrig.X6)) != _pTempSchema { goto _5 } _zWhere = _whereOrName(tls, _1_db, _zWhere, _pTrig.X0) _5: _pTrig = (*XTrigger)(unsafe.Pointer(_pTrig.X9)) goto _1 _4: _0: if _zWhere == nil { goto _6 } _4_zNew = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(131944), unsafe.Pointer(_zWhere)) _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_zWhere)) _zWhere = _4_zNew _6: r0 = _zWhere return } func _reloadTableSchema(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _zName *int8) { // sqlite3.c:96204:1 var _v *TVdbe // sqlite3.c:96205:8 _ = _v var _zWhere *int8 // sqlite3.c:96206:8 _ = _zWhere var _iDb int32 // sqlite3.c:96207:7 _ = _iDb var _pTrig *XTrigger // sqlite3.c:96209:11 _ = _pTrig var _1_iTrigDb int32 // sqlite3.c:96221:9 _ = _1_iTrigDb _v = _sqlite3GetVdbe(tls, _pParse) if func() int32 { if _v == (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(1) }() } return i32(0) }() == 0 { goto _2 } return _2: func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { return i32(0) } return func() int32 { 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(130468))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) func() int32 { if _iDb >= i32(0) { return i32(0) } return func() int32 { 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(43016))) crt.X__builtin_abort(tls) return i32(0) }() }() _pTrig = _sqlite3TriggerList(tls, _pParse, _pTab) _7: if _pTrig == nil { goto _10 } _1_iTrigDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTrig.X6))) func() int32 { if (_1_iTrigDb == _iDb) || (_1_iTrigDb == i32(1)) { return i32(0) } return func() int32 { 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(131968))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeAddOp4(tls, _v, i32(141), _1_iTrigDb, i32(0), i32(0), _pTrig.X0, i32(0)) _pTrig = (*XTrigger)(unsafe.Pointer(_pTrig.X9)) goto _7 _10: _sqlite3VdbeAddOp4(tls, _v, i32(139), _iDb, i32(0), i32(0), _pTab.X0, i32(0)) _zWhere = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(131996), unsafe.Pointer(_zName)) if _zWhere != nil { goto _14 } return _14: _sqlite3VdbeAddParseSchemaOp(tls, _v, _iDb, _zWhere) if store1025(&_zWhere, _whereTempTriggers(tls, _pParse, _pTab)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _sqlite3VdbeAddParseSchemaOp(tls, _v, i32(1), _zWhere) _15: return } var _reloadTableSchemaØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_reloadTableSchemaØ00__func__Ø000[0], str(132008), 18) } func _sqlite3AlterFinishAddColumn(tls *crt.TLS, _pParse *XParse, _pColDef *XToken) { // sqlite3.c:96469:1 var _pNew *XTable // sqlite3.c:96470:9 _ = _pNew var _pTab *XTable // sqlite3.c:96471:9 _ = _pTab var _iDb int32 // sqlite3.c:96472:7 _ = _iDb var _zDb *int8 // sqlite3.c:96473:14 _ = _zDb var _zTab *int8 // sqlite3.c:96474:14 _ = _zTab var _zCol *int8 // sqlite3.c:96475:8 _ = _zCol var _pCol *XColumn // sqlite3.c:96476:10 _ = _pCol var _pDflt *XExpr // sqlite3.c:96477:8 _ = _pDflt var _db *Xsqlite3 // sqlite3.c:96478:11 _ = _db var _v *TVdbe // sqlite3.c:96479:8 _ = _v var _r1 int32 // sqlite3.c:96480:7 _ = _r1 var _7_pVal *XMem // sqlite3.c:96540:19 _ = _7_pVal var _7_rc int32 // sqlite3.c:96541:9 _ = _7_rc var _10_zEnd *int8 // sqlite3.c:96558:10 _ = _10_zEnd var _10_savedDbFlags int32 // sqlite3.c:96559:9 _ = _10_savedDbFlags _v = (*TVdbe)(unsafe.Pointer(_pParse.X2)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if (_pParse.X16) == 0 && (_db.X17) == 0 { goto _1 } return _1: func() int32 { if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(43044))) crt.X__builtin_abort(tls) return i32(0) }() }() _pNew = (*XTable)(unsafe.Pointer(_pParse.X63)) func() int32 { if _pNew != nil { return i32(0) } return func() int32 { 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(132028))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pNew.X20))) _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X0 _zTab = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X0)) + 1*uintptr(i32(16)))) _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pNew.X1) + 32*uintptr(int32(_pNew.X11)-i32(1)))) _pDflt = (*XExpr)(unsafe.Pointer(_pCol.X1)) _pTab = _sqlite3FindTable(tls, _db, _zTab, _zDb) func() int32 { if _pTab != nil { return i32(0) } return func() int32 { 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(98180))) crt.X__builtin_abort(tls) return i32(0) }() }() if _sqlite3AuthCheck(tls, _pParse, i32(26), _zDb, _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { goto _10 } return _10: func() int32 { if (_pDflt == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDflt.X0) == i32(161)) { return i32(0) } return func() int32 { 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(132036))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pDflt == nil || int32((*XExpr)(unsafe.Pointer(_pDflt.X4)).X0) != i32(101) { goto _15 } _pDflt = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _15: if (int32(_pCol.X6) & i32(1)) == 0 { goto _16 } _sqlite3ErrorMsg(tls, _pParse, str(132068)) return _16: if (*XIndex)(unsafe.Pointer(_pNew.X2)) == nil { goto _17 } _sqlite3ErrorMsg(tls, _pParse, str(132100)) return _17: if ((_db.X6)&i32(524288)) == 0 || (*XFKey)(unsafe.Pointer(_pNew.X4)) == nil || _pDflt == nil { goto _20 } _sqlite3ErrorMsg(tls, _pParse, str(132128)) return _20: if (_pCol.X3) == 0 || _pDflt != nil { goto _22 } _sqlite3ErrorMsg(tls, _pParse, str(132188)) return _22: if _pDflt == nil { goto _23 } _7_pVal = nil _7_rc = _sqlite3ValueFromExpr(tls, _db, _pDflt, uint8(i32(1)), uint8(i32(65)), &_7_pVal) func() int32 { if (_7_rc == i32(0)) || (_7_rc == i32(7)) { return i32(0) } return func() int32 { 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(4072))) crt.X__builtin_abort(tls) return i32(0) }() }() if _7_rc == i32(0) { goto _27 } func() int32 { if int32(_db.X17) == i32(1) { return i32(0) } return func() int32 { 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(132244))) crt.X__builtin_abort(tls) return i32(0) }() }() return _27: if _7_pVal != nil { goto _30 } _sqlite3ErrorMsg(tls, _pParse, str(132268)) return _30: _sqlite3ValueFree(tls, _7_pVal) _23: _zCol = _sqlite3DbStrNDup(tls, _db, _pColDef.X0, uint64(_pColDef.X1)) if _zCol == nil { goto _31 } _10_zEnd = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zCol)) + 1*uintptr((_pColDef.X1)-uint32(i32(1))))) _10_savedDbFlags = _db.X6 _32: 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 { goto _33 } *postInc1025(&_10_zEnd, -1) = int8(i32(0)) goto _32 _33: { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(2097152) sink961 = *p } _sqlite3NestedParse(tls, _pParse, str(132316), unsafe.Pointer(_zDb), unsafe.Pointer(str(51508)), _pNew.X15, unsafe.Pointer(_zCol), (_pNew.X15)+i32(1), unsafe.Pointer(_zTab)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zCol)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) = _10_savedDbFlags _31: _r1 = _sqlite3GetTempReg(tls, _pParse) _sqlite3VdbeAddOp3(tls, _v, i32(102), _iDb, _r1, i32(2)) _sqlite3VdbeUsesBtree(tls, _v, _iDb) _sqlite3VdbeAddOp2(tls, _v, i32(92), _r1, i32(-2)) _sqlite3VdbeAddOp2(tls, _v, i32(67), _r1, _sqlite3VdbeCurrentAddr(tls, _v)+i32(2)) _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(2), i32(3)) _sqlite3ReleaseTempReg(tls, _pParse, _r1) _reloadTableSchema(tls, _pParse, _pTab, _pTab.X0) return } var _sqlite3AlterFinishAddColumnØ00__func__Ø000 [28]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AlterFinishAddColumnØ00__func__Ø000[0], str(132428), 28) } func _sqlite3AlterBeginAddColumn(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList) { // sqlite3.c:96607:1 var _pNew *XTable // sqlite3.c:96608:9 _ = _pNew var _pTab *XTable // sqlite3.c:96609:9 _ = _pTab var _v *TVdbe // sqlite3.c:96610:8 _ = _v var _iDb int32 // sqlite3.c:96611:7 _ = _iDb var _i int32 // sqlite3.c:96612:7 _ = _i var _nAlloc int32 // sqlite3.c:96613:7 _ = _nAlloc var _db *Xsqlite3 // sqlite3.c:96614:11 _ = _db var _5_pCol *XColumn // sqlite3.c:96665:12 _ = _5_pCol _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) func() int32 { if (*XTable)(unsafe.Pointer(_pParse.X63)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(24368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { return i32(0) } return func() int32 { 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(8156))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 { goto _4 } goto _exit_begin_add_column _4: _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), (*TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TSrcList_item)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+112*uintptr(i32(0))))) if _pTab != nil { goto _5 } goto _exit_begin_add_column _5: if (_pTab.X16) == 0 { goto _6 } _sqlite3ErrorMsg(tls, _pParse, str(132456)) goto _exit_begin_add_column _6: if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _7 } _sqlite3ErrorMsg(tls, _pParse, str(132492)) goto _exit_begin_add_column _7: if i32(0) == _isSystemTable(tls, _pParse, _pTab.X0) { goto _8 } goto _exit_begin_add_column _8: func() int32 { if (_pTab.X15) > i32(0) { return i32(0) } return func() int32 { 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(132524))) crt.X__builtin_abort(tls) return i32(0) }() }() _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) _pNew = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(128)))) if _pNew != nil { goto _11 } goto _exit_begin_add_column _11: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(520 /* X63 */))))) = _pNew *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(60 /* X8 */))) = uint32(i32(1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(70 /* X11 */))) = _pTab.X11 func() int32 { if int32(_pNew.X11) > i32(0) { return i32(0) } return func() int32 { 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(132548))) crt.X__builtin_abort(tls) return i32(0) }() }() _nAlloc = (((int32(_pNew.X11) - i32(1)) / i32(8)) * i32(8)) + i32(8) func() int32 { if ((_nAlloc >= int32(_pNew.X11)) && ((_nAlloc % i32(8)) == i32(0))) && ((_nAlloc - int32(_pNew.X11)) < i32(8)) { return i32(0) } return func() int32 { 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(132564))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(32)*uint64(_nAlloc)))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _sqlite3MPrintf(tls, _db, str(132624), unsafe.Pointer(_pTab.X0)) if (*XColumn)(unsafe.Pointer(_pNew.X1)) != nil && (_pNew.X0) != nil { goto _19 } func() int32 { if (_db.X17) != 0 { return i32(0) } return func() int32 { 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(49168))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _exit_begin_add_column _19: crt.Xmemcpy(tls, _pNew.X1, _pTab.X1, u64(32)*uint64(_pNew.X11)) _i = i32(0) _22: if _i >= int32(_pNew.X11) { goto _25 } _5_pCol = (*XColumn)(unsafe.Pointer(uintptr(_pNew.X1) + 32*uintptr(_i))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pCol)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _5_pCol.X0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pCol)) + uintptr(16 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pCol)) + uintptr(8 /* X1 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) _i += 1 goto _22 _25: *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(112 /* X20 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_iDb))).X4)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(80 /* X15 */))) = _pTab.X15 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(60 /* X8 */))) = uint32(i32(1)) _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) _v = _sqlite3GetVdbe(tls, _pParse) if _v != nil { goto _26 } goto _exit_begin_add_column _26: _sqlite3ChangeCookie(tls, _pParse, _iDb) _exit_begin_add_column: _sqlite3SrcListDelete(tls, _db, _pSrc) return } var _sqlite3AlterBeginAddColumnØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AlterBeginAddColumnØ00__func__Ø000[0], str(132644), 27) } func _sqlite3VtabFinishParse(tls *crt.TLS, _pParse *XParse, _pEnd *XToken) { // sqlite3.c:124909:1 var _pTab *XTable // sqlite3.c:124910:9 _ = _pTab var _db *Xsqlite3 // sqlite3.c:124911:11 _ = _db var _1_zStmt *int8 // sqlite3.c:124925:10 _ = _1_zStmt var _1_zWhere *int8 // sqlite3.c:124926:10 _ = _1_zWhere var _1_iDb int32 // sqlite3.c:124927:9 _ = _1_iDb var _1_iReg int32 // sqlite3.c:124928:9 _ = _1_iReg var _1_v *TVdbe // sqlite3.c:124929:10 _ = _1_v var _3_pOld *XTable // sqlite3.c:124975:11 _ = _3_pOld var _3_pSchema *XSchema // sqlite3.c:124976:12 _ = _3_pSchema var _3_zName *int8 // sqlite3.c:124977:16 _ = _3_zName _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: _addArgumentToVtab(tls, _pParse) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(544 /* X66 */))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if (_pTab.X16) >= i32(1) { goto _1 } return _1: if ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X33 */))).X2) != 0 { goto _2 } if _pEnd == nil { goto _3 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(440 /* X50 */))))) + uintptr(8 /* X1 */))) = uint32(int32(int64((uintptr(unsafe.Pointer(_pEnd.X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(440 /* X50 */))).X0)))/1))) + (_pEnd.X1) _3: _1_zStmt = _sqlite3MPrintf(tls, _db, str(132672), unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(440 /* X50 */))))) _1_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) _sqlite3NestedParse(tls, _pParse, str(132696), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_1_iDb))).X0), unsafe.Pointer(str(51508)), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_1_zStmt), _pParse.X31) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_zStmt)) _1_v = _sqlite3GetVdbe(tls, _pParse) _sqlite3ChangeCookie(tls, _pParse, _1_iDb) _sqlite3VdbeAddOp0(tls, _1_v, i32(151)) _1_zWhere = _sqlite3MPrintf(tls, _db, str(132784), unsafe.Pointer(_pTab.X0)) _sqlite3VdbeAddParseSchemaOp(tls, _1_v, _1_iDb, _1_zWhere) _1_iReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(56 /* X18 */))), 1) _sqlite3VdbeLoadString(tls, _1_v, _1_iReg, _pTab.X0) _sqlite3VdbeAddOp2(tls, _1_v, i32(154), _1_iDb, _1_iReg) goto _4 _2: _3_pSchema = (*XSchema)(unsafe.Pointer(_pTab.X20)) _3_zName = _pTab.X0 func() int32 { if _sqlite3SchemaMutexHeld(tls, _db, i32(0), _3_pSchema) != 0 { return i32(0) } return func() int32 { 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(132812))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_pOld = (*XTable)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pSchema))+uintptr(8 /* X2 */))), _3_zName, (unsafe.Pointer)(_pTab)))) if _3_pOld == nil { goto _7 } _sqlite3OomFault(tls, _db) func() int32 { if _pTab == _3_pOld { return i32(0) } return func() int32 { 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(132852))) crt.X__builtin_abort(tls) return i32(0) }() }() return _7: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(520 /* X63 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _4: return } func _addArgumentToVtab(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:124896:1 var _1_z *int8 // sqlite3.c:124898:16 _ = _1_z var _1_n int32 // sqlite3.c:124899:9 _ = _1_n var _1_db *Xsqlite3 // sqlite3.c:124900:13 _ = _1_db if ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(544 /* X66 */))).X0) == nil || (*XTable)(unsafe.Pointer(_pParse.X63)) == nil { goto _1 } _1_z = (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(544 /* X66 */))).X0 _1_n = int32((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(544 /* X66 */))).X1) _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _addModuleArgument(tls, _1_db, (*XTable)(unsafe.Pointer(_pParse.X63)), _sqlite3DbStrNDup(tls, _1_db, _1_z, uint64(_1_n))) _1: return } var _sqlite3VtabFinishParseØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabFinishParseØ00__func__Ø000[0], str(132864), 23) } func _sqlite3VtabBeginParse(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _pModuleName *XToken, _ifNotExists int32) { // sqlite3.c:124847:1 var _iDb int32 // sqlite3.c:124854:7 _ = _iDb var _pTable *XTable // sqlite3.c:124855:9 _ = _pTable var _db *Xsqlite3 // sqlite3.c:124856:11 _ = _db _sqlite3StartTable(tls, _pParse, _pName1, _pName2, i32(0), i32(0), i32(1), _ifNotExists) _pTable = (*XTable)(unsafe.Pointer(_pParse.X63)) if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } return _0: func() int32 { if (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) == (*XIndex)(unsafe.Pointer(_pTable.X2)) { return i32(0) } return func() int32 { 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(132888))) crt.X__builtin_abort(tls) return i32(0) }() }() _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTable.X20))) func() int32 { if _iDb >= i32(0) { return i32(0) } return func() int32 { 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(43016))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pTable.X16) == i32(0) { return i32(0) } return func() int32 { 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(132908))) crt.X__builtin_abort(tls) return i32(0) }() }() _addModuleArgument(tls, _db, _pTable, _sqlite3NameFromToken(tls, _db, _pModuleName)) _addModuleArgument(tls, _db, _pTable, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _addModuleArgument(tls, _db, _pTable, _sqlite3DbStrDup(tls, _db, _pTable.X0)) func() int32 { if ((((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(440 /* X50 */))).X0) == (_pName2.X0)) && ((_pName2.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))))) || ((((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(440 /* X50 */))).X0) == (_pName1.X0)) && ((_pName2.X0) == (*int8)(unsafe.Pointer(uintptr(i32(0)))))) { return i32(0) } return func() int32 { 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(132932))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(440 /* X50 */))))) + uintptr(8 /* X1 */))) = uint32(int32(int64((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(440 /* X50 */))).X0))) / 1))) if (_pTable.X17) == nil { goto _12 } _sqlite3AuthCheck(tls, _pParse, i32(29), _pTable.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable.X17)) + 8*uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+32*uintptr(_iDb))).X0) _12: return } var _sqlite3VtabBeginParseØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabBeginParseØ00__func__Ø000[0], str(133036), 22) } func _sqlite3VtabArgInit(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:124993:1 _addArgumentToVtab(tls, _pParse) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(544 /* X66 */))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(544 /* X66 */))))) + uintptr(8 /* X1 */))) = uint32(i32(0)) return } func _sqlite3VtabArgExtend(tls *crt.TLS, _pParse *XParse, _p *XToken) { // sqlite3.c:125003:1 var _pArg *XToken // sqlite3.c:125004:9 _ = _pArg _pArg = (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(544 /* X66 */))) if (_pArg.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(0 /* X0 */))) = _p.X0 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(8 /* X1 */))) = _p.X1 goto _1 _0: func() int32 { if uintptr(unsafe.Pointer(_pArg.X0)) <= uintptr(unsafe.Pointer(_p.X0)) { return i32(0) } return func() int32 { 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(133060))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(8 /* X1 */))) = uint32(int32(int64((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0))+1*uintptr(_p.X1))))) - uintptr(unsafe.Pointer(_pArg.X0))) / 1))) _1: return } var _sqlite3VtabArgExtendØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VtabArgExtendØ00__func__Ø000[0], str(133076), 21) } func _sqlite3WithAdd(tls *crt.TLS, _pParse *XParse, _pWith *XWith, _pName *XToken, _pArglist *XExprList, _pQuery *XSelect) (r0 *XWith) { // sqlite3.c:103835:1 var _db *Xsqlite3 // sqlite3.c:103842:11 _ = _db var _pNew *XWith // sqlite3.c:103843:8 _ = _pNew var _zName *int8 // sqlite3.c:103844:8 _ = _zName var _1_i int32 // sqlite3.c:103850:9 _ = _1_i var _4_nByte int32 // sqlite3.c:103859:9 _ = _4_nByte _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) _zName = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName) if _zName == nil || _pWith == nil { goto _1 } _1_i = i32(0) _2: if _1_i >= (_pWith.X0) { goto _5 } if _sqlite3StrICmp(tls, _zName, (*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith))+uintptr(16 /* X2 */)))))+32*uintptr(_1_i))).X0) != i32(0) { goto _6 } _sqlite3ErrorMsg(tls, _pParse, str(133100), unsafe.Pointer(_zName)) _6: _1_i += 1 goto _2 _5: _1: if _pWith == nil { goto _7 } _4_nByte = int32(u64(48) + (u64(32) * uint64(_pWith.X0))) _pNew = (*XWith)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pWith), uint64(_4_nByte)))) goto _8 _7: _pNew = (*XWith)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(48)))) _8: func() int32 { if ((_pNew != (*XWith)(unsafe.Pointer(uintptr(i32(0))))) && (_zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))))) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(133132))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_db.X17) == 0 { goto _13 } _sqlite3ExprListDelete(tls, _db, _pArglist) _sqlite3SelectDelete(tls, _db, _pQuery) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) _pNew = _pWith goto _14 _13: *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(16 /* X2 */)))))+32*uintptr(_pNew.X0))))) + uintptr(16 /* X2 */))))) = _pQuery *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(16 /* X2 */)))))+32*uintptr(_pNew.X0))))) + uintptr(8 /* X1 */))))) = _pArglist *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(16 /* X2 */)))))+32*uintptr(_pNew.X0))))) + uintptr(0 /* X0 */))) = _zName *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]TCte)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(16 /* X2 */)))))+32*uintptr(_pNew.X0))))) + uintptr(24 /* X3 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) += 1 _14: r0 = _pNew return } var _sqlite3WithAddØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3WithAddØ00__func__Ø000[0], str(133176), 15) } func _yy_find_reduce_action(tls *crt.TLS, _stateno int32, _iLookAhead uint8) (r0 int32) { // sqlite3.c:136611:1 var _i int32 // sqlite3.c:136615:7 _ = _i func() int32 { if _stateno <= i32(324) { return i32(0) } return func() int32 { 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(133192))) crt.X__builtin_abort(tls) return i32(0) }() }() _i = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_reduce_ofst)) + 2*uintptr(_stateno)))) func() int32 { if _i != i32(-130) { return i32(0) } return func() int32 { 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(133220))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_iLookAhead) != i32(252) { return i32(0) } return func() int32 { 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(27040))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_i *p = (*p) + int32(_iLookAhead) sink961 = *p } func() int32 { if (_i >= i32(0)) && (_i < i32(1567)) { return i32(0) } return func() int32 { 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(133244))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_lookahead)) + 1*uintptr(_i)))) == int32(_iLookAhead) { return i32(0) } return func() int32 { 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(133272))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_action)) + 2*uintptr(_i)))) return } var _yy_find_reduce_actionØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_yy_find_reduce_actionØ00__func__Ø000[0], str(133300), 22) } var _yy_reduce_ofst [325]int16 // sqlite3.c:135602:20 func init() { _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)} } func _yy_accept(tls *crt.TLS, _yypParser *XyyParser) { // sqlite3.c:138414:1 var _pParse *XParse // sqlite3.c:138417:3 _ = _pParse _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) if _yyTraceFILE == nil { goto _0 } crt.Xfprintf(tls, _yyTraceFILE, str(133324), unsafe.Pointer(_yyTracePrompt)) _0: func() int32 { if (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) == (*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(16 /* X2 */))))) { return i32(0) } return func() int32 { 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(133336))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(8 /* X1 */))))) = _pParse return } var _yy_acceptØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_yy_acceptØ00__func__Ø000[0], str(133376), 10) } func _yy_syntax_error(tls *crt.TLS, _yypParser *XyyParser, _yymajor int32, _yyminor XToken) { // sqlite3.c:138395:1 var _pParse *XParse // sqlite3.c:138400:3 _ = _pParse _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) func() int32 { if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yyminor.X0)) + 1*uintptr(i32(0))))) != 0 { return i32(0) } return func() int32 { 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(133388))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3ErrorMsg(tls, _pParse, str(27448), unsafe.Pointer(&_yyminor)) *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(8 /* X1 */))))) = _pParse return } var _yy_syntax_errorØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_yy_syntax_errorØ00__func__Ø000[0], str(133400), 16) } func _sqlite3ParserFinalize(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:136505:1 var _pParser *XyyParser // sqlite3.c:136506:12 _ = _pParser _pParser = (*XyyParser)(unsafe.Pointer(_p)) _0: if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_pParser.X0)))) <= uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(16 /* X2 */))))))) { goto _1 } _yy_pop_parser_stack(tls, _pParser) goto _0 _1: return } func Xsqlite3_enable_shared_cache(tls *crt.TLS, _enable int32) (r0 int32) { // sqlite3.c:59047:12 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(356 /* X26 */))) = _enable r0 = i32(0) return } func Xsqlite3_errcode(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142210:12 if _db == nil || _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { goto _1 } r0 = _sqlite3MisuseError(tls, i32(142212)) return _1: if _db != nil && (_db.X17) == 0 { goto _3 } r0 = _sqlite3NomemError(tls, i32(142215)) return _3: r0 = (_db.X10) & (_db.X11) return } func Xsqlite3_errmsg16(tls *crt.TLS, _db *Xsqlite3) (r0 unsafe.Pointer) { // sqlite3.c:142165:12 var _z unsafe.Pointer // sqlite3.c:142178:14 _ = _z if _db != nil { goto _0 } r0 = (unsafe.Pointer)(&_sqlite3_errmsg16Ø00outOfMemØ001) return _0: if _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { goto _1 } r0 = (unsafe.Pointer)(&_sqlite3_errmsg16Ø00misuseØ002) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if (_db.X17) == 0 { goto _2 } _z = (unsafe.Pointer)(&_sqlite3_errmsg16Ø00outOfMemØ001) goto _3 _2: _z = Xsqlite3_value_text16(tls, (*XMem)(unsafe.Pointer(_db.X56))) if unsafe.Pointer(_z) != (unsafe.Pointer)(uintptr(i32(0))) { goto _4 } _sqlite3ErrorWithMsg(tls, _db, _db.X10, _sqlite3ErrStr(tls, _db.X10)) _z = Xsqlite3_value_text16(tls, (*XMem)(unsafe.Pointer(_db.X56))) _4: _sqlite3OomClear(tls, _db) _3: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _z return } var _sqlite3_errmsg16Ø00outOfMemØ001 [14]uint16 // sqlite3.c:142166:20 func init() { _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)} } var _sqlite3_errmsg16Ø00misuseØ002 [39]uint16 // sqlite3.c:142169:20 func init() { _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)} } func Xsqlite3_expired(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76032:12 var _p *TVdbe // sqlite3.c:76033:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) r0 = bool2int((_p == (*TVdbe)(unsafe.Pointer(uintptr(i32(0))))) || (((uint32(_p.X32) << uint(i32(31))) >> uint(i32(31))) != 0)) return } func Xsqlite3_free_table(tls *crt.TLS, _azResult **int8) { // sqlite3.c:122166:12 var _1_i int32 // sqlite3.c:122170:9 _ = _1_i var _1_n int32 // sqlite3.c:122170:12 _ = _1_n if _azResult == nil { goto _0 } *(*uintptr)(unsafe.Pointer(&_azResult)) += uintptr(18446744073709551608) func() int32 { if _azResult != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(133416))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_n = int32(int64(uintptr(unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azResult)) + 8*uintptr(i32(0)))))))) _1_i = i32(1) _3: if _1_i >= _1_n { goto _6 } if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azResult)) + 8*uintptr(_1_i)))) == nil { goto _7 } Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azResult)) + 8*uintptr(_1_i))))) _7: _1_i += 1 goto _3 _6: Xsqlite3_free(tls, (unsafe.Pointer)(_azResult)) _0: return } var _sqlite3_free_tableØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_free_tableØ00__func__Ø000[0], str(133428), 19) } func Xsqlite3_get_autocommit(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:143202:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(143205)) r0 = i32(0) return _0: r0 = int32(_db.X15) return } func Xsqlite3_get_auxdata(tls *crt.TLS, _pCtx *Xsqlite3_context, _iArg int32) (r0 unsafe.Pointer) { // sqlite3.c:76812:12 var _pAuxData *XAuxData // sqlite3.c:76813:11 _ = _pAuxData func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*TVdbe)(unsafe.Pointer(_pCtx.X3)) != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(133448))) crt.X__builtin_abort(tls) return i32(0) }() }() _pAuxData = (*XAuxData)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(_pCtx.X3)).X43)) _4: if _pAuxData == nil { goto _7 } if (_pAuxData.X0) != (_pCtx.X4) || (_pAuxData.X1) != _iArg { goto _9 } goto _7 _9: _pAuxData = (*XAuxData)(unsafe.Pointer(_pAuxData.X4)) goto _4 _7: r0 = func() unsafe.Pointer { if _pAuxData != nil { return unsafe.Pointer(_pAuxData.X2) } return (unsafe.Pointer)(uintptr(i32(0))) }() return } var _sqlite3_get_auxdataØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_get_auxdataØ00__func__Ø000[0], str(133464), 20) } 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 var _rc int32 // sqlite3.c:122105:7 _ = _rc var _res XTabResult // sqlite3.c:122106:13 _ = _res var _6_azNew **int8 // sqlite3.c:122148:10 _ = _6_azNew if _sqlite3SafetyCheckOk(tls, _db) != 0 && _pazResult != (***int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(122109)) return _1: *_pazResult = (**int8)(unsafe.Pointer(uintptr(i32(0)))) if _pnColumn == nil { goto _2 } *_pnColumn = i32(0) _2: if _pnRow == nil { goto _3 } *_pnRow = i32(0) _3: if _pzErrMsg == nil { goto _4 } *_pzErrMsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _4: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(20 /* X3 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(24 /* X4 */))) = uint32(i32(0)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(28 /* X5 */))) = uint32(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(16 /* X2 */))) = uint32(i32(20)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(32 /* X6 */))) = i32(0) *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(0 /* X0 */))) = (**int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(8)*uint64(_res.X2)))) if (_res.X0) != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = i32(7) r0 = _sqlite3NomemError(tls, i32(122124)) return _5: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0)) + 8*uintptr(i32(0)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _rc = Xsqlite3_exec(tls, _db, _zSql, _sqlite3_get_table_cb, (unsafe.Pointer)(&_res), _pzErrMsg) i32(0) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0)) + 8*uintptr(i32(0)))) = (*int8)(unsafe.Pointer((unsafe.Pointer)(uintptr(int64(_res.X5))))) if (_rc & i32(255)) != i32(4) { goto _6 } Xsqlite3_free_table(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0))+8*uintptr(i32(1))))) if (_res.X1) == nil { goto _7 } if _pzErrMsg == nil { goto _8 } Xsqlite3_free(tls, (unsafe.Pointer)(*_pzErrMsg)) *_pzErrMsg = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer(_res.X1)) _8: Xsqlite3_free(tls, (unsafe.Pointer)(_res.X1)) _7: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = _res.X6 r0 = _res.X6 return _6: Xsqlite3_free(tls, (unsafe.Pointer)(_res.X1)) if _rc == i32(0) { goto _9 } Xsqlite3_free_table(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0))+8*uintptr(i32(1))))) r0 = _rc return _9: if (_res.X2) <= (_res.X5) { goto _10 } _6_azNew = (**int8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_res.X0), u64(8)*uint64(_res.X5)))) if _6_azNew != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } Xsqlite3_free_table(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0))+8*uintptr(i32(1))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X10 */))) = i32(7) r0 = _sqlite3NomemError(tls, i32(122153)) return _11: *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(0 /* X0 */))) = _6_azNew _10: *_pazResult = (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0)) + 8*uintptr(i32(1)))) if _pnColumn == nil { goto _12 } *_pnColumn = int32(_res.X4) _12: if _pnRow == nil { goto _13 } *_pnRow = int32(_res.X3) _13: r0 = _rc return } func _sqlite3_get_table_cb(tls *crt.TLS, _pArg unsafe.Pointer, _nCol int32, _argv **int8, _colv **int8) (r0 int32) { // sqlite3.c:122023:1 var _p *XTabResult // sqlite3.c:122024:13 _ = _p var _need int32 // sqlite3.c:122025:7 _ = _need var _i int32 // sqlite3.c:122026:7 _ = _i var _z *int8 // sqlite3.c:122027:8 _ = _z var _3_azNew **int8 // sqlite3.c:122038:10 _ = _3_azNew var _10_n int32 // sqlite3.c:122071:13 _ = _10_n _p = (*XTabResult)(unsafe.Pointer(_pArg)) if (_p.X3) != uint32(i32(0)) || _argv == (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } _need = _nCol * i32(2) goto _2 _1: _need = _nCol _2: if ((_p.X5) + uint32(_need)) <= (_p.X2) { goto _3 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = ((_p.X2) * uint32(i32(2))) + uint32(_need) _3_azNew = (**int8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_p.X0), u64(8)*uint64(_p.X2)))) if _3_azNew != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _4 } goto _malloc_failed _4: *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _3_azNew _3: if (_p.X3) != uint32(i32(0)) { goto _5 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) = uint32(_nCol) _i = i32(0) _6: if _i >= _nCol { goto _9 } _z = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_colv)) + 8*uintptr(_i))))) if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _10 } goto _malloc_failed _10: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 8*uintptr(postInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X5 */))), uint32(1))))) = _z _i += 1 goto _6 _9: goto _11 _5: if int32(_p.X4) == _nCol { goto _12 } Xsqlite3_free(tls, (unsafe.Pointer)(_p.X1)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = Xsqlite3_mprintf(tls, str(133484)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))) = i32(1) r0 = i32(1) return _12: _11: if _argv == (**int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _13 } _i = i32(0) _14: if _i >= _nCol { goto _17 } if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } _z = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _19 _18: _10_n = _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))) + i32(1) _z = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_10_n)))) if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } goto _malloc_failed _20: crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))), uint64(_10_n)) _19: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 8*uintptr(postInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X5 */))), uint32(1))))) = _z _i += 1 goto _14 _17: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X3 */))) += 1 _13: r0 = i32(0) return _malloc_failed: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))) = _sqlite3NomemError(tls, i32(122083)) r0 = i32(1) return } func Xsqlite3_interrupt(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:141487:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 || _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) && (_db.X28) == uint32(i32(1691352191)) { goto _2 } _sqlite3MisuseError(tls, i32(141490)) return _2: *(*int32)(unsafe.Pointer((*T5415329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X57 */))))) = i32(1) return } func Xsqlite3_last_insert_rowid(tls *crt.TLS, _db *Xsqlite3) (r0 int64) { // sqlite3.c:140817:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(140820)) r0 = int64(i32(0)) return _0: r0 = _db.X7 return } func Xsqlite3_libversion(tls *crt.TLS) (r0 *int8) { // sqlite3.c:139948:12 r0 = (*int8)(unsafe.Pointer(&Xsqlite3_version)) return } var Xsqlite3_version [7]int8 // sqlite3.c:435:23 func init() { crt.Xstrncpy(nil, &Xsqlite3_version[0], str(133552), 7) } func Xsqlite3_libversion_number(tls *crt.TLS) (r0 int32) { // sqlite3.c:139959:12 r0 = i32(3018000) return } func Xsqlite3_open(tls *crt.TLS, _zFilename *int8, _ppDb **Xsqlite3) (r0 int32) { // sqlite3.c:143021:12 r0 = _openDatabase(tls, _zFilename, _ppDb, uint32(i32(6)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) return } func _openDatabase(tls *crt.TLS, _zFilename *int8, _ppDb **Xsqlite3, _flags uint32, _zVfs *int8) (r0 int32) { // sqlite3.c:142689:1 var _db *Xsqlite3 // sqlite3.c:142695:11 _ = _db var _rc int32 // sqlite3.c:142696:7 _ = _rc var _isThreadsafe int32 // sqlite3.c:142697:7 _ = _isThreadsafe var _zOpen *int8 // sqlite3.c:142698:8 _ = _zOpen var _zErrMsg *int8 // sqlite3.c:142699:8 _ = _zErrMsg _zOpen = nil _zErrMsg = nil if _ppDb != (**Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(142702)) return _0: *_ppDb = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _1 } r0 = _rc return _1: i32(0) i32(0) i32(0) if ((i32(1) << uint(int32(_flags&uint32(i32(7))))) & i32(70)) != i32(0) { goto _2 } r0 = _sqlite3MisuseError(tls, i32(142727)) return _2: if (_sqlite3Config.X1) != i32(0) { goto _3 } _isThreadsafe = i32(0) goto _4 _3: if (_flags & uint32(i32(32768))) == 0 { goto _5 } _isThreadsafe = i32(0) goto _6 _5: if (_flags & uint32(i32(65536))) == 0 { goto _7 } _isThreadsafe = i32(1) goto _8 _7: _isThreadsafe = _sqlite3Config.X2 _8: _6: _4: if (_flags & uint32(i32(262144))) == 0 { goto _9 } { p := &_flags *p = (*p) & uint32(i32(-131073)) sink985 = *p } goto _10 _9: if (_sqlite3Config.X26) == 0 { goto _11 } { p := &_flags *p = (*p) | uint32(i32(131072)) sink985 = *p } _11: _10: { p := &_flags *p = (*p) & uint32(i32(-655129)) sink985 = *p } _db = (*Xsqlite3)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(672)))) if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { goto _12 } goto _opendb_out _12: if _isThreadsafe == 0 { goto _13 } *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X3 */))))) = _sqlite3MutexAlloc(tls, i32(1)) if (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } Xsqlite3_free(tls, (unsafe.Pointer)(_db)) _db = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) goto _opendb_out _14: _13: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(72 /* X11 */))) = i32(255) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(40 /* X5 */))) = i32(2) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(100 /* X28 */))) = u32(4030429446) *(**XDb)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(32 /* X4 */))))) = (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(560 /* X72 */))))) i32(0) crt.Xmemcpy(tls, (unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */)))), (unsafe.Pointer)(&_aHardLimit), u64(48)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(11)))) = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(83 /* X15 */))) = uint8(i32(1)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(88 /* X20 */))) = int8(i32(-1)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(56 /* X8 */))) = _sqlite3Config.X17 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(96 /* X27 */))) = i32(0) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(160 /* X32 */))) = i32(2147483647) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = (*p) | i32(17825888) sink961 = *p } _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(512 /* X70 */)))) _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(440 /* X65 */)))) _createCollation(tls, _db, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(i32(1)), (unsafe.Pointer)(uintptr(i32(0))), _binCollFunc, nil) _createCollation(tls, _db, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(i32(3)), (unsafe.Pointer)(uintptr(i32(0))), _binCollFunc, nil) _createCollation(tls, _db, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(i32(2)), (unsafe.Pointer)(uintptr(i32(0))), _binCollFunc, nil) _createCollation(tls, _db, str(107448), uint8(i32(1)), (unsafe.Pointer)(uintptr(i32(0))), _nocaseCollatingFunc, nil) _createCollation(tls, _db, str(133560), uint8(i32(1)), (unsafe.Pointer)(uintptr(u32(1))), _binCollFunc, nil) if (_db.X17) == 0 { goto _15 } goto _opendb_out _15: *(**XCollSeq)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(16 /* X2 */))))) = _sqlite3FindCollSeq(tls, _db, uint8(i32(1)), (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), i32(0)) func() int32 { if (*XCollSeq)(unsafe.Pointer(_db.X2)) != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(133568))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(64 /* X9 */))) = _flags _rc = _sqlite3ParseUri(tls, _zVfs, _zFilename, &_flags, (**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(0 /* X0 */))))), &_zOpen, &_zErrMsg) if _rc == i32(0) { goto _18 } if _rc != i32(7) { goto _19 } _sqlite3OomFault(tls, _db) _19: _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { if _zErrMsg != nil { return str(24304) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), unsafe.Pointer(_zErrMsg)) Xsqlite3_free(tls, (unsafe.Pointer)(_zErrMsg)) goto _opendb_out _18: _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)+32*uintptr(i32(0))))))+uintptr(8 /* X1 */))))), i32(0), int32(_flags|uint32(i32(256)))) if _rc == i32(0) { goto _22 } if _rc != i32(3082) { goto _23 } _rc = _sqlite3NomemError(tls, i32(142863)) _23: _sqlite3Error(tls, _db, _rc) goto _opendb_out _22: _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))))) + uintptr(24 /* X4 */))))) = _sqlite3SchemaGet(tls, _db, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1))) if (_db.X17) != 0 { goto _24 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(82 /* X14 */))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(i32(0)))).X4)).X8 _24: _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))).X1))) *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))))) + uintptr(24 /* X4 */))))) = _sqlite3SchemaGet(tls, _db, (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = str(96256) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))))) + uintptr(16 /* X2 */))) = uint8(i32(3)) *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))))) + uintptr(0 /* X0 */))) = str(23544) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(1)))))) + uintptr(16 /* X2 */))) = uint8(i32(1)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(100 /* X28 */))) = u32(2687084183) if (_db.X17) == 0 { goto _25 } goto _opendb_out _25: _sqlite3Error(tls, _db, i32(0)) _sqlite3RegisterPerConnectionBuiltinFunctions(tls, _db) _rc = Xsqlite3_errcode(tls, _db) if _rc != i32(0) { goto _26 } _sqlite3AutoLoadExtensions(tls, _db) _rc = Xsqlite3_errcode(tls, _db) if _rc == i32(0) { goto _27 } goto _opendb_out _27: _26: if _rc == 0 { goto _28 } _sqlite3Error(tls, _db, _rc) _28: _setupLookaside(tls, _db, (unsafe.Pointer)(uintptr(i32(0))), _sqlite3Config.X7, _sqlite3Config.X8) Xsqlite3_wal_autocheckpoint(tls, _db, i32(1000)) _opendb_out: if _db == nil { goto _29 } func() int32 { if (((*Xsqlite3_mutex)(unsafe.Pointer(_db.X3)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || (_isThreadsafe == i32(0))) || ((_sqlite3Config.X2) == i32(0)) { return i32(0) } return func() int32 { 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(133588))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _29: _rc = Xsqlite3_errcode(tls, _db) func() int32 { if (_db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || (_rc == i32(7)) { return i32(0) } return func() int32 { 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(133660))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(7) { goto _37 } Xsqlite3_close(tls, _db) _db = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) goto _38 _37: if _rc == i32(0) { goto _39 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(100 /* X28 */))) = uint32(i32(1266094736)) _39: _38: *_ppDb = _db Xsqlite3_free(tls, (unsafe.Pointer)(_zOpen)) r0 = _rc & i32(255) return } func _binCollFunc(tls *crt.TLS, _padFlag unsafe.Pointer, _nKey1 int32, _pKey1 unsafe.Pointer, _nKey2 int32, _pKey2 unsafe.Pointer) (r0 int32) { // sqlite3.c:140763:1 var _rc int32 // sqlite3.c:140768:7 _ = _rc var _n int32 // sqlite3.c:140768:11 _ = _n _n = func() int32 { if _nKey1 < _nKey2 { return _nKey1 } return _nKey2 }() _rc = crt.Xmemcmp(tls, _pKey1, _pKey2, uint64(_n)) if _rc != i32(0) { goto _2 } 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 { goto _5 } goto _6 _5: _rc = _nKey1 - _nKey2 _6: _2: r0 = _rc return } func _allSpaces(tls *crt.TLS, _z *int8, _n int32) (r0 int32) { // sqlite3.c:140751:1 _0: if _n <= i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1))))) != i32(32) { goto _1 } _n -= 1 goto _0 _1: r0 = bool2int(_n == i32(0)) return } func _nocaseCollatingFunc(tls *crt.TLS, _NotUsed unsafe.Pointer, _nKey1 int32, _pKey1 unsafe.Pointer, _nKey2 int32, _pKey2 unsafe.Pointer) (r0 int32) { // sqlite3.c:140800:1 var _r int32 // sqlite3.c:140805:7 _ = _r _r = Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(_pKey1)), (*int8)(unsafe.Pointer(_pKey2)), func() int32 { if _nKey1 < _nKey2 { return _nKey1 } return _nKey2 }()) if i32(0) != _r { goto _2 } _r = _nKey1 - _nKey2 _2: r0 = _r return } var _openDatabaseØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_openDatabaseØ00__func__Ø000[0], str(133688), 13) } func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:106950:1 var _rc int32 // sqlite3.c:106951:7 _ = _rc _rc = Xsqlite3_overload_function(tls, _db, str(24944), i32(2)) func() int32 { if (_rc == i32(7)) || (_rc == i32(0)) { return i32(0) } return func() int32 { 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(133704))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(7) { goto _3 } _sqlite3OomFault(tls, _db) _3: return } func Xsqlite3_overload_function(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _nArg int32) (r0 int32) { // sqlite3.c:141700:12 var _rc int32 // sqlite3.c:141705:7 _ = _rc _rc = i32(0) if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _nArg >= i32(-2) { goto _2 } r0 = _sqlite3MisuseError(tls, i32(141709)) return _2: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if _sqlite3FindFunction(tls, _db, _zName, _nArg, uint8(i32(1)), uint8(i32(0))) != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } _rc = _sqlite3CreateFunc(tls, _db, _zName, _nArg, i32(1), (unsafe.Pointer)(uintptr(i32(0))), _sqlite3InvalidFunction, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) _3: _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func _sqlite3InvalidFunction(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:76757:1 var _zName *int8 // sqlite3.c:76762:14 _ = _zName var _zErr *int8 // sqlite3.c:76763:8 _ = _zErr _zName = (*XFuncDef)(unsafe.Pointer(_context.X1)).X6 func() **XMem { ; return _NotUsed2 }() _zErr = Xsqlite3_mprintf(tls, str(133740), unsafe.Pointer(_zName)) Xsqlite3_result_error(tls, _context, _zErr, i32(-1)) Xsqlite3_free(tls, (unsafe.Pointer)(_zErr)) return } var _sqlite3RegisterPerConnectionBuiltinFunctionsØ00__func__Ø000 [45]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3RegisterPerConnectionBuiltinFunctionsØ00__func__Ø000[0], str(133792), 45) } func _sqlite3AutoLoadExtensions(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:112300:1 var _i uint32 // sqlite3.c:112301:7 _ = _i var _go int32 // sqlite3.c:112302:7 _ = _go var _rc int32 // sqlite3.c:112303:7 _ = _rc var _xInit func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 // sqlite3.c:112304:25 _ = _xInit var _2_zErrmsg *int8 // sqlite3.c:112312:10 _ = _2_zErrmsg var _2_mutex *Xsqlite3_mutex // sqlite3.c:112314:19 _ = _2_mutex var _2_pThunk *Xsqlite3_api_routines // sqlite3.c:112319:32 _ = _2_pThunk _go = i32(1) if (_sqlite3Autoext.X0) != uint32(i32(0)) { goto _0 } return _0: _i = uint32(i32(0)) _1: if _go == 0 { goto _4 } _2_mutex = _sqlite3MutexAlloc(tls, i32(2)) _2_pThunk = &_sqlite3Apis Xsqlite3_mutex_enter(tls, _2_mutex) if _i < (_sqlite3Autoext.X0) { goto _5 } _xInit = nil _go = i32(0) goto _6 _5: _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)) + 8*uintptr(_i))))})) _6: Xsqlite3_mutex_leave(tls, _2_mutex) _2_zErrmsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if _xInit == nil || store961(&_rc, _xInit(tls, _db, &_2_zErrmsg, _2_pThunk)) == i32(0) { goto _8 } _sqlite3ErrorWithMsg(tls, _db, _rc, str(133840), unsafe.Pointer(_2_zErrmsg)) _go = i32(0) _8: Xsqlite3_free(tls, (unsafe.Pointer)(_2_zErrmsg)) _i += 1 goto _1 _4: return } var _sqlite3Autoext Tsqlite3AutoExtList // sqlite3.c:112184:3 func _setupLookaside(tls *crt.TLS, _db *Xsqlite3, _pBuf unsafe.Pointer, _sz int32, _cnt int32) (r0 int32) { // sqlite3.c:140564:1 var _pStart unsafe.Pointer // sqlite3.c:140566:8 _ = _pStart var _6_i int32 // sqlite3.c:140598:9 _ = _6_i var _6_p *Xsqlite3_file // sqlite3.c:140599:19 _ = _6_p if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3) == 0 { goto _0 } r0 = i32(5) return _0: if ((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X2) == 0 { goto _1 } Xsqlite3_free(tls, (*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))).X7) _1: _sz = _sz & i32(-8) if _sz > i32(8) { goto _2 } _sz = i32(0) _2: if _cnt >= i32(0) { goto _3 } _cnt = i32(0) _3: if _sz != i32(0) && _cnt != i32(0) { goto _5 } _sz = i32(0) _pStart = (unsafe.Pointer)(uintptr(i32(0))) goto _6 _5: if unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { goto _7 } _sqlite3BeginBenignMalloc(tls) _pStart = _sqlite3Malloc(tls, uint64(_sz*_cnt)) _sqlite3EndBenignMalloc(tls) if _pStart == nil { goto _8 } _cnt = _sqlite3MallocSize(tls, _pStart) / _sz _8: goto _9 _7: _pStart = _pBuf _9: _6: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(40 /* X7 */))) = _pStart *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(32 /* X6 */))))) = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(4 /* X1 */))) = uint16(_sz) if _pStart == nil { goto _10 } func() int32 { if _sz > i32(8) { return i32(0) } return func() int32 { 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(133880))) crt.X__builtin_abort(tls) return i32(0) }() }() _6_p = (*Xsqlite3_file)(unsafe.Pointer(_pStart)) _6_i = _cnt - i32(1) _13: if _6_i < i32(0) { goto _16 } *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_p)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X6)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(32 /* X6 */))))) = _6_p _6_p = (*Xsqlite3_file)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_p)) + 1*uintptr(_sz))))) _6_i -= 1 goto _13 _16: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(48 /* X8 */))) = (unsafe.Pointer)(_6_p) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) = uint32(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(6 /* X2 */))) = uint8(func() int32 { if unsafe.Pointer(_pBuf) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(1) } return i32(0) }()) goto _19 _10: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(40 /* X7 */))) = (unsafe.Pointer)(_db) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(48 /* X8 */))) = (unsafe.Pointer)(_db) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(0 /* X0 */))) = uint32(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(6 /* X2 */))) = uint8(i32(0)) _19: r0 = i32(0) return } var _setupLookasideØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_setupLookasideØ00__func__Ø000[0], str(133916), 15) } func Xsqlite3_open16(tls *crt.TLS, _zFilename unsafe.Pointer, _ppDb **Xsqlite3) (r0 int32) { // sqlite3.c:143041:12 var _zFilename8 *int8 // sqlite3.c:143045:14 _ = _zFilename8 var _pVal *XMem // sqlite3.c:143046:17 _ = _pVal var _rc int32 // sqlite3.c:143047:7 _ = _rc if _ppDb != (**Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(143050)) return _0: *_ppDb = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _1 } r0 = _rc return _1: if unsafe.Pointer(_zFilename) != (unsafe.Pointer)(uintptr(i32(0))) { goto _2 } _zFilename = (unsafe.Pointer)(str(133932)) _2: _pVal = _sqlite3ValueNew(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) _sqlite3ValueSetStr(tls, _pVal, i32(-1), _zFilename, uint8(i32(2)), nil) _zFilename8 = (*int8)(unsafe.Pointer(_sqlite3ValueText(tls, _pVal, uint8(i32(1))))) if _zFilename8 == nil { goto _3 } _rc = _openDatabase(tls, _zFilename8, _ppDb, uint32(i32(6)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) func() int32 { if ((*_ppDb) != nil) || (_rc == i32(7)) { return i32(0) } return func() int32 { 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(133936))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*_ppDb).X4)+32*uintptr(i32(0)))).X4)).X9)&i32(1)) == i32(1) { goto _8 } *(*uint8)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr((*_ppDb).X4)+32*uintptr(i32(0)))).X4) + uintptr(113 /* X8 */))) = store4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_ppDb))+uintptr(82 /* X14 */))), uint8(i32(2))) _8: goto _9 _3: _rc = _sqlite3NomemError(tls, i32(143069)) _9: _sqlite3ValueFree(tls, _pVal) r0 = _rc & i32(255) return } var _sqlite3_open16Ø00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_open16Ø00__func__Ø000[0], str(133964), 15) } 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 var _rc int32 // sqlite3.c:116226:7 _ = _rc _rc = _sqlite3Prepare16(tls, _db, _zSql, _nBytes, i32(0), _ppStmt, _pzTail) func() int32 { if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(51964))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } 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 var _zSql8 *int8 // sqlite3.c:116173:8 _ = _zSql8 var _zTail8 *int8 // sqlite3.c:116174:14 _ = _zTail8 var _rc int32 // sqlite3.c:116175:7 _ = _rc var _2_sz int32 // sqlite3.c:116185:9 _ = _2_sz var _2_z *int8 // sqlite3.c:116186:16 _ = _2_z var _5_chars_parsed int32 // sqlite3.c:116202:9 _ = _5_chars_parsed _zTail8 = nil _rc = i32(0) if _ppStmt != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(116178)) return _0: *_ppStmt = (unsafe.Pointer)(uintptr(i32(0))) if _sqlite3SafetyCheckOk(tls, _db) != 0 && unsafe.Pointer(_zSql) != (unsafe.Pointer)(uintptr(i32(0))) { goto _2 } r0 = _sqlite3MisuseError(tls, i32(116182)) return _2: if _nBytes < i32(0) { goto _3 } _2_z = (*int8)(unsafe.Pointer(_zSql)) _2_sz = i32(0) _4: 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) { goto _9 } { p := &_2_sz *p = (*p) + i32(2) sink961 = *p } goto _4 _9: _nBytes = _2_sz _3: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _zSql8 = _sqlite3Utf16to8(tls, _db, _zSql, _nBytes, uint8(i32(2))) if _zSql8 == nil { goto _10 } _rc = _sqlite3LockAndPrepare(tls, _db, _zSql8, i32(-1), _saveSqlFlag, (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))), _ppStmt, &_zTail8) _10: if _zTail8 == nil || _pzTail == nil { goto _12 } _5_chars_parsed = _sqlite3Utf8CharLen(tls, _zSql8, int32(int64((uintptr(unsafe.Pointer(_zTail8))-uintptr(unsafe.Pointer(_zSql8)))/1))) *_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))))))))) _12: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zSql8)) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func _sqlite3Utf16ByteLen(tls *crt.TLS, _zIn unsafe.Pointer, _nChar int32) (r0 int32) { // sqlite3.c:27539:1 var _c int32 // sqlite3.c:27540:7 _ = _c var _z *uint8 // sqlite3.c:27541:23 _ = _z var _n int32 // sqlite3.c:27542:7 _ = _n var _4_c2 int32 // sqlite3.c:27546:7 _ = _4_c2 var _8_c2 int32 // sqlite3.c:27551:7 _ = _8_c2 _z = (*uint8)(unsafe.Pointer(_zIn)) _n = i32(0) goto _0 _0: _7: if _n >= _nChar { goto _8 } _c = int32(*postInc4543(&_z, 1)) { p := &_c *p = (*p) + (int32(*postInc4543(&_z, 1)) << uint(i32(8))) sink961 = *p } if _c < i32(55296) || _c >= i32(57344) || i32(1) == 0 { goto _11 } _8_c2 = int32(*postInc4543(&_z, 1)) { p := &_8_c2 *p = (*p) + (int32(*postInc4543(&_z, 1)) << uint(i32(8))) sink961 = *p } _c = ((_8_c2 & i32(1023)) + ((_c & i32(63)) << uint(i32(10)))) + (((_c & i32(960)) + i32(64)) << uint(i32(10))) _11: _n += 1 goto _7 _8: r0 = int32(int64((uintptr(unsafe.Pointer(_z)) - uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_zIn))))) / 1)) return } var _sqlite3_prepare16Ø00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_prepare16Ø00__func__Ø000[0], str(133980), 18) } 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 var _pOld unsafe.Pointer // sqlite3.c:141788:8 _ = _pOld if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141792)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pOld = _db.X44 *(*func(*crt.TLS, unsafe.Pointer, *int8, uint64))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(224 /* X43 */))) = _xProfile *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(232 /* X44 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _pOld return } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141448)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if _nOps <= i32(0) { goto _1 } *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(416 /* X61 */))) = _xProgress *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(432 /* X63 */))) = uint32(_nOps) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(424 /* X62 */))) = _pArg goto _2 _1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(416 /* X61 */))) = nil *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(432 /* X63 */))) = uint32(i32(0)) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(424 /* X62 */))) = (unsafe.Pointer)(uintptr(i32(0))) _2: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) return } func Xsqlite3_realloc(tls *crt.TLS, _pOld unsafe.Pointer, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:24748:12 if Xsqlite3_initialize(tls) == 0 { goto _0 } r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: if _n >= i32(0) { goto _1 } _n = i32(0) _1: r0 = _sqlite3Realloc(tls, _pOld, uint64(_n)) return } func Xsqlite3_result_error16(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n int32) { // sqlite3.c:76365:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(36 /* X5 */))) = i32(1) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(1)) _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(2)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) return } var _sqlite3_result_error16Ø00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_error16Ø00__func__Ø000[0], str(134000), 23) } func Xsqlite3_result_int64(tls *crt.TLS, _pCtx *Xsqlite3_context, _iVal int64) { // sqlite3.c:76376:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _iVal) return } var _sqlite3_result_int64Ø00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_int64Ø00__func__Ø000[0], str(134024), 21) } func Xsqlite3_result_null(tls *crt.TLS, _pCtx *Xsqlite3_context) { // sqlite3.c:76380:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetNull(tls, (*XMem)(unsafe.Pointer(_pCtx.X0))) return } var _sqlite3_result_nullØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_nullØ00__func__Ø000[0], str(134048), 20) } 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 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(2)), _xDel) return } var _sqlite3_result_text16Ø00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_text16Ø00__func__Ø000[0], str(134068), 22) } 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 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(3)), _xDel) return } var _sqlite3_result_text16beØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_text16beØ00__func__Ø000[0], str(134092), 24) } 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 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(2)), _xDel) return } var _sqlite3_result_text16leØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_text16leØ00__func__Ø000[0], str(134116), 24) } 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 var _pRet unsafe.Pointer // sqlite3.c:141866:8 _ = _pRet if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141870)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pRet = _db.X47 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(264 /* X48 */))) = _xCallback *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(256 /* X47 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _pRet return } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(99263)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(400 /* X59 */))) = _xAuth *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(408 /* X60 */))) = _pArg _sqlite3ExpirePreparedStatements(tls, _db) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(0) return } 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 var _pAuxData *XAuxData // sqlite3.c:76839:11 _ = _pAuxData var _pVdbe *TVdbe // sqlite3.c:76840:8 _ = _pVdbe _pVdbe = (*TVdbe)(unsafe.Pointer(_pCtx.X3)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iArg >= i32(0) { goto _2 } goto _failed _2: func() int32 { if _pVdbe != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(42744))) crt.X__builtin_abort(tls) return i32(0) }() }() _pAuxData = (*XAuxData)(unsafe.Pointer(_pVdbe.X43)) _5: if _pAuxData == nil { goto _8 } if (_pAuxData.X0) != (_pCtx.X4) || (_pAuxData.X1) != _iArg { goto _10 } goto _8 _10: _pAuxData = (*XAuxData)(unsafe.Pointer(_pAuxData.X4)) goto _5 _8: if _pAuxData != (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } _pAuxData = (*XAuxData)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pVdbe.X0)), u64(32)))) if _pAuxData != nil { goto _12 } goto _failed _12: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(0 /* X0 */))) = _pCtx.X4 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(4 /* X1 */))) = _iArg *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(24 /* X4 */))))) = (*XAuxData)(unsafe.Pointer(_pVdbe.X43)) *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe)) + uintptr(280 /* X43 */))))) = _pAuxData if int32(_pCtx.X7) != i32(0) { goto _13 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(36 /* X5 */))) = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(41 /* X7 */))) = uint8(i32(1)) _13: goto _14 _11: if (_pAuxData.X3) == nil { goto _15 } (_pAuxData.X3)(tls, _pAuxData.X2) _15: _14: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(8 /* X2 */))) = _pAux *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(16 /* X3 */))) = _xDelete return _failed: if _xDelete == nil { goto _16 } _xDelete(tls, _pAux) _16: return } var _sqlite3_set_auxdataØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_set_auxdataØ00__func__Ø000[0], str(134140), 20) } 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 var _rc int32 // sqlite3.c:143278:7 _ = _rc var _zErrMsg *int8 // sqlite3.c:143279:8 _ = _zErrMsg var _pTab *XTable // sqlite3.c:143280:9 _ = _pTab var _pCol *XColumn // sqlite3.c:143281:10 _ = _pCol var _iCol int32 // sqlite3.c:143282:7 _ = _iCol var _zDataType *int8 // sqlite3.c:143283:14 _ = _zDataType var _zCollSeq *int8 // sqlite3.c:143284:14 _ = _zCollSeq var _notnull int32 // sqlite3.c:143285:7 _ = _notnull var _primarykey int32 // sqlite3.c:143286:7 _ = _primarykey var _autoinc int32 // sqlite3.c:143287:7 _ = _autoinc _zErrMsg = nil _pTab = nil _pCol = nil _iCol = i32(0) _zDataType = nil _zCollSeq = nil _notnull = i32(0) _primarykey = i32(0) _autoinc = i32(0) if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zTableName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(143292)) return _1: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _sqlite3BtreeEnterAll(tls, _db) _rc = _sqlite3Init(tls, _db, &_zErrMsg) if i32(0) == _rc { goto _2 } goto _error_out _2: _pTab = _sqlite3FindTable(tls, _db, _zTableName, _zDbName) if _pTab != nil && (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _4 } _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) goto _error_out _4: if _zColumnName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } goto _6 _5: _iCol = i32(0) _7: if _iCol >= int32(_pTab.X11) { goto _10 } _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))) if i32(0) != _sqlite3StrICmp(tls, _pCol.X0, _zColumnName) { goto _11 } goto _10 _11: _iCol += 1 goto _7 _10: if _iCol != int32(_pTab.X11) { goto _12 } if ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) || _sqlite3IsRowid(tls, _zColumnName) == 0 { goto _14 } _iCol = int32(_pTab.X10) _pCol = func() *XColumn { if _iCol >= i32(0) { return (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 32*uintptr(_iCol))) } return (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) }() goto _17 _14: _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) goto _error_out _17: _12: _6: if _pCol == nil { goto _18 } _zDataType = _sqlite3ColumnType(tls, _pCol, (*int8)(unsafe.Pointer(uintptr(i32(0))))) _zCollSeq = _pCol.X2 _notnull = bool2int(int32(_pCol.X3) != i32(0)) _primarykey = bool2int((int32(_pCol.X6) & i32(1)) != i32(0)) _autoinc = bool2int((int32(_pTab.X10) == _iCol) && (((_pTab.X9) & uint32(i32(8))) != uint32(i32(0)))) goto _20 _18: _zDataType = str(25736) _primarykey = i32(1) _20: if _zCollSeq != nil { goto _21 } _zCollSeq = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) _21: _error_out: _sqlite3BtreeLeaveAll(tls, _db) if _pzDataType == nil { goto _22 } *_pzDataType = _zDataType _22: if _pzCollSeq == nil { goto _23 } *_pzCollSeq = _zCollSeq _23: if _pNotNull == nil { goto _24 } *_pNotNull = _notnull _24: if _pPrimaryKey == nil { goto _25 } *_pPrimaryKey = _primarykey _25: if _pAutoinc == nil { goto _26 } *_pAutoinc = _autoinc _26: if i32(0) != _rc || _pTab != nil { goto _28 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) _zErrMsg = _sqlite3MPrintf(tls, _db, str(134160), unsafe.Pointer(_zTableName), unsafe.Pointer(_zColumnName)) _rc = i32(1) _28: _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { if _zErrMsg != nil { return str(24304) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), unsafe.Pointer(_zErrMsg)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } func Xsqlite3_thread_cleanup(tls *crt.TLS) { // sqlite3.c:143259:12 return } func Xsqlite3_total_changes(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140858:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(140861)) r0 = i32(0) return _0: r0 = _db.X30 return } 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 var _pOld unsafe.Pointer // sqlite3.c:141733:8 _ = _pOld if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141737)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pOld = _db.X42 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(92 /* X24 */))) = uint8(func() int32 { if _xTrace != nil { return i32(128) } return i32(0) }()) *(*func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(208 /* X41 */))) = *(*func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8) }{_xTrace})) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(216 /* X42 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _pOld return } func Xsqlite3_transfer_bindings(tls *crt.TLS, _pFromStmt unsafe.Pointer, _pToStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77524:12 var _pFrom *TVdbe // sqlite3.c:77525:8 _ = _pFrom var _pTo *TVdbe // sqlite3.c:77526:8 _ = _pTo _pFrom = (*TVdbe)(unsafe.Pointer(_pFromStmt)) _pTo = (*TVdbe)(unsafe.Pointer(_pToStmt)) if int32(_pFrom.X4) == int32(_pTo.X4) { goto _0 } r0 = i32(1) return _0: func() int32 { if (((uint32((_pTo.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_pTo.X41) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(134188))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pTo.X41) == 0 { goto _4 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _4: func() int32 { if (((uint32((_pFrom.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_pFrom.X41) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(134224))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pFrom.X41) == 0 { goto _8 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _8: r0 = _sqlite3TransferBindings(tls, _pFromStmt, _pToStmt) return } var _sqlite3_transfer_bindingsØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_transfer_bindingsØ00__func__Ø000[0], str(134264), 26) } 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 var _pRet unsafe.Pointer // sqlite3.c:141841:8 _ = _pRet if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(141845)) r0 = (unsafe.Pointer)(uintptr(i32(0))) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pRet = _db.X49 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(280 /* X50 */))) = _xCallback *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(272 /* X49 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _pRet return } func Xsqlite3_value_numeric_type(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:78418:12 var _eType int32 // sqlite3.c:78419:7 _ = _eType var _1_pMem *XMem // sqlite3.c:78421:9 _ = _1_pMem _eType = Xsqlite3_value_type(tls, _pVal) if _eType != i32(3) { goto _0 } _1_pMem = _pVal _applyNumericAffinity(tls, _1_pMem, i32(0)) _eType = Xsqlite3_value_type(tls, _pVal) _0: r0 = _eType return } func Xsqlite3_value_text16be(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76213:12 r0 = _sqlite3ValueText(tls, _pVal, uint8(i32(3))) return } func Xsqlite3_value_text16le(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76216:12 r0 = _sqlite3ValueText(tls, _pVal, uint8(i32(2))) return } 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 var _rc int32 // sqlite3.c:116238:7 _ = _rc _rc = _sqlite3Prepare16(tls, _db, _zSql, _nBytes, i32(1), _ppStmt, _pzTail) func() int32 { if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(51964))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3_prepare16_v2Ø00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_prepare16_v2Ø00__func__Ø000[0], str(134292), 21) } func Xsqlite3_clear_bindings(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76149:12 var _i int32 // sqlite3.c:76150:7 _ = _i var _rc int32 // sqlite3.c:76151:7 _ = _rc var _p *TVdbe // sqlite3.c:76152:8 _ = _p var _mutex *Xsqlite3_mutex // sqlite3.c:76154:17 _ = _mutex _rc = i32(0) _p = (*TVdbe)(unsafe.Pointer(_pStmt)) _mutex = (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(_pStmt)).X0)).X3)) Xsqlite3_mutex_enter(tls, _mutex) _i = i32(0) _0: if _i >= int32(_p.X4) { goto _3 } _sqlite3VdbeMemRelease(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+72*uintptr(_i)))) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_p.X24)+72*uintptr(_i))))) + uintptr(8 /* X1 */))) = uint16(i32(1)) _i += 1 goto _0 _3: func() int32 { if (((uint32((_p.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_p.X41) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(6964))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X41) == 0 { goto _7 } storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(196 /* X32 */))), int16(i32(1)), 1, 0) _7: Xsqlite3_mutex_leave(tls, _mutex) r0 = _rc return } var _sqlite3_clear_bindingsØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_clear_bindingsØ00__func__Ø000[0], str(134316), 23) } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(124644)) return _1: r0 = _createModule(tls, _db, _zName, _pModule, _pAux, _xDestroy) return } func Xsqlite3_blob_bytes(tls *crt.TLS, _pBlob unsafe.Pointer) (r0 int32) { // sqlite3.c:85801:12 var _p *XIncrblob // sqlite3.c:85802:12 _ = _p _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) r0 = func() int32 { if (_p != nil) && ((_p.X4) != nil) { return (_p.X0) } return i32(0) }() return } func Xsqlite3_blob_close(tls *crt.TLS, _pBlob unsafe.Pointer) (r0 int32) { // sqlite3.c:85691:12 var _p *XIncrblob // sqlite3.c:85692:12 _ = _p var _rc int32 // sqlite3.c:85693:7 _ = _rc var _db *Xsqlite3 // sqlite3.c:85694:11 _ = _db _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) if _p == nil { goto _0 } _db = (*Xsqlite3)(unsafe.Pointer(_p.X5)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _rc = Xsqlite3_finalize(tls, _p.X4) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) goto _1 _0: _rc = i32(0) _1: r0 = _rc return } 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 var _nAttempt int32 // sqlite3.c:85464:7 _ = _nAttempt var _iCol int32 // sqlite3.c:85465:7 _ = _iCol var _rc int32 // sqlite3.c:85466:7 _ = _rc var _zErr *int8 // sqlite3.c:85467:8 _ = _zErr var _pTab *XTable // sqlite3.c:85468:9 _ = _pTab var _pParse *XParse // sqlite3.c:85469:9 _ = _pParse var _pBlob *XIncrblob // sqlite3.c:85470:12 _ = _pBlob var _12_zFault *int8 // sqlite3.c:85545:18 _ = _12_zFault var _12_pIdx *XIndex // sqlite3.c:85546:13 _ = _12_pIdx var _13_pFKey *XFKey // sqlite3.c:85553:14 _ = _13_pFKey var _14_j int32 // sqlite3.c:85555:15 _ = _14_j var _17_j int32 // sqlite3.c:85565:13 _ = _17_j var _21_v *TVdbe // sqlite3.c:85611:12 _ = _21_v var _21_iDb int32 // sqlite3.c:85612:11 _ = _21_iDb var _21_aOp *XVdbeOp // sqlite3.c:85613:14 _ = _21_aOp _nAttempt = i32(0) _rc = i32(0) _zErr = nil _pParse = nil _pBlob = nil if _ppBlob != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(85474)) return _0: *_ppBlob = (unsafe.Pointer)(uintptr(i32(0))) if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zTable != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = _sqlite3MisuseError(tls, i32(85480)) return _2: _wrFlag = bool2int(_wrFlag != 0) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _pBlob = (*XIncrblob)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, u64(56)))) if _pBlob != nil { goto _3 } goto _blob_open_out _3: _pParse = (*XParse)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, u64(600)))) if _pParse != nil { goto _4 } goto _blob_open_out _4: _5: crt.Xmemset(tls, (unsafe.Pointer)(_pParse), i32(0), u64(600)) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(0 /* X0 */))))) = _db _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _zErr = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3BtreeEnterAll(tls, _db) _pTab = _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _zTable, _zDb) if _pTab == nil || (_pTab.X16) == 0 { goto _7 } _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ErrorMsg(tls, _pParse, str(134340), unsafe.Pointer(_zTable)) _7: if _pTab == nil || ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) { goto _9 } _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ErrorMsg(tls, _pParse, str(134372), unsafe.Pointer(_zTable)) _9: if _pTab == nil || (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { goto _11 } _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3ErrorMsg(tls, _pParse, str(134408), unsafe.Pointer(_zTable)) _11: if _pTab != nil { goto _12 } if (_pParse.X1) == nil { goto _13 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _zErr = _pParse.X1 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(8 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) _13: _rc = i32(1) _sqlite3BtreeLeaveAll(tls, _db) goto _blob_open_out _12: *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(48 /* X7 */))))) = _pTab *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(40 /* X6 */))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20)))))).X0 _iCol = i32(0) _14: if _iCol >= int32(_pTab.X11) { goto _17 } if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+32*uintptr(_iCol))).X0, _zColumn) != i32(0) { goto _18 } goto _17 _18: _iCol += 1 goto _14 _17: if _iCol != int32(_pTab.X11) { goto _19 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _zErr = _sqlite3MPrintf(tls, _db, str(134432), unsafe.Pointer(_zColumn)) _rc = i32(1) _sqlite3BtreeLeaveAll(tls, _db) goto _blob_open_out _19: if _wrFlag == 0 { goto _20 } _12_zFault = (*int8)(unsafe.Pointer(uintptr(i32(0)))) if ((_db.X6) & i32(524288)) == 0 { goto _21 } _13_pFKey = (*XFKey)(unsafe.Pointer(_pTab.X4)) _22: if _13_pFKey == nil { goto _25 } _14_j = i32(0) _26: if _14_j >= (_13_pFKey.X5) { goto _29 } if ((*T5930680)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { X0 int32 X1 *int8 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pFKey))+uintptr(64 /* X9 */))))) + 16*uintptr(_14_j))).X0) != _iCol { goto _30 } _12_zFault = str(134456) _30: _14_j += 1 goto _26 _29: _13_pFKey = (*XFKey)(unsafe.Pointer(_13_pFKey.X1)) goto _22 _25: _21: _12_pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) _31: if _12_pIdx == nil { goto _34 } _17_j = i32(0) _35: if _17_j >= int32(_12_pIdx.X13) { goto _38 } 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) { goto _40 } _12_zFault = str(134468) _40: _17_j += 1 goto _35 _38: _12_pIdx = (*XIndex)(unsafe.Pointer(_12_pIdx.X5)) goto _31 _34: if _12_zFault == nil { goto _41 } _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _zErr = _sqlite3MPrintf(tls, _db, str(134476), unsafe.Pointer(_12_zFault)) _rc = i32(1) _sqlite3BtreeLeaveAll(tls, _db) goto _blob_open_out _41: _20: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(24 /* X4 */))) = (unsafe.Pointer)(_sqlite3VdbeCreate(tls, _pParse)) func() int32 { if ((_pBlob.X4) != nil) || ((_db.X17) != 0) { return i32(0) } return func() int32 { 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(134512))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pBlob.X4) == nil { goto _45 } _21_v = (*TVdbe)(unsafe.Pointer(_pBlob.X4)) _21_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) _sqlite3VdbeAddOp4Int(tls, _21_v, i32(2), _21_iDb, _wrFlag, (*XSchema)(unsafe.Pointer(_pTab.X20)).X0, (*XSchema)(unsafe.Pointer(_pTab.X20)).X1) _sqlite3VdbeChangeP5(tls, _21_v, uint16(i32(1))) _21_aOp = _sqlite3VdbeAddOpList(tls, _21_v, i32(6), (*XVdbeOpList)(unsafe.Pointer(&_sqlite3_blob_openØ00openBlobØ002)), _sqlite3_blob_openØ00iLnØ001) _sqlite3VdbeUsesBtree(tls, _21_v, _21_iDb) if int32(_db.X17) != i32(0) { goto _46 } func() int32 { if _21_aOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(134548))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _21_iDb *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(0)))))) + uintptr(8 /* X4 */))) = _pTab.X7 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(0)))))) + uintptr(12 /* X5 */))) = _wrFlag _sqlite3VdbeChangeP4(tls, _21_v, i32(1), _pTab.X0, i32(0)) _46: if int32(_db.X17) != i32(0) { goto _49 } if _wrFlag == 0 { goto _50 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(1)))))) + uintptr(0 /* X0 */))) = uint8(i32(106)) _50: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(1)))))) + uintptr(8 /* X4 */))) = _pTab.X7 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(1)))))) + uintptr(12 /* X5 */))) = _21_iDb *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(1)))))) + uintptr(1 /* X1 */))) = int8(i32(-11)) *(*int32)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(1)))))) + uintptr(16 /* X6 */))))) = int32(_pTab.X11) + i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+32*uintptr(i32(3)))))) + uintptr(8 /* X4 */))) = int32(_pTab.X11) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(472 /* X52 */))) = int16(i32(0)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X18 */))) = i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(52 /* X17 */))) = i32(1) _sqlite3VdbeMakeReady(tls, _21_v, _pParse) _49: _45: *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(8 /* X2 */))) = uint16(_iCol) *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(32 /* X5 */))))) = _db _sqlite3BtreeLeaveAll(tls, _db) if (_db.X17) == 0 { goto _51 } goto _blob_open_out _51: _rc = _blobSeekToRow(tls, _pBlob, _iRow, &_zErr) if (preInc961(&_nAttempt, 1) < i32(50)) && (_rc == i32(17)) { goto _5 } _blob_open_out: if _rc != i32(0) || int32(_db.X17) != i32(0) { goto _54 } *_ppBlob = (unsafe.Pointer)(_pBlob) goto _55 _54: if _pBlob == nil || (_pBlob.X4) == nil { goto _57 } _sqlite3VdbeFinalize(tls, (*TVdbe)(unsafe.Pointer(_pBlob.X4))) _57: _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pBlob)) _55: _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { if _zErr != nil { return str(24304) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), unsafe.Pointer(_zErr)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) _sqlite3ParserReset(tls, _pParse) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse)) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_blob_openØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_blob_openØ00__func__Ø000[0], str(134556), 18) } var _sqlite3_blob_openØ00openBlobØ002 [6]XVdbeOpList // sqlite3.c:85602:31 func init() { _sqlite3_blob_openØ00openBlobØ002 = [6]XVdbeOpList{XVdbeOpList{X0: u8(152), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(105), X1: i8(0), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(33), X1: i8(0), X2: i8(5), X3: i8(1)}, XVdbeOpList{X0: u8(98), X1: i8(0), X2: i8(0), X3: i8(1)}, XVdbeOpList{X0: u8(88), X1: i8(1), X2: i8(0), X3: i8(0)}, XVdbeOpList{X0: u8(76), X1: i8(0), X2: i8(0), X3: i8(0)}} } var _sqlite3_blob_openØ00iLnØ001 int32 // sqlite3.c:85601:24 func _blobSeekToRow(tls *crt.TLS, _p *XIncrblob, _iRow int64, _pzErr **int8) (r0 int32) { // sqlite3.c:85391:1 var _rc int32 // sqlite3.c:85392:7 _ = _rc var _zErr *int8 // sqlite3.c:85393:8 _ = _zErr var _v *TVdbe // sqlite3.c:85394:8 _ = _v var _3_pC *XVdbeCursor // sqlite3.c:85413:16 _ = _3_pC var _3_type uint32 // sqlite3.c:85414:9 _ = _3_type _zErr = nil _v = (*TVdbe)(unsafe.Pointer(_p.X4)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_v.X18)+72*uintptr(i32(1)))))) + uintptr(8 /* X1 */))) = uint16(i32(4)) *(*int64)(unsafe.Pointer((*T5448393)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_v.X18)+72*uintptr(i32(1)))))) + uintptr(0 /* X0 */))))) = _iRow if (_v.X9) <= i32(3) { goto _0 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(52 /* X9 */))) = i32(3) _rc = _sqlite3VdbeExec(tls, _v) goto _1 _0: _rc = Xsqlite3_step(tls, _p.X4) _1: if _rc != i32(100) { goto _2 } _3_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v.X23)) + 8*uintptr(i32(0)))) _3_type = func() uint32 { if int32(_3_pC.X19) > int32(_p.X2) { return (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pC))+uintptr(112 /* X25 */))))) + 4*uintptr(_p.X2)))) } return uint32(i32(0)) }() if _3_type >= uint32(i32(12)) { goto _5 } _zErr = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5)), str(134576), unsafe.Pointer(func() *int8 { if _3_type == uint32(i32(0)) { return str(134608) } return func() *int8 { if _3_type == uint32(i32(7)) { return str(43932) } return str(43924) }() }())) _rc = i32(1) Xsqlite3_finalize(tls, _p.X4) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) = (unsafe.Pointer)(uintptr(i32(0))) goto _10 _5: *(*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(112 /* X25 */))))) + 4*uintptr(int32(_p.X2)+int32(_3_pC.X18))))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int32(_sqlite3VdbeSerialTypeLen(tls, _3_type)) *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))))) = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5823709)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pC)) + uintptr(48 /* X14 */))))))) _sqlite3BtreeIncrblobCursor(tls, (*XBtCursor)(unsafe.Pointer(_p.X3))) _10: _2: if _rc != i32(100) { goto _11 } _rc = i32(0) goto _12 _11: if (_p.X4) == nil { goto _13 } _rc = Xsqlite3_finalize(tls, _p.X4) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) = (unsafe.Pointer)(uintptr(i32(0))) if _rc != i32(0) { goto _14 } _zErr = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5)), str(134616), _iRow) _rc = i32(1) goto _15 _14: _zErr = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5)), str(24304), unsafe.Pointer(Xsqlite3_errmsg(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5))))) _15: _13: _12: func() int32 { if (_rc != i32(0)) || (_zErr == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(134636))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_rc != i32(100)) && (_rc != i32(101)) { return i32(0) } return func() int32 { 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(134664))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pzErr = _zErr r0 = _rc return } func _sqlite3BtreeIncrblobCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:68733:1 { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(84 /* X10 */))) *p = uint8(int32(*p) | i32(16)) sink4537 = *p } *(*uint8)(unsafe.Pointer(uintptr(_pCur.X0) + uintptr(19 /* X5 */))) = uint8(i32(1)) return } var _blobSeekToRowØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_blobSeekToRowØ00__func__Ø000[0], str(134700), 14) } func Xsqlite3_blob_read(tls *crt.TLS, _pBlob unsafe.Pointer, _z unsafe.Pointer, _n int32, _iOffset int32) (r0 int32) { // sqlite3.c:85784:12 r0 = _blobReadWrite(tls, _pBlob, _z, _n, _iOffset, _sqlite3BtreePayloadChecked) return } 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 var _rc int32 // sqlite3.c:85718:7 _ = _rc var _p *XIncrblob // sqlite3.c:85719:12 _ = _p var _v *TVdbe // sqlite3.c:85720:8 _ = _v var _db *Xsqlite3 // sqlite3.c:85721:11 _ = _db _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) if _p != (*XIncrblob)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(85723)) return _0: _db = (*Xsqlite3)(unsafe.Pointer(_p.X5)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _v = (*TVdbe)(unsafe.Pointer(_p.X4)) if _n >= i32(0) && _iOffset >= i32(0) && (int64(_iOffset)+int64(_n)) <= int64(_p.X0) { goto _3 } _rc = i32(1) goto _4 _3: if _v != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _rc = i32(4) goto _6 _5: func() int32 { if _db == (*Xsqlite3)(unsafe.Pointer(_v.X0)) { return i32(0) } return func() int32 { 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(134716))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3BtreeEnterCursor(tls, (*XBtCursor)(unsafe.Pointer(_p.X3))) _rc = _xCall(tls, (*XBtCursor)(unsafe.Pointer(_p.X3)), uint32(_iOffset+(_p.X1)), uint32(_n), _z) _sqlite3BtreeLeaveCursor(tls, (*XBtCursor)(unsafe.Pointer(_p.X3))) if _rc != i32(4) { goto _9 } _sqlite3VdbeFinalize(tls, _v) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X4 */))) = (unsafe.Pointer)(uintptr(i32(0))) goto _10 _9: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(56 /* X10 */))) = _rc _10: _6: _4: _sqlite3Error(tls, _db, _rc) _rc = _sqlite3ApiExit(tls, _db, _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _blobReadWriteØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_blobReadWriteØ00__func__Ø000[0], str(134728), 14) } func _sqlite3BtreeEnterCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:58945:1 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_pCur.X0))) return } func _sqlite3BtreeLeaveCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:58949:1 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_pCur.X0))) return } func _sqlite3BtreePayloadChecked(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf unsafe.Pointer) (r0 int32) { // sqlite3.c:63705:1 if int32(_pCur.X12) != i32(1) { goto _0 } func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _accessPayload(tls, _pCur, _offset, _amt, (*uint8)(unsafe.Pointer(_pBuf)), i32(0)) return _0: r0 = _accessPayloadChecked(tls, _pCur, _offset, _amt, _pBuf) return } var _sqlite3BtreePayloadCheckedØ00__func__Ø000 [27]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreePayloadCheckedØ00__func__Ø000[0], str(134744), 27) } func _accessPayloadChecked(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf unsafe.Pointer) (r0 int32) { // sqlite3.c:63691:1 var _rc int32 // sqlite3.c:63697:7 _ = _rc if int32(_pCur.X12) != i32(0) { goto _0 } r0 = i32(4) return _0: func() int32 { if _cursorOwnsBtShared(tls, _pCur) != 0 { return i32(0) } return func() int32 { 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(74648))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _btreeRestoreCursorPosition(tls, _pCur) r0 = func() int32 { if _rc != 0 { return _rc } return _accessPayload(tls, _pCur, _offset, _amt, (*uint8)(unsafe.Pointer(_pBuf)), i32(0)) }() return } var _accessPayloadCheckedØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_accessPayloadCheckedØ00__func__Ø000[0], str(134772), 21) } func Xsqlite3_blob_write(tls *crt.TLS, _pBlob unsafe.Pointer, _z unsafe.Pointer, _n int32, _iOffset int32) (r0 int32) { // sqlite3.c:85791:12 r0 = _blobReadWrite(tls, _pBlob, _z, _n, _iOffset, _sqlite3BtreePutData) return } func _sqlite3BtreePutData(tls *crt.TLS, _pCsr *XBtCursor, _offset uint32, _amt uint32, _z unsafe.Pointer) (r0 int32) { // sqlite3.c:68685:1 var _rc int32 // sqlite3.c:68686:7 _ = _rc func() int32 { if _cursorOwnsBtShared(tls, _pCsr) != 0 { return i32(0) } return func() int32 { 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(134796))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCsr.X0)).X0)).X3))) != 0 { return i32(0) } return func() int32 { 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(134824))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(_pCsr.X10) & i32(16)) != 0 { return i32(0) } return func() int32 { 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(134868))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = func() int32 { if int32(_pCsr.X12) >= i32(3) { return _btreeRestoreCursorPosition(tls, _pCsr) } return i32(0) }() if _rc == i32(0) { goto _8 } r0 = _rc return _8: func() int32 { if int32(_pCsr.X12) != i32(3) { return i32(0) } return func() int32 { 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(134900))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pCsr.X12) == i32(1) { goto _11 } r0 = i32(4) return _11: _rc = _saveAllCursors(tls, (*XBtShared)(unsafe.Pointer(_pCsr.X1)), _pCsr.X7, _pCsr) func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { 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(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pCsr.X10) & i32(1)) != i32(0) { goto _14 } r0 = i32(8) return _14: func() int32 { if ((int32((*XBtShared)(unsafe.Pointer(_pCsr.X1)).X10) & i32(1)) == i32(0)) && (int32((*XBtShared)(unsafe.Pointer(_pCsr.X1)).X8) == i32(2)) { return i32(0) } return func() int32 { 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(134936))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _hasSharedCacheTableLock(tls, (*XBtree)(unsafe.Pointer(_pCsr.X0)), _pCsr.X7, i32(0), i32(2)) != 0 { return i32(0) } return func() int32 { 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(135020))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _hasReadConflicts(tls, (*XBtree)(unsafe.Pointer(_pCsr.X0)), _pCsr.X7) == 0 { return i32(0) } return func() int32 { 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(135080))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(152 /* X19 */))))) + 8*uintptr(_pCsr.X14)))).X2) != 0 { return i32(0) } return func() int32 { 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(135128))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _accessPayload(tls, _pCsr, _offset, _amt, (*uint8)(unsafe.Pointer(_z)), i32(1)) return } var _sqlite3BtreePutDataØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3BtreePutDataØ00__func__Ø000[0], str(135164), 20) } func Xsqlite3_memory_highwater(tls *crt.TLS, _resetFlag int32) (r0 int64) { // sqlite3.c:24387:12 var _res int64 // sqlite3.c:24388:17 _ = _res var _mx int64 // sqlite3.c:24388:22 _ = _mx Xsqlite3_status64(tls, i32(0), &_res, &_mx, _resetFlag) r0 = _mx return } func Xsqlite3_mutex_alloc(tls *crt.TLS, _id int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:22804:12 if _id > i32(1) || Xsqlite3_initialize(tls) == 0 { goto _1 } r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) return _1: if _id <= i32(1) || _sqlite3MutexInit(tls) == 0 { goto _3 } r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) return _3: func() int32 { if (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X2)}))) != nil { return i32(0) } return func() int32 { 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(2212))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { f func(*crt.TLS, int32) unsafe.Pointer }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(104 /* X11 */))).X2)})))(tls, _id) return } var _sqlite3_mutex_allocØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_mutex_allocØ00__func__Ø000[0], str(135184), 20) } func Xsqlite3_open_v2(tls *crt.TLS, _filename *int8, _ppDb **Xsqlite3, _flags int32, _zVfs *int8) (r0 int32) { // sqlite3.c:143028:12 r0 = _openDatabase(tls, _filename, _ppDb, uint32(_flags), _zVfs) return } func Xsqlite3_sleep(tls *crt.TLS, _ms int32) (r0 int32) { // sqlite3.c:143385:12 var _pVfs *Xsqlite3_vfs // sqlite3.c:143386:15 _ = _pVfs var _rc int32 // sqlite3.c:143387:7 _ = _rc _pVfs = Xsqlite3_vfs_find(tls, (*int8)(unsafe.Pointer(uintptr(i32(0))))) if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _rc = _sqlite3OsSleep(tls, _pVfs, i32(1000)*_ms) / i32(1000) r0 = _rc return } func Xsqlite3_soft_heap_limit(tls *crt.TLS, _n int32) { // sqlite3.c:24307:12 if _n >= i32(0) { goto _0 } _n = i32(0) _0: Xsqlite3_soft_heap_limit64(tls, int64(_n)) return } func Xsqlite3_vfs_register(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _makeDflt int32) (r0 int32) { // sqlite3.c:20430:12 var _mutex *Xsqlite3_mutex // sqlite3.c:20431:29 _ = _mutex var _rc int32 // sqlite3.c:20433:7 _ = _rc _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _0 } r0 = _rc return _0: if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _sqlite3MisuseError(tls, i32(20437)) return _1: _mutex = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _mutex) _vfsUnlink(tls, _pVfs) if _makeDflt == 0 && _vfsList != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVfs)) + uintptr(16 /* X3 */))))) = _vfsList _vfsList = _pVfs bug20530(_vfsList) goto _4 _3: *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVfs)) + uintptr(16 /* X3 */))))) = (*Xsqlite3_vfs)(unsafe.Pointer(_vfsList.X3)) *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_vfsList)) + uintptr(16 /* X3 */))))) = _pVfs _4: func() int32 { if _vfsList != nil { return i32(0) } return func() int32 { 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(135204))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, _mutex) r0 = i32(0) return } func _vfsUnlink(tls *crt.TLS, _pVfs *Xsqlite3_vfs) { // sqlite3.c:20408:1 var _3_p *Xsqlite3_vfs // sqlite3.c:20415:17 _ = _3_p func() int32 { if Xsqlite3_mutex_held(tls, _sqlite3MutexAlloc(tls, i32(2))) != 0 { return i32(0) } return func() int32 { 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(135212))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } goto _3 _2: if _vfsList != _pVfs { goto _4 } _vfsList = (*Xsqlite3_vfs)(unsafe.Pointer(_pVfs.X3)) bug20530(_vfsList) goto _5 _4: if _vfsList == nil { goto _6 } _3_p = _vfsList _7: if (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) == nil || (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) == _pVfs { goto _8 } _3_p = (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) goto _7 _8: if (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) != _pVfs { goto _10 } *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_p)) + uintptr(16 /* X3 */))))) = (*Xsqlite3_vfs)(unsafe.Pointer(_pVfs.X3)) _10: _6: _5: _3: return } var _vfsUnlinkØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_vfsUnlinkØ00__func__Ø000[0], str(135280), 10) } var _sqlite3_vfs_registerØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_vfs_registerØ00__func__Ø000[0], str(135292), 21) } func Xsqlite3_vfs_unregister(tls *crt.TLS, _pVfs *Xsqlite3_vfs) (r0 int32) { // sqlite3.c:20458:12 var _mutex *Xsqlite3_mutex // sqlite3.c:20460:17 _ = _mutex _mutex = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _mutex) _vfsUnlink(tls, _pVfs) Xsqlite3_mutex_leave(tls, _mutex) r0 = i32(0) return } func Xsqlite3_threadsafe(tls *crt.TLS) (r0 int32) { // sqlite3.c:139965:12 r0 = i32(1) return } func Xsqlite3_result_zeroblob(tls *crt.TLS, _pCtx *Xsqlite3_context, _n int32) { // sqlite3.c:76448:12 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() _sqlite3VdbeMemSetZeroBlob(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _n) return } var _sqlite3_result_zeroblobØ00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_zeroblobØ00__func__Ø000[0], str(135316), 24) } func Xsqlite3_test_control(tls *crt.TLS, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:143454:12 var _rc int32 // sqlite3.c:143455:7 _ = _rc var _ap []interface{} // sqlite3.c:143459:11 _ = _ap var _5_sz int32 // sqlite3.c:143500:11 _ = _5_sz var _5_aProg *int32 // sqlite3.c:143501:11 _ = _5_aProg var _7_xBenignBegin func(*crt.TLS) // sqlite3.c:143536:21 _ = _7_xBenignBegin var _7_xBenignEnd func(*crt.TLS) // sqlite3.c:143537:21 _ = _7_xBenignEnd var _9_newVal uint32 // sqlite3.c:143560:22 _ = _9_newVal var _10_x int32 // sqlite3.c:143579:20 _ = _10_x var _11_x int32 // sqlite3.c:143614:11 _ = _11_x var _13_db *Xsqlite3 // sqlite3.c:143641:15 _ = _13_db var _13_x int32 // sqlite3.c:143642:11 _ = _13_x var _14_db *Xsqlite3 // sqlite3.c:143659:15 _ = _14_db var _15_zWord *int8 // sqlite3.c:143675:18 _ = _15_zWord var _15_n int32 // sqlite3.c:143676:11 _ = _15_n var _16_pFree unsafe.Pointer // sqlite3.c:143688:12 _ = _16_pFree var _16_ppNew *unsafe.Pointer // sqlite3.c:143688:20 _ = _16_ppNew var _16_sz int32 // sqlite3.c:143689:11 _ = _16_sz var _21_db *Xsqlite3 // sqlite3.c:143748:15 _ = _21_db var _23_db *Xsqlite3 // sqlite3.c:143780:15 _ = _23_db _rc = i32(0) _ap = args switch _op { case i32(5): goto _1 case i32(6): goto _2 case i32(7): goto _3 case i32(8): goto _4 case i32(9): goto _5 case i32(10): goto _6 case i32(11): goto _7 case i32(12): goto _8 case i32(13): goto _9 case i32(14): goto _11 case i32(15): goto _12 case i32(16): goto _13 case i32(17): goto _14 case i32(18): goto _15 case i32(19): goto _17 case i32(20): goto _16 case i32(21): goto _18 case i32(22): goto _10 case i32(23): goto _20 case i32(24): goto _19 case i32(25): goto _21 default: goto _22 } _1: _sqlite3PrngSaveState(tls) goto _22 _2: _sqlite3PrngRestoreState(tls) goto _22 _3: Xsqlite3_randomness(tls, i32(0), (unsafe.Pointer)(uintptr(i32(0)))) goto _22 _4: _5_sz = crt.VAInt32(&_ap) _5_aProg = (*int32)(crt.VAPointer(&_ap)) _rc = _sqlite3BitvecBuiltinTest(tls, _5_sz, _5_aProg) goto _22 _5: *(*func(*crt.TLS, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(416 /* X37 */))) = crt.VAOther(&_ap).(func(*crt.TLS, int32) int32) _rc = _sqlite3FaultSim(tls, i32(0)) goto _22 _6: _7_xBenignBegin = crt.VAOther(&_ap).(func(*crt.TLS)) _7_xBenignEnd = crt.VAOther(&_ap).(func(*crt.TLS)) _sqlite3BenignMallocHooks(tls, _7_xBenignBegin, _7_xBenignEnd) goto _22 _7: _rc = _sqlite3PendingByte _9_newVal = crt.VAUint32(&_ap) if _9_newVal == 0 { goto _23 } _sqlite3PendingByte = int32(_9_newVal) bug20530(_sqlite3PendingByte) _23: goto _22 _8: _10_x = i32(0) func() int32 { if store961(&_10_x, crt.VAInt32(&_ap)) != i32(0) { return i32(0) } return func() int32 { 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(135340))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _10_x goto _22 _9: _11_x = crt.VAInt32(&_ap) _rc = func() int32 { if _11_x != 0 { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() goto _22 _10: _rc = i32(123410) goto _22 _11: _13_db = (*Xsqlite3)(crt.VAPointer(&_ap)) _13_x = crt.VAInt32(&_ap) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_13_db.X3))) _sqlite3BtreeSetPageSize(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_13_db.X4)+32*uintptr(i32(0)))).X1)), i32(0), _13_x, i32(0)) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_13_db.X3))) goto _22 _12: _14_db = (*Xsqlite3)(crt.VAPointer(&_ap)) *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_db)) + uintptr(80 /* X13 */))) = uint16(crt.VAInt32(&_ap) & i32(65535)) goto _22 _13: _15_zWord = (*int8)(crt.VAPointer(&_ap)) _15_n = _sqlite3Strlen30(tls, _15_zWord) _rc = func() int32 { if _sqlite3KeywordCode(tls, (*uint8)(unsafe.Pointer(_15_zWord)), _15_n) != i32(55) { return i32(124) } return i32(0) }() goto _22 _14: _16_sz = crt.VAInt32(&_ap) _16_ppNew = (*unsafe.Pointer)(crt.VAPointer(&_ap)) _16_pFree = crt.VAPointer(&_ap) if _16_sz == 0 { goto _30 } *_16_ppNew = _sqlite3ScratchMalloc(tls, _16_sz) _30: _sqlite3ScratchFree(tls, _16_pFree) goto _22 _15: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(424 /* X38 */))) = crt.VAInt32(&_ap) goto _22 _16: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(24 /* X6 */))) = crt.VAInt32(&_ap) goto _22 _17: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(428 /* X39 */))) = crt.VAInt32(&_ap) goto _22 _18: goto _22 _19: _21_db = (*Xsqlite3)(crt.VAPointer(&_ap)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_db)) + uintptr(160 /* X32 */))) = crt.VAInt32(&_ap) goto _22 _20: if (_sqlite3Config.X28) != i32(0) { goto _31 } _rc = i32(1) _31: goto _22 _21: _23_db = (*Xsqlite3)(crt.VAPointer(&_ap)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_23_db.X3))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(164 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(_sqlite3FindDbName(tls, _23_db, (*int8)(crt.VAPointer(&_ap)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(164 /* X33 */))))) + uintptr(5 /* X2 */))) = store4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(164 /* X33 */)))))+uintptr(7 /* X4 */))), uint8(crt.VAInt32(&_ap))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(164 /* X33 */))))) + uintptr(0 /* X0 */))) = crt.VAInt32(&_ap) if int32((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(164 /* X33 */))).X2) != i32(0) || ((*T5414794)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(164 /* X33 */))).X0) <= i32(0) { goto _33 } _sqlite3ResetAllSchemasOfConnection(tls, _23_db) _33: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_23_db.X3))) goto _22 _22: _ap = nil r0 = _rc return } func _sqlite3PrngSaveState(tls *crt.TLS) { // sqlite3.c:26787:1 crt.Xmemcpy(tls, (unsafe.Pointer)(&_sqlite3SavedPrng), (unsafe.Pointer)(&_sqlite3Prng), u64(259)) return } var _sqlite3SavedPrng Tsqlite3PrngType // sqlite3.c:26786:42 func _sqlite3PrngRestoreState(tls *crt.TLS) { // sqlite3.c:26794:1 crt.Xmemcpy(tls, (unsafe.Pointer)(&_sqlite3Prng), (unsafe.Pointer)(&_sqlite3SavedPrng), u64(259)) return } func _sqlite3BitvecBuiltinTest(tls *crt.TLS, _sz int32, _aOp *int32) (r0 int32) { // sqlite3.c:44001:1 var _pBitvec *XBitvec // sqlite3.c:44002:10 _ = _pBitvec var _pV *uint8 // sqlite3.c:44003:17 _ = _pV var _rc int32 // sqlite3.c:44004:7 _ = _rc var _i int32 // sqlite3.c:44005:7 _ = _i var _nx int32 // sqlite3.c:44005:10 _ = _nx var _pc int32 // sqlite3.c:44005:14 _ = _pc var _op int32 // sqlite3.c:44005:18 _ = _op var _pTmpSpace unsafe.Pointer // sqlite3.c:44006:8 _ = _pTmpSpace _pBitvec = nil _pV = nil _rc = i32(-1) _pBitvec = _sqlite3BitvecCreate(tls, uint32(_sz)) _pV = (*uint8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(((_sz+i32(7))/i32(8))+i32(1))))) _pTmpSpace = Xsqlite3_malloc64(tls, uint64(i32(512))) if _pBitvec != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) && _pV != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && unsafe.Pointer(_pTmpSpace) != (unsafe.Pointer)(uintptr(i32(0))) { goto _2 } goto _bitvec_end _2: _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(1))) _sqlite3BitvecClear(tls, (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(1)), _pTmpSpace) _pc = i32(0) _3: if store961(&_op, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc)))) == i32(0) { goto _4 } switch _op { case i32(1): goto _6 case i32(2): goto _7 case i32(3): goto _9 case i32(4): goto _10 case i32(5): goto _8 default: goto _11 } _6: _7: _8: _nx = i32(4) _i = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc+i32(2))))) - i32(1) { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc+i32(2)))) *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc+i32(3))))) sink961 = *p } goto _12 _9: _10: _11: _nx = i32(2) Xsqlite3_randomness(tls, int32(u64(4)), (unsafe.Pointer)(&_i)) goto _12 _12: if preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+4*uintptr(_pc+i32(1)))), -1) <= i32(0) { goto _13 } _nx = i32(0) _13: { p := &_pc *p = (*p) + _nx sink961 = *p } _i = (_i & i32(2147483647)) % _sz if (_op & i32(1)) == i32(0) { goto _14 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pV)) + 1*uintptr((_i+i32(1))>>uint(i32(3))))) *p = uint8(int32(*p) | (i32(1) << uint((_i+i32(1))&i32(7)))) sink4537 = *p } if _op == i32(5) { goto _15 } if _sqlite3BitvecSet(tls, _pBitvec, uint32(_i+i32(1))) == 0 { goto _16 } goto _bitvec_end _16: _15: goto _17 _14: { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pV)) + 1*uintptr((_i+i32(1))>>uint(i32(3))))) *p = uint8(int32(*p) & (^(i32(1) << uint((_i+i32(1))&i32(7))))) sink4537 = *p } _sqlite3BitvecClear(tls, _pBitvec, uint32(_i+i32(1)), _pTmpSpace) _17: goto _3 _4: _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))) _i = i32(1) _18: if _i > _sz { goto _21 } if bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pV)) + 1*uintptr(_i>>uint(i32(3))))))&(i32(1)<= i32(0) { goto _3 } _sqlite3ErrorWithMsg(tls, _pErrorDb, i32(1), str(135428), unsafe.Pointer(_zDb)) r0 = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) return _3: r0 = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_pDb.X4) + 32*uintptr(_i))).X1)) return } func _checkReadTransaction(tls *crt.TLS, _db *Xsqlite3, _p *XBtree) (r0 int32) { // sqlite3.c:68940:1 if _sqlite3BtreeIsInReadTrans(tls, _p) == 0 { goto _0 } _sqlite3ErrorWithMsg(tls, _db, i32(1), str(135448)) r0 = i32(1) return _0: r0 = i32(0) return } func Xsqlite3_backup_pagecount(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:69483:12 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3MisuseError(tls, i32(69486)) r0 = i32(0) return _0: r0 = int32(_p.X9) return } func Xsqlite3_backup_remaining(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:69469:12 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3MisuseError(tls, i32(69472)) r0 = i32(0) return _0: r0 = int32(_p.X8) return } func Xsqlite3_compileoption_used(tls *crt.TLS, _zOptName *int8) (r0 int32) { // sqlite3.c:17853:12 var _i int32 // sqlite3.c:17854:7 _ = _i var _n int32 // sqlite3.c:17854:10 _ = _n if _zOptName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _sqlite3MisuseError(tls, i32(17858)) r0 = i32(0) return _0: if Xsqlite3_strnicmp(tls, _zOptName, str(135480), i32(7)) != i32(0) { goto _1 } { p := &_zOptName *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(7)))) sink1025 = *p } _1: _n = _sqlite3Strlen30(tls, _zOptName) _i = i32(0) _2: if _i >= i32(6) { goto _5 } if Xsqlite3_strnicmp(tls, _zOptName, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azCompileOpt)) + 8*uintptr(_i))), _n) != i32(0) || _sqlite3IsIdChar(tls, uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azCompileOpt)) + 8*uintptr(_i))))) + 1*uintptr(_n))))) != i32(0) { goto _7 } r0 = i32(1) return _7: _i += 1 goto _2 _5: r0 = i32(0) return } func _sqlite3IsIdChar(tls *crt.TLS, _c uint8) (r0 int32) { // sqlite3.c:139088:1 r0 = bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(_c)))) & i32(70)) != i32(0)) return } func Xsqlite3_db_config(tls *crt.TLS, _db *Xsqlite3, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:140690:12 var _ap []interface{} // sqlite3.c:140691:11 _ = _ap var _rc int32 // sqlite3.c:140692:7 _ = _rc var _3_pBuf unsafe.Pointer // sqlite3.c:140701:12 _ = _3_pBuf var _3_sz int32 // sqlite3.c:140702:11 _ = _3_sz var _3_cnt int32 // sqlite3.c:140703:11 _ = _3_cnt var _4_i uint32 // sqlite3.c:140718:20 _ = _4_i var _6_onoff int32 // sqlite3.c:140722:15 _ = _6_onoff var _6_pRes *int32 // sqlite3.c:140723:15 _ = _6_pRes var _6_oldFlags int32 // sqlite3.c:140724:15 _ = _6_oldFlags _ap = args switch _op { case i32(1000): goto _1 case i32(1001): goto _2 default: goto _3 } _1: *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = (*int8)(crt.VAPointer(&_ap)) _rc = i32(0) goto _4 _2: _3_pBuf = crt.VAPointer(&_ap) _3_sz = crt.VAInt32(&_ap) _3_cnt = crt.VAInt32(&_ap) _rc = _setupLookaside(tls, _db, _3_pBuf, _3_sz, _3_cnt) goto _4 _3: _rc = i32(1) _4_i = uint32(i32(0)) _5: if _4_i >= uint32(i32(5)) { goto _8 } if ((*T6699095)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X0) != _op { goto _9 } _6_onoff = crt.VAInt32(&_ap) _6_pRes = (*int32)(crt.VAPointer(&_ap)) _6_oldFlags = _db.X6 if _6_onoff <= i32(0) { goto _10 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = int32(uint32(*p) | ((*T6699095)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X1)) sink961 = *p } goto _11 _10: if _6_onoff != i32(0) { goto _12 } { p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X6 */))) *p = int32(uint32(*p) & (^((*T6699095)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X1))) sink961 = *p } _12: _11: if _6_oldFlags == (_db.X6) { goto _13 } _sqlite3ExpirePreparedStatements(tls, _db) _13: if _6_pRes == nil { goto _14 } *_6_pRes = bool2int((uint32(_db.X6) & ((*T6699095)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X1)) != uint32(i32(0))) _14: _rc = i32(0) goto _8 _9: _4_i += 1 goto _5 _8: goto _4 _4: _ap = nil r0 = _rc return } var _sqlite3_db_configØ00aFlagOpØ001 [5]struct { X0 int32 X1 uint32 } // sqlite3.c:140711:9 func init() { _sqlite3_db_configØ00aFlagOpØ001 = [5]struct { X0 int32 X1 uint32 }{T6699095{X0: i32(1002), X1: u32(524288)}, T6699095{X0: i32(1003), X1: u32(16777216)}, T6699095{X0: i32(1004), X1: u32(1073741824)}, T6699095{X0: i32(1005), X1: u32(4194304)}, T6699095{X0: i32(1006), X1: u32(2147483648)}} } func Xsqlite3_db_mutex(tls *crt.TLS, _db *Xsqlite3) (r0 *Xsqlite3_mutex) { // sqlite3.c:140623:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(140626)) r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) return _0: r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3)) return } func Xsqlite3_db_status(tls *crt.TLS, _db *Xsqlite3, _op int32, _pCurrent *int32, _pHighwater *int32, _resetFlag int32) (r0 int32) { // sqlite3.c:18624:12 var _rc int32 // sqlite3.c:18631:7 _ = _rc var _7_totalUsed int32 // sqlite3.c:18671:11 _ = _7_totalUsed var _7_i int32 // sqlite3.c:18672:11 _ = _7_i var _8_pBt *XBtree // sqlite3.c:18675:15 _ = _8_pBt var _9_pPager *XPager // sqlite3.c:18677:17 _ = _9_pPager var _9_nByte int32 // sqlite3.c:18678:15 _ = _9_nByte var _11_i int32 // sqlite3.c:18697:11 _ = _11_i var _11_nByte int32 // sqlite3.c:18698:11 _ = _11_nByte var _12_pSchema *XSchema // sqlite3.c:18703:16 _ = _12_pSchema var _13_p *XHashElem // sqlite3.c:18705:20 _ = _13_p var _16_pVdbe *TVdbe // sqlite3.c:18740:19 _ = _16_pVdbe var _16_nByte int32 // sqlite3.c:18741:11 _ = _16_nByte var _18_i int32 // sqlite3.c:18764:11 _ = _18_i var _18_nRet int32 // sqlite3.c:18765:11 _ = _18_nRet var _20_pPager *XPager // sqlite3.c:18771:17 _ = _20_pPager _rc = i32(0) if _sqlite3SafetyCheckOk(tls, _db) != 0 && _pCurrent != (*int32)(unsafe.Pointer(uintptr(i32(0)))) && _pHighwater != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } r0 = _sqlite3MisuseError(tls, i32(18634)) return _2: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) switch _op { case i32(0): goto _4 case i32(1): goto _9 case i32(2): goto _10 case i32(3): goto _11 case i32(4): goto _5 case i32(5): goto _6 case i32(6): goto _7 case i32(7): goto _12 case i32(8): goto _13 case i32(9): goto _14 case i32(10): goto _15 case i32(11): goto _8 default: goto _16 } _4: *_pCurrent = (*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3 *_pHighwater = (*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X4 if _resetFlag == 0 { goto _17 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */))))) + uintptr(12 /* X4 */))) = (*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X58 */))).X3 _17: goto _18 _5: _6: _7: func() int32 { if (_op - i32(4)) >= i32(0) { return i32(0) } return func() int32 { 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(135488))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_op - i32(4)) < i32(3) { return i32(0) } return func() int32 { 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(135528))) crt.X__builtin_abort(tls) return i32(0) }() }() *_pCurrent = i32(0) *_pHighwater = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(_op-i32(4)))) if _resetFlag == 0 { goto _23 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T5415359)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(_op-i32(4)))) = i32(0) _23: goto _18 _8: _9: _7_totalUsed = i32(0) _sqlite3BtreeEnterAll(tls, _db) _7_i = i32(0) _24: if _7_i >= (_db.X5) { goto _27 } _8_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_7_i))).X1)) if _8_pBt == nil { goto _28 } _9_pPager = _sqlite3BtreePager(tls, _8_pBt) _9_nByte = _sqlite3PagerMemUsed(tls, _9_pPager) if _op != i32(11) { goto _29 } _9_nByte = _9_nByte / _sqlite3BtreeConnectionCount(tls, _8_pBt) _29: { p := &_7_totalUsed *p = (*p) + _9_nByte sink961 = *p } _28: _7_i += 1 goto _24 _27: _sqlite3BtreeLeaveAll(tls, _db) *_pCurrent = _7_totalUsed *_pHighwater = i32(0) goto _18 _10: _11_nByte = i32(0) _sqlite3BtreeEnterAll(tls, _db) *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(664 /* X79 */))) = &_11_nByte _11_i = i32(0) _30: if _11_i >= (_db.X5) { goto _33 } _12_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_11_i))).X4)) if func() int32 { if _12_pSchema != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { return i32(1) } return func() int32 { func() int32 { 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(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _36 } { p := &_11_nByte *p = int32(uint32(*p) + (uint32(((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config))+uintptr(40 /* X10 */))).X4)(tls, int32(u64(32)))) * (((((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(8 /* X2 */))).X1) + ((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(56 /* X4 */))).X1)) + ((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(32 /* X3 */))).X1)) + ((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(80 /* X5 */))).X1)))) sink961 = *p } { p := &_11_nByte *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(8 /* X2 */))).X3)) sink961 = *p } { p := &_11_nByte *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(56 /* X4 */))).X3)) sink961 = *p } { p := &_11_nByte *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(32 /* X3 */))).X3)) sink961 = *p } { p := &_11_nByte *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(80 /* X5 */))).X3)) sink961 = *p } _13_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(56 /* X4 */))).X2)) _37: if _13_p == nil { goto _40 } _sqlite3DeleteTrigger(tls, _db, (*XTrigger)(unsafe.Pointer(_13_p.X2))) _13_p = (*XHashElem)(unsafe.Pointer(_13_p.X0)) goto _37 _40: _13_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(8 /* X2 */))).X2)) _41: if _13_p == nil { goto _44 } _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_13_p.X2))) _13_p = (*XHashElem)(unsafe.Pointer(_13_p.X0)) goto _41 _44: _36: _11_i += 1 goto _30 _33: *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(664 /* X79 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) _sqlite3BtreeLeaveAll(tls, _db) *_pHighwater = i32(0) *_pCurrent = _11_nByte goto _18 _11: _16_nByte = i32(0) *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(664 /* X79 */))) = &_16_nByte _16_pVdbe = (*TVdbe)(unsafe.Pointer(_db.X1)) _45: if _16_pVdbe == nil { goto _48 } _sqlite3VdbeClearObject(tls, _db, _16_pVdbe) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_16_pVdbe)) _16_pVdbe = (*TVdbe)(unsafe.Pointer(_16_pVdbe.X2)) goto _45 _48: *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(664 /* X79 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) *_pHighwater = i32(0) *_pCurrent = _16_nByte goto _18 _12: _13: _14: _18_nRet = i32(0) i32(0) i32(0) _18_i = i32(0) _49: if _18_i >= (_db.X5) { goto _52 } if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_18_i))).X1)) == nil { goto _53 } _20_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+32*uintptr(_18_i))).X1))) _sqlite3PagerCacheStat(tls, _20_pPager, _op, _resetFlag, &_18_nRet) _53: _18_i += 1 goto _49 _52: *_pHighwater = i32(0) *_pCurrent = _18_nRet goto _18 _15: *_pHighwater = i32(0) *_pCurrent = bool2int(((_db.X78) > int64(i32(0))) || ((_db.X77) > int64(i32(0)))) goto _18 _16: _rc = i32(1) _18: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_db_statusØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_db_statusØ00__func__Ø000[0], str(135568), 18) } func _sqlite3PagerMemUsed(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53455:1 var _perPageSize int32 // sqlite3.c:53456:7 _ = _perPageSize _perPageSize = int32((uint64((_pPager.X48)+int32(_pPager.X44)) + u64(72)) + u64(40)) r0 = ((_perPageSize * _sqlite3PcachePagecount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)))) + _sqlite3MallocSize(tls, (unsafe.Pointer)(_pPager))) + (_pPager.X48) return } func Xsqlite3_msize(tls *crt.TLS, _p unsafe.Pointer) (r0 uint64) { // sqlite3.c:24630:12 i32(0) i32(0) r0 = uint64(func() int32 { if _p != nil { return ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X3)(tls, _p) } return i32(0) }()) return } func _sqlite3PagerCacheStat(tls *crt.TLS, _pPager *XPager, _eStat int32, _reset int32, _pnVal *int32) { // sqlite3.c:53498:1 func() int32 { if ((_eStat == i32(7)) || (_eStat == i32(8))) || (_eStat == i32(9)) { return i32(0) } return func() int32 { 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(135588))) crt.X__builtin_abort(tls) return i32(0) }() }() i32(0) i32(0) i32(0) { p := _pnVal *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(240 /* X55 */))))) + 4*uintptr(_eStat-i32(7))))) sink961 = *p } if _reset == 0 { goto _4 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(240 /* X55 */))))) + 4*uintptr(_eStat-i32(7)))) = i32(0) _4: return } var _sqlite3PagerCacheStatØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerCacheStatØ00__func__Ø000[0], str(135696), 22) } func Xsqlite3_extended_errcode(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142219:12 if _db == nil || _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { goto _1 } r0 = _sqlite3MisuseError(tls, i32(142221)) return _1: if _db != nil && (_db.X17) == 0 { goto _3 } r0 = _sqlite3NomemError(tls, i32(142224)) return _3: r0 = _db.X10 return } func Xsqlite3_sourceid(tls *crt.TLS) (r0 *int8) { // sqlite3.c:139954:12 r0 = str(135720) return } func Xsqlite3_stmt_status(tls *crt.TLS, _pStmt unsafe.Pointer, _op int32, _resetFlag int32) (r0 int32) { // sqlite3.c:77595:12 var _pVdbe *TVdbe // sqlite3.c:77596:8 _ = _pVdbe var _v uint32 // sqlite3.c:77597:7 _ = _v _pVdbe = (*TVdbe)(unsafe.Pointer(_pStmt)) if _pStmt != nil { goto _0 } _sqlite3MisuseError(tls, i32(77600)) r0 = i32(0) return _0: _v = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe))+uintptr(208 /* X35 */))))) + 4*uintptr(_op))) if _resetFlag == 0 { goto _1 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe))+uintptr(208 /* X35 */))))) + 4*uintptr(_op))) = uint32(i32(0)) _1: r0 = int32(_v) return } func Xsqlite3_blob_reopen(tls *crt.TLS, _pBlob unsafe.Pointer, _iRow int64) (r0 int32) { // sqlite3.c:85816:12 var _rc int32 // sqlite3.c:85817:7 _ = _rc var _p *XIncrblob // sqlite3.c:85818:12 _ = _p var _db *Xsqlite3 // sqlite3.c:85819:11 _ = _db var _2_zErr *int8 // sqlite3.c:85831:10 _ = _2_zErr _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) if _p != (*XIncrblob)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3MisuseError(tls, i32(85821)) return _0: _db = (*Xsqlite3)(unsafe.Pointer(_p.X5)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if unsafe.Pointer(_p.X4) != (unsafe.Pointer)(uintptr(i32(0))) { goto _1 } _rc = i32(4) goto _2 _1: _rc = _blobSeekToRow(tls, _p, _iRow, &_2_zErr) if _rc == i32(0) { goto _3 } _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { if _2_zErr != nil { return str(24304) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), unsafe.Pointer(_2_zErr)) _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_zErr)) _3: func() int32 { if _rc != i32(17) { return i32(0) } return func() int32 { 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(135808))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: _rc = _sqlite3ApiExit(tls, _db, _rc) func() int32 { if (_rc == i32(0)) || (unsafe.Pointer(_p.X4) == (unsafe.Pointer)(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(135828))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_blob_reopenØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_blob_reopenØ00__func__Ø000[0], str(135860), 20) } func Xsqlite3_vtab_config(tls *crt.TLS, _db *Xsqlite3, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:125733:12 var _ap []interface{} // sqlite3.c:125734:11 _ = _ap var _rc int32 // sqlite3.c:125735:7 _ = _rc var _2_p *XVtabCtx // sqlite3.c:125744:15 _ = _2_p _rc = i32(0) if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(125738)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _ap = args switch _op { case i32(1): goto _2 default: goto _3 } _2: _2_p = (*XVtabCtx)(unsafe.Pointer(_db.X66)) if _2_p != nil { goto _4 } _rc = _sqlite3MisuseError(tls, i32(125746)) goto _5 _4: func() int32 { if ((*XTable)(unsafe.Pointer(_2_p.X1)) == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) || ((*XTable)(unsafe.Pointer(_2_p.X1)).X16) != 0 { return i32(0) } return func() int32 { 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(135880))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr(_2_p.X0) + uintptr(28 /* X4 */))) = uint8(crt.VAInt32(&_ap)) _5: goto _9 _3: _rc = _sqlite3MisuseError(tls, i32(125754)) goto _9 _9: _ap = nil if _rc == i32(0) { goto _10 } _sqlite3Error(tls, _db, _rc) _10: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = _rc return } var _sqlite3_vtab_configØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_vtab_configØ00__func__Ø000[0], str(135916), 20) } func Xsqlite3_vtab_on_conflict(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125715:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(125720)) return _0: i32(0) i32(0) func() int32 { if (int32(_db.X22) >= i32(1)) && (int32(_db.X22) <= i32(5)) { return i32(0) } return func() int32 { 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(135936))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_vtab_on_conflictØ00aMapØ001)) + 1*uintptr(int32(_db.X22)-i32(1))))) return } var _sqlite3_vtab_on_conflictØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_vtab_on_conflictØ00__func__Ø000[0], str(135984), 25) } var _sqlite3_vtab_on_conflictØ00aMapØ001 [5]uint8 // sqlite3.c:125716:30 func init() { _sqlite3_vtab_on_conflictØ00aMapØ001 = [5]uint8{1, 4, 3, 2, 5} } func Xsqlite3_close_v2(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:141010:12 r0 = _sqlite3Close(tls, _db, i32(1)) return } func Xsqlite3_db_filename(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8) (r0 *int8) { // sqlite3.c:143857:12 var _pBt *XBtree // sqlite3.c:143858:9 _ = _pBt if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(143861)) r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: _pBt = _sqlite3DbNameToBtree(tls, _db, _zDbName) r0 = func() *int8 { if _pBt != nil { return _sqlite3BtreeGetFilename(tls, _pBt) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }() return } func Xsqlite3_db_readonly(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8) (r0 int32) { // sqlite3.c:143873:12 var _pBt *XBtree // sqlite3.c:143874:9 _ = _pBt if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(143877)) r0 = i32(-1) return _0: _pBt = _sqlite3DbNameToBtree(tls, _db, _zDbName) r0 = func() int32 { if _pBt != nil { return _sqlite3BtreeIsReadonly(tls, _pBt) } return i32(-1) }() return } func Xsqlite3_errstr(tls *crt.TLS, _rc int32) (r0 *int8) { // sqlite3.c:142237:12 r0 = _sqlite3ErrStr(tls, _rc) return } func Xsqlite3_stmt_readonly(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77556:12 r0 = int32(func() uint32 { if _pStmt != nil { return ((uint32(((*TVdbe)(unsafe.Pointer(_pStmt)).X32)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) } return uint32(i32(1)) }()) return } func Xsqlite3_uri_int64(tls *crt.TLS, _zFilename *int8, _zParam *int8, _bDflt int64) (r0 int64) { // sqlite3.c:143832:12 var _z *int8 // sqlite3.c:143837:14 _ = _z var _v int64 // sqlite3.c:143838:17 _ = _v _z = Xsqlite3_uri_parameter(tls, _zFilename, _zParam) if _z == nil || _sqlite3DecOrHexToI64(tls, _z, &_v) != i32(0) { goto _1 } _bDflt = _v _1: r0 = _bDflt return } func Xsqlite3_auto_extension(tls *crt.TLS, _xInit func(*crt.TLS)) (r0 int32) { // sqlite3.c:112206:12 var _rc int32 // sqlite3.c:112209:7 _ = _rc var _2_i uint32 // sqlite3.c:112217:9 _ = _2_i var _2_mutex *Xsqlite3_mutex // sqlite3.c:112219:19 _ = _2_mutex var _4_nByte uint64 // sqlite3.c:112227:11 _ = _4_nByte var _4_aNew *func(*crt.TLS) // sqlite3.c:112228:12 _ = _4_aNew _rc = i32(0) _rc = Xsqlite3_initialize(tls) if _rc == 0 { goto _0 } r0 = _rc return _0: _2_mutex = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _2_mutex) _2_i = uint32(i32(0)) _2: if _2_i >= (_sqlite3Autoext.X0) { goto _5 } if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{(*(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 8*uintptr(_2_i))))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_xInit})) { goto _6 } goto _5 _6: _2_i += 1 goto _2 _5: if _2_i != (_sqlite3Autoext.X0) { goto _7 } _4_nByte = uint64((_sqlite3Autoext.X0)+uint32(i32(1))) * u64(8) _4_aNew = (*func(*crt.TLS))(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_sqlite3Autoext.X1), _4_nByte))) if _4_aNew != (*func(*crt.TLS))(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } _rc = _sqlite3NomemError(tls, i32(112231)) goto _9 _8: *(**func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(8 /* X1 */))) = _4_aNew *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 8*uintptr(_sqlite3Autoext.X0))) = _xInit *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(0 /* X0 */))) += 1 _9: _7: Xsqlite3_mutex_leave(tls, _2_mutex) func() int32 { if (_rc & i32(255)) == _rc { return i32(0) } return func() int32 { 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(24308))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return } var _sqlite3_auto_extensionØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_auto_extensionØ00__func__Ø000[0], str(136012), 23) } 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 func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))})) { return i32(0) } return func() int32 { 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(136036))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nData <= uint64(i32(2147483647)) { goto _2 } r0 = _invokeValueDestructor(tls, _zData, _xDel, (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0))))) return _2: r0 = _bindText(tls, _pStmt, _i, _zData, int32(_nData), _xDel, uint8(i32(0))) return } var _sqlite3_bind_blob64Ø00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_bind_blob64Ø00__func__Ø000[0], str(136060), 20) } func _invokeValueDestructor(tls *crt.TLS, _p unsafe.Pointer, _xDel func(*crt.TLS, unsafe.Pointer), _pCtx *Xsqlite3_context) (r0 int32) { // sqlite3.c:76314:1 func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))})) { return i32(0) } return func() int32 { 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(136036))) crt.X__builtin_abort(tls) return i32(0) }() }() if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{nil})) { goto _2 } goto _3 _2: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)})))})) { goto _4 } goto _5 _4: _xDel(tls, _p) _5: _3: if _pCtx == nil { goto _6 } Xsqlite3_result_error_toobig(tls, _pCtx) _6: r0 = i32(18) return } var _invokeValueDestructorØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_invokeValueDestructorØ00__func__Ø000[0], str(136080), 22) } 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 func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))})) { return i32(0) } return func() int32 { 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(136036))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nData <= uint64(i32(2147483647)) { goto _2 } r0 = _invokeValueDestructor(tls, (unsafe.Pointer)(_zData), _xDel, (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0))))) return _2: if int32(_enc) != i32(4) { goto _4 } _enc = uint8(i32(2)) _4: r0 = _bindText(tls, _pStmt, _i, (unsafe.Pointer)(_zData), int32(_nData), _xDel, _enc) return } var _sqlite3_bind_text64Ø00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_bind_text64Ø00__func__Ø000[0], str(136104), 20) } func Xsqlite3_cancel_auto_extension(tls *crt.TLS, _xInit func(*crt.TLS)) (r0 int32) { // sqlite3.c:112253:12 var _mutex *Xsqlite3_mutex // sqlite3.c:112257:17 _ = _mutex var _i int32 // sqlite3.c:112259:7 _ = _i var _n int32 // sqlite3.c:112260:7 _ = _n _mutex = _sqlite3MutexAlloc(tls, i32(2)) _n = i32(0) Xsqlite3_mutex_enter(tls, _mutex) _i = int32(_sqlite3Autoext.X0) - i32(1) _0: if _i < i32(0) { goto _3 } if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{(*(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 8*uintptr(_i))))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_xInit})) { goto _4 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(0 /* X0 */))) -= 1 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 8*uintptr(_i))) = *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 8*uintptr(_sqlite3Autoext.X0))) _n += 1 goto _3 _4: _i -= 1 goto _0 _3: Xsqlite3_mutex_leave(tls, _mutex) r0 = _n return } func Xsqlite3_reset_auto_extension(tls *crt.TLS) { // sqlite3.c:112278:12 var _1_mutex *Xsqlite3_mutex // sqlite3.c:112284:19 _ = _1_mutex if Xsqlite3_initialize(tls) != i32(0) { goto _0 } _1_mutex = _sqlite3MutexAlloc(tls, i32(2)) Xsqlite3_mutex_enter(tls, _1_mutex) Xsqlite3_free(tls, (unsafe.Pointer)(_sqlite3Autoext.X1)) *(**func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(8 /* X1 */))) = (*func(*crt.TLS))(unsafe.Pointer(uintptr(i32(0)))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(0 /* X0 */))) = uint32(i32(0)) Xsqlite3_mutex_leave(tls, _1_mutex) _0: return } 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 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))})) { return i32(0) } return func() int32 { 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(136036))) crt.X__builtin_abort(tls) return i32(0) }() }() if _n <= uint64(i32(2147483647)) { goto _4 } _invokeValueDestructor(tls, _z, _xDel, _pCtx) goto _5 _4: _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), int32(_n), uint8(i32(0)), _xDel) _5: return } var _sqlite3_result_blob64Ø00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_blob64Ø00__func__Ø000[0], str(136124), 22) } 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 func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(4988))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize})))})) { return i32(0) } return func() int32 { 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(136036))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_enc) != i32(4) { goto _4 } _enc = uint8(i32(2)) _4: if _n <= uint64(i32(2147483647)) { goto _5 } _invokeValueDestructor(tls, (unsafe.Pointer)(_z), _xDel, _pCtx) goto _6 _5: _setResultStrOrError(tls, _pCtx, _z, int32(_n), _enc, _xDel) _6: return } var _sqlite3_result_text64Ø00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_text64Ø00__func__Ø000[0], str(136148), 22) } func Xsqlite3_value_dup(tls *crt.TLS, _pOrig *XMem) (r0 *XMem) { // sqlite3.c:76264:12 var _pNew *XMem // sqlite3.c:76265:17 _ = _pNew if _pOrig != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) return _0: _pNew = (*XMem)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u64(72))))) if _pNew != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) return _1: crt.Xmemset(tls, (unsafe.Pointer)(_pNew), i32(0), u64(72)) crt.Xmemcpy(tls, (unsafe.Pointer)(_pNew), (unsafe.Pointer)(_pOrig), u64(24)) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-1025)) sink4530 = *p } *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) if (int32(_pNew.X1) & i32(18)) == 0 { goto _2 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) & i32(-3073)) sink4530 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(4096)) sink4530 = *p } if _sqlite3VdbeMemMakeWriteable(tls, _pNew) == i32(0) { goto _3 } _sqlite3ValueFree(tls, _pNew) _pNew = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) _3: _2: r0 = _pNew return } func Xsqlite3_value_free(tls *crt.TLS, _pOld *XMem) { // sqlite3.c:76287:12 _sqlite3ValueFree(tls, _pOld) return } func Xsqlite3_result_zeroblob64(tls *crt.TLS, _pCtx *Xsqlite3_context, _n uint64) (r0 int32) { // sqlite3.c:76452:12 var _pOut *XMem // sqlite3.c:76453:7 _ = _pOut _pOut = (*XMem)(unsafe.Pointer(_pCtx.X0)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pOut.X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(136172))) crt.X__builtin_abort(tls) return i32(0) }() }() if _n <= uint64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pOut.X9)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _2 } r0 = i32(18) return _2: _sqlite3VdbeMemSetZeroBlob(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), int32(_n)) r0 = i32(0) return } var _sqlite3_result_zeroblob64Ø00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_zeroblob64Ø00__func__Ø000[0], str(136208), 26) } func Xsqlite3_bind_zeroblob64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _n uint64) (r0 int32) { // sqlite3.c:77445:12 var _rc int32 // sqlite3.c:77446:7 _ = _rc var _p *TVdbe // sqlite3.c:77447:8 _ = _p _p = (*TVdbe)(unsafe.Pointer(_pStmt)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) if _n <= uint64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_p.X0)+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _0 } _rc = i32(18) goto _1 _0: func() int32 { if (_n & uint64(i32(2147483647))) == _n { return i32(0) } return func() int32 { 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(136236))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = Xsqlite3_bind_zeroblob(tls, _pStmt, _i, int32(_n)) _1: _rc = _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) r0 = _rc return } var _sqlite3_bind_zeroblob64Ø00__func__Ø000 [24]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_bind_zeroblob64Ø00__func__Ø000[0], str(136256), 24) } func Xsqlite3_value_subtype(tls *crt.TLS, _pVal *XMem) (r0 uint32) { // sqlite3.c:76202:12 var _pMem *XMem // sqlite3.c:76203:7 _ = _pMem _pMem = _pVal r0 = uint32(func() int32 { if (int32(_pMem.X1) & i32(32768)) != 0 { return int32(_pMem.X3) } return i32(0) }()) return } func Xsqlite3_result_subtype(tls *crt.TLS, _pCtx *Xsqlite3_context, _eSubtype uint32) { // sqlite3.c:76384:12 var _pOut *XMem // sqlite3.c:76385:7 _ = _pOut _pOut = (*XMem)(unsafe.Pointer(_pCtx.X0)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pOut.X9)).X3))) != 0 { return i32(0) } return func() int32 { 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(136172))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(11 /* X3 */))) = uint8(_eSubtype & uint32(i32(255))) { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) *p = uint16(int32(*p) | i32(32768)) sink4530 = *p } return } var _sqlite3_result_subtypeØ00__func__Ø000 [23]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_result_subtypeØ00__func__Ø000[0], str(136280), 23) } func Xsqlite3_db_cacheflush(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140661:12 var _i int32 // sqlite3.c:140662:7 _ = _i var _rc int32 // sqlite3.c:140663:7 _ = _rc var _bSeenBusy int32 // sqlite3.c:140664:7 _ = _bSeenBusy var _1_pBt *XBtree // sqlite3.c:140672:11 _ = _1_pBt var _2_pPager *XPager // sqlite3.c:140674:13 _ = _2_pPager _rc = i32(0) _bSeenBusy = i32(0) if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(140667)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) _sqlite3BtreeEnterAll(tls, _db) _i = i32(0) _1: if _rc != i32(0) || _i >= (_db.X5) { goto _5 } _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 32*uintptr(_i))).X1)) if _1_pBt == nil || _sqlite3BtreeIsInTrans(tls, _1_pBt) == 0 { goto _7 } _2_pPager = _sqlite3BtreePager(tls, _1_pBt) _rc = _sqlite3PagerFlush(tls, _2_pPager) if _rc != i32(5) { goto _8 } _bSeenBusy = i32(1) _rc = i32(0) _8: _7: _i += 1 goto _1 _5: _sqlite3BtreeLeaveAll(tls, _db) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = func() int32 { if (_rc == i32(0)) && _bSeenBusy != 0 { return i32(5) } return _rc }() return } func _sqlite3PagerFlush(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51440:1 var _rc int32 // sqlite3.c:51441:7 _ = _rc var _1_pList *XPgHdr // sqlite3.c:51443:11 _ = _1_pList var _2_pNext *XPgHdr // sqlite3.c:51446:13 _ = _2_pNext _rc = _pPager.X26 if (_pPager.X13) != 0 { goto _0 } _1_pList = _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) func() int32 { if _assert_pager_state(tls, _pPager) != 0 { return i32(0) } return func() int32 { 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(9864))) crt.X__builtin_abort(tls) return i32(0) }() }() _3: if _rc != i32(0) || _1_pList == nil { goto _4 } _2_pNext = (*XPgHdr)(unsafe.Pointer(_1_pList.X3)) if int32(_1_pList.X7) != i32(0) { goto _6 } _rc = _pagerStress(tls, (unsafe.Pointer)(_pPager), _1_pList) _6: _1_pList = _2_pNext goto _3 _4: _0: r0 = _rc return } var _sqlite3PagerFlushØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3PagerFlushØ00__func__Ø000[0], str(136304), 18) } func Xsqlite3_system_errno(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142228:12 r0 = func() int32 { if _db != nil { return (_db.X12) } return i32(0) }() return } 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 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } r0 = _sqlite3MisuseError(tls, i32(141761)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) if _mTrace != uint32(i32(0)) { goto _1 } _xTrace = nil _1: if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 }{_xTrace})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 }{nil})) { goto _2 } _mTrace = uint32(i32(0)) _2: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(92 /* X24 */))) = uint8(_mTrace) *(*func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(208 /* X41 */))) = _xTrace *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(216 /* X42 */))) = _pArg Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) r0 = i32(0) return } func Xsqlite3_expanded_sql(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 *int8) { // sqlite3.c:77626:12 var _z *int8 // sqlite3.c:77630:8 _ = _z var _zSql *int8 // sqlite3.c:77631:14 _ = _zSql var _1_p *TVdbe // sqlite3.c:77633:10 _ = _1_p _z = nil _zSql = Xsqlite3_sql(tls, _pStmt) if _zSql == nil { goto _0 } _1_p = (*TVdbe)(unsafe.Pointer(_pStmt)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_1_p.X0)).X3))) _z = _sqlite3VdbeExpandSql(tls, _1_p, _zSql) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_1_p.X0)).X3))) _0: r0 = _z return } func Xsqlite3_set_last_insert_rowid(tls *crt.TLS, _db *Xsqlite3, _iRowid int64) { // sqlite3.c:140830:12 if _sqlite3SafetyCheckOk(tls, _db) != 0 { goto _0 } _sqlite3MisuseError(tls, i32(140833)) return _0: Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X7 */))) = _iRowid Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) return } func _compileoptionusedFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106225:1 var _zOptName *int8 // sqlite3.c:106230:14 _ = _zOptName func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() if store1025(&_zOptName, (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } Xsqlite3_result_int(tls, _context, Xsqlite3_compileoption_used(tls, _zOptName)) _2: return } var _compileoptionusedFuncØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_compileoptionusedFuncØ00__func__Ø000[0], str(136324), 22) } func _compileoptiongetFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106249:1 var _n int32 // sqlite3.c:106254:7 _ = _n func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) Xsqlite3_result_text(tls, _context, Xsqlite3_compileoption_get(tls, _n), i32(-1), nil) return } var _compileoptiongetFuncØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_compileoptiongetFuncØ00__func__Ø000[0], str(136348), 21) } func _versionFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:106177:1 func() **XMem { ; return _NotUsed2 }() Xsqlite3_result_text(tls, _context, Xsqlite3_libversion(tls), i32(-1), nil) return } func _trimFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106546:1 var _zIn *uint8 // sqlite3.c:106551:23 _ = _zIn var _zCharSet *uint8 // sqlite3.c:106552:23 _ = _zCharSet var _nIn int32 // sqlite3.c:106553:7 _ = _nIn var _flags int32 // sqlite3.c:106554:7 _ = _flags var _i int32 // sqlite3.c:106555:7 _ = _i var _aLen *uint8 // sqlite3.c:106556:17 _ = _aLen var _azChar **uint8 // sqlite3.c:106557:17 _ = _azChar var _nChar int32 // sqlite3.c:106558:7 _ = _nChar var _4_z *uint8 // sqlite3.c:106577:25 _ = _4_z var _17_len int32 // sqlite3.c:106598:13 _ = _17_len var _20_len int32 // sqlite3.c:106610:13 _ = _20_len _aLen = nil _azChar = nil if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != i32(5) { goto _0 } return _0: _zIn = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _zIn != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } return _1: _nIn = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _zIn == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(136372))) crt.X__builtin_abort(tls) return i32(0) }() }() if _argc != i32(1) { goto _4 } _nChar = i32(1) _aLen = (*uint8)(unsafe.Pointer(&_trimFuncØ00lenOneØ001)) _azChar = (**uint8)(unsafe.Pointer(&_trimFuncØ00azOneØ002)) _zCharSet = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) goto _5 _4: if store4543(&_zCharSet, Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1)))))) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } return _6: *func() *int32 { _4_z = _zCharSet; return &_nChar }() = i32(0) _8: if (*_4_z) == 0 { goto _11 } if int32(*postInc4543(&_4_z, 1)) < i32(192) { goto _12 } _13: if (int32(*_4_z) & i32(192)) != i32(128) { goto _14 } *(*uintptr)(unsafe.Pointer(&_4_z)) += uintptr(1) goto _13 _14: _12: _nChar += 1 goto _8 _11: if _nChar <= i32(0) { goto _15 } _azChar = (**uint8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(uint64(int64(_nChar))*u64(9))))) if _azChar != (**uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } return _16: _aLen = (*uint8)(unsafe.Pointer((**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 8*uintptr(_nChar))))) *func() *int32 { _4_z = _zCharSet; return &_nChar }() = i32(0) _17: if (*_4_z) == 0 { goto _20 } *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 8*uintptr(_nChar))) = _4_z if int32(*postInc4543(&_4_z, 1)) < i32(192) { goto _21 } _22: if (int32(*_4_z) & i32(192)) != i32(128) { goto _23 } *(*uintptr)(unsafe.Pointer(&_4_z)) += uintptr(1) goto _22 _23: _21: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLen)) + 1*uintptr(_nChar))) = uint8(int64((uintptr(unsafe.Pointer(_4_z)) - uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 8*uintptr(_nChar)))))) / 1)) _nChar += 1 goto _17 _20: _15: _5: if _nChar <= i32(0) { goto _24 } _flags = int32(int64(uintptr(unsafe.Pointer(Xsqlite3_user_data(tls, _context))))) if (_flags & i32(1)) == 0 { goto _25 } _26: if _nIn <= i32(0) { goto _27 } _17_len = i32(0) _i = i32(0) _28: if _i >= _nChar { goto _31 } _17_len = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLen)) + 1*uintptr(_i)))) if _17_len > _nIn || crt.Xmemcmp(tls, (unsafe.Pointer)(_zIn), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 8*uintptr(_i)))), uint64(_17_len)) != i32(0) { goto _33 } goto _31 _33: _i += 1 goto _28 _31: if _i < _nChar { goto _34 } goto _27 _34: { p := &_zIn *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_17_len))) sink4543 = *p } { p := &_nIn *p = (*p) - _17_len sink961 = *p } goto _26 _27: _25: if (_flags & i32(2)) == 0 { goto _35 } _36: if _nIn <= i32(0) { goto _37 } _20_len = i32(0) _i = i32(0) _38: if _i >= _nChar { goto _41 } _20_len = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLen)) + 1*uintptr(_i)))) 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)) + 8*uintptr(_i)))), uint64(_20_len)) != i32(0) { goto _43 } goto _41 _43: _i += 1 goto _38 _41: if _i < _nChar { goto _44 } goto _37 _44: { p := &_nIn *p = (*p) - _20_len sink961 = *p } goto _36 _37: _35: if _zCharSet == nil { goto _45 } Xsqlite3_free(tls, (unsafe.Pointer)(_azChar)) _45: _24: Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(_zIn)), _nIn, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) return } var _trimFuncØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_trimFuncØ00__func__Ø000[0], str(136408), 9) } var _trimFuncØ00lenOneØ001 [1]uint8 // sqlite3.c:106568:32 func init() { _trimFuncØ00lenOneØ001 = [1]uint8{1} } var _trimFuncØ00azOneØ002 [1]*uint8 // sqlite3.c:106569:26 func init() { _trimFuncØ00azOneØ002 = [1]*uint8{(*byte)(unsafe.Pointer(str(125236)))} } func _contextMalloc(tls *crt.TLS, _context *Xsqlite3_context, _nByte int64) (r0 unsafe.Pointer) { // sqlite3.c:105689:1 var _z *int8 // sqlite3.c:105690:8 _ = _z var _db *Xsqlite3 // sqlite3.c:105691:11 _ = _db _db = Xsqlite3_context_db_handle(tls, _context) func() int32 { if _nByte > int64(i32(0)) { return i32(0) } return func() int32 { 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(136420))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nByte <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _2 } Xsqlite3_result_error_toobig(tls, _context) _z = (*int8)(unsafe.Pointer(uintptr(i32(0)))) goto _3 _2: _z = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_nByte)))) if _z != nil { goto _4 } Xsqlite3_result_error_nomem(tls, _context) _4: _3: r0 = (unsafe.Pointer)(_z) return } var _contextMallocØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_contextMallocØ00__func__Ø000[0], str(136428), 14) } func _minmaxFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105332:1 var _i int32 // sqlite3.c:105337:7 _ = _i var _mask int32 // sqlite3.c:105338:7 _ = _mask var _iBest int32 // sqlite3.c:105339:7 _ = _iBest var _pColl *XCollSeq // sqlite3.c:105340:11 _ = _pColl func() int32 { if _argc > i32(1) { return i32(0) } return func() int32 { 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(136444))) crt.X__builtin_abort(tls) return i32(0) }() }() _mask = func() int32 { if unsafe.Pointer(Xsqlite3_user_data(tls, _context)) == (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return i32(-1) }() _pColl = _sqlite3GetFuncCollSeq(tls, _context) func() int32 { if _pColl != nil { return i32(0) } return func() int32 { 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(136452))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_mask == i32(-1)) || (_mask == i32(0)) { return i32(0) } return func() int32 { 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(136460))) crt.X__builtin_abort(tls) return i32(0) }() }() _iBest = i32(0) if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != i32(5) { goto _9 } return _9: _i = i32(1) _10: if _i >= _argc { goto _13 } if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))) != i32(5) { goto _14 } return _14: if (_sqlite3MemCompare(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_iBest))), *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i))), _pColl) ^ _mask) < i32(0) { goto _15 } _iBest = _i _15: _i += 1 goto _10 _13: Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_iBest)))) return } var _minmaxFuncØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_minmaxFuncØ00__func__Ø000[0], str(136480), 11) } func _sqlite3GetFuncCollSeq(tls *crt.TLS, _context *Xsqlite3_context) (r0 *XCollSeq) { // sqlite3.c:105312:1 var _pOp *XVdbeOp // sqlite3.c:105313:10 _ = _pOp func() int32 { if (*TVdbe)(unsafe.Pointer(_context.X3)) != (*TVdbe)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(136492))) crt.X__builtin_abort(tls) return i32(0) }() }() _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((*TVdbe)(unsafe.Pointer(_context.X3)).X17) + 32*uintptr((_context.X4)-i32(1)))) func() int32 { if int32(_pOp.X0) == i32(89) { return i32(0) } return func() int32 { 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(136512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pOp.X1) == i32(-3) { return i32(0) } return func() int32 { 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(64744))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T5777046)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) return } var _sqlite3GetFuncCollSeqØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3GetFuncCollSeqØ00__func__Ø000[0], str(136536), 22) } func _minmaxStep(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:106846:1 var _pArg *XMem // sqlite3.c:106851:7 _ = _pArg var _pBest *XMem // sqlite3.c:106852:7 _ = _pBest var _2_max int32 // sqlite3.c:106861:9 _ = _2_max var _2_cmp int32 // sqlite3.c:106862:9 _ = _2_cmp var _2_pColl *XCollSeq // sqlite3.c:106863:13 _ = _2_pColl _pArg = *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))) _pBest = (*XMem)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u64(72))))) if _pBest != nil { goto _0 } return _0: if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != i32(5) { goto _1 } if (_pBest.X1) == 0 { goto _2 } _sqlite3SkipAccumulatorLoad(tls, _context) _2: goto _3 _1: if (_pBest.X1) == 0 { goto _4 } _2_pColl = _sqlite3GetFuncCollSeq(tls, _context) _2_max = bool2int(Xsqlite3_user_data(tls, _context) != (unsafe.Pointer)(uintptr(i32(0)))) _2_cmp = _sqlite3MemCompare(tls, _pBest, _pArg, _2_pColl) if (_2_max == 0 || _2_cmp >= i32(0)) && (_2_max != 0 || _2_cmp <= i32(0)) { goto _8 } _sqlite3VdbeMemCopy(tls, _pBest, _pArg) goto _9 _8: _sqlite3SkipAccumulatorLoad(tls, _context) _9: goto _10 _4: *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(40 /* X9 */))))) = Xsqlite3_context_db_handle(tls, _context) _sqlite3VdbeMemCopy(tls, _pBest, _pArg) _10: _3: return } func _sqlite3SkipAccumulatorLoad(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:105325:1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_context)) + uintptr(40 /* X6 */))) = uint8(i32(1)) return } func _minMaxFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106884:1 var _pRes *XMem // sqlite3.c:106885:17 _ = _pRes _pRes = (*XMem)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) if _pRes == nil { goto _0 } if (_pRes.X1) == 0 { goto _1 } Xsqlite3_result_value(tls, _context, _pRes) _1: _sqlite3VdbeMemRelease(tls, _pRes) _0: return } func _typeofFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:105362:1 var _z *int8 // sqlite3.c:105367:14 _ = _z _z = nil switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { case i32(1): goto _1 case i32(2): goto _3 case i32(3): goto _2 case i32(4): goto _4 default: goto _5 } _1: _z = str(43924) goto _6 _2: _z = str(43908) goto _6 _3: _z = str(43932) goto _6 _4: _z = str(43900) goto _6 _5: _z = str(134608) goto _6 _6: Xsqlite3_result_text(tls, _context, _z, i32(-1), nil) return } func _lengthFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105383:1 var _len int32 // sqlite3.c:105388:7 _ = _len var _3_z *uint8 // sqlite3.c:105400:27 _ = _3_z func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { case i32(1): goto _4 case i32(2): goto _5 case i32(3): goto _6 case i32(4): goto _3 default: goto _7 } _3: _4: _5: Xsqlite3_result_int(tls, _context, Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))))) goto _8 _6: _3_z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _3_z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _9 } return _9: _len = i32(0) _10: if (*_3_z) == 0 { goto _11 } _len += 1 if int32(*postInc4543(&_3_z, 1)) < i32(192) { goto _12 } _13: if (int32(*_3_z) & i32(192)) != i32(128) { goto _14 } *(*uintptr)(unsafe.Pointer(&_3_z)) += uintptr(1) goto _13 _14: _12: goto _10 _11: Xsqlite3_result_int(tls, _context, _len) goto _8 _7: Xsqlite3_result_null(tls, _context) goto _8 _8: return } var _lengthFuncØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_lengthFuncØ00__func__Ø000[0], str(136560), 11) } func _instrFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105472:1 var _zHaystack *uint8 // sqlite3.c:105477:23 _ = _zHaystack var _zNeedle *uint8 // sqlite3.c:105478:23 _ = _zNeedle var _nHaystack int32 // sqlite3.c:105479:7 _ = _nHaystack var _nNeedle int32 // sqlite3.c:105480:7 _ = _nNeedle var _typeHaystack int32 // sqlite3.c:105481:7 _ = _typeHaystack var _typeNeedle int32 // sqlite3.c:105481:21 _ = _typeNeedle var _N int32 // sqlite3.c:105482:7 _ = _N var _isText int32 // sqlite3.c:105483:7 _ = _isText _N = i32(1) _typeHaystack = Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _typeNeedle = Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) if _typeHaystack != i32(5) && _typeNeedle != i32(5) { goto _1 } return _1: _nHaystack = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _nNeedle = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) if _nNeedle <= i32(0) { goto _2 } if _typeHaystack != i32(4) || _typeNeedle != i32(4) { goto _4 } _zHaystack = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _zNeedle = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))))) _isText = i32(0) goto _5 _4: _zHaystack = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _zNeedle = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) _isText = i32(1) _5: if _zNeedle != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && (_nHaystack == 0 || _zHaystack != (*uint8)(unsafe.Pointer(uintptr(i32(0))))) { goto _8 } return _8: _9: if _nNeedle > _nHaystack || crt.Xmemcmp(tls, (unsafe.Pointer)(_zHaystack), (unsafe.Pointer)(_zNeedle), uint64(_nNeedle)) == i32(0) { goto _10 } _N += 1 _12: _nHaystack -= 1 *(*uintptr)(unsafe.Pointer(&_zHaystack)) += uintptr(1) if _isText != 0 && ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHaystack)) + 1*uintptr(i32(0))))) & i32(192)) == i32(128)) { goto _12 } goto _9 _10: if _nNeedle <= _nHaystack { goto _14 } _N = i32(0) _14: _2: Xsqlite3_result_int(tls, _context, _N) return } func _printfFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105517:1 var _x XPrintfArguments // sqlite3.c:105522:19 _ = _x var _str XStrAccum // sqlite3.c:105523:12 _ = _str var _zFormat *int8 // sqlite3.c:105524:14 _ = _zFormat var _n int32 // sqlite3.c:105525:7 _ = _n var _db *Xsqlite3 // sqlite3.c:105526:11 _ = _db _db = Xsqlite3_context_db_handle(tls, _context) if _argc < i32(1) || store1025(&_zFormat, (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = _argc - i32(1) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(4 /* X1 */))) = i32(0) *(***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(8))))))))))) _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(112 /* X31 */))))) + 4*uintptr(i32(0))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_str)) + uintptr(37 /* X7 */))) = uint8(i32(2)) _sqlite3XPrintf(tls, &_str, _zFormat, unsafe.Pointer(&_x)) _n = int32(_str.X3) Xsqlite3_result_text(tls, _context, _sqlite3StrAccumFinish(tls, &_str), _n, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{_sqlite3MallocSize}))) _1: return } func _unicodeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106355:1 var _z *uint8 // sqlite3.c:106360:23 _ = _z _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _z == nil || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == 0 { goto _1 } Xsqlite3_result_int(tls, _context, int32(_sqlite3Utf8Read(tls, &_z))) _1: return } func _charFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106370:1 var _z *uint8 // sqlite3.c:106375:17 _ = _z var _zOut *uint8 // sqlite3.c:106375:21 _ = _zOut var _i int32 // sqlite3.c:106376:7 _ = _i var _2_x int64 // sqlite3.c:106383:19 _ = _2_x var _2_c uint32 // sqlite3.c:106384:14 _ = _2_c _zOut = store4543(&_z, (*uint8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64((_argc*i32(4))+i32(1)))))) if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } Xsqlite3_result_error_nomem(tls, _context) return _0: _i = i32(0) _1: if _i >= _argc { goto _4 } _2_x = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(_i)))) if _2_x >= int64(i32(0)) && _2_x <= int64(i32(1114111)) { goto _6 } _2_x = int64(i32(65533)) _6: _2_c = uint32(_2_x & int64(i32(2097151))) if _2_c >= uint32(i32(128)) { goto _7 } *postInc4543(&_zOut, 1) = uint8(_2_c & uint32(i32(255))) goto _8 _7: if _2_c >= uint32(i32(2048)) { goto _9 } *postInc4543(&_zOut, 1) = uint8(i32(192) + int32(uint8((_2_c>>uint(i32(6)))&uint32(i32(31))))) *postInc4543(&_zOut, 1) = uint8(i32(128) + int32(uint8(_2_c&uint32(i32(63))))) goto _10 _9: if _2_c >= uint32(i32(65536)) { goto _11 } *postInc4543(&_zOut, 1) = uint8(i32(224) + int32(uint8((_2_c>>uint(i32(12)))&uint32(i32(15))))) *postInc4543(&_zOut, 1) = uint8(i32(128) + int32(uint8((_2_c>>uint(i32(6)))&uint32(i32(63))))) *postInc4543(&_zOut, 1) = uint8(i32(128) + int32(uint8(_2_c&uint32(i32(63))))) goto _12 _11: *postInc4543(&_zOut, 1) = uint8(i32(240) + int32(uint8((_2_c>>uint(i32(18)))&uint32(i32(7))))) *postInc4543(&_zOut, 1) = uint8(i32(128) + int32(uint8((_2_c>>uint(i32(12)))&uint32(i32(63))))) *postInc4543(&_zOut, 1) = uint8(i32(128) + int32(uint8((_2_c>>uint(i32(6)))&uint32(i32(63))))) *postInc4543(&_zOut, 1) = uint8(i32(128) + int32(uint8(_2_c&uint32(i32(63))))) _12: _10: _8: _i += 1 goto _1 _4: Xsqlite3_result_text64(tls, _context, (*int8)(unsafe.Pointer(_z)), uint64(int64((uintptr(unsafe.Pointer(_zOut))-uintptr(unsafe.Pointer(_z)))/1)), Xsqlite3_free, uint8(i32(1))) return } func _absFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105423:1 var _2_iVal int64 // sqlite3.c:105428:11 _ = _2_iVal var _6_rVal float64 // sqlite3.c:105453:14 _ = _6_rVal func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { case i32(1): goto _3 case i32(5): goto _4 default: goto _5 } _3: _2_iVal = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _2_iVal >= int64(i32(0)) { goto _6 } if _2_iVal != i64(-9223372036854775808) { goto _7 } Xsqlite3_result_error(tls, _context, str(136572), i32(-1)) return _7: _2_iVal = -_2_iVal _6: Xsqlite3_result_int64(tls, _context, _2_iVal) goto _8 _4: Xsqlite3_result_null(tls, _context) goto _8 _5: _6_rVal = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _6_rVal >= float64(i32(0)) { goto _9 } _6_rVal = -_6_rVal _9: Xsqlite3_result_double(tls, _context, _6_rVal) goto _8 _8: return } var _absFuncØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_absFuncØ00__func__Ø000[0], str(136592), 8) } func _roundFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105648:1 var _n int32 // sqlite3.c:105649:7 _ = _n var _r float64 // sqlite3.c:105650:10 _ = _r var _zBuf *int8 // sqlite3.c:105651:8 _ = _zBuf _n = i32(0) func() int32 { if (_argc == i32(1)) || (_argc == i32(2)) { return i32(0) } return func() int32 { 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(136600))) crt.X__builtin_abort(tls) return i32(0) }() }() if _argc != i32(2) { goto _3 } if i32(5) != Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) { goto _4 } return _4: _n = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) if _n <= i32(30) { goto _5 } _n = i32(30) _5: if _n >= i32(0) { goto _6 } _n = i32(0) _6: _3: if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != i32(5) { goto _7 } return _7: _r = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _n != i32(0) || _r < float64(i32(0)) || _r >= float64(i64(9223372036854775806)) { goto _10 } _r = float64(int64(_r + (0.5))) goto _11 _10: if _n != i32(0) || _r >= float64(i32(0)) || (-_r) >= float64(i64(9223372036854775806)) { goto _14 } _r = -float64(int64((-_r) + (0.5))) goto _15 _14: _zBuf = Xsqlite3_mprintf(tls, str(136620), _n, _r) if _zBuf != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _16 } Xsqlite3_result_error_nomem(tls, _context) return _16: _sqlite3AtoF(tls, _zBuf, &_r, _sqlite3Strlen30(tls, _zBuf), uint8(i32(1))) Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) _15: _11: Xsqlite3_result_double(tls, _context, _r) return } var _roundFuncØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_roundFuncØ00__func__Ø000[0], str(136628), 10) } func _upperFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105710:1 var _z1 *int8 // sqlite3.c:105711:8 _ = _z1 var _z2 *int8 // sqlite3.c:105712:14 _ = _z2 var _i int32 // sqlite3.c:105713:7 _ = _i var _n int32 // sqlite3.c:105713:10 _ = _n _z2 = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _z2 == (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) { return i32(0) } return func() int32 { 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(136640))) crt.X__builtin_abort(tls) return i32(0) }() }() if _z2 == nil { goto _2 } _z1 = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_n)+int64(i32(1))))) if _z1 == nil { goto _3 } _i = i32(0) _4: if _i >= _n { goto _7 } *(*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)))) _i += 1 goto _4 _7: Xsqlite3_result_text(tls, _context, _z1, _n, Xsqlite3_free) _3: _2: return } var _upperFuncØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_upperFuncØ00__func__Ø000[0], str(136680), 10) } func _lowerFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105729:1 var _z1 *int8 // sqlite3.c:105730:8 _ = _z1 var _z2 *int8 // sqlite3.c:105731:14 _ = _z2 var _i int32 // sqlite3.c:105732:7 _ = _i var _n int32 // sqlite3.c:105732:10 _ = _n _z2 = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _z2 == (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) { return i32(0) } return func() int32 { 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(136640))) crt.X__builtin_abort(tls) return i32(0) }() }() if _z2 == nil { goto _2 } _z1 = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_n)+int64(i32(1))))) if _z1 == nil { goto _3 } _i = i32(0) _4: if _i >= _n { goto _7 } *(*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)))))))) _i += 1 goto _4 _7: Xsqlite3_result_text(tls, _context, _z1, _n, Xsqlite3_free) _3: _2: return } var _lowerFuncØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_lowerFuncØ00__func__Ø000[0], str(136692), 10) } func _hexFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106411:1 var _i int32 // sqlite3.c:106416:7 _ = _i var _n int32 // sqlite3.c:106416:10 _ = _n var _pBlob *uint8 // sqlite3.c:106417:23 _ = _pBlob var _zHex *int8 // sqlite3.c:106418:8 _ = _zHex var _z *int8 // sqlite3.c:106418:15 _ = _z var _2_c uint8 // sqlite3.c:106427:21 _ = _2_c func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() _pBlob = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _pBlob == (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) { return i32(0) } return func() int32 { 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(136704))) crt.X__builtin_abort(tls) return i32(0) }() }() _z = store1025(&_zHex, (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, (int64(_n)*int64(i32(2)))+int64(i32(1)))))) if _zHex == nil { goto _4 } _i = i32(0) _5: if _i >= _n { goto _8 } _2_c = *_pBlob *postInc1025(&_z, 1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_hexdigits)) + 1*uintptr((int32(_2_c)>>uint(i32(4)))&i32(15)))) *postInc1025(&_z, 1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_hexdigits)) + 1*uintptr(int32(_2_c)&i32(15)))) *(*uintptr)(unsafe.Pointer(func() **uint8 { _i += 1; return &_pBlob }())) += uintptr(1) goto _5 _8: *_z = int8(i32(0)) Xsqlite3_result_text(tls, _context, _zHex, _n*i32(2), Xsqlite3_free) _4: return } var _hexFuncØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_hexFuncØ00__func__Ø000[0], str(136740), 8) } var _hexdigits [16]int8 // sqlite3.c:106267:19 func init() { _hexdigits = [16]int8{48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70} } func _randomFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105762:1 var _r int64 // sqlite3.c:105767:16 _ = _r func() **XMem { ; return _NotUsed2 }() Xsqlite3_randomness(tls, int32(u64(8)), (unsafe.Pointer)(&_r)) if _r >= int64(i32(0)) { goto _0 } _r = -(_r & i64(9223372036854775807)) _0: Xsqlite3_result_int64(tls, _context, _r) return } func _randomBlob(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105788:1 var _n int32 // sqlite3.c:105793:7 _ = _n var _p *uint8 // sqlite3.c:105794:17 _ = _p func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _n >= i32(1) { goto _2 } _n = i32(1) _2: _p = (*uint8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_n)))) if _p == nil { goto _3 } Xsqlite3_randomness(tls, _n, (unsafe.Pointer)(_p)) Xsqlite3_result_blob(tls, _context, (unsafe.Pointer)(_p), _n, Xsqlite3_free) _3: return } var _randomBlobØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_randomBlobØ00__func__Ø000[0], str(136748), 11) } func _nullifFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:106161:1 var _pColl *XCollSeq // sqlite3.c:106166:11 _ = _pColl _pColl = _sqlite3GetFuncCollSeq(tls, _context) if _sqlite3MemCompare(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0)))), *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1)))), _pColl) == i32(0) { goto _0 } Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _0: return } func _sourceidFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:106193:1 func() **XMem { ; return _NotUsed2 }() Xsqlite3_result_text(tls, _context, Xsqlite3_sourceid(tls), i32(-1), nil) return } func _errlogFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106209:1 Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))), str(24304), unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))))) return } func _quoteFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106279:1 var _2_r1 float64 // sqlite3.c:106284:14 _ = _2_r1 var _2_r2 float64 // sqlite3.c:106284:18 _ = _2_r2 var _2_zBuf [50]int8 // sqlite3.c:106285:12 _ = _2_zBuf var _5_zText *int8 // sqlite3.c:106300:12 _ = _5_zText var _5_zBlob *int8 // sqlite3.c:106301:18 _ = _5_zBlob var _5_nBlob int32 // sqlite3.c:106302:11 _ = _5_nBlob var _6_i int32 // sqlite3.c:106306:13 _ = _6_i var _8_i int32 // sqlite3.c:106321:11 _ = _8_i var _8_j int32 // sqlite3.c:106321:13 _ = _8_j var _8_n uint64 // sqlite3.c:106322:11 _ = _8_n var _8_zArg *uint8 // sqlite3.c:106323:27 _ = _8_zArg var _8_z *int8 // sqlite3.c:106324:12 _ = _8_z func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { case i32(1): goto _4 case i32(2): goto _3 case i32(3): goto _6 case i32(4): goto _5 default: goto _7 } _3: _2_r1 = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) Xsqlite3_snprintf(tls, int32(u64(50)), (*int8)(unsafe.Pointer(&_2_zBuf)), str(4672), _2_r1) _sqlite3AtoF(tls, (*int8)(unsafe.Pointer(&_2_zBuf)), &_2_r2, i32(20), uint8(i32(1))) if _2_r1 == _2_r2 { goto _8 } Xsqlite3_snprintf(tls, int32(u64(50)), (*int8)(unsafe.Pointer(&_2_zBuf)), str(136760), _2_r1) _8: Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_2_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) goto _9 _4: Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) goto _9 _5: _5_zText = nil _5_zBlob = (*int8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _5_nBlob = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _5_zBlob == (*int8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) { return i32(0) } return func() int32 { 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(136768))) crt.X__builtin_abort(tls) return i32(0) }() }() _5_zText = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, (int64(i32(2))*int64(_5_nBlob))+int64(i32(4))))) if _5_zText == nil { goto _12 } _6_i = i32(0) _13: if _6_i >= _5_nBlob { goto _16 } *(*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)))) *(*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)))) _6_i += 1 goto _13 _16: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr((_5_nBlob*i32(2))+i32(2)))) = int8(i32(39)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr((_5_nBlob*i32(2))+i32(3)))) = int8(i32(0)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr(i32(0)))) = int8(i32(88)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr(i32(1)))) = int8(i32(39)) Xsqlite3_result_text(tls, _context, _5_zText, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)}))) Xsqlite3_free(tls, (unsafe.Pointer)(_5_zText)) _12: goto _9 _6: _8_zArg = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _8_zArg != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _17 } return _17: *func() *uint64 { _8_i = i32(0); return &_8_n }() = uint64(i32(0)) _18: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) == 0 { goto _21 } if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) != i32(39) { goto _22 } _8_n += 1 _22: _8_i += 1 goto _18 _21: _8_z = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, (int64(_8_i)+int64(_8_n))+int64(i32(3))))) if _8_z == nil { goto _23 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(i32(0)))) = int8(i32(39)) *func() *int32 { _8_i = i32(0); return &_8_j }() = i32(1) _24: if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) == 0 { goto _27 } *(*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)))) if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) != i32(39) { goto _28 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(postInc961(&_8_j, int32(1))))) = int8(i32(39)) _28: _8_i += 1 goto _24 _27: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(postInc961(&_8_j, int32(1))))) = int8(i32(39)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(_8_j))) = int8(i32(0)) Xsqlite3_result_text(tls, _context, _8_z, _8_j, Xsqlite3_free) _23: goto _9 _7: func() int32 { if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) == i32(5) { return i32(0) } return func() int32 { 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(136804))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_result_text(tls, _context, str(200), i32(4), nil) goto _9 _9: return } var _quoteFuncØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_quoteFuncØ00__func__Ø000[0], str(136848), 10) } func _last_insert_rowid(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105812:1 var _db *Xsqlite3 // sqlite3.c:105817:11 _ = _db _db = Xsqlite3_context_db_handle(tls, _context) func() **XMem { ; return _NotUsed2 }() Xsqlite3_result_int64(tls, _context, Xsqlite3_last_insert_rowid(tls, _db)) return } func _changes(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105832:1 var _db *Xsqlite3 // sqlite3.c:105837:11 _ = _db _db = Xsqlite3_context_db_handle(tls, _context) func() **XMem { ; return _NotUsed2 }() Xsqlite3_result_int(tls, _context, Xsqlite3_changes(tls, _db)) return } func _total_changes(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105846:1 var _db *Xsqlite3 // sqlite3.c:105851:11 _ = _db _db = Xsqlite3_context_db_handle(tls, _context) func() **XMem { ; return _NotUsed2 }() Xsqlite3_result_int(tls, _context, Xsqlite3_total_changes(tls, _db)) return } func _replaceFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106462:1 var _zStr *uint8 // sqlite3.c:106467:23 _ = _zStr var _zPattern *uint8 // sqlite3.c:106468:23 _ = _zPattern var _zRep *uint8 // sqlite3.c:106469:23 _ = _zRep var _zOut *uint8 // sqlite3.c:106470:17 _ = _zOut var _nStr int32 // sqlite3.c:106471:7 _ = _nStr var _nPattern int32 // sqlite3.c:106472:7 _ = _nPattern var _nRep int32 // sqlite3.c:106473:7 _ = _nRep var _nOut int64 // sqlite3.c:106474:7 _ = _nOut var _loopLimit int32 // sqlite3.c:106475:7 _ = _loopLimit var _i int32 // sqlite3.c:106476:7 _ = _i var _j int32 // sqlite3.c:106476:10 _ = _j var _6_zOld *uint8 // sqlite3.c:106512:10 _ = _6_zOld var _6_db *Xsqlite3 // sqlite3.c:106513:15 _ = _6_db func() int32 { if _argc == i32(3) { return i32(0) } return func() int32 { 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(51784))) crt.X__builtin_abort(tls) return i32(0) }() }() _zStr = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _zStr != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _2 } return _2: _nStr = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) func() int32 { if _zStr == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(136860))) crt.X__builtin_abort(tls) return i32(0) }() }() _zPattern = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) if _zPattern != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } func() int32 { if (Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) == i32(5)) || ((Xsqlite3_context_db_handle(tls, _context).X17) != 0) { return i32(0) } return func() int32 { 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(136896))) crt.X__builtin_abort(tls) return i32(0) }() }() return _5: if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) != i32(0) { goto _9 } func() int32 { if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) != i32(5) { return i32(0) } return func() int32 { 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(136992))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) return _9: _nPattern = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) func() int32 { if _zPattern == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) { return i32(0) } return func() int32 { 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(137036))) crt.X__builtin_abort(tls) return i32(0) }() }() _zRep = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) if _zRep != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } return _14: _nRep = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) func() int32 { if _zRep == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) { return i32(0) } return func() int32 { 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(137076))) crt.X__builtin_abort(tls) return i32(0) }() }() _nOut = int64(_nStr + i32(1)) func() int32 { if _nOut < int64(i32(1000000000)) { return i32(0) } return func() int32 { 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(137112))) crt.X__builtin_abort(tls) return i32(0) }() }() _zOut = (*uint8)(unsafe.Pointer(_contextMalloc(tls, _context, _nOut))) if _zOut != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } return _19: _loopLimit = _nStr - _nPattern _i = store961(&_j, i32(0)) _20: if _i > _loopLimit { goto _23 } 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), uint64(_nPattern)) == 0 { goto _25 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(postInc961(&_j, int32(1))))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStr)) + 1*uintptr(_i))) goto _26 _25: _6_db = Xsqlite3_context_db_handle(tls, _context) { p := &_nOut *p = (*p) + int64(_nRep-_nPattern) sink967 = *p } if (_nOut - int64(i32(1))) <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) { goto _27 } Xsqlite3_result_error_toobig(tls, _context) Xsqlite3_free(tls, (unsafe.Pointer)(_zOut)) return _27: _6_zOld = _zOut _zOut = (*uint8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_zOut), uint64(int32(_nOut))))) if _zOut != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _28 } Xsqlite3_result_error_nomem(tls, _context) Xsqlite3_free(tls, (unsafe.Pointer)(_6_zOld)) return _28: crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_j)))), (unsafe.Pointer)(_zRep), uint64(_nRep)) { p := &_j *p = (*p) + _nRep sink961 = *p } { p := &_i *p = (*p) + (_nPattern - i32(1)) sink961 = *p } _26: _i += 1 goto _20 _23: func() int32 { if int64(((_j+_nStr)-_i)+i32(1)) == _nOut { return i32(0) } return func() int32 { 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(137136))) crt.X__builtin_abort(tls) return i32(0) }() }() 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)))), uint64(_nStr-_i)) { p := &_j *p = (*p) + (_nStr - _i) sink961 = *p } func() int32 { if int64(_j) <= _nOut { return i32(0) } return func() int32 { 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(137156))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(_j))) = uint8(i32(0)) Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(_zOut)), _j, Xsqlite3_free) return } var _replaceFuncØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_replaceFuncØ00__func__Ø000[0], str(137164), 12) } func _zeroblobFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106439:1 var _n int64 // sqlite3.c:106444:7 _ = _n var _rc int32 // sqlite3.c:106445:7 _ = _rc func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _n >= int64(i32(0)) { goto _2 } _n = int64(i32(0)) _2: _rc = Xsqlite3_result_zeroblob64(tls, _context, uint64(_n)) if _rc == 0 { goto _3 } Xsqlite3_result_error_code(tls, _context, _rc) _3: return } var _zeroblobFuncØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_zeroblobFuncØ00__func__Ø000[0], str(137176), 13) } func _substrFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105553:1 var _z *uint8 // sqlite3.c:105558:23 _ = _z var _z2 *uint8 // sqlite3.c:105559:23 _ = _z2 var _len int32 // sqlite3.c:105560:7 _ = _len var _p0type int32 // sqlite3.c:105561:7 _ = _p0type var _p1 int64 // sqlite3.c:105562:7 _ = _p1 var _p2 int64 // sqlite3.c:105562:11 _ = _p2 var _negP2 int32 // sqlite3.c:105563:7 _ = _negP2 _negP2 = i32(0) func() int32 { if (_argc == i32(3)) || (_argc == i32(2)) { return i32(0) } return func() int32 { 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(137192))) crt.X__builtin_abort(tls) return i32(0) }() }() if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) != i32(5) && (_argc != i32(3) || Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2))))) != i32(5)) { goto _5 } return _5: _p0type = Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _p1 = int64(Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1)))))) if _p0type != i32(4) { goto _6 } _len = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) _z = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } return _7: func() int32 { if _len == Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(137212))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _10 _6: _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _11 } return _11: _len = i32(0) if _p1 >= int64(i32(0)) { goto _12 } _z2 = _z _13: if (*_z2) == 0 { goto _16 } if int32(*postInc4543(&_z2, 1)) < i32(192) { goto _17 } _18: if (int32(*_z2) & i32(192)) != i32(128) { goto _19 } *(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1) goto _18 _19: _17: _len += 1 goto _13 _16: _12: _10: if _argc != i32(3) { goto _20 } _p2 = int64(Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(2)))))) if _p2 >= int64(i32(0)) { goto _21 } _p2 = -_p2 _negP2 = i32(1) _21: goto _22 _20: _p2 = int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(Xsqlite3_context_db_handle(tls, _context)))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) _22: if _p1 >= int64(i32(0)) { goto _23 } { p := &_p1 *p = (*p) + int64(_len) sink967 = *p } if _p1 >= int64(i32(0)) { goto _24 } { p := &_p2 *p = (*p) + _p1 sink967 = *p } if _p2 >= int64(i32(0)) { goto _25 } _p2 = int64(i32(0)) _25: _p1 = int64(i32(0)) _24: goto _26 _23: if _p1 <= int64(i32(0)) { goto _27 } _p1 -= 1 goto _28 _27: if _p2 <= int64(i32(0)) { goto _29 } _p2 -= 1 _29: _28: _26: if _negP2 == 0 { goto _30 } { p := &_p1 *p = (*p) - _p2 sink967 = *p } if _p1 >= int64(i32(0)) { goto _31 } { p := &_p2 *p = (*p) + _p1 sink967 = *p } _p1 = int64(i32(0)) _31: _30: func() int32 { if (_p1 >= int64(i32(0))) && (_p2 >= int64(i32(0))) { return i32(0) } return func() int32 { 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(137248))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p0type == i32(4) { goto _35 } _36: if (*_z) == 0 || _p1 == 0 { goto _37 } if int32(*postInc4543(&_z, 1)) < i32(192) { goto _39 } _40: if (int32(*_z) & i32(192)) != i32(128) { goto _41 } *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) goto _40 _41: _39: _p1 -= 1 goto _36 _37: _z2 = _z _42: if (*_z2) == 0 || _p2 == 0 { goto _46 } if int32(*postInc4543(&_z2, 1)) < i32(192) { goto _47 } _48: if (int32(*_z2) & i32(192)) != i32(128) { goto _49 } *(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1) goto _48 _49: _47: _p2 -= 1 goto _42 _46: Xsqlite3_result_text64(tls, _context, (*int8)(unsafe.Pointer(_z)), uint64(int64((uintptr(unsafe.Pointer(_z2))-uintptr(unsafe.Pointer(_z)))/1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uint64 }{u64(18446744073709551615)})), uint8(i32(1))) goto _50 _35: if (_p1 + _p2) <= int64(_len) { goto _51 } _p2 = int64(_len) - _p1 if _p2 >= int64(i32(0)) { goto _52 } _p2 = int64(i32(0)) _52: _51: 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 uint64 }{u64(18446744073709551615)}))) _50: return } var _substrFuncØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_substrFuncØ00__func__Ø000[0], str(137264), 11) } func _sumStep(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106761:1 var _p *XSumCtx // sqlite3.c:106762:10 _ = _p var _type int32 // sqlite3.c:106763:7 _ = _type var _2_v int64 // sqlite3.c:106771:11 _ = _2_v func() int32 { if _argc == i32(1) { return i32(0) } return func() int32 { 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(131064))) crt.X__builtin_abort(tls) return i32(0) }() }() _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u64(32))))) _type = Xsqlite3_value_numeric_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _p == nil || _type == i32(5) { goto _3 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) += 1 if _type != i32(1) { goto _4 } _2_v = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) { p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + float64(_2_v) sink4517 = *p } if (int32(_p.X4)|int32(_p.X3)) != i32(0) || _sqlite3AddInt64(tls, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))), _2_v) == 0 { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) = uint8(i32(1)) _6: goto _7 _4: { p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) *p = (*p) + Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) sink4517 = *p } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(25 /* X4 */))) = uint8(i32(1)) _7: _3: return } var _sumStepØ00__func__Ø000 [8]int8 // - func init() { crt.Xstrncpy(nil, &_sumStepØ00__func__Ø000[0], str(137276), 8) } func _sumFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106782:1 var _p *XSumCtx // sqlite3.c:106783:10 _ = _p _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) if _p == nil || (_p.X2) <= int64(i32(0)) { goto _1 } if (_p.X3) == 0 { goto _2 } Xsqlite3_result_error(tls, _context, str(136572), i32(-1)) goto _3 _2: if (_p.X4) == 0 { goto _4 } Xsqlite3_result_double(tls, _context, _p.X0) goto _5 _4: Xsqlite3_result_int64(tls, _context, _p.X1) _5: _3: _1: return } func _totalFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106802:1 var _p *XSumCtx // sqlite3.c:106803:10 _ = _p _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) Xsqlite3_result_double(tls, _context, func() float64 { if _p != nil { return (_p.X0) } return float64(0) }()) return } func _avgFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106795:1 var _p *XSumCtx // sqlite3.c:106796:10 _ = _p _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) if _p == nil || (_p.X2) <= int64(i32(0)) { goto _1 } Xsqlite3_result_double(tls, _context, (_p.X0)/float64(_p.X2)) _1: return } func _countStep(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106821:1 var _p *XCountCtx // sqlite3.c:106822:12 _ = _p _p = (*XCountCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u64(8))))) if _argc != i32(0) && i32(5) == Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) || _p == nil { goto _2 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 _2: func() int32 { if (((_argc == i32(1)) || (_p == (*XCountCtx)(unsafe.Pointer(uintptr(i32(0)))))) || ((_p.X0) > int64(i32(2147483647)))) || ((_p.X0) == int64(Xsqlite3_aggregate_count(tls, _context))) { return i32(0) } return func() int32 { 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(137284))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _countStepØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_countStepØ00__func__Ø000[0], str(137364), 10) } func _countFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106837:1 var _p *XCountCtx // sqlite3.c:106838:12 _ = _p _p = (*XCountCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) Xsqlite3_result_int64(tls, _context, func() int64 { if _p != nil { return (_p.X0) } return int64(i32(0)) }()) return } func _groupConcatStep(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106898:1 var _zVal *int8 // sqlite3.c:106903:14 _ = _zVal var _pAccum *XStrAccum // sqlite3.c:106904:12 _ = _pAccum var _zSep *int8 // sqlite3.c:106905:14 _ = _zSep var _nVal int32 // sqlite3.c:106906:7 _ = _nVal var _nSep int32 // sqlite3.c:106906:13 _ = _nSep var _1_db *Xsqlite3 // sqlite3.c:106912:13 _ = _1_db var _1_firstTerm int32 // sqlite3.c:106913:9 _ = _1_firstTerm func() int32 { if (_argc == i32(1)) || (_argc == i32(2)) { return i32(0) } return func() int32 { 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(136600))) crt.X__builtin_abort(tls) return i32(0) }() }() if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) != i32(5) { goto _3 } return _3: _pAccum = (*XStrAccum)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u64(40))))) if _pAccum == nil { goto _4 } _1_db = Xsqlite3_context_db_handle(tls, _context) _1_firstTerm = bool2int((_pAccum.X5) == uint32(i32(0))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAccum)) + uintptr(32 /* X5 */))) = uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db))+uintptr(112 /* X31 */))))) + 4*uintptr(i32(0))))) if _1_firstTerm != 0 { goto _5 } if _argc != i32(2) { goto _6 } _zSep = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))))) _nSep = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(1))))) goto _7 _6: _zSep = str(112420) _nSep = i32(1) _7: if _zSep == nil { goto _8 } _sqlite3StrAccumAppend(tls, _pAccum, _zSep, _nSep) _8: _5: _zVal = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))))) _nVal = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 8*uintptr(i32(0))))) if _zVal == nil { goto _9 } _sqlite3StrAccumAppend(tls, _pAccum, _zVal, _nVal) _9: _4: return } var _groupConcatStepØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_groupConcatStepØ00__func__Ø000[0], str(137376), 16) } func _groupConcatFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106930:1 var _pAccum *XStrAccum // sqlite3.c:106931:12 _ = _pAccum _pAccum = (*XStrAccum)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) if _pAccum == nil { goto _0 } if int32(_pAccum.X6) != i32(2) { goto _1 } Xsqlite3_result_error_toobig(tls, _context) goto _2 _1: if int32(_pAccum.X6) != i32(1) { goto _3 } Xsqlite3_result_error_nomem(tls, _context) goto _4 _3: Xsqlite3_result_text(tls, _context, _sqlite3StrAccumFinish(tls, _pAccum), i32(-1), Xsqlite3_free) _4: _2: _0: return } func _sqlite3PcacheInitialize(tls *crt.TLS) (r0 int32) { // sqlite3.c:44339:1 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer) int32 }{nil})) { goto _0 } _sqlite3PCacheSetDefault(tls) _0: r0 = ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X12 */))).X2)(tls, (*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config))+uintptr(176 /* X12 */))).X1) return } func _sqlite3PCacheSetDefault(tls *crt.TLS) { // sqlite3.c:46128:1 Xsqlite3_config(tls, i32(18), unsafe.Pointer(&_sqlite3PCacheSetDefaultØ00defaultMethodsØ001)) return } var _sqlite3PCacheSetDefaultØ00defaultMethodsØ001 Xsqlite3_pcache_methods2 // sqlite3.c:46129:40 func init() { _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 { f func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page }{_pcache1Fetch})), X8: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, int32) }{_pcache1Unpin})), X9: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, uint32, uint32) }{_pcache1Rekey})), X10: _pcache1Truncate, X11: _pcache1Destroy, X12: _pcache1Shrink} } func _pcache1Init(tls *crt.TLS, _NotUsed unsafe.Pointer) (r0 int32) { // sqlite3.c:45642:1 func() int32 { if (_pcache1_g.X1) == i32(0) { return i32(0) } return func() int32 { 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(137392))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_pcache1_g), i32(0), u64(144)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(84 /* X2 */))) = bool2int((unsafe.Pointer(_sqlite3Config.X22) == (unsafe.Pointer)(uintptr(i32(0)))) || ((_sqlite3Config.X1) > i32(0))) if (_sqlite3Config.X1) == 0 { goto _3 } *(**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)) *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(120 /* X9 */))))) = _sqlite3MutexAlloc(tls, i32(7)) _3: if (_pcache1_g.X2) == 0 || (_sqlite3Config.X24) == i32(0) || unsafe.Pointer(_sqlite3Config.X22) != (unsafe.Pointer)(uintptr(i32(0))) { goto _6 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(88 /* X3 */))) = _sqlite3Config.X24 goto _7 _6: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(88 /* X3 */))) = i32(0) _7: *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(0 /* X0 */))))) + uintptr(16 /* X3 */))) = uint32(i32(10)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(80 /* X1 */))) = i32(1) r0 = i32(0) return } var _pcache1InitØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1InitØ00__func__Ø000[0], str(137412), 12) } func _pcache1Shutdown(tls *crt.TLS, _NotUsed unsafe.Pointer) { // sqlite3.c:45695:1 func() int32 { if (_pcache1_g.X1) != i32(0) { return i32(0) } return func() int32 { 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(137424))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(&_pcache1_g), i32(0), u64(144)) return } var _pcache1ShutdownØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1ShutdownØ00__func__Ø000[0], str(137444), 16) } func _pcache1Create(tls *crt.TLS, _szPage int32, _szExtra int32, _bPurgeable int32) (r0 unsafe.Pointer) { // sqlite3.c:45709:1 var _pCache *XPCache1 // sqlite3.c:45710:11 _ = _pCache var _pGroup *XPGroup // sqlite3.c:45711:10 _ = _pGroup var _sz int32 // sqlite3.c:45712:7 _ = _sz func() int32 { if (((_szPage & (_szPage - i32(1))) == i32(0)) && (_szPage >= i32(512))) && (_szPage <= i32(65536)) { return i32(0) } return func() int32 { 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(137460))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _szExtra < i32(300) { return i32(0) } return func() int32 { 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(137520))) crt.X__builtin_abort(tls) return i32(0) }() }() _sz = int32(u64(80) + (u64(80) * uint64(_pcache1_g.X2))) _pCache = (*XPCache1)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_sz)))) if _pCache == nil { goto _6 } if (_pcache1_g.X2) == 0 { goto _7 } _pGroup = (*XPGroup)(unsafe.Pointer((*XPCache1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + 80*uintptr(i32(1)))))) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(16 /* X3 */))) = uint32(i32(10)) goto _8 _7: _pGroup = (*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(0 /* X0 */))) _8: if int32((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */))).X4) != i32(0) { goto _9 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */))))) + uintptr(22 /* X4 */))) = uint8(i32(1)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */))))) + uintptr(48 /* X8 */))))) = store5567089((**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */)))))+uintptr(40 /* X7 */))))), (*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */)))) _9: *(**XPGroup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(0 /* X0 */))))) = _pGroup *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(8 /* X1 */))) = _szPage *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(12 /* X2 */))) = _szExtra *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(16 /* X3 */))) = int32(uint64(_szPage+_szExtra) + u64(56)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(20 /* X4 */))) = func() int32 { if _bPurgeable != 0 { return i32(1) } return i32(0) }() func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() _pcache1ResizeHash(tls, _pCache) if _bPurgeable == 0 { goto _14 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(24 /* X5 */))) = uint32(i32(10)) { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(12 /* X2 */))) *p = (*p) + (_pCache.X5) sink985 = *p } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(16 /* X3 */))) = ((_pGroup.X1) + uint32(i32(10))) - (_pGroup.X2) _14: func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pCache.X11) != uint32(i32(0)) { goto _17 } _pcache1Destroy(tls, (unsafe.Pointer)(_pCache)) _pCache = (*XPCache1)(unsafe.Pointer(uintptr(i32(0)))) _17: _6: r0 = (unsafe.Pointer)(_pCache) return } var _pcache1CreateØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1CreateØ00__func__Ø000[0], str(137556), 14) } func _pcache1ResizeHash(tls *crt.TLS, _p *XPCache1) { // sqlite3.c:45479:1 var _apNew **XPgHdr1 // sqlite3.c:45480:10 _ = _apNew var _nNew uint32 // sqlite3.c:45481:16 _ = _nNew var _i uint32 // sqlite3.c:45482:16 _ = _i var _5_pPage *XPgHdr1 // sqlite3.c:45498:14 _ = _5_pPage var _5_pNext *XPgHdr1 // sqlite3.c:45499:14 _ = _5_pNext var _6_h uint32 // sqlite3.c:45501:22 _ = _6_h func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_p.X0)).X0))) != 0 { return i32(0) } return func() int32 { 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(137572))) crt.X__builtin_abort(tls) return i32(0) }() }() _nNew = (_p.X11) * uint32(i32(2)) if _nNew >= uint32(i32(256)) { goto _2 } _nNew = uint32(i32(256)) _2: func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_p.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137612))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X11) == 0 { goto _5 } _sqlite3BeginBenignMalloc(tls) _5: _apNew = (**XPgHdr1)(unsafe.Pointer(_sqlite3MallocZero(tls, u64(8)*uint64(_nNew)))) if (_p.X11) == 0 { goto _6 } _sqlite3EndBenignMalloc(tls) _6: func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_p.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137612))) crt.X__builtin_abort(tls) return i32(0) }() }() if _apNew == nil { goto _9 } _i = uint32(i32(0)) _10: if _i >= (_p.X11) { goto _13 } _5_pNext = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X12)) + 8*uintptr(_i))) _14: if store5567089(&_5_pPage, _5_pNext) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { goto _15 } _6_h = (_5_pPage.X1) % _nNew _5_pNext = (*XPgHdr1)(unsafe.Pointer(_5_pPage.X5)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pPage)) + uintptr(24 /* X5 */))))) = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apNew)) + 8*uintptr(_6_h))) *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apNew)) + 8*uintptr(_6_h))) = _5_pPage goto _14 _15: _i += 1 goto _10 _13: Xsqlite3_free(tls, (unsafe.Pointer)(_p.X12)) *(***XPgHdr1)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = _apNew *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X11 */))) = _nNew _9: return } var _pcache1ResizeHashØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1ResizeHashØ00__func__Ø000[0], str(137636), 18) } func _pcache1Destroy(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:46105:1 var _pCache *XPCache1 // sqlite3.c:46106:11 _ = _pCache var _pGroup *XPGroup // sqlite3.c:46107:10 _ = _pGroup _pCache = (*XPCache1)(unsafe.Pointer(_p)) _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) func() int32 { if (_pCache.X4) != 0 || (((_pCache.X6) == uint32(i32(0))) && ((_pCache.X5) == uint32(i32(0)))) { return i32(0) } return func() int32 { 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(137656))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pCache.X10) == 0 { goto _6 } _pcache1TruncateUnsafe(tls, _pCache, uint32(i32(0))) _6: func() int32 { if (_pGroup.X1) >= (_pCache.X6) { return i32(0) } return func() int32 { 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(137716))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(8 /* X1 */))) *p = (*p) - (_pCache.X6) sink985 = *p } func() int32 { if (_pGroup.X2) >= (_pCache.X5) { return i32(0) } return func() int32 { 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(137752))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(12 /* X2 */))) *p = (*p) - (_pCache.X5) sink985 = *p } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(16 /* X3 */))) = ((_pGroup.X1) + uint32(i32(10))) - (_pGroup.X2) _pcache1EnforceMaxPage(tls, _pCache) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_free(tls, _pCache.X14) Xsqlite3_free(tls, (unsafe.Pointer)(_pCache.X12)) Xsqlite3_free(tls, (unsafe.Pointer)(_pCache)) return } var _pcache1DestroyØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1DestroyØ00__func__Ø000[0], str(137788), 15) } func _pcache1TruncateUnsafe(tls *crt.TLS, _pCache *XPCache1, _iLimit uint32) { // sqlite3.c:45591:1 var _nPage int32 // sqlite3.c:45595:17 _ = _nPage var _h uint32 // sqlite3.c:45596:16 _ = _h var _iStop uint32 // sqlite3.c:45596:19 _ = _iStop var _3_pp **XPgHdr1 // sqlite3.c:45615:12 _ = _3_pp var _3_pPage *XPgHdr1 // sqlite3.c:45616:12 _ = _3_pPage _nPage = i32(0) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { return i32(0) } return func() int32 { 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(137804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCache.X8) >= _iLimit { return i32(0) } return func() int32 { 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(137848))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCache.X11) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(137876))) crt.X__builtin_abort(tls) return i32(0) }() }() if ((_pCache.X8) - _iLimit) >= (_pCache.X11) { goto _6 } _h = _iLimit % (_pCache.X11) _iStop = (_pCache.X8) % (_pCache.X11) _nPage = i32(-10) goto _7 _6: _h = (_pCache.X11) / uint32(i32(2)) _iStop = _h - uint32(i32(1)) _7: _8: func() int32 { if _h < (_pCache.X11) { return i32(0) } return func() int32 { 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(137896))) crt.X__builtin_abort(tls) return i32(0) }() }() _3_pp = (**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_h))) _13: if store5567089(&_3_pPage, *_3_pp) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { goto _14 } if (_3_pPage.X1) < _iLimit { goto _15 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(44 /* X10 */))) -= 1 *_3_pp = (*XPgHdr1)(unsafe.Pointer(_3_pPage.X5)) if (_3_pPage.X2) != 0 { goto _16 } _pcache1PinPage(tls, _3_pPage) _16: _pcache1FreePage(tls, _3_pPage) goto _17 _15: _3_pp = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pPage)) + uintptr(24 /* X5 */))))) if _nPage < i32(0) { goto _18 } _nPage += 1 _18: _17: goto _13 _14: if _h != _iStop { goto _19 } goto _10 _19: _h = (_h + uint32(i32(1))) % (_pCache.X11) goto _8 _10: func() int32 { if (_nPage < i32(0)) || ((_pCache.X10) == uint32(_nPage)) { return i32(0) } return func() int32 { 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(137912))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _pcache1TruncateUnsafeØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1TruncateUnsafeØ00__func__Ø000[0], str(137956), 22) } func _pcache1PinPage(tls *crt.TLS, _pPage *XPgHdr1) (r0 *XPgHdr1) { // sqlite3.c:45520:1 var _pCache *XPCache1 // sqlite3.c:45521:11 _ = _pCache func() int32 { if _pPage != (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(15340))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X2) == i32(0) { return i32(0) } return func() int32 { 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(137980))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCache = (*XPCache1)(unsafe.Pointer(_pPage.X6)) func() int32 { if (*XPgHdr1)(unsafe.Pointer(_pPage.X7)) != nil { return i32(0) } return func() int32 { 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(138000))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPgHdr1)(unsafe.Pointer(_pPage.X8)) != nil { return i32(0) } return func() int32 { 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(138016))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { return i32(0) } return func() int32 { 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(137804))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X8) + uintptr(40 /* X7 */))))) = (*XPgHdr1)(unsafe.Pointer(_pPage.X7)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X7) + uintptr(48 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(_pPage.X8)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(40 /* X7 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(48 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X2 */))) = uint8(i32(1)) func() int32 { if int32(_pPage.X4) == i32(0) { return i32(0) } return func() int32 { 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(138032))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32((*XPgHdr1)(unsafe.Pointer(uintptr(_pCache.X0)+uintptr(24 /* X5 */))).X4) == i32(1) { return i32(0) } return func() int32 { 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(138052))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(40 /* X9 */))) -= 1 r0 = _pPage return } var _pcache1PinPageØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1PinPageØ00__func__Ø000[0], str(138084), 15) } func _pcache1FreePage(tls *crt.TLS, _p *XPgHdr1) { // sqlite3.c:45410:1 var _pCache *XPCache1 // sqlite3.c:45411:11 _ = _pCache func() int32 { if _p != (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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))) crt.X__builtin_abort(tls) return i32(0) }() }() _pCache = (*XPCache1)(unsafe.Pointer(_p.X6)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer((*XPCache1)(unsafe.Pointer(_p.X6)).X0)).X0))) != 0 { return i32(0) } return func() int32 { 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(138100))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_p.X3) == 0 { goto _4 } *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))))) = (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(64 /* X13 */))))) = _p goto _5 _4: _pcache1Free(tls, (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))).X0) _5: if (_pCache.X4) == 0 { goto _6 } *(*uint32)(unsafe.Pointer(uintptr(_pCache.X0) + uintptr(20 /* X4 */))) -= 1 _6: return } var _pcache1FreePageØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1FreePageØ00__func__Ø000[0], str(138148), 16) } func _pcache1EnforceMaxPage(tls *crt.TLS, _pCache *XPCache1) { // sqlite3.c:45566:1 var _pGroup *XPGroup // sqlite3.c:45567:10 _ = _pGroup var _p *XPgHdr1 // sqlite3.c:45568:10 _ = _p _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0))) != 0 { return i32(0) } return func() int32 { 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(138164))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: if (_pGroup.X4) <= (_pGroup.X1) || int32(store5567089(&_p, (*XPgHdr1)(unsafe.Pointer((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */))).X8))).X4) != i32(0) { goto _3 } func() int32 { if (*XPGroup)(unsafe.Pointer((*XPCache1)(unsafe.Pointer(_p.X6)).X0)) == _pGroup { return i32(0) } return func() int32 { 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(138200))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_p.X2) == i32(0) { return i32(0) } return func() int32 { 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(138228))) crt.X__builtin_abort(tls) return i32(0) }() }() _pcache1PinPage(tls, _p) _pcache1RemoveFromHash(tls, _p, i32(1)) goto _2 _3: if (_pCache.X10) != uint32(i32(0)) || (_pCache.X14) == nil { goto _10 } Xsqlite3_free(tls, _pCache.X14) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(72 /* X14 */))) = (unsafe.Pointer)(store5567089((**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache))+uintptr(64 /* X13 */))))), (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))))) _10: return } var _pcache1EnforceMaxPageØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1EnforceMaxPageØ00__func__Ø000[0], str(138244), 22) } func _pcache1RemoveFromHash(tls *crt.TLS, _pPage *XPgHdr1, _freeFlag int32) { // sqlite3.c:45548:1 var _h uint32 // sqlite3.c:45549:16 _ = _h var _pCache *XPCache1 // sqlite3.c:45550:11 _ = _pCache var _pp **XPgHdr1 // sqlite3.c:45551:10 _ = _pp _pCache = (*XPCache1)(unsafe.Pointer(_pPage.X6)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { return i32(0) } return func() int32 { 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(137804))) crt.X__builtin_abort(tls) return i32(0) }() }() _h = (_pPage.X1) % (_pCache.X11) _pp = (**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_h))) _2: if (*_pp) == _pPage { goto _5 } _pp = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(24 /* X5 */))))) goto _2 _5: *_pp = (*XPgHdr1)(unsafe.Pointer((*_pp).X5)) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(44 /* X10 */))) -= 1 if _freeFlag == 0 { goto _6 } _pcache1FreePage(tls, _pPage) _6: return } var _pcache1RemoveFromHashØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1RemoveFromHashØ00__func__Ø000[0], str(138268), 22) } func _pcache1Cachesize(tls *crt.TLS, _p unsafe.Pointer, _nMax int32) { // sqlite3.c:45756:1 var _pCache *XPCache1 // sqlite3.c:45757:11 _ = _pCache var _1_pGroup *XPGroup // sqlite3.c:45759:12 _ = _1_pGroup _pCache = (*XPCache1)(unsafe.Pointer(_p)) if (_pCache.X4) == 0 { goto _0 } _1_pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(8 /* X1 */))) *p = (*p) + (uint32(_nMax) - (_pCache.X6)) sink985 = *p } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(16 /* X3 */))) = ((_1_pGroup.X1) + uint32(i32(10))) - (_1_pGroup.X2) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(28 /* X6 */))) = uint32(_nMax) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(32 /* X7 */))) = ((_pCache.X6) * uint32(i32(9))) / uint32(i32(10)) _pcache1EnforceMaxPage(tls, _pCache) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() _0: return } var _pcache1CachesizeØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1CachesizeØ00__func__Ø000[0], str(138292), 17) } func _pcache1Pagecount(tls *crt.TLS, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:45792:1 var _n int32 // sqlite3.c:45793:7 _ = _n var _pCache *XPCache1 // sqlite3.c:45794:11 _ = _pCache _pCache = (*XPCache1)(unsafe.Pointer(_p)) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() _n = int32(_pCache.X10) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _n return } var _pcache1PagecountØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1PagecountØ00__func__Ø000[0], str(138340), 17) } func _pcache1Fetch(tls *crt.TLS, _p unsafe.Pointer, _iKey uint32, _createFlag int32) (r0 *Xsqlite3_pcache_page) { // sqlite3.c:45983:1 var _pCache *XPCache1 // sqlite3.c:45989:11 _ = _pCache _pCache = (*XPCache1)(unsafe.Pointer(_p)) i32(0) func() int32 { if (_pCache.X4) != 0 || (_createFlag != i32(1)) { return i32(0) } return func() int32 { 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(138360))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCache.X4) != 0 || ((_pCache.X5) == uint32(i32(0))) { return i32(0) } return func() int32 { 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(138396))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pCache.X4) == i32(0)) || ((_pCache.X5) == uint32(i32(10))) { return i32(0) } return func() int32 { 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(138436))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pCache.X5) == uint32(i32(0))) || (_pCache.X4) != 0 { return i32(0) } return func() int32 { 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(138480))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCache.X11) > uint32(i32(0)) { return i32(0) } return func() int32 { 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(138520))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = (*Xsqlite3_pcache_page)(unsafe.Pointer(_pcache1FetchNoMutex(tls, _p, _iKey, _createFlag))) return } var _pcache1FetchØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1FetchØ00__func__Ø000[0], str(138536), 13) } func _pcache1FetchNoMutex(tls *crt.TLS, _p unsafe.Pointer, _iKey uint32, _createFlag int32) (r0 *XPgHdr1) { // sqlite3.c:45938:1 var _pCache *XPCache1 // sqlite3.c:45943:11 _ = _pCache var _pPage *XPgHdr1 // sqlite3.c:45944:10 _ = _pPage _pCache = (*XPCache1)(unsafe.Pointer(_p)) _pPage = nil _pPage = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_iKey%(_pCache.X11)))) _0: if _pPage == nil || (_pPage.X1) == _iKey { goto _1 } _pPage = (*XPgHdr1)(unsafe.Pointer(_pPage.X5)) goto _0 _1: if _pPage == nil { goto _3 } if (_pPage.X2) != 0 { goto _4 } r0 = _pcache1PinPage(tls, _pPage) return _4: r0 = _pPage return _3: if _createFlag == 0 { goto _7 } r0 = _pcache1FetchStage2(tls, _pCache, _iKey, _createFlag) return _7: r0 = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) return } func _pcache1FetchStage2(tls *crt.TLS, _pCache *XPCache1, _iKey uint32, _createFlag int32) (r0 *XPgHdr1) { // sqlite3.c:45810:1 var _nPinned uint32 // sqlite3.c:45815:16 _ = _nPinned var _pGroup *XPGroup // sqlite3.c:45816:10 _ = _pGroup var _pPage *XPgHdr1 // sqlite3.c:45817:10 _ = _pPage var _2_pOther *XPCache1 // sqlite3.c:45840:13 _ = _2_pOther var _6_h uint32 // sqlite3.c:45862:18 _ = _6_h _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) _pPage = nil func() int32 { if (_pCache.X10) >= (_pCache.X9) { return i32(0) } return func() int32 { 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(138552))) crt.X__builtin_abort(tls) return i32(0) }() }() _nPinned = (_pCache.X10) - (_pCache.X9) func() int32 { if (_pGroup.X3) == (((_pGroup.X1) + uint32(i32(10))) - (_pGroup.X2)) { return i32(0) } return func() int32 { 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(138592))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pCache.X7) == (((_pCache.X6) * uint32(i32(9))) / uint32(i32(10))) { return i32(0) } return func() int32 { 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(138656))) crt.X__builtin_abort(tls) return i32(0) }() }() if _createFlag != i32(1) || _nPinned < (_pGroup.X3) && _nPinned < (_pCache.X7) && (_pcache1UnderMemoryPressure(tls, _pCache) == 0 || (_pCache.X9) >= _nPinned) { goto _10 } r0 = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) return _10: if (_pCache.X10) < (_pCache.X11) { goto _11 } _pcache1ResizeHash(tls, _pCache) _11: func() int32 { if ((_pCache.X11) > uint32(i32(0))) && ((**XPgHdr1)(unsafe.Pointer(_pCache.X12)) != nil) { return i32(0) } return func() int32 { 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(138692))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pCache.X4) == 0 || ((*XPgHdr1)(unsafe.Pointer((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */))).X8)).X4) != 0 || ((_pCache.X10)+uint32(i32(1))) < (_pCache.X6) && _pcache1UnderMemoryPressure(tls, _pCache) == 0 { goto _18 } _pPage = (*XPgHdr1)(unsafe.Pointer((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(24 /* X5 */))).X8)) func() int32 { if int32(_pPage.X2) == i32(0) { return i32(0) } return func() int32 { 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(137980))) crt.X__builtin_abort(tls) return i32(0) }() }() _pcache1RemoveFromHash(tls, _pPage, i32(0)) _pcache1PinPage(tls, _pPage) _2_pOther = (*XPCache1)(unsafe.Pointer(_pPage.X6)) if (_2_pOther.X3) == (_pCache.X3) { goto _21 } _pcache1FreePage(tls, _pPage) _pPage = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) goto _22 _21: { p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(20 /* X4 */))) *p = (*p) - uint32((_2_pOther.X4)-(_pCache.X4)) sink985 = *p } _22: _18: if _pPage != nil { goto _23 } _pPage = _pcache1AllocPage(tls, _pCache, bool2int(_createFlag == i32(1))) _23: if _pPage == nil { goto _24 } _6_h = _iKey % (_pCache.X11) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(44 /* X10 */))) += 1 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X1 */))) = _iKey *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X5 */))))) = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_6_h))) *(**XPCache1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(32 /* X6 */))))) = _pCache *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(48 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(40 /* X7 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X2 */))) = uint8(i32(1)) *(*unsafe.Pointer)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))).X1)) = (unsafe.Pointer)(uintptr(i32(0))) *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_6_h))) = _pPage if _iKey <= (_pCache.X8) { goto _25 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(36 /* X8 */))) = _iKey _25: _24: r0 = _pPage return } var _pcache1FetchStage2Ø00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1FetchStage2Ø00__func__Ø000[0], str(138728), 19) } func _pcache1UnderMemoryPressure(tls *crt.TLS, _pCache *XPCache1) (r0 int32) { // sqlite3.c:45462:1 if (_pcache1_g.X5) == 0 || ((_pCache.X1)+(_pCache.X2)) > (_pcache1_g.X4) { goto _1 } r0 = _pcache1_g.X12 return _1: r0 = _sqlite3HeapNearlyFull(tls) return } func _pcache1AllocPage(tls *crt.TLS, _pCache *XPCache1, _benignMalloc int32) (r0 *XPgHdr1) { // sqlite3.c:45360:1 var _p *XPgHdr1 // sqlite3.c:45361:10 _ = _p var _pPg unsafe.Pointer // sqlite3.c:45362:8 _ = _pPg _p = nil func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { return i32(0) } return func() int32 { 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(137804))) crt.X__builtin_abort(tls) return i32(0) }() }() if (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) == nil && ((_pCache.X10) != uint32(i32(0)) || _pcache1InitBulk(tls, _pCache) == 0) { goto _4 } _p = (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(64 /* X13 */))))) = (*XPgHdr1)(unsafe.Pointer(_p.X5)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) goto _5 _4: if _benignMalloc == 0 { goto _6 } _sqlite3BeginBenignMalloc(tls) _6: _pPg = _pcache1Alloc(tls, _pCache.X3) _p = (*XPgHdr1)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPg) + 1*uintptr(_pCache.X1))))) if _benignMalloc == 0 { goto _7 } _sqlite3EndBenignMalloc(tls) _7: if unsafe.Pointer(_pPg) != (unsafe.Pointer)(uintptr(i32(0))) { goto _8 } r0 = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) return _8: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))))) + uintptr(0 /* X0 */))) = _pPg *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))))) + uintptr(8 /* X1 */))) = (unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 56*uintptr(i32(1))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(21 /* X3 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(22 /* X4 */))) = uint8(i32(0)) _5: if (_pCache.X4) == 0 { goto _9 } *(*uint32)(unsafe.Pointer(uintptr(_pCache.X0) + uintptr(20 /* X4 */))) += 1 _9: r0 = _p return } var _pcache1AllocPageØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1AllocPageØ00__func__Ø000[0], str(138748), 17) } func _pcache1InitBulk(tls *crt.TLS, _pCache *XPCache1) (r0 int32) { // sqlite3.c:45229:1 var _szBulk int64 // sqlite3.c:45230:7 _ = _szBulk var _zBulk *int8 // sqlite3.c:45231:8 _ = _zBulk var _4_nBulk int32 // sqlite3.c:45247:9 _ = _4_nBulk var _4_i int32 // sqlite3.c:45248:9 _ = _4_i var _5_pX *XPgHdr1 // sqlite3.c:45250:14 _ = _5_pX if (_pcache1_g.X3) != i32(0) { goto _0 } r0 = i32(0) return _0: if (_pCache.X6) >= uint32(i32(3)) { goto _1 } r0 = i32(0) return _1: _sqlite3BeginBenignMalloc(tls) if (_pcache1_g.X3) <= i32(0) { goto _2 } _szBulk = int64(_pCache.X3) * int64(_pcache1_g.X3) goto _3 _2: _szBulk = int64(i32(-1024)) * int64(_pcache1_g.X3) _3: if _szBulk <= (int64(_pCache.X3) * int64(_pCache.X6)) { goto _4 } _szBulk = int64(_pCache.X3) * int64(_pCache.X6) _4: _zBulk = (*int8)(unsafe.Pointer(store1008((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache))+uintptr(72 /* X14 */))), _sqlite3Malloc(tls, uint64(_szBulk))))) _sqlite3EndBenignMalloc(tls) if _zBulk == nil { goto _5 } _4_nBulk = _sqlite3MallocSize(tls, (unsafe.Pointer)(_zBulk)) / (_pCache.X3) _4_i = i32(0) _6: if _4_i >= _4_nBulk { goto _9 } _5_pX = (*XPgHdr1)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBulk)) + 1*uintptr(_pCache.X1))))) *(*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) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX))+uintptr(0 /* X0 */))))) + uintptr(8 /* X1 */))) = (unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + 56*uintptr(i32(1))))) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + uintptr(21 /* X3 */))) = uint8(i32(1)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + uintptr(22 /* X4 */))) = uint8(i32(0)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + uintptr(24 /* X5 */))))) = (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(64 /* X13 */))))) = _5_pX { p := &_zBulk *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_pCache.X3))) sink1025 = *p } _4_i += 1 goto _6 _9: _5: r0 = bool2int((*XPgHdr1)(unsafe.Pointer(_pCache.X13)) != (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0))))) return } func _pcache1Unpin(tls *crt.TLS, _p unsafe.Pointer, _pPg *Xsqlite3_pcache_page, _reuseUnlikely int32) { // sqlite3.c:46014:1 var _pCache *XPCache1 // sqlite3.c:46019:11 _ = _pCache var _pPage *XPgHdr1 // sqlite3.c:46020:10 _ = _pPage var _pGroup *XPGroup // sqlite3.c:46021:10 _ = _pGroup var _2_ppFirst **XPgHdr1 // sqlite3.c:46036:12 _ = _2_ppFirst _pCache = (*XPCache1)(unsafe.Pointer(_p)) _pPage = (*XPgHdr1)(unsafe.Pointer(_pPg)) _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) func() int32 { if (*XPCache1)(unsafe.Pointer(_pPage.X6)) == _pCache { return i32(0) } return func() int32 { 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(138768))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((*XPgHdr1)(unsafe.Pointer(_pPage.X8)) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0))))) && ((*XPgHdr1)(unsafe.Pointer(_pPage.X7)) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0))))) { return i32(0) } return func() int32 { 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(138792))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pPage.X2) == i32(1) { return i32(0) } return func() int32 { 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(138836))) crt.X__builtin_abort(tls) return i32(0) }() }() if _reuseUnlikely == 0 && (_pGroup.X4) <= (_pGroup.X1) { goto _10 } _pcache1RemoveFromHash(tls, _pPage, i32(1)) goto _11 _10: _2_ppFirst = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(24 /* X5 */))))) + uintptr(40 /* X7 */))))) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(48 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(24 /* X5 */))) *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(store5567089((**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(40 /* X7 */))))), *_2_ppFirst))) + uintptr(48 /* X8 */))))) = _pPage *_2_ppFirst = _pPage *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(40 /* X9 */))) += 1 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X2 */))) = uint8(i32(0)) _11: func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _pcache1UnpinØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1UnpinØ00__func__Ø000[0], str(138856), 13) } func _pcache1Rekey(tls *crt.TLS, _p unsafe.Pointer, _pPg *Xsqlite3_pcache_page, _iOld uint32, _iNew uint32) { // sqlite3.c:46050:1 var _pCache *XPCache1 // sqlite3.c:46056:11 _ = _pCache var _pPage *XPgHdr1 // sqlite3.c:46057:10 _ = _pPage var _pp **XPgHdr1 // sqlite3.c:46058:10 _ = _pp var _h uint32 // sqlite3.c:46059:16 _ = _h _pCache = (*XPCache1)(unsafe.Pointer(_p)) _pPage = (*XPgHdr1)(unsafe.Pointer(_pPg)) func() int32 { if (_pPage.X1) == _iOld { return i32(0) } return func() int32 { 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(138872))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XPCache1)(unsafe.Pointer(_pPage.X6)) == _pCache { return i32(0) } return func() int32 { 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(138768))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() _h = _iOld % (_pCache.X11) _pp = (**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_h))) _6: if (*_pp) == _pPage { goto _7 } _pp = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(24 /* X5 */))))) goto _6 _7: *_pp = (*XPgHdr1)(unsafe.Pointer(_pPage.X5)) _h = _iNew % (_pCache.X11) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X1 */))) = _iNew *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X5 */))))) = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_h))) *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 8*uintptr(_h))) = _pPage if _iNew <= (_pCache.X8) { goto _8 } *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(36 /* X8 */))) = _iNew _8: func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _pcache1RekeyØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1RekeyØ00__func__Ø000[0], str(138892), 13) } func _pcache1Truncate(tls *crt.TLS, _p unsafe.Pointer, _iLimit uint32) { // sqlite3.c:46090:1 var _pCache *XPCache1 // sqlite3.c:46091:11 _ = _pCache _pCache = (*XPCache1)(unsafe.Pointer(_p)) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() if _iLimit > (_pCache.X8) { goto _2 } _pcache1TruncateUnsafe(tls, _pCache, _iLimit) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(36 /* X8 */))) = _iLimit - uint32(i32(1)) _2: func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(138312))) crt.X__builtin_abort(tls) return i32(0) }() }() return } var _pcache1TruncateØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1TruncateØ00__func__Ø000[0], str(138908), 16) } func _pcache1Shrink(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:45775:1 var _pCache *XPCache1 // sqlite3.c:45776:11 _ = _pCache var _1_pGroup *XPGroup // sqlite3.c:45778:12 _ = _1_pGroup var _1_savedMaxPage int32 // sqlite3.c:45779:9 _ = _1_savedMaxPage _pCache = (*XPCache1)(unsafe.Pointer(_p)) if (_pCache.X4) == 0 { goto _0 } _1_pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_savedMaxPage = int32(_1_pGroup.X1) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(8 /* X1 */))) = uint32(i32(0)) _pcache1EnforceMaxPage(tls, _pCache) *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(8 /* X1 */))) = uint32(_1_savedMaxPage) func() int32 { if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { 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(137536))) crt.X__builtin_abort(tls) return i32(0) }() }() _0: return } var _pcache1ShrinkØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_pcache1ShrinkØ00__func__Ø000[0], str(138924), 14) } func _sqlite3OsInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:20367:1 var _p unsafe.Pointer // sqlite3.c:20368:8 _ = _p _p = Xsqlite3_malloc(tls, i32(10)) if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { goto _0 } r0 = _sqlite3NomemError(tls, i32(20369)) return _0: Xsqlite3_free(tls, _p) r0 = Xsqlite3_os_init(tls) return } func Xsqlite3_os_init(tls *crt.TLS) (r0 int32) { // sqlite3.c:37356:12 var _i uint32 // sqlite3.c:37435:16 _ = _i i32(0) _i = uint32(i32(0)) _0: if uint64(_i) >= u64(4) { goto _3 } Xsqlite3_vfs_register(tls, (*Xsqlite3_vfs)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_os_initØ00aVfsØ001))+168*uintptr(_i))), bool2int(_i == uint32(i32(0)))) _i += 1 goto _0 _3: r0 = i32(0) return } var _sqlite3_os_initØ00aVfsØ001 [4]Xsqlite3_vfs // sqlite3.c:37409:22 func init() { _sqlite3_os_initØ00aVfsØ001 = [4]Xsqlite3_vfs{Xsqlite3_vfs{X0: i32(3), X1: i32(120), X2: i32(512), X3: nil, X4: str(138940), X5: unsafe.Pointer(&_posixIoFinder), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 }{_unixOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 }{_unixDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 }{_unixAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 }{_unixFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer }{_unixDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) }{_unixDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) }{_unixDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) }{_unixDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 }{_unixSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 }{_unixCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 }{_unixCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 }{_unixSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) }{_unixGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 }{_unixNextSystemCall}))}, Xsqlite3_vfs{X0: i32(3), X1: i32(120), X2: i32(512), X3: nil, X4: str(138948), X5: unsafe.Pointer(&_nolockIoFinder), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 }{_unixOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 }{_unixDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 }{_unixAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 }{_unixFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer }{_unixDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) }{_unixDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) }{_unixDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) }{_unixDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 }{_unixSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 }{_unixCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 }{_unixCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 }{_unixSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) }{_unixGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 }{_unixNextSystemCall}))}, Xsqlite3_vfs{X0: i32(3), X1: i32(120), X2: i32(512), X3: nil, X4: str(138960), X5: unsafe.Pointer(&_dotlockIoFinder), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 }{_unixOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 }{_unixDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 }{_unixAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 }{_unixFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer }{_unixDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) }{_unixDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) }{_unixDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) }{_unixDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 }{_unixSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 }{_unixCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 }{_unixCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 }{_unixSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) }{_unixGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 }{_unixNextSystemCall}))}, Xsqlite3_vfs{X0: i32(3), X1: i32(120), X2: i32(512), X3: nil, X4: str(138976), X5: unsafe.Pointer(&_posixIoFinder), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 }{_unixOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 }{_unixDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 }{_unixAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 }{_unixFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer }{_unixDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) }{_unixDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) }{_unixDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) }{_unixDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 }{_unixSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 }{_unixCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 }{_unixGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 }{_unixCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 }{_unixSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) }{_unixGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 }{_unixNextSystemCall}))}} } var _posixIoFinder func(*crt.TLS, *int8, *XunixFile) *Xsqlite3_io_methods // sqlite3.c:34837:1 func init() { _posixIoFinder = _posixIoFinderImpl } func _posixIoFinderImpl(tls *crt.TLS, _z *int8, _p *XunixFile) (r0 *Xsqlite3_io_methods) { // sqlite3.c:34837:1 r0 = &_posixIoMethods return } var _posixIoMethods Xsqlite3_io_methods // sqlite3.c:34839:3 func init() { _posixIoMethods = Xsqlite3_io_methods{X0: i32(3), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_unixRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_unixWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64) int32 }{_unixTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int64) int32 }{_unixFileSize})), X7: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixLock})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixUnlock})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int32) int32 }{_unixCheckReservedLock})), X10: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32 }{_unixFileControl})), X11: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixSectorSize})), X12: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixDeviceCharacteristics})), X13: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 }{_unixShmMap})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32 }{_unixShmLock})), X15: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) }{_unixShmBarrier})), X16: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixShmUnmap})), X17: *(*func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32 }{_unixFetch})), X18: *(*func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32 }{_unixUnfetch}))} } func _unixClose(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:31812:1 var _rc int32 // sqlite3.c:31813:7 _ = _rc var _pFile *XunixFile // sqlite3.c:31814:12 _ = _pFile _rc = i32(0) _pFile = (*XunixFile)(unsafe.Pointer(_id)) _verifyDbFile(tls, _pFile) _unixUnlock(tls, _id, i32(0)) _unixEnterMutex(tls) func() int32 { if (((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)).X6) > i32(0)) || (int32((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)).X3) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31822), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixCloseØ00__func__Ø000))), unsafe.Pointer(str(138988))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) != nil { return i32(1) } return func() int32 { func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31823), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixCloseØ00__func__Ø000))), unsafe.Pointer(str(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 || ((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)).X6) == 0 { goto _6 } _setPendingFd(tls, _pFile) _6: _releaseInodeInfo(tls, _pFile) _rc = _closeUnixFile(tls, _id) _unixLeaveMutex(tls) r0 = _rc return } func _verifyDbFile(tls *crt.TLS, _pFile *XunixFile) { // sqlite3.c:31203:1 var _buf crt.Xstruct_stat64 // sqlite3.c:31204:15 _ = _buf var _rc int32 // sqlite3.c:31205:7 _ = _rc if (int32(_pFile.X5) & i32(128)) == 0 { goto _0 } return _0: _rc = (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _pFile.X3, &_buf) if _rc == i32(0) { goto _1 } Xsqlite3_log(tls, i32(28), str(139048), unsafe.Pointer(_pFile.X9)) return _1: if (_buf.X2) != uint64(i32(0)) { goto _2 } Xsqlite3_log(tls, i32(28), str(139072), unsafe.Pointer(_pFile.X9)) return _2: if (_buf.X2) <= uint64(i32(1)) { goto _3 } Xsqlite3_log(tls, i32(28), str(139104), unsafe.Pointer(_pFile.X9)) return _3: if _fileHasMoved(tls, _pFile) == 0 { goto _4 } Xsqlite3_log(tls, i32(28), str(139132), unsafe.Pointer(_pFile.X9)) return _4: return } var _aSyscall [28]Tunix_syscall // sqlite3.c:30195:3 func init() { _aSyscall = [28]Tunix_syscall{Tunix_syscall{X0: str(139160), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, int32, int32) int32 }{_posixOpen})), X2: nil}, Tunix_syscall{X0: str(139168), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, int32) int32 }{crt.Xclose})), X2: nil}, Tunix_syscall{X0: str(130064), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, int32) int32 }{crt.Xaccess})), X2: nil}, Tunix_syscall{X0: str(139176), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, uint64) *int8 }{crt.Xgetcwd})), X2: nil}, Tunix_syscall{X0: str(139184), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32 }{crt.Xstat64})), X2: nil}, Tunix_syscall{X0: str(139192), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, *crt.Xstruct_stat64) int32 }{crt.Xfstat64})), X2: nil}, Tunix_syscall{X0: str(139200), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, int64) int32 }{crt.Xftruncate64})), X2: nil}, Tunix_syscall{X0: str(139212), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, int32, ...interface{}) int32 }{crt.Xfcntl})), X2: nil}, Tunix_syscall{X0: str(139220), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, unsafe.Pointer, uint64) int64 }{crt.Xread})), X2: nil}, Tunix_syscall{X0: str(139228), X1: nil, X2: nil}, Tunix_syscall{X0: str(139236), X1: nil, X2: nil}, Tunix_syscall{X0: str(139244), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, unsafe.Pointer, uint64) int64 }{crt.Xwrite})), X2: nil}, Tunix_syscall{X0: str(139252), X1: nil, X2: nil}, Tunix_syscall{X0: str(139260), X1: nil, X2: nil}, Tunix_syscall{X0: str(139272), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, uint32) int32 }{crt.Xfchmod})), X2: nil}, Tunix_syscall{X0: str(139280), X1: nil, X2: nil}, Tunix_syscall{X0: str(139292), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *int8) int32 }{crt.Xunlink})), X2: nil}, Tunix_syscall{X0: str(139300), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, *int32) int32 }{_openDirectory})), X2: nil}, Tunix_syscall{X0: str(139316), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, uint32) int32 }{crt.Xmkdir})), X2: nil}, Tunix_syscall{X0: str(139324), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *int8) int32 }{crt.Xrmdir})), X2: nil}, Tunix_syscall{X0: str(139332), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, int32, uint32, uint32) int32 }{crt.Xfchown})), X2: nil}, Tunix_syscall{X0: str(139340), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) uint32 }{crt.Xgeteuid})), X2: nil}, Tunix_syscall{X0: str(139348), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, uint64, int32, int32, int32, int64) unsafe.Pointer }{crt.Xmmap64})), X2: nil}, Tunix_syscall{X0: str(139356), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, uint64) int32 }{crt.Xmunmap})), X2: nil}, Tunix_syscall{X0: str(139364), X1: nil, X2: nil}, Tunix_syscall{X0: str(139372), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) int32 }{_unixGetpagesize})), X2: nil}, Tunix_syscall{X0: str(139384), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, *int8, uint64) int64 }{crt.Xreadlink})), X2: nil}, Tunix_syscall{X0: str(139396), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32 }{crt.Xlstat64})), X2: nil}} } func _posixOpen(tls *crt.TLS, _zFile *int8, _flags int32, _mode int32) (r0 int32) { // sqlite3.c:30177:1 r0 = crt.Xopen64(tls, _zFile, _flags, _mode) return } func _openDirectory(tls *crt.TLS, _zFilename *int8, _pFd *int32) (r0 int32) { // sqlite3.c:33355:1 var _ii int32 // sqlite3.c:33356:7 _ = _ii var _fd int32 // sqlite3.c:33357:7 _ = _fd var _zDirname [513]int8 // sqlite3.c:33358:8 _ = _zDirname _fd = i32(-1) Xsqlite3_snprintf(tls, i32(512), (*int8)(unsafe.Pointer(&_zDirname)), str(24304), unsafe.Pointer(_zFilename)) _ii = int32(crt.Xstrlen(tls, (*int8)(unsafe.Pointer(&_zDirname)))) _0: if _ii <= i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDirname)) + 1*uintptr(_ii)))) == i32(47) { goto _4 } _ii -= 1 goto _0 _4: if _ii <= i32(0) { goto _5 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDirname)) + 1*uintptr(_ii))) = int8(i32(0)) goto _6 _5: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDirname)) + 1*uintptr(i32(0))))) == i32(47) { goto _7 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDirname)) + 1*uintptr(i32(0)))) = int8(i32(46)) _7: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDirname)) + 1*uintptr(i32(1)))) = int8(i32(0)) _6: _fd = _robust_open(tls, (*int8)(unsafe.Pointer(&_zDirname)), i32(0), uint32(i32(0))) if _fd < i32(0) { goto _8 } _8: *_pFd = _fd if _fd < i32(0) { goto _9 } r0 = i32(0) return _9: r0 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, i32(33374)), str(139300), (*int8)(unsafe.Pointer(&_zDirname)), i32(33374)) return } func _robust_open(tls *crt.TLS, _z *int8, _f int32, _m uint32) (r0 int32) { // sqlite3.c:30466:1 var _fd int32 // sqlite3.c:30467:7 _ = _fd var _m2 uint32 // sqlite3.c:30468:10 _ = _m2 var _4_statbuf crt.Xstruct_stat64 // sqlite3.c:30488:19 _ = _4_statbuf _m2 = func() uint32 { if _m != 0 { return _m } return uint32(i32(420)) }() _2: _fd = (*(*func(*crt.TLS, *int8, int32, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(0)))).X1)})))(tls, _z, _f, int32(_m2)) if _fd >= i32(0) { goto _4 } if (*crt.X__errno_location(tls)) != i32(4) { goto _5 } goto _2 _5: goto _3 _4: if _fd < i32(3) { goto _6 } goto _3 _6: (*(*func(*crt.TLS, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(1)))).X1)})))(tls, _fd) Xsqlite3_log(tls, i32(28), str(139404), unsafe.Pointer(_z), _fd) _fd = i32(-1) if (*(*func(*crt.TLS, *int8, int32, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(0)))).X1)})))(tls, str(139448), _f, int32(_m)) >= i32(0) { goto _7 } goto _3 _7: goto _2 _3: if _fd < i32(0) { goto _8 } if _m == uint32(i32(0)) { goto _9 } if (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _fd, &_4_statbuf) != i32(0) || (_4_statbuf.X8) != int64(i32(0)) || ((_4_statbuf.X3)&uint32(i32(511))) == _m { goto _12 } (*(*func(*crt.TLS, int32, uint32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(14)))).X1)})))(tls, _fd, _m) _12: _9: (*(*func(*crt.TLS, int32, int32, ...interface{}) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(7)))).X1)})))(tls, _fd, i32(2), (*(*func(*crt.TLS, int32, int32, ...interface{}) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(7)))).X1)})))(tls, _fd, i32(1), i32(0))|i32(1)) _8: r0 = _fd return } func _unixLogErrorAtLine(tls *crt.TLS, _errcode int32, _zFunc *int8, _zPath *int8, _iLine int32) (r0 int32) { // sqlite3.c:30964:1 var _zErr *int8 // sqlite3.c:30970:8 _ = _zErr var _iErrno int32 // sqlite3.c:30971:7 _ = _iErrno _iErrno = *crt.X__errno_location(tls) _zErr = str(196) if _zPath != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _zPath = str(196) _0: Xsqlite3_log(tls, _errcode, str(139460), _iLine, _iErrno, unsafe.Pointer(_zFunc), unsafe.Pointer(_zPath), unsafe.Pointer(_zErr)) r0 = _errcode return } func _unixGetpagesize(tls *crt.TLS) (r0 int32) { // sqlite3.c:33831:1 r0 = int32(crt.Xsysconf(tls, i32(30))) return } func _fileHasMoved(tls *crt.TLS, _pFile *XunixFile) (r0 int32) { // sqlite3.c:31182:1 var _buf crt.Xstruct_stat64 // sqlite3.c:31186:15 _ = _buf r0 = bool2int(((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) != (*XunixInodeInfo)(unsafe.Pointer(uintptr(i32(0))))) && (((*(*func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(4)))).X1)})))(tls, _pFile.X9, &_buf) != i32(0)) || ((_buf.X1) != ((*TunixFileId)(unsafe.Pointer(uintptr(_pFile.X2) + uintptr(0 /* X0 */))).X1)))) return } func _unixUnlock(tls *crt.TLS, _id *Xsqlite3_file, _eFileLock int32) (r0 int32) { // sqlite3.c:31755:1 func() int32 { if (_eFileLock == i32(1)) || (((*XunixFile)(unsafe.Pointer(_id)).X12) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31757), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139492))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _posixUnlock(tls, _id, _eFileLock, i32(0)) return } var _unixUnlockØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_unixUnlockØ00__func__Ø000[0], str(139552), 11) } func _posixUnlock(tls *crt.TLS, _id *Xsqlite3_file, _eFileLock int32, _handleNFSUnlock int32) (r0 int32) { // sqlite3.c:31595:1 var _pFile *XunixFile // sqlite3.c:31596:12 _ = _pFile var _pInode *XunixInodeInfo // sqlite3.c:31597:17 _ = _pInode var _lock Tflock // sqlite3.c:31598:16 _ = _lock var _rc int32 // sqlite3.c:31599:7 _ = _rc _pFile = (*XunixFile)(unsafe.Pointer(_id)) _rc = i32(0) func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31601), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _eFileLock <= i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31606), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139564))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pFile.X4) > _eFileLock { goto _4 } r0 = i32(0) return _4: _unixEnterMutex(tls) _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) func() int32 { if (_pInode.X1) != i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31612), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139588))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pFile.X4) <= i32(1) { goto _7 } func() int32 { if int32(_pInode.X2) == int32(_pFile.X4) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31614), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139608))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(114 /* X19 */))) = uint8(i32(0)) if _eFileLock != i32(1) { goto _10 } func() int32 { if _handleNFSUnlock == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31640), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139644))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(0 /* X0 */))) = int16(i32(0)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(2 /* X1 */))) = int16(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte + i32(2)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = int64(i32(510)) if _unixFileLock(tls, _pFile, &_lock) == 0 { goto _13 } _rc = i32(2314) _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) goto _end_unlock _13: _10: *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(0 /* X0 */))) = int16(i32(2)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(2 /* X1 */))) = int16(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = i64(2) func() int32 { if (_sqlite3PendingByte + i32(1)) == (_sqlite3PendingByte + i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31702), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139664))) crt.X__builtin_abort(tls) return i32(0) }() }() if _unixFileLock(tls, _pFile, &_lock) != i32(0) { goto _16 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(20 /* X2 */))) = uint8(i32(1)) goto _17 _16: _rc = i32(2058) _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) goto _end_unlock _17: _7: if _eFileLock != i32(0) { goto _18 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(16 /* X1 */))) -= 1 if (_pInode.X1) != i32(0) { goto _19 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(0 /* X0 */))) = int16(i32(2)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(2 /* X1 */))) = int16(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = store967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock))+uintptr(16 /* X3 */))), i64(0)) if _unixFileLock(tls, _pFile, &_lock) != i32(0) { goto _20 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(20 /* X2 */))) = uint8(i32(0)) goto _21 _20: _rc = i32(2058) _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(20 /* X2 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(i32(0)) _21: _19: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(40 /* X6 */))) -= 1 func() int32 { if (_pInode.X6) >= i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31736), unsafe.Pointer((*int8)(unsafe.Pointer(&_posixUnlockØ00__func__Ø000))), unsafe.Pointer(str(139696))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pInode.X6) != i32(0) { goto _24 } _closePendingFds(tls, _pFile) _24: _18: _end_unlock: _unixLeaveMutex(tls) if _rc != i32(0) { goto _25 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(_eFileLock) _25: r0 = _rc return } var _posixUnlockØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_posixUnlockØ00__func__Ø000[0], str(139716), 12) } func _unixEnterMutex(tls *crt.TLS) { // sqlite3.c:30517:1 Xsqlite3_mutex_enter(tls, _sqlite3MutexAlloc(tls, i32(11))) return } func _unixFileLock(tls *crt.TLS, _pFile *XunixFile, _pLock *Tflock) (r0 int32) { // sqlite3.c:31296:1 var _rc int32 // sqlite3.c:31297:7 _ = _rc var _pInode *XunixInodeInfo // sqlite3.c:31298:17 _ = _pInode var _2_lock Tflock // sqlite3.c:31303:20 _ = _2_lock _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) func() int32 { if _unixMutexHeld(tls) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31299), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixFileLockØ00__func__Ø000))), unsafe.Pointer(str(139728))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pInode != (*XunixInodeInfo)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31300), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixFileLockØ00__func__Ø000))), unsafe.Pointer(str(139744))) crt.X__builtin_abort(tls) return i32(0) }() }() if (int32(_pFile.X5) & i32(3)) != i32(1) { goto _4 } if int32(_pInode.X3) != i32(0) { goto _5 } func() int32 { if (_pInode.X6) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31304), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixFileLockØ00__func__Ø000))), unsafe.Pointer(str(139756))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(2 /* X1 */))) = int16(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte + i32(2)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(16 /* X3 */))) = int64(i32(510)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(0 /* X0 */))) = int16(i32(1)) _rc = (*(*func(*crt.TLS, int32, int32, ...interface{}) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(7)))).X1)})))(tls, _pFile.X3, i32(6), unsafe.Pointer(&_2_lock)) if _rc >= i32(0) { goto _8 } r0 = _rc return _8: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(21 /* X3 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(40 /* X6 */))) += 1 goto _9 _5: _rc = i32(0) _9: goto _10 _4: _rc = (*(*func(*crt.TLS, int32, int32, ...interface{}) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(7)))).X1)})))(tls, _pFile.X3, i32(6), unsafe.Pointer(_pLock)) _10: r0 = _rc return } func _unixMutexHeld(tls *crt.TLS) (r0 int32) { // sqlite3.c:30524:1 r0 = Xsqlite3_mutex_held(tls, _sqlite3MutexAlloc(tls, i32(11))) return } var _unixFileLockØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_unixFileLockØ00__func__Ø000[0], str(139776), 13) } func _storeLastErrno(tls *crt.TLS, _pFile *XunixFile, _error int32) { // sqlite3.c:31040:1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(32 /* X6 */))) = _error return } func _closePendingFds(tls *crt.TLS, _pFile *XunixFile) { // sqlite3.c:31047:1 var _pInode *XunixInodeInfo // sqlite3.c:31048:17 _ = _pInode var _p *XUnixUnusedFd // sqlite3.c:31049:16 _ = _p var _pNext *XUnixUnusedFd // sqlite3.c:31050:16 _ = _pNext _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) _p = (*XUnixUnusedFd)(unsafe.Pointer(_pInode.X7)) _0: if _p == nil { goto _3 } _pNext = (*XUnixUnusedFd)(unsafe.Pointer(_p.X2)) _robust_close(tls, _pFile, _p.X0, i32(31053)) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) _p = _pNext goto _0 _3: *(**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(48 /* X7 */))))) = (*XUnixUnusedFd)(unsafe.Pointer(uintptr(i32(0)))) return } func _robust_close(tls *crt.TLS, _pFile *XunixFile, _h int32, _lineno int32) { // sqlite3.c:31029:1 if (*(*func(*crt.TLS, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(1)))).X1)})))(tls, _h) == 0 { goto _0 } _unixLogErrorAtLine(tls, i32(4106), str(139168), func() *int8 { if _pFile != nil { return (_pFile.X9) } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), _lineno) _0: return } func _unixLeaveMutex(tls *crt.TLS) { // sqlite3.c:30520:1 Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, i32(11))) return } var _unixCloseØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_unixCloseØ00__func__Ø000[0], str(139792), 10) } func _setPendingFd(tls *crt.TLS, _pFile *XunixFile) { // sqlite3.c:31573:1 var _pInode *XunixInodeInfo // sqlite3.c:31574:17 _ = _pInode var _p *XUnixUnusedFd // sqlite3.c:31575:16 _ = _p _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) _p = (*XUnixUnusedFd)(unsafe.Pointer(_pFile.X8)) *(**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = (*XUnixUnusedFd)(unsafe.Pointer(_pInode.X7)) *(**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(48 /* X7 */))))) = _p *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(24 /* X3 */))) = i32(-1) *(**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(48 /* X8 */))))) = (*XUnixUnusedFd)(unsafe.Pointer(uintptr(i32(0)))) return } func _releaseInodeInfo(tls *crt.TLS, _pFile *XunixFile) { // sqlite3.c:31065:1 var _pInode *XunixInodeInfo // sqlite3.c:31066:17 _ = _pInode _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) func() int32 { if _unixMutexHeld(tls) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31067), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(139728))) crt.X__builtin_abort(tls) return i32(0) }() }() if func() int32 { if _pInode != nil { return i32(1) } return func() int32 { func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31068), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _4 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(24 /* X4 */))) -= 1 if (_pInode.X4) != i32(0) { goto _5 } func() int32 { if (*XunixShmNode)(unsafe.Pointer(_pInode.X5)) == (*XunixShmNode)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31071), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(139804))) crt.X__builtin_abort(tls) return i32(0) }() }() _closePendingFds(tls, _pFile) if (*XunixInodeInfo)(unsafe.Pointer(_pInode.X9)) == nil { goto _8 } func() int32 { if (*XunixInodeInfo)(unsafe.Pointer((*XunixInodeInfo)(unsafe.Pointer(_pInode.X9)).X8)) == _pInode { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31074), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(139824))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pInode.X9) + uintptr(56 /* X8 */))))) = (*XunixInodeInfo)(unsafe.Pointer(_pInode.X8)) goto _11 _8: func() int32 { if _inodeList == _pInode { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31077), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(139856))) crt.X__builtin_abort(tls) return i32(0) }() }() _inodeList = (*XunixInodeInfo)(unsafe.Pointer(_pInode.X8)) bug20530(_inodeList) _11: if (*XunixInodeInfo)(unsafe.Pointer(_pInode.X8)) == nil { goto _14 } func() int32 { if (*XunixInodeInfo)(unsafe.Pointer((*XunixInodeInfo)(unsafe.Pointer(_pInode.X8)).X9)) == _pInode { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31081), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(139876))) crt.X__builtin_abort(tls) return i32(0) }() }() *(**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pInode.X8) + uintptr(64 /* X9 */))))) = (*XunixInodeInfo)(unsafe.Pointer(_pInode.X9)) _14: Xsqlite3_free(tls, (unsafe.Pointer)(_pInode)) _5: _4: return } var _releaseInodeInfoØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_releaseInodeInfoØ00__func__Ø000[0], str(139908), 17) } var _inodeList *XunixInodeInfo // sqlite3.c:30945:22 func _closeUnixFile(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:31777:1 var _pFile *XunixFile // sqlite3.c:31778:12 _ = _pFile _pFile = (*XunixFile)(unsafe.Pointer(_id)) _unixUnmapfile(tls, _pFile) if (_pFile.X3) < i32(0) { goto _0 } _robust_close(tls, _pFile, _pFile.X3, i32(31783)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(24 /* X3 */))) = i32(-1) _0: Xsqlite3_free(tls, _pFile.X8) crt.Xmemset(tls, (unsafe.Pointer)(_pFile), i32(0), u64(120)) r0 = i32(0) return } func _unixUnmapfile(tls *crt.TLS, _pFd *XunixFile) { // sqlite3.c:34550:1 func() int32 { if (_pFd.X12) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34551), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixUnmapfileØ00__func__Ø000))), unsafe.Pointer(str(139928))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pFd.X16) == nil { goto _2 } (*(*func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(23)))).X1)})))(tls, _pFd.X16, uint64(_pFd.X14)) *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(104 /* X16 */))) = (unsafe.Pointer)(uintptr(i32(0))) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(80 /* X13 */))) = int64(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(88 /* X14 */))) = int64(i32(0)) _2: return } var _unixUnmapfileØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_unixUnmapfileØ00__func__Ø000[0], str(139948), 14) } func _unixRead(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:33010:1 var _pFile *XunixFile // sqlite3.c:33016:12 _ = _pFile var _got int32 // sqlite3.c:33017:7 _ = _got var _3_nCopy int32 // sqlite3.c:33039:11 _ = _3_nCopy _pFile = (*XunixFile)(unsafe.Pointer(_id)) func() int32 { if _id != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33018), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixReadØ00__func__Ø000))), unsafe.Pointer(str(97676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _offset >= int64(i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33019), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixReadØ00__func__Ø000))), unsafe.Pointer(str(139964))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _amt > i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33020), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixReadØ00__func__Ø000))), unsafe.Pointer(str(139976))) crt.X__builtin_abort(tls) return i32(0) }() }() if _offset >= (_pFile.X13) { goto _6 } if (_offset + int64(_amt)) > (_pFile.X13) { goto _7 } crt.Xmemcpy(tls, _pBuf, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFile.X16)+1*uintptr(_offset)))), uint64(_amt)) r0 = i32(0) return _7: _3_nCopy = int32((_pFile.X13) - _offset) crt.Xmemcpy(tls, _pBuf, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFile.X16)+1*uintptr(_offset)))), uint64(_3_nCopy)) _pBuf = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pBuf) + 1*uintptr(_3_nCopy)))) { p := &_amt *p = (*p) - _3_nCopy sink961 = *p } { p := &_offset *p = (*p) + int64(_3_nCopy) sink967 = *p } _6: _got = _seekAndRead(tls, _pFile, _offset, _pBuf, _amt) if _got != _amt { goto _9 } r0 = i32(0) return _9: if _got >= i32(0) { goto _11 } r0 = i32(266) return _11: _storeLastErrno(tls, _pFile, i32(0)) crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(_pBuf)+1*uintptr(_got)))), i32(0), uint64(_amt-_got)) r0 = i32(522) return } var _unixReadØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_unixReadØ00__func__Ø000[0], str(139984), 9) } func _seekAndRead(tls *crt.TLS, _id *XunixFile, _offset int64, _pBuf unsafe.Pointer, _cnt int32) (r0 int32) { // sqlite3.c:32961:1 var _got int32 // sqlite3.c:32962:7 _ = _got var _prior int32 // sqlite3.c:32963:7 _ = _prior var _newOffset int64 // sqlite3.c:32965:7 _ = _newOffset _prior = i32(0) func() int32 { if _cnt == (_cnt & i32(131071)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(32968), unsafe.Pointer((*int8)(unsafe.Pointer(&_seekAndReadØ00__func__Ø000))), unsafe.Pointer(str(139996))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_id.X3) > i32(2) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(32969), unsafe.Pointer((*int8)(unsafe.Pointer(&_seekAndReadØ00__func__Ø000))), unsafe.Pointer(str(140016))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: _newOffset = crt.Xlseek64(tls, _id.X3, _offset, i32(0)) if _newOffset >= int64(i32(0)) { goto _5 } _storeLastErrno(tls, _id, *crt.X__errno_location(tls)) r0 = i32(-1) return _5: _got = int32((*(*func(*crt.TLS, int32, unsafe.Pointer, uint64) int64)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(8)))).X1)})))(tls, _id.X3, _pBuf, uint64(_cnt))) if _got != _cnt { goto _6 } goto _7 _6: if _got >= i32(0) { goto _8 } if (*crt.X__errno_location(tls)) != i32(4) { goto _9 } _got = i32(1) goto _4 _9: _prior = i32(0) _storeLastErrno(tls, _id, *crt.X__errno_location(tls)) goto _7 _8: if _got <= i32(0) { goto _11 } { p := &_cnt *p = (*p) - _got sink961 = *p } { p := &_offset *p = (*p) + int64(_got) sink967 = *p } { p := &_prior *p = (*p) + _got sink961 = *p } _pBuf = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_got))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pBuf))))))) _11: if _got > i32(0) { goto _4 } _7: r0 = _got + _prior return } var _seekAndReadØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_seekAndReadØ00__func__Ø000[0], str(140024), 12) } func _unixWrite(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:33124:1 var _pFile *XunixFile // sqlite3.c:33130:12 _ = _pFile var _wrote int32 // sqlite3.c:33131:7 _ = _wrote var _2_rc int32 // sqlite3.c:33154:11 _ = _2_rc var _2_oldCntr [4]int8 // sqlite3.c:33155:12 _ = _2_oldCntr _pFile = (*XunixFile)(unsafe.Pointer(_id)) _wrote = i32(0) func() int32 { if _id != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33132), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixWriteØ00__func__Ø000))), unsafe.Pointer(str(97676))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _amt > i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33133), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixWriteØ00__func__Ø000))), unsafe.Pointer(str(139976))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pFile.X19) == 0 { goto _4 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(113 /* X18 */))) = uint8(i32(1)) if _offset > int64(i32(24)) || (_offset+int64(_amt)) < int64(i32(27)) { goto _6 } _2_rc = _seekAndRead(tls, _pFile, int64(i32(24)), (unsafe.Pointer)(&_2_oldCntr), i32(4)) if _2_rc == i32(4) && crt.Xmemcmp(tls, (unsafe.Pointer)(&_2_oldCntr), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(_pBuf)+1*uintptr(int64(i32(24))-_offset)))), uint64(i32(4))) == i32(0) { goto _8 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(112 /* X17 */))) = uint8(i32(1)) _8: _6: _4: _9: if store961(&_wrote, _seekAndWrite(tls, _pFile, _offset, _pBuf, _amt)) >= _amt || _wrote <= i32(0) { goto _10 } { p := &_amt *p = (*p) - _wrote sink961 = *p } { p := &_offset *p = (*p) + int64(_wrote) sink967 = *p } _pBuf = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(_pBuf) + 1*uintptr(_wrote)))) goto _9 _10: if _amt <= _wrote { goto _12 } if _wrote >= i32(0) || (_pFile.X6) == i32(28) { goto _14 } r0 = i32(778) return _14: _storeLastErrno(tls, _pFile, i32(0)) r0 = i32(13) return _12: r0 = i32(0) return } var _unixWriteØ00__func__Ø000 [10]int8 // - func init() { crt.Xstrncpy(nil, &_unixWriteØ00__func__Ø000[0], str(140036), 10) } func _seekAndWrite(tls *crt.TLS, _id *XunixFile, _offset int64, _pBuf unsafe.Pointer, _cnt int32) (r0 int32) { // sqlite3.c:33115:1 r0 = _seekAndWriteFd(tls, _id.X3, _offset, _pBuf, _cnt, (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_id))+uintptr(32 /* X6 */)))) return } func _seekAndWriteFd(tls *crt.TLS, _fd int32, _iOff int64, _pBuf unsafe.Pointer, _nBuf int32, _piErrno *int32) (r0 int32) { // sqlite3.c:33069:1 var _rc int32 // sqlite3.c:33076:7 _ = _rc var _1_iSeek int64 // sqlite3.c:33090:9 _ = _1_iSeek _rc = i32(0) func() int32 { if _nBuf == (_nBuf & i32(131071)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33078), unsafe.Pointer((*int8)(unsafe.Pointer(&_seekAndWriteFdØ00__func__Ø000))), unsafe.Pointer(str(140048))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _fd > i32(2) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33079), unsafe.Pointer((*int8)(unsafe.Pointer(&_seekAndWriteFdØ00__func__Ø000))), unsafe.Pointer(str(140072))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _piErrno != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33080), unsafe.Pointer((*int8)(unsafe.Pointer(&_seekAndWriteFdØ00__func__Ø000))), unsafe.Pointer(str(140080))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_nBuf *p = (*p) & i32(131071) sink961 = *p } _6: _1_iSeek = crt.Xlseek64(tls, _fd, _iOff, i32(0)) if _1_iSeek >= int64(i32(0)) { goto _7 } _rc = i32(-1) goto _8 _7: _rc = int32((*(*func(*crt.TLS, int32, unsafe.Pointer, uint64) int64)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(11)))).X1)})))(tls, _fd, _pBuf, uint64(_nBuf))) if (_rc < i32(0)) && ((*crt.X__errno_location(tls)) == i32(4)) { goto _6 } _8: if _rc >= i32(0) { goto _10 } *_piErrno = *crt.X__errno_location(tls) _10: r0 = _rc return } var _seekAndWriteFdØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_seekAndWriteFdØ00__func__Ø000[0], str(140092), 15) } func _unixTruncate(tls *crt.TLS, _id *Xsqlite3_file, _nByte int64) (r0 int32) { // sqlite3.c:33442:1 var _pFile *XunixFile // sqlite3.c:33443:12 _ = _pFile var _rc int32 // sqlite3.c:33444:7 _ = _rc _pFile = (*XunixFile)(unsafe.Pointer(_id)) func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33445), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixTruncateØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pFile.X11) <= i32(0) { goto _2 } _nByte = (((_nByte + int64(_pFile.X11)) - int64(i32(1))) / int64(_pFile.X11)) * int64(_pFile.X11) _2: _rc = _robust_ftruncate(tls, _pFile.X3, _nByte) if _rc == 0 { goto _3 } _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) r0 = _unixLogErrorAtLine(tls, i32(1546), str(139200), _pFile.X9, i32(33460)) return _3: if (_pFile.X19) == 0 || _nByte != int64(i32(0)) { goto _6 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(112 /* X17 */))) = uint8(i32(1)) _6: if _nByte >= (_pFile.X13) { goto _7 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(80 /* X13 */))) = _nByte _7: r0 = i32(0) return } var _unixTruncateØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_unixTruncateØ00__func__Ø000[0], str(140108), 13) } func _robust_ftruncate(tls *crt.TLS, _h int32, _sz int64) (r0 int32) { // sqlite3.c:30615:1 var _rc int32 // sqlite3.c:30616:7 _ = _rc _0: _rc = (*(*func(*crt.TLS, int32, int64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(6)))).X1)})))(tls, _h, _sz) if (_rc < i32(0)) && ((*crt.X__errno_location(tls)) == i32(4)) { goto _0 } r0 = _rc return } func _unixSync(tls *crt.TLS, _id *Xsqlite3_file, _flags int32) (r0 int32) { // sqlite3.c:33392:1 var _rc int32 // sqlite3.c:33393:7 _ = _rc var _pFile *XunixFile // sqlite3.c:33394:12 _ = _pFile var _isDataOnly int32 // sqlite3.c:33396:7 _ = _isDataOnly var _isFullsync int32 // sqlite3.c:33397:7 _ = _isFullsync var _2_dirfd int32 // sqlite3.c:33423:9 _ = _2_dirfd _pFile = (*XunixFile)(unsafe.Pointer(_id)) _isDataOnly = _flags & i32(16) _isFullsync = bool2int((_flags & i32(15)) == i32(3)) func() int32 { if ((_flags & i32(15)) == i32(2)) || ((_flags & i32(15)) == i32(3)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33400), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixSyncØ00__func__Ø000))), unsafe.Pointer(str(140124))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33409), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixSyncØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _full_fsync(tls, _pFile.X3, _isFullsync, _isDataOnly) if _rc == 0 { goto _5 } _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) r0 = _unixLogErrorAtLine(tls, i32(1034), str(140192), _pFile.X9, i32(33415)) return _5: if (int32(_pFile.X5) & i32(8)) == 0 { goto _6 } _rc = (*(*func(*crt.TLS, *int8, *int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(17)))).X1)})))(tls, _pFile.X9, &_2_dirfd) if _rc != i32(0) { goto _7 } _full_fsync(tls, _2_dirfd, i32(0), i32(0)) _robust_close(tls, _pFile, _2_dirfd, i32(33429)) goto _8 _7: func() int32 { if _rc == i32(14) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33431), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixSyncØ00__func__Ø000))), unsafe.Pointer(str(140204))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = i32(0) _8: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(30 /* X5 */))) *p = uint16(int32(*p) & i32(-9)) sink4530 = *p } _6: r0 = _rc return } var _unixSyncØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_unixSyncØ00__func__Ø000[0], str(140224), 9) } func _full_fsync(tls *crt.TLS, _fd int32, _fullSync int32, _dataOnly int32) (r0 int32) { // sqlite3.c:33259:1 var _rc int32 // sqlite3.c:33260:7 _ = _rc _rc = crt.Xfsync(tls, _fd) goto _0 _0: r0 = _rc return } func _unixFileSize(tls *crt.TLS, _id *Xsqlite3_file, _pSize *int64) (r0 int32) { // sqlite3.c:33492:1 var _rc int32 // sqlite3.c:33493:7 _ = _rc var _buf crt.Xstruct_stat64 // sqlite3.c:33494:15 _ = _buf func() int32 { if _id != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33495), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixFileSizeØ00__func__Ø000))), unsafe.Pointer(str(97676))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, (*XunixFile)(unsafe.Pointer(_id)).X3, &_buf) if _rc == i32(0) { goto _2 } _storeLastErrno(tls, (*XunixFile)(unsafe.Pointer(_id)), *crt.X__errno_location(tls)) r0 = i32(1802) return _2: *_pSize = _buf.X8 if (*_pSize) != int64(i32(1)) { goto _3 } *_pSize = int64(i32(0)) _3: r0 = i32(0) return } var _unixFileSizeØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_unixFileSizeØ00__func__Ø000[0], str(140236), 13) } func _unixLock(tls *crt.TLS, _id *Xsqlite3_file, _eFileLock int32) (r0 int32) { // sqlite3.c:31346:1 var _rc int32 // sqlite3.c:31386:7 _ = _rc var _pFile *XunixFile // sqlite3.c:31387:12 _ = _pFile var _pInode *XunixInodeInfo // sqlite3.c:31388:17 _ = _pInode var _lock Tflock // sqlite3.c:31389:16 _ = _lock var _tErrno int32 // sqlite3.c:31390:7 _ = _tErrno _rc = i32(0) _pFile = (*XunixFile)(unsafe.Pointer(_id)) _tErrno = i32(0) func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31392), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pFile.X4) < _eFileLock { goto _2 } r0 = i32(0) return _2: func() int32 { if (int32(_pFile.X4) != i32(0)) || (_eFileLock == i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31413), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140252))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _eFileLock != i32(3) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31414), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140304))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eFileLock != i32(2)) || (int32(_pFile.X4) == i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31415), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140328))) crt.X__builtin_abort(tls) return i32(0) }() }() _unixEnterMutex(tls) _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)) if int32(_pFile.X4) == int32(_pInode.X2) || int32(_pInode.X2) < i32(3) && _eFileLock <= i32(1) { goto _13 } _rc = i32(5) goto _end_lock _13: if _eFileLock != i32(1) || int32(_pInode.X2) != i32(1) && int32(_pInode.X2) != i32(2) { goto _16 } func() int32 { if _eFileLock == i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31438), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140388))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pFile.X4) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31439), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140412))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pInode.X1) > i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31440), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140432))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(16 /* X1 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(40 /* X6 */))) += 1 goto _end_lock _16: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = i64(1) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(2 /* X1 */))) = int16(i32(0)) if _eFileLock != i32(1) && (_eFileLock != i32(4) || int32(_pFile.X4) >= i32(3)) { goto _25 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(0 /* X0 */))) = int16(func() int32 { if _eFileLock == i32(1) { return i32(0) } return i32(1) }()) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte) if _unixFileLock(tls, _pFile, &_lock) == 0 { goto _28 } _tErrno = *crt.X__errno_location(tls) _rc = _sqliteErrorFromPosixError(tls, _tErrno, i32(3850)) if _rc == i32(5) { goto _29 } _storeLastErrno(tls, _pFile, _tErrno) _29: goto _end_lock _28: _25: if _eFileLock != i32(1) { goto _30 } func() int32 { if (_pInode.X1) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31474), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140452))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pInode.X2) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31475), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140472))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _rc == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31476), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(14052))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte + i32(2)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = int64(i32(510)) if _unixFileLock(tls, _pFile, &_lock) == 0 { goto _37 } _tErrno = *crt.X__errno_location(tls) _rc = _sqliteErrorFromPosixError(tls, _tErrno, i32(3850)) _37: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = i64(1) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(0 /* X0 */))) = int16(i32(2)) if _unixFileLock(tls, _pFile, &_lock) == 0 || _rc != i32(0) { goto _39 } _tErrno = *crt.X__errno_location(tls) _rc = i32(2058) _39: if _rc == 0 { goto _40 } if _rc == i32(5) { goto _41 } _storeLastErrno(tls, _pFile, _tErrno) _41: goto _end_lock _40: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(i32(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(40 /* X6 */))) += 1 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(16 /* X1 */))) = i32(1) goto _43 _30: if _eFileLock != i32(4) || (_pInode.X1) <= i32(1) { goto _45 } _rc = i32(5) goto _46 _45: func() int32 { if i32(0) != int32(_pFile.X4) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31515), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140496))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(0 /* X0 */))) = int16(i32(1)) func() int32 { if (_eFileLock == i32(2)) || (_eFileLock == i32(4)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31518), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixLockØ00__func__Ø000))), unsafe.Pointer(str(140516))) crt.X__builtin_abort(tls) return i32(0) }() }() if _eFileLock != i32(2) { goto _52 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte + i32(1)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = i64(1) goto _53 _52: *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte + i32(2)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_lock)) + uintptr(16 /* X3 */))) = int64(i32(510)) _53: if _unixFileLock(tls, _pFile, &_lock) == 0 { goto _54 } _tErrno = *crt.X__errno_location(tls) _rc = _sqliteErrorFromPosixError(tls, _tErrno, i32(3850)) if _rc == i32(5) { goto _55 } _storeLastErrno(tls, _pFile, _tErrno) _55: _54: _46: _43: if _rc != i32(0) || int32(_pFile.X4) > i32(1) || _eFileLock != i32(2) { goto _58 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(112 /* X17 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(113 /* X18 */))) = uint8(i32(0)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(114 /* X19 */))) = uint8(i32(1)) _58: if _rc != i32(0) { goto _59 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(_eFileLock) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(20 /* X2 */))) = uint8(_eFileLock) goto _60 _59: if _eFileLock != i32(4) { goto _61 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(i32(3)) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(20 /* X2 */))) = uint8(i32(3)) _61: _60: _end_lock: _unixLeaveMutex(tls) r0 = _rc return } var _unixLockØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_unixLockØ00__func__Ø000[0], str(140572), 9) } func _sqliteErrorFromPosixError(tls *crt.TLS, _posixError int32, _sqliteIOErr int32) (r0 int32) { // sqlite3.c:30640:1 func() int32 { if (((_sqliteIOErr == i32(3850)) || (_sqliteIOErr == i32(2058))) || (_sqliteIOErr == i32(2314))) || (_sqliteIOErr == i32(3594)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(30641), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqliteErrorFromPosixErrorØ00__func__Ø000))), unsafe.Pointer(str(140584))) crt.X__builtin_abort(tls) return i32(0) }() }() switch _posixError { case i32(1): goto _12 case i32(4): goto _10 case i32(11): goto _7 case i32(13): goto _6 case i32(16): goto _9 case i32(37): goto _11 case i32(110): goto _8 default: goto _13 } _6: _7: _8: _9: _10: _11: r0 = i32(5) return _12: r0 = i32(3) return _13: r0 = _sqliteIOErr return } var _sqliteErrorFromPosixErrorØ00__func__Ø000 [26]int8 // - func init() { crt.Xstrncpy(nil, &_sqliteErrorFromPosixErrorØ00__func__Ø000[0], str(140752), 26) } func _unixCheckReservedLock(tls *crt.TLS, _id *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:31236:1 var _rc int32 // sqlite3.c:31237:7 _ = _rc var _reserved int32 // sqlite3.c:31238:7 _ = _reserved var _pFile *XunixFile // sqlite3.c:31239:12 _ = _pFile var _2_lock Tflock // sqlite3.c:31256:18 _ = _2_lock _rc = i32(0) _reserved = i32(0) _pFile = (*XunixFile)(unsafe.Pointer(_id)) func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31243), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixCheckReservedLockØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if int32(_pFile.X4) <= i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31244), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixCheckReservedLockØ00__func__Ø000))), unsafe.Pointer(str(140780))) crt.X__builtin_abort(tls) return i32(0) }() }() _unixEnterMutex(tls) if int32((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)).X2) <= i32(1) { goto _4 } _reserved = i32(1) _4: if _reserved != 0 || ((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)).X3) != 0 { goto _6 } *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(2 /* X1 */))) = int16(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(8 /* X2 */))) = int64(_sqlite3PendingByte + i32(1)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(16 /* X3 */))) = int64(i32(1)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_lock)) + uintptr(0 /* X0 */))) = int16(i32(1)) if (*(*func(*crt.TLS, int32, int32, ...interface{}) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(7)))).X1)})))(tls, _pFile.X3, i32(5), unsafe.Pointer(&_2_lock)) == 0 { goto _7 } _rc = i32(3594) _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) goto _8 _7: if int32(_2_lock.X0) == i32(2) { goto _9 } _reserved = i32(1) _9: _8: _6: _unixLeaveMutex(tls) *_pResOut = _reserved r0 = _rc return } var _unixCheckReservedLockØ00__func__Ø000 [22]int8 // - func init() { crt.Xstrncpy(nil, &_unixCheckReservedLockØ00__func__Ø000[0], str(140812), 22) } func _unixFileControl(tls *crt.TLS, _id *Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:33615:1 var _pFile *XunixFile // sqlite3.c:33616:12 _ = _pFile var _5_rc int32 // sqlite3.c:33631:11 _ = _5_rc var _9_zTFile *int8 // sqlite3.c:33650:12 _ = _9_zTFile var _12_newLimit int64 // sqlite3.c:33663:11 _ = _12_newLimit var _12_rc int32 // sqlite3.c:33664:11 _ = _12_rc _pFile = (*XunixFile)(unsafe.Pointer(_id)) switch _op { case i32(-905363552): goto _11 case i32(1): goto _1 case i32(4): goto _2 case i32(5): goto _4 case i32(6): goto _3 case i32(10): goto _5 case i32(12): goto _7 case i32(13): goto _6 case i32(16): goto _8 case i32(18): goto _10 case i32(20): goto _9 default: goto _12 } _1: *(*int32)(unsafe.Pointer(_pArg)) = int32(_pFile.X4) r0 = i32(0) return _2: *(*int32)(unsafe.Pointer(_pArg)) = _pFile.X6 r0 = i32(0) return _3: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(72 /* X11 */))) = *(*int32)(unsafe.Pointer(_pArg)) r0 = i32(0) return _4: _5_rc = _fcntlSizeHint(tls, _pFile, *(*int64)(unsafe.Pointer(_pArg))) r0 = _5_rc return _5: _unixModeBit(tls, _pFile, uint8(i32(4)), (*int32)(unsafe.Pointer(_pArg))) r0 = i32(0) return _6: _unixModeBit(tls, _pFile, uint8(i32(16)), (*int32)(unsafe.Pointer(_pArg))) r0 = i32(0) return _7: *(**int8)(unsafe.Pointer(_pArg)) = Xsqlite3_mprintf(tls, str(24304), unsafe.Pointer((*Xsqlite3_vfs)(unsafe.Pointer(_pFile.X1)).X4)) r0 = i32(0) return _8: _9_zTFile = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64((*Xsqlite3_vfs)(unsafe.Pointer(_pFile.X1)).X2)))) if _9_zTFile == nil { goto _13 } _unixGetTempname(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pFile.X1)).X2, _9_zTFile) *(**int8)(unsafe.Pointer(_pArg)) = _9_zTFile _13: r0 = i32(0) return _9: *(*int32)(unsafe.Pointer(_pArg)) = _fileHasMoved(tls, _pFile) r0 = i32(0) return _10: _12_newLimit = *(*int64)(unsafe.Pointer(_pArg)) _12_rc = i32(0) if _12_newLimit <= (_sqlite3Config.X18) { goto _14 } _12_newLimit = _sqlite3Config.X18 _14: *(*int64)(unsafe.Pointer(_pArg)) = _pFile.X15 if _12_newLimit < int64(i32(0)) || _12_newLimit == (_pFile.X15) || (_pFile.X12) != i32(0) { goto _17 } *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(96 /* X15 */))) = _12_newLimit if (_pFile.X13) <= int64(i32(0)) { goto _18 } _unixUnmapfile(tls, _pFile) _12_rc = _unixMapfile(tls, _pFile, int64(i32(-1))) _18: _17: r0 = _12_rc return _11: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_id)) + uintptr(113 /* X18 */))) = uint8(i32(0)) r0 = i32(0) return _12: r0 = i32(12) return } func _fcntlSizeHint(tls *crt.TLS, _pFile *XunixFile, _nByte int64) (r0 int32) { // sqlite3.c:33530:1 var _1_nSize int64 // sqlite3.c:33532:9 _ = _1_nSize var _1_buf crt.Xstruct_stat64 // sqlite3.c:33533:17 _ = _1_buf var _3_nBlk int32 // sqlite3.c:33559:11 _ = _3_nBlk var _3_nWrite int32 // sqlite3.c:33560:11 _ = _3_nWrite var _3_iWrite int64 // sqlite3.c:33561:11 _ = _3_iWrite var _5_rc int32 // sqlite3.c:33577:9 _ = _5_rc if (_pFile.X11) <= i32(0) { goto _0 } if (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _pFile.X3, &_1_buf) == 0 { goto _1 } r0 = i32(1802) return _1: _1_nSize = (((_nByte + int64(_pFile.X11)) - int64(i32(1))) / int64(_pFile.X11)) * int64(_pFile.X11) if _1_nSize <= (_1_buf.X8) { goto _2 } _3_nBlk = int32(_1_buf.X9) _3_nWrite = i32(0) _3_iWrite = ((((_1_buf.X8) / int64(_3_nBlk)) * int64(_3_nBlk)) + int64(_3_nBlk)) - int64(i32(1)) func() int32 { if _3_iWrite >= (_1_buf.X8) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33564), unsafe.Pointer((*int8)(unsafe.Pointer(&_fcntlSizeHintØ00__func__Ø000))), unsafe.Pointer(str(140836))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_3_iWrite + int64(i32(1))) % int64(_3_nBlk)) == int64(i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33565), unsafe.Pointer((*int8)(unsafe.Pointer(&_fcntlSizeHintØ00__func__Ø000))), unsafe.Pointer(str(140856))) crt.X__builtin_abort(tls) return i32(0) }() }() _7: if _3_iWrite >= ((_1_nSize + int64(_3_nBlk)) - int64(i32(1))) { goto _10 } if _3_iWrite < _1_nSize { goto _11 } _3_iWrite = _1_nSize - int64(i32(1)) _11: _3_nWrite = _seekAndWrite(tls, _pFile, _3_iWrite, (unsafe.Pointer)(str(196)), i32(1)) if _3_nWrite == i32(1) { goto _12 } r0 = i32(778) return _12: { p := &_3_iWrite *p = (*p) + int64(_3_nBlk) sink967 = *p } goto _7 _10: _2: _0: if (_pFile.X15) <= int64(i32(0)) || _nByte <= (_pFile.X13) { goto _14 } if (_pFile.X11) > i32(0) { goto _15 } if _robust_ftruncate(tls, _pFile.X3, _nByte) == 0 { goto _16 } _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) r0 = _unixLogErrorAtLine(tls, i32(1546), str(139200), _pFile.X9, i32(33581)) return _16: _15: _5_rc = _unixMapfile(tls, _pFile, _nByte) r0 = _5_rc return _14: r0 = i32(0) return } var _fcntlSizeHintØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_fcntlSizeHintØ00__func__Ø000[0], str(140880), 14) } func _unixMapfile(tls *crt.TLS, _pFd *XunixFile, _nMap int64) (r0 int32) { // sqlite3.c:34667:1 var _1_statbuf crt.Xstruct_stat64 // sqlite3.c:34673:17 _ = _1_statbuf func() int32 { if (_nMap >= int64(i32(0))) || ((_pFd.X12) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34668), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixMapfileØ00__func__Ø000))), unsafe.Pointer(str(140896))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_nMap > int64(i32(0))) || (((_pFd.X13) == int64(i32(0))) && (unsafe.Pointer(_pFd.X16) == (unsafe.Pointer)(uintptr(i32(0))))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34669), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixMapfileØ00__func__Ø000))), unsafe.Pointer(str(140928))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pFd.X12) <= i32(0) { goto _7 } r0 = i32(0) return _7: if _nMap >= int64(i32(0)) { goto _8 } if (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _pFd.X3, &_1_statbuf) == 0 { goto _9 } r0 = i32(1802) return _9: _nMap = _1_statbuf.X8 _8: if _nMap <= (_pFd.X15) { goto _10 } _nMap = _pFd.X15 _10: func() int32 { if (_nMap > int64(i32(0))) || (((_pFd.X13) == int64(i32(0))) && (unsafe.Pointer(_pFd.X16) == (unsafe.Pointer)(uintptr(i32(0))))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34683), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixMapfileØ00__func__Ø000))), unsafe.Pointer(str(140928))) crt.X__builtin_abort(tls) return i32(0) }() }() if _nMap == (_pFd.X13) { goto _15 } _unixRemapfile(tls, _pFd, _nMap) _15: r0 = i32(0) return } var _unixMapfileØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_unixMapfileØ00__func__Ø000[0], str(140980), 12) } func _unixRemapfile(tls *crt.TLS, _pFd *XunixFile, _nNew int64) { // sqlite3.c:34575:1 var _zErr *int8 // sqlite3.c:34579:14 _ = _zErr var _h int32 // sqlite3.c:34580:7 _ = _h var _pOrig *uint8 // sqlite3.c:34581:6 _ = _pOrig var _nOrig int64 // sqlite3.c:34582:7 _ = _nOrig var _pNew *uint8 // sqlite3.c:34583:6 _ = _pNew var _flags int32 // sqlite3.c:34584:7 _ = _flags var _1_szSyspage int32 // sqlite3.c:34601:15 _ = _1_szSyspage var _1_nReuse int64 // sqlite3.c:34602:9 _ = _1_nReuse var _1_pReq *uint8 // sqlite3.c:34604:8 _ = _1_pReq _zErr = str(139348) _h = _pFd.X3 _pOrig = (*uint8)(unsafe.Pointer(_pFd.X16)) _nOrig = _pFd.X14 _pNew = nil _flags = i32(1) func() int32 { if (_pFd.X12) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34586), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRemapfileØ00__func__Ø000))), unsafe.Pointer(str(139928))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nNew > (_pFd.X13) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34587), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRemapfileØ00__func__Ø000))), unsafe.Pointer(str(140992))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nNew <= (_pFd.X15) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34588), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRemapfileØ00__func__Ø000))), unsafe.Pointer(str(141012))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _nNew > int64(i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34589), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRemapfileØ00__func__Ø000))), unsafe.Pointer(str(86036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_pFd.X14) >= (_pFd.X13) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34590), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRemapfileØ00__func__Ø000))), unsafe.Pointer(str(141036))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (unsafe.Pointer)(uintptr(u64(18446744073709551615))) != (unsafe.Pointer)(uintptr(i32(0))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34591), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRemapfileØ00__func__Ø000))), unsafe.Pointer(str(141072))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pOrig == nil { goto _12 } _1_szSyspage = (*(*func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(25)))).X1)})))(tls) _1_nReuse = (_pFd.X13) & int64(^(_1_szSyspage - i32(1))) _1_pReq = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrig)) + 1*uintptr(_1_nReuse))) if _1_nReuse == _nOrig { goto _13 } (*(*func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(23)))).X1)})))(tls, (unsafe.Pointer)(_1_pReq), uint64(_nOrig-_1_nReuse)) _13: _pNew = (*uint8)(unsafe.Pointer((*(*func(*crt.TLS, unsafe.Pointer, uint64, int32, int32, int32, int64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(22)))).X1)})))(tls, (unsafe.Pointer)(_1_pReq), uint64(_nNew-_1_nReuse), _flags, i32(1), _h, _1_nReuse))) if _pNew == (*uint8)(unsafe.Pointer(uintptr(u64(18446744073709551615)))) { goto _14 } if _pNew == _1_pReq { goto _15 } (*(*func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(23)))).X1)})))(tls, (unsafe.Pointer)(_pNew), uint64(_nNew-_1_nReuse)) _pNew = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) goto _16 _15: _pNew = _pOrig _16: _14: if _pNew != (*uint8)(unsafe.Pointer(uintptr(u64(18446744073709551615)))) && _pNew != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _18 } (*(*func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(23)))).X1)})))(tls, (unsafe.Pointer)(_pOrig), uint64(_1_nReuse)) _18: _12: if _pNew != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { goto _19 } _pNew = (*uint8)(unsafe.Pointer((*(*func(*crt.TLS, unsafe.Pointer, uint64, int32, int32, int32, int64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(22)))).X1)})))(tls, (unsafe.Pointer)(uintptr(i32(0))), uint64(_nNew), _flags, i32(1), _h, int64(i32(0))))) _19: if _pNew != (*uint8)(unsafe.Pointer(uintptr(u64(18446744073709551615)))) { goto _20 } _pNew = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) _nNew = int64(i32(0)) _unixLogErrorAtLine(tls, i32(0), _zErr, _pFd.X9, i32(34640)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(96 /* X15 */))) = int64(i32(0)) _20: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(104 /* X16 */))) = (unsafe.Pointer)(_pNew) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(80 /* X13 */))) = store967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd))+uintptr(88 /* X14 */))), _nNew) return } var _unixRemapfileØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_unixRemapfileØ00__func__Ø000[0], str(141088), 14) } func _unixModeBit(tls *crt.TLS, _pFile *XunixFile, _mask uint8, _pArg *int32) { // sqlite3.c:33599:1 if (*_pArg) >= i32(0) { goto _0 } *_pArg = bool2int((int32(_pFile.X5) & int32(_mask)) != i32(0)) goto _1 _0: if (*_pArg) != i32(0) { goto _2 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(30 /* X5 */))) *p = uint16(int32(*p) & (^int32(_mask))) sink4530 = *p } goto _3 _2: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(30 /* X5 */))) *p = uint16(int32(*p) | int32(_mask)) sink4530 = *p } _3: _1: return } func _unixGetTempname(tls *crt.TLS, _nBuf int32, _zBuf *int8) (r0 int32) { // sqlite3.c:35286:1 var _zDir *int8 // sqlite3.c:35287:14 _ = _zDir var _iLimit int32 // sqlite3.c:35288:7 _ = _iLimit var _1_r uint64 // sqlite3.c:35300:9 _ = _1_r _iLimit = i32(0) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(0)))) = int8(i32(0)) _zDir = _unixTempFileDir(tls) if _zDir != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(6410) return _0: _1: Xsqlite3_randomness(tls, int32(u64(8)), (unsafe.Pointer)(&_1_r)) func() int32 { if _nBuf > i32(2) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35302), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixGetTempnameØ00__func__Ø000))), unsafe.Pointer(str(141104))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_nBuf-i32(2)))) = int8(i32(0)) Xsqlite3_snprintf(tls, _nBuf, _zBuf, str(141112), unsafe.Pointer(_zDir), _1_r, i32(0)) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_nBuf-i32(2))))) == i32(0) && postInc961(&_iLimit, int32(1)) <= i32(10) { goto _5 } r0 = i32(1) return _5: if (*(*func(*crt.TLS, *int8, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(2)))).X1)})))(tls, _zBuf, i32(0)) == i32(0) { goto _1 } r0 = i32(0) return } func _unixTempFileDir(tls *crt.TLS) (r0 *int8) { // sqlite3.c:35252:1 var _i uint32 // sqlite3.c:35261:16 _ = _i var _buf crt.Xstruct_stat64 // sqlite3.c:35262:15 _ = _buf var _zDir *int8 // sqlite3.c:35263:14 _ = _zDir _i = u32(0) _zDir = Xsqlite3_temp_directory if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_unixTempFileDirØ00azDirsØ001)) + 8*uintptr(i32(0))))) != nil { goto _0 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_unixTempFileDirØ00azDirsØ001)) + 8*uintptr(i32(0)))) = crt.Xgetenv(tls, str(141132)) _0: if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_unixTempFileDirØ00azDirsØ001)) + 8*uintptr(i32(1))))) != nil { goto _1 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_unixTempFileDirØ00azDirsØ001)) + 8*uintptr(i32(1)))) = crt.Xgetenv(tls, str(141148)) _1: _2: if _zDir == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || (*(*func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(4)))).X1)})))(tls, _zDir, &_buf) != i32(0) || ((_buf.X3)&uint32(i32(61440))) != uint32(i32(16384)) || (*(*func(*crt.TLS, *int8, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(2)))).X1)})))(tls, _zDir, i32(3)) != i32(0) { goto _7 } r0 = _zDir return _7: if uint64(_i) < u64(6) { goto _8 } goto _3 _8: _zDir = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_unixTempFileDirØ00azDirsØ001)) + 8*uintptr(postInc985(&_i, uint32(1))))) goto _2 _3: r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } var _unixTempFileDirØ00azDirsØ001 [6]*int8 // sqlite3.c:35253:21 func init() { _unixTempFileDirØ00azDirsØ001 = [6]*int8{nil, nil, str(141156), str(141168), str(141180), str(252)} } var _unixGetTempnameØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_unixGetTempnameØ00__func__Ø000[0], str(141188), 16) } func _unixSectorSize(tls *crt.TLS, _NotUsed *Xsqlite3_file) (r0 int32) { // sqlite3.c:33711:1 r0 = i32(4096) return } func _unixDeviceCharacteristics(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:33810:1 var _p *XunixFile // sqlite3.c:33811:12 _ = _p var _rc int32 // sqlite3.c:33812:7 _ = _rc _p = (*XunixFile)(unsafe.Pointer(_id)) _rc = i32(0) if (int32(_p.X5) & i32(16)) == 0 { goto _0 } { p := &_rc *p = (*p) | i32(4096) sink961 = *p } _0: r0 = _rc return } func _unixShmMap(tls *crt.TLS, _fd *Xsqlite3_file, _iRegion int32, _szRegion int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:34228:1 var _pDbFd *XunixFile // sqlite3.c:34235:12 _ = _pDbFd var _p *TunixShm // sqlite3.c:34236:11 _ = _p var _pShmNode *XunixShmNode // sqlite3.c:34237:15 _ = _pShmNode var _rc int32 // sqlite3.c:34238:7 _ = _rc var _nShmPerMap int32 // sqlite3.c:34239:7 _ = _nShmPerMap var _nReqRegion int32 // sqlite3.c:34240:7 _ = _nReqRegion var _2_apNew **int8 // sqlite3.c:34260:10 _ = _2_apNew var _2_nByte int32 // sqlite3.c:34261:9 _ = _2_nByte var _2_sStat crt.Xstruct_stat64 // sqlite3.c:34262:17 _ = _2_sStat var _7_iPg int32 // sqlite3.c:34293:15 _ = _7_iPg var _8_x int32 // sqlite3.c:34298:17 _ = _8_x var _9_zFile *int8 // sqlite3.c:34300:26 _ = _9_zFile var _11_nMap int32 // sqlite3.c:34319:11 _ = _11_nMap var _11_i int32 // sqlite3.c:34320:11 _ = _11_i var _11_pMem unsafe.Pointer // sqlite3.c:34321:12 _ = _11_pMem _pDbFd = (*XunixFile)(unsafe.Pointer(_fd)) _rc = i32(0) _nShmPerMap = _unixShmRegionPerMap(tls) if (*TunixShm)(unsafe.Pointer(_pDbFd.X10)) != (*TunixShm)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _rc = _unixOpenSharedMemory(tls, _pDbFd) if _rc == i32(0) { goto _1 } r0 = _rc return _1: _0: _p = (*TunixShm)(unsafe.Pointer(_pDbFd.X10)) _pShmNode = (*XunixShmNode)(unsafe.Pointer(_p.X0)) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) func() int32 { if (_szRegion == (_pShmNode.X4)) || (int32(_pShmNode.X5) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34251), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmMapØ00__func__Ø000))), unsafe.Pointer(str(141204))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XunixInodeInfo)(unsafe.Pointer(_pShmNode.X0)) == (*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34252), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmMapØ00__func__Ø000))), unsafe.Pointer(str(141260))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pShmNode.X3) >= i32(0)) || (int32((*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)).X3) == i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34253), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmMapØ00__func__Ø000))), unsafe.Pointer(str(141292))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pShmNode.X3) < i32(0)) || (int32((*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)).X3) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34254), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmMapØ00__func__Ø000))), unsafe.Pointer(str(141344))) crt.X__builtin_abort(tls) return i32(0) }() }() _nReqRegion = ((_iRegion + _nShmPerMap) / _nShmPerMap) * _nShmPerMap if int32(_pShmNode.X5) >= _nReqRegion { goto _13 } _2_nByte = _nReqRegion * _szRegion *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(28 /* X4 */))) = _szRegion if (_pShmNode.X3) < i32(0) { goto _14 } if (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _pShmNode.X3, &_2_sStat) == 0 { goto _15 } _rc = i32(4874) goto _shmpage_out _15: if (_2_sStat.X8) >= int64(_2_nByte) { goto _16 } if _bExtend != 0 { goto _17 } goto _shmpage_out _17: func() int32 { if (_2_nByte % _unixShmMapØ00pgszØ001) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34296), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmMapØ00__func__Ø000))), unsafe.Pointer(str(141392))) crt.X__builtin_abort(tls) return i32(0) }() }() _7_iPg = int32((_2_sStat.X8) / int64(_unixShmMapØ00pgszØ001)) _21: if _7_iPg >= (_2_nByte / _unixShmMapØ00pgszØ001) { goto _24 } _8_x = i32(0) if _seekAndWriteFd(tls, _pShmNode.X3, int64(((_7_iPg*_unixShmMapØ00pgszØ001)+_unixShmMapØ00pgszØ001)-i32(1)), (unsafe.Pointer)(str(196)), i32(1), &_8_x) == i32(1) { goto _25 } _9_zFile = _pShmNode.X2 _rc = _unixLogErrorAtLine(tls, i32(4874), str(139244), _9_zFile, i32(34301)) goto _shmpage_out _25: _7_iPg += 1 goto _21 _24: _16: _14: _2_apNew = (**int8)(unsafe.Pointer(Xsqlite3_realloc(tls, (unsafe.Pointer)(_pShmNode.X7), int32(uint64(_nReqRegion)*u64(8))))) if _2_apNew != nil { goto _26 } _rc = _sqlite3IoerrnomemError(tls, i32(34314)) goto _shmpage_out _26: *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(40 /* X7 */))) = _2_apNew _27: if int32(_pShmNode.X5) >= _nReqRegion { goto _28 } _11_nMap = _szRegion * _nShmPerMap if (_pShmNode.X3) < i32(0) { goto _29 } _11_pMem = (*(*func(*crt.TLS, unsafe.Pointer, uint64, int32, int32, int32, int64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(22)))).X1)})))(tls, (unsafe.Pointer)(uintptr(i32(0))), uint64(_11_nMap), func() int32 { if (_pShmNode.X6) != 0 { return i32(1) } return i32(3) }(), i32(1), _pShmNode.X3, int64(_szRegion)*int64(_pShmNode.X5)) if unsafe.Pointer(_11_pMem) != (unsafe.Pointer)(uintptr(u64(18446744073709551615))) { goto _32 } _rc = _unixLogErrorAtLine(tls, i32(5386), str(139348), _pShmNode.X2, i32(34328)) goto _shmpage_out _32: goto _33 _29: _11_pMem = Xsqlite3_malloc64(tls, uint64(_szRegion)) if unsafe.Pointer(_11_pMem) != (unsafe.Pointer)(uintptr(i32(0))) { goto _34 } _rc = _sqlite3NomemError(tls, i32(34334)) goto _shmpage_out _34: crt.Xmemset(tls, _11_pMem, i32(0), uint64(_szRegion)) _33: _11_i = i32(0) _35: if _11_i >= _nShmPerMap { goto _38 } *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode.X7)) + 8*uintptr(int32(_pShmNode.X5)+_11_i))) = (*int8)(unsafe.Pointer(uintptr(_11_pMem) + 1*uintptr(_szRegion*_11_i))) _11_i += 1 goto _35 _38: { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(32 /* X5 */))) *p = uint16(int32(*p) + _nShmPerMap) sink4530 = *p } goto _27 _28: _13: _shmpage_out: if int32(_pShmNode.X5) <= _iRegion { goto _39 } *_pp = (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode.X7)) + 8*uintptr(_iRegion)))) goto _40 _39: *_pp = (unsafe.Pointer)(uintptr(i32(0))) _40: if (_pShmNode.X6) == 0 || _rc != i32(0) { goto _42 } _rc = i32(8) _42: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) r0 = _rc return } func _unixShmRegionPerMap(tls *crt.TLS) (r0 int32) { // sqlite3.c:34005:1 var _shmsz int32 // sqlite3.c:34006:7 _ = _shmsz var _pgsz int32 // sqlite3.c:34007:7 _ = _pgsz _shmsz = i32(32768) _pgsz = (*(*func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(25)))).X1)})))(tls) func() int32 { if ((_pgsz - i32(1)) & _pgsz) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34008), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmRegionPerMapØ00__func__Ø000))), unsafe.Pointer(str(141412))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pgsz >= _shmsz { goto _2 } r0 = i32(1) return _2: r0 = _pgsz / _shmsz return } var _unixShmRegionPerMapØ00__func__Ø000 [20]int8 // - func init() { crt.Xstrncpy(nil, &_unixShmRegionPerMapØ00__func__Ø000[0], str(141432), 20) } func _unixOpenSharedMemory(tls *crt.TLS, _pDbFd *XunixFile) (r0 int32) { // sqlite3.c:34079:1 var _p *TunixShm // sqlite3.c:34080:18 _ = _p var _pShmNode *XunixShmNode // sqlite3.c:34081:22 _ = _pShmNode var _rc int32 // sqlite3.c:34082:7 _ = _rc var _pInode *XunixInodeInfo // sqlite3.c:34083:17 _ = _pInode var _zShmFilename *int8 // sqlite3.c:34084:8 _ = _zShmFilename var _nShmFilename int32 // sqlite3.c:34085:7 _ = _nShmFilename var _1_sStat crt.Xstruct_stat64 // sqlite3.c:34100:17 _ = _1_sStat var _1_zBasePath *int8 // sqlite3.c:34102:16 _ = _1_zBasePath var _6_openFlags int32 // sqlite3.c:34146:11 _ = _6_openFlags _p = nil _p = (*TunixShm)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(24)))) if _p != (*TunixShm)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = _sqlite3NomemError(tls, i32(34089)) return _0: crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(24)) func() int32 { if (*TunixShm)(unsafe.Pointer(_pDbFd.X10)) == (*TunixShm)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34091), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenSharedMemoryØ00__func__Ø000))), unsafe.Pointer(str(141452))) crt.X__builtin_abort(tls) return i32(0) }() }() _unixEnterMutex(tls) _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)) _pShmNode = (*XunixShmNode)(unsafe.Pointer(_pInode.X5)) if _pShmNode != (*XunixShmNode)(unsafe.Pointer(uintptr(i32(0)))) { goto _3 } _1_zBasePath = _pDbFd.X9 if (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _pDbFd.X3, &_1_sStat) == 0 { goto _4 } _rc = i32(1802) goto _shm_open_err _4: _nShmFilename = i32(6) + int32(crt.Xstrlen(tls, _1_zBasePath)) _pShmNode = (*XunixShmNode)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(72)+uint64(_nShmFilename)))) if _pShmNode != (*XunixShmNode)(unsafe.Pointer(uintptr(i32(0)))) { goto _5 } _rc = _sqlite3NomemError(tls, i32(34121)) goto _shm_open_err _5: crt.Xmemset(tls, (unsafe.Pointer)(_pShmNode), i32(0), u64(72)+uint64(_nShmFilename)) _zShmFilename = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(16 /* X2 */))), (*int8)(unsafe.Pointer((*XunixShmNode)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+72*uintptr(i32(1))))))) Xsqlite3_snprintf(tls, _nShmFilename, _zShmFilename, str(141468), unsafe.Pointer(_1_zBasePath)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(24 /* X3 */))) = i32(-1) *(**XunixShmNode)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pDbFd.X2) + uintptr(32 /* X5 */))))) = _pShmNode *(**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(0 /* X0 */))))) = (*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)) if (_sqlite3Config.X1) == 0 { goto _6 } *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(8 /* X1 */))))) = Xsqlite3_mutex_alloc(tls, i32(0)) if (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _rc = _sqlite3NomemError(tls, i32(34140)) goto _shm_open_err _7: _6: if int32(_pInode.X3) != i32(0) { goto _8 } _6_openFlags = i32(66) if Xsqlite3_uri_boolean(tls, _pDbFd.X9, str(141476), i32(0)) == 0 { goto _9 } _6_openFlags = i32(0) *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(34 /* X6 */))) = uint8(i32(1)) _9: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(24 /* X3 */))) = _robust_open(tls, _zShmFilename, _6_openFlags, (_1_sStat.X3)&uint32(i32(511))) if (_pShmNode.X3) >= i32(0) { goto _10 } _rc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, i32(34153)), str(139160), _zShmFilename, i32(34153)) goto _shm_open_err _10: _robustFchown(tls, _pShmNode.X3, _1_sStat.X4, _1_sStat.X5) _rc = i32(0) if _unixShmSystemLock(tls, _pDbFd, i32(1), i32(128), i32(1)) != i32(0) { goto _11 } if _robust_ftruncate(tls, _pShmNode.X3, int64(i32(0))) == 0 { goto _12 } _rc = _unixLogErrorAtLine(tls, i32(4618), str(139200), _zShmFilename, i32(34169)) _12: _11: if _rc != i32(0) { goto _13 } _rc = _unixShmSystemLock(tls, _pDbFd, i32(0), i32(128), i32(1)) _13: if _rc == 0 { goto _14 } goto _shm_open_err _14: _8: _3: *(**XunixShmNode)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pShmNode *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(17 /* X3 */))) = postInc4537((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(66 /* X12 */))), uint8(1)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(48 /* X8 */))) += 1 *(**TunixShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDbFd)) + uintptr(64 /* X10 */))))) = _p _unixLeaveMutex(tls) Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) *(**TunixShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = (*TunixShm)(unsafe.Pointer(_pShmNode.X9)) *(**TunixShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(56 /* X9 */))))) = _p Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) r0 = i32(0) return _shm_open_err: _unixShmPurge(tls, _pDbFd) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) _unixLeaveMutex(tls) r0 = _rc return } var _unixOpenSharedMemoryØ00__func__Ø000 [21]int8 // - func init() { crt.Xstrncpy(nil, &_unixOpenSharedMemoryØ00__func__Ø000[0], str(141492), 21) } func _robustFchown(tls *crt.TLS, _fd int32, _uid uint32, _gid uint32) (r0 int32) { // sqlite3.c:30349:1 r0 = func() int32 { if (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(21)))).X1)})))(tls) != 0 { return i32(0) } return (*(*func(*crt.TLS, int32, uint32, uint32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(20)))).X1)})))(tls, _fd, _uid, _gid) }() return } func _unixShmSystemLock(tls *crt.TLS, _pFile *XunixFile, _lockType int32, _ofst int32, _n int32) (r0 int32) { // sqlite3.c:33926:1 var _pShmNode *XunixShmNode // sqlite3.c:33932:15 _ = _pShmNode var _f Tflock // sqlite3.c:33933:16 _ = _f var _rc int32 // sqlite3.c:33934:7 _ = _rc var _2_mask uint16 // sqlite3.c:33960:9 _ = _2_mask _rc = i32(0) _pShmNode = (*XunixShmNode)(unsafe.Pointer((*XunixInodeInfo)(unsafe.Pointer(_pFile.X2)).X5)) func() int32 { if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) != 0 || ((_pShmNode.X8) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33938), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmSystemLockØ00__func__Ø000))), unsafe.Pointer(str(141516))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_n == i32(1)) || (_lockType != i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33941), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmSystemLockØ00__func__Ø000))), unsafe.Pointer(str(141576))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_n >= i32(1)) && (_n <= i32(8)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33944), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmSystemLockØ00__func__Ø000))), unsafe.Pointer(str(141604))) crt.X__builtin_abort(tls) return i32(0) }() }() if (_pShmNode.X3) < i32(0) { goto _9 } crt.Xmemset(tls, (unsafe.Pointer)(&_f), i32(0), u64(32)) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_f)) + uintptr(0 /* X0 */))) = int16(_lockType) *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_f)) + uintptr(2 /* X1 */))) = int16(i32(0)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_f)) + uintptr(8 /* X2 */))) = int64(_ofst) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_f)) + uintptr(16 /* X3 */))) = int64(_n) _rc = (*(*func(*crt.TLS, int32, int32, ...interface{}) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(7)))).X1)})))(tls, _pShmNode.X3, i32(6), unsafe.Pointer(&_f)) _rc = func() int32 { if _rc != i32(-1) { return i32(0) } return i32(5) }() _9: _2_mask = uint16(func() int32 { if _ofst > i32(31) { return i32(65535) } return ((i32(1) << uint(_ofst+_n)) - (i32(1) << uint(_ofst))) }()) if _rc != i32(0) { goto _14 } if _lockType != i32(2) { goto _15 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(64 /* X10 */))) *p = uint8(int32(*p) & (^int32(_2_mask))) sink4537 = *p } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(65 /* X11 */))) *p = uint8(int32(*p) & (^int32(_2_mask))) sink4537 = *p } goto _16 _15: if _lockType != i32(0) { goto _17 } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(64 /* X10 */))) *p = uint8(int32(*p) & (^int32(_2_mask))) sink4537 = *p } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(65 /* X11 */))) *p = uint8(int32(*p) | int32(_2_mask)) sink4537 = *p } goto _18 _17: func() int32 { if _lockType == i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33973), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmSystemLockØ00__func__Ø000))), unsafe.Pointer(str(141632))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(64 /* X10 */))) *p = uint8(int32(*p) | int32(_2_mask)) sink4537 = *p } { p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(65 /* X11 */))) *p = uint8(int32(*p) & (^int32(_2_mask))) sink4537 = *p } _18: _16: goto _21 _14: if _lockType != i32(2) { goto _22 } goto _23 _22: if _lockType != i32(0) { goto _24 } goto _25 _24: func() int32 { if _lockType == i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(33984), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmSystemLockØ00__func__Ø000))), unsafe.Pointer(str(141632))) crt.X__builtin_abort(tls) return i32(0) }() }() _25: _23: _21: r0 = _rc return } var _unixShmSystemLockØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_unixShmSystemLockØ00__func__Ø000[0], str(141652), 18) } func _unixShmPurge(tls *crt.TLS, _pFd *XunixFile) { // sqlite3.c:34019:1 var _p *XunixShmNode // sqlite3.c:34020:15 _ = _p var _1_nShmPerMap int32 // sqlite3.c:34023:9 _ = _1_nShmPerMap var _1_i int32 // sqlite3.c:34024:9 _ = _1_i _p = (*XunixShmNode)(unsafe.Pointer((*XunixInodeInfo)(unsafe.Pointer(_pFd.X2)).X5)) func() int32 { if _unixMutexHeld(tls) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34021), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmPurgeØ00__func__Ø000))), unsafe.Pointer(str(139728))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p == nil || func() int32 { if (_p.X8) == i32(0) { return i32(1) } return func() int32 { func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34022), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmPurgeØ00__func__Ø000))), unsafe.Pointer(str(3880))) crt.X__builtin_abort(tls) return i32(0) }() return i32(0) }() }() == 0 { goto _5 } _1_nShmPerMap = _unixShmRegionPerMap(tls) func() int32 { if (*XunixInodeInfo)(unsafe.Pointer(_p.X0)) == (*XunixInodeInfo)(unsafe.Pointer(_pFd.X2)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34025), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmPurgeØ00__func__Ø000))), unsafe.Pointer(str(141672))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_p.X1))) _1_i = i32(0) _8: if _1_i >= int32(_p.X5) { goto _11 } if (_p.X3) < i32(0) { goto _12 } (*(*func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(23)))).X1)})))(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7)) + 8*uintptr(_1_i)))), uint64(_p.X4)) goto _13 _12: Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7)) + 8*uintptr(_1_i))))) _13: { p := &_1_i *p = (*p) + _1_nShmPerMap sink961 = *p } goto _8 _11: Xsqlite3_free(tls, (unsafe.Pointer)(_p.X7)) if (_p.X3) < i32(0) { goto _14 } _robust_close(tls, _pFd, _p.X3, i32(34036)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) = i32(-1) _14: *(**XunixShmNode)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X0) + uintptr(32 /* X5 */))))) = (*XunixShmNode)(unsafe.Pointer(uintptr(i32(0)))) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) _5: return } var _unixShmPurgeØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_unixShmPurgeØ00__func__Ø000[0], str(141696), 13) } var _unixShmMapØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_unixShmMapØ00__func__Ø000[0], str(141712), 11) } var _unixShmMapØ00pgszØ001 int32 // sqlite3.c:34292:28 func init() { _unixShmMapØ00pgszØ001 = i32(4096) } func _unixShmLock(tls *crt.TLS, _fd *Xsqlite3_file, _ofst int32, _n int32, _flags int32) (r0 int32) { // sqlite3.c:34366:1 var _pDbFd *XunixFile // sqlite3.c:34372:12 _ = _pDbFd var _p *TunixShm // sqlite3.c:34373:11 _ = _p var _pX *TunixShm // sqlite3.c:34374:11 _ = _pX var _pShmNode *XunixShmNode // sqlite3.c:34375:15 _ = _pShmNode var _rc int32 // sqlite3.c:34376:7 _ = _rc var _mask uint16 // sqlite3.c:34377:7 _ = _mask var _1_allMask uint16 // sqlite3.c:34395:9 _ = _1_allMask var _6_allShared uint16 // sqlite3.c:34417:9 _ = _6_allShared _pDbFd = (*XunixFile)(unsafe.Pointer(_fd)) _p = (*TunixShm)(unsafe.Pointer(_pDbFd.X10)) _pShmNode = (*XunixShmNode)(unsafe.Pointer(_p.X0)) _rc = i32(0) func() int32 { if _pShmNode == (*XunixShmNode)(unsafe.Pointer((*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)).X5)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34379), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141724))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XunixInodeInfo)(unsafe.Pointer(_pShmNode.X0)) == (*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34380), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141260))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_ofst >= i32(0)) && ((_ofst + _n) <= i32(8)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34381), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141760))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _n >= i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34382), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141796))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (((_flags == i32(6)) || (_flags == i32(10))) || (_flags == i32(5))) || (_flags == i32(9)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34383), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141804))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_n == i32(1)) || ((_flags & i32(8)) != i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34387), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(142004))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pShmNode.X3) >= i32(0)) || (int32((*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)).X3) == i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34388), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141292))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_pShmNode.X3) < i32(0)) || (int32((*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)).X3) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34389), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(141344))) crt.X__builtin_abort(tls) return i32(0) }() }() _mask = uint16((i32(1) << uint(_ofst+_n)) - (i32(1) << uint(_ofst))) func() int32 { if (_n > i32(1)) || (int32(_mask) == (i32(1) << uint(_ofst))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34392), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(142048))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) if (_flags & i32(1)) == 0 { goto _26 } _1_allMask = u16(0) _pX = (*TunixShm)(unsafe.Pointer(_pShmNode.X9)) _27: if _pX == nil { goto _30 } if _pX != _p { goto _31 } goto _28 _31: func() int32 { if (int32(_pX.X5) & (int32(_p.X5) | int32(_p.X4))) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34400), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(142072))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := &_1_allMask *p = uint16(int32(*p) | int32(_pX.X4)) sink4530 = *p } _28: _pX = (*TunixShm)(unsafe.Pointer(_pX.X1)) goto _27 _30: if (int32(_mask) & int32(_1_allMask)) != i32(0) { goto _34 } _rc = _unixShmSystemLock(tls, _pDbFd, i32(2), _ofst+i32(120), _n) goto _35 _34: _rc = i32(0) _35: if _rc != i32(0) { goto _36 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) *p = uint16(int32(*p) & (^int32(_mask))) sink4530 = *p } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(18 /* X4 */))) *p = uint16(int32(*p) & (^int32(_mask))) sink4530 = *p } _36: goto _37 _26: if (_flags & i32(4)) == 0 { goto _38 } _6_allShared = u16(0) _pX = (*TunixShm)(unsafe.Pointer(_pShmNode.X9)) _39: if _pX == nil { goto _42 } if (int32(_pX.X5) & int32(_mask)) == i32(0) { goto _43 } _rc = i32(5) goto _42 _43: { p := &_6_allShared *p = uint16(int32(*p) | int32(_pX.X4)) sink4530 = *p } _pX = (*TunixShm)(unsafe.Pointer(_pX.X1)) goto _39 _42: if _rc != i32(0) { goto _44 } if (int32(_6_allShared) & int32(_mask)) != i32(0) { goto _45 } _rc = _unixShmSystemLock(tls, _pDbFd, i32(0), _ofst+i32(120), _n) goto _46 _45: _rc = i32(0) _46: _44: if _rc != i32(0) { goto _47 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(18 /* X4 */))) *p = uint16(int32(*p) | int32(_mask)) sink4530 = *p } _47: goto _48 _38: _pX = (*TunixShm)(unsafe.Pointer(_pShmNode.X9)) _49: if _pX == nil { goto _52 } if (int32(_pX.X5)&int32(_mask)) == i32(0) && (int32(_pX.X4)&int32(_mask)) == i32(0) { goto _54 } _rc = i32(5) goto _52 _54: _pX = (*TunixShm)(unsafe.Pointer(_pX.X1)) goto _49 _52: if _rc != i32(0) { goto _55 } _rc = _unixShmSystemLock(tls, _pDbFd, i32(1), _ofst+i32(120), _n) if _rc != i32(0) { goto _56 } func() int32 { if (int32(_p.X4) & int32(_mask)) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34461), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmLockØ00__func__Ø000))), unsafe.Pointer(str(142120))) crt.X__builtin_abort(tls) return i32(0) }() }() { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) *p = uint16(int32(*p) | int32(_mask)) sink4530 = *p } _56: _55: _48: _37: Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) r0 = _rc return } var _unixShmLockØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_unixShmLockØ00__func__Ø000[0], str(142148), 12) } func _unixShmBarrier(tls *crt.TLS, _fd *Xsqlite3_file) { // sqlite3.c:34478:1 _sqlite3MemoryBarrier(tls) _unixEnterMutex(tls) _unixLeaveMutex(tls) return } func _unixShmUnmap(tls *crt.TLS, _fd *Xsqlite3_file, _deleteFlag int32) (r0 int32) { // sqlite3.c:34494:1 var _p *TunixShm // sqlite3.c:34498:11 _ = _p var _pShmNode *XunixShmNode // sqlite3.c:34499:15 _ = _pShmNode var _pp **TunixShm // sqlite3.c:34500:11 _ = _pp var _pDbFd *XunixFile // sqlite3.c:34501:12 _ = _pDbFd _pDbFd = (*XunixFile)(unsafe.Pointer(_fd)) _p = (*TunixShm)(unsafe.Pointer(_pDbFd.X10)) if _p != (*TunixShm)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } r0 = i32(0) return _0: _pShmNode = (*XunixShmNode)(unsafe.Pointer(_p.X0)) func() int32 { if _pShmNode == (*XunixShmNode)(unsafe.Pointer((*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)).X5)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34508), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmUnmapØ00__func__Ø000))), unsafe.Pointer(str(141724))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (*XunixInodeInfo)(unsafe.Pointer(_pShmNode.X0)) == (*XunixInodeInfo)(unsafe.Pointer(_pDbFd.X2)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34509), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmUnmapØ00__func__Ø000))), unsafe.Pointer(str(141260))) crt.X__builtin_abort(tls) return i32(0) }() }() Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) _pp = (**TunixShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(56 /* X9 */))))) _5: if (*_pp) == _p { goto _8 } _pp = (**TunixShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(8 /* X1 */))))) goto _5 _8: *_pp = (*TunixShm)(unsafe.Pointer(_p.X1)) Xsqlite3_free(tls, (unsafe.Pointer)(_p)) *(**TunixShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDbFd)) + uintptr(64 /* X10 */))))) = (*TunixShm)(unsafe.Pointer(uintptr(i32(0)))) Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X1))) _unixEnterMutex(tls) func() int32 { if (_pShmNode.X8) > i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34525), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixShmUnmapØ00__func__Ø000))), unsafe.Pointer(str(142160))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(48 /* X8 */))) -= 1 if (_pShmNode.X8) != i32(0) { goto _11 } if _deleteFlag == 0 || (_pShmNode.X3) < i32(0) { goto _13 } (*(*func(*crt.TLS, *int8) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(16)))).X1)})))(tls, _pShmNode.X2) _13: _unixShmPurge(tls, _pDbFd) _11: _unixLeaveMutex(tls) r0 = i32(0) return } var _unixShmUnmapØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_unixShmUnmapØ00__func__Ø000[0], str(142180), 13) } func _unixFetch(tls *crt.TLS, _fd *Xsqlite3_file, _iOff int64, _nAmt int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:34704:1 var _pFd *XunixFile // sqlite3.c:34706:12 _ = _pFd var _2_rc int32 // sqlite3.c:34713:11 _ = _2_rc _pFd = (*XunixFile)(unsafe.Pointer(_fd)) *_pp = (unsafe.Pointer)(uintptr(i32(0))) if (_pFd.X15) <= int64(i32(0)) { goto _0 } if unsafe.Pointer(_pFd.X16) != (unsafe.Pointer)(uintptr(i32(0))) { goto _1 } _2_rc = _unixMapfile(tls, _pFd, int64(i32(-1))) if _2_rc == i32(0) { goto _2 } r0 = _2_rc return _2: _1: if (_pFd.X13) < (_iOff + int64(_nAmt)) { goto _3 } *_pp = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFd.X16) + 1*uintptr(_iOff)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(76 /* X12 */))) += 1 _3: _0: r0 = i32(0) return } func _unixUnfetch(tls *crt.TLS, _fd *Xsqlite3_file, _iOff int64, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:34735:1 var _pFd *XunixFile // sqlite3.c:34737:12 _ = _pFd _pFd = (*XunixFile)(unsafe.Pointer(_fd)) func() int32 { if (unsafe.Pointer(_p) == (unsafe.Pointer)(uintptr(i32(0)))) == ((_pFd.X12) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34743), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixUnfetchØ00__func__Ø000))), unsafe.Pointer(str(142196))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (unsafe.Pointer(_p) == (unsafe.Pointer)(uintptr(i32(0)))) || (unsafe.Pointer(_p) == (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFd.X16)+1*uintptr(_iOff))))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34746), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixUnfetchØ00__func__Ø000))), unsafe.Pointer(str(142224))) crt.X__builtin_abort(tls) return i32(0) }() }() if _p == nil { goto _5 } *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(76 /* X12 */))) -= 1 goto _6 _5: _unixUnmapfile(tls, _pFd) _6: func() int32 { if (_pFd.X12) >= i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(34754), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixUnfetchØ00__func__Ø000))), unsafe.Pointer(str(142268))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = i32(0) return } var _unixUnfetchØ00__func__Ø000 [12]int8 // - func init() { crt.Xstrncpy(nil, &_unixUnfetchØ00__func__Ø000[0], str(142288), 12) } func _unixOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _pFile *Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) { // sqlite3.c:35502:1 var _p *XunixFile // sqlite3.c:35509:12 _ = _p var _fd int32 // sqlite3.c:35510:7 _ = _fd var _openFlags int32 // sqlite3.c:35511:7 _ = _openFlags var _eType int32 // sqlite3.c:35512:7 _ = _eType var _noLock int32 // sqlite3.c:35513:7 _ = _noLock var _rc int32 // sqlite3.c:35514:7 _ = _rc var _ctrlFlags int32 // sqlite3.c:35515:7 _ = _ctrlFlags var _isExclusive int32 // sqlite3.c:35517:7 _ = _isExclusive var _isDelete int32 // sqlite3.c:35518:7 _ = _isDelete var _isCreate int32 // sqlite3.c:35519:7 _ = _isCreate var _isReadonly int32 // sqlite3.c:35520:7 _ = _isReadonly var _isReadWrite int32 // sqlite3.c:35521:7 _ = _isReadWrite var _syncDir int32 // sqlite3.c:35533:7 _ = _syncDir var _zTmpname [514]int8 // sqlite3.c:35542:8 _ = _zTmpname var _zName *int8 // sqlite3.c:35543:14 _ = _zName var _2_pUnused *XUnixUnusedFd // sqlite3.c:35584:18 _ = _2_pUnused var _8_openMode uint32 // sqlite3.c:35626:12 _ = _8_openMode var _8_uid uint32 // sqlite3.c:35627:11 _ = _8_uid var _8_gid uint32 // sqlite3.c:35628:11 _ = _8_gid _p = (*XunixFile)(unsafe.Pointer(_pFile)) _fd = i32(-1) _openFlags = i32(0) _eType = int32(uint32(_flags) & u32(4294967040)) _rc = i32(0) _ctrlFlags = i32(0) _isExclusive = _flags & i32(16) _isDelete = _flags & i32(8) _isCreate = _flags & i32(4) _isReadonly = _flags & i32(1) _isReadWrite = _flags & i32(2) _syncDir = bool2int(_isCreate != 0 && (((_eType == i32(16384)) || (_eType == i32(2048))) || (_eType == i32(524288)))) _zName = _zPath func() int32 { if ((_isReadonly == i32(0)) || (_isReadWrite == i32(0))) && (_isReadWrite != 0 || _isReadonly != 0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35552), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142300))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_isCreate == i32(0)) || _isReadWrite != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35553), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142368))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_isExclusive == i32(0)) || _isCreate != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35554), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142396))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_isDelete == i32(0)) || _isCreate != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35555), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142424))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(256)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35559), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142448))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(2048)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35560), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142500))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(16384)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35561), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142556))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(524288)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35562), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142616))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { 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)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35565), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142664))) crt.X__builtin_abort(tls) return i32(0) }() }() if _randomnessPid == crt.Xgetpid(tls) { goto _42 } _randomnessPid = crt.Xgetpid(tls) bug20530(_randomnessPid) Xsqlite3_randomness(tls, i32(0), (unsafe.Pointer)(uintptr(i32(0)))) _42: crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u64(120)) if _eType != i32(256) { goto _43 } _2_pUnused = _findReusableFd(tls, _zName, _flags) if _2_pUnused == nil { goto _44 } _fd = _2_pUnused.X0 goto _45 _44: _2_pUnused = (*XUnixUnusedFd)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(16)))) if _2_pUnused != nil { goto _46 } r0 = _sqlite3NomemError(tls, i32(35591)) return _46: _45: *(**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))))) = _2_pUnused func() int32 { if (_flags&i32(64)) != 0 || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(crt.Xstrlen(tls, _zName)+uint64(i32(1)))))) == i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35599), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142924))) crt.X__builtin_abort(tls) return i32(0) }() }() goto _50 _43: if _zName != nil { goto _51 } func() int32 { if _isDelete != 0 && (_syncDir == 0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35603), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(142980))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = _unixGetTempname(tls, _pVfs.X2, (*int8)(unsafe.Pointer(&_zTmpname))) if _rc == i32(0) { goto _55 } r0 = _rc return _55: _zName = (*int8)(unsafe.Pointer(&_zTmpname)) func() int32 { if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(crt.Xstrlen(tls, _zName)+uint64(i32(1)))))) == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35612), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(143004))) crt.X__builtin_abort(tls) return i32(0) }() }() _51: _50: if _isReadonly == 0 { goto _58 } { p := &_openFlags *p = (*p) | i32(0) sink961 = *p } _58: if _isReadWrite == 0 { goto _59 } { p := &_openFlags *p = (*p) | i32(2) sink961 = *p } _59: if _isCreate == 0 { goto _60 } { p := &_openFlags *p = (*p) | i32(64) sink961 = *p } _60: if _isExclusive == 0 { goto _61 } { p := &_openFlags *p = (*p) | i32(128) sink961 = *p } _61: { p := &_openFlags *p = (*p) | i32(0) sink961 = *p } if _fd >= i32(0) { goto _62 } _rc = _findCreateFileMode(tls, _zName, _flags, &_8_openMode, &_8_uid, &_8_gid) if _rc == i32(0) { goto _63 } func() int32 { if (*XUnixUnusedFd)(unsafe.Pointer(_p.X8)) == nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35631), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(143032))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_eType == i32(524288)) || (_eType == i32(2048)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35632), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(143044))) crt.X__builtin_abort(tls) return i32(0) }() }() r0 = _rc return _63: _fd = _robust_open(tls, _zName, _openFlags, _8_openMode) func() int32 { if (_isExclusive == 0) || ((_openFlags & i32(64)) != i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35637), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(143104))) crt.X__builtin_abort(tls) return i32(0) }() }() if _fd >= i32(0) || (*crt.X__errno_location(tls)) == i32(21) || _isReadWrite == 0 { goto _74 } { p := &_flags *p = (*p) & i32(-7) sink961 = *p } { p := &_openFlags *p = (*p) & i32(-67) sink961 = *p } { p := &_flags *p = (*p) | i32(1) sink961 = *p } { p := &_openFlags *p = (*p) | i32(0) sink961 = *p } _isReadonly = i32(1) _fd = _robust_open(tls, _zName, _openFlags, _8_openMode) _74: if _fd >= i32(0) { goto _75 } _rc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, i32(35648)), str(139160), _zName, i32(35648)) goto _open_finished _75: if (_flags & i32(526336)) == 0 { goto _76 } _robustFchown(tls, _fd, _8_uid, _8_gid) _76: _62: func() int32 { if _fd >= i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35660), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixOpenØ00__func__Ø000))), unsafe.Pointer(str(143148))) crt.X__builtin_abort(tls) return i32(0) }() }() if _pOutFlags == nil { goto _79 } *_pOutFlags = _flags _79: if (*XUnixUnusedFd)(unsafe.Pointer(_p.X8)) == nil { goto _80 } *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(0 /* X0 */))) = _fd *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(4 /* X1 */))) = _flags _80: if _isDelete == 0 { goto _81 } (*(*func(*crt.TLS, *int8) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(16)))).X1)})))(tls, _zName) _81: if _isDelete == 0 { goto _82 } { p := &_ctrlFlags *p = (*p) | i32(32) sink961 = *p } _82: if _isReadonly == 0 { goto _83 } { p := &_ctrlFlags *p = (*p) | i32(2) sink961 = *p } _83: _noLock = bool2int(_eType != i32(256)) if _noLock == 0 { goto _84 } { p := &_ctrlFlags *p = (*p) | i32(128) sink961 = *p } _84: if _syncDir == 0 { goto _85 } { p := &_ctrlFlags *p = (*p) | i32(8) sink961 = *p } _85: if (_flags & i32(64)) == 0 { goto _86 } { p := &_ctrlFlags *p = (*p) | i32(64) sink961 = *p } _86: _rc = _fillInUnixFile(tls, _pVfs, _fd, _pFile, _zPath, _ctrlFlags) _open_finished: if _rc == i32(0) { goto _87 } Xsqlite3_free(tls, _p.X8) _87: r0 = _rc return } var _unixOpenØ00__func__Ø000 [9]int8 // - func init() { crt.Xstrncpy(nil, &_unixOpenØ00__func__Ø000[0], str(143156), 9) } var _randomnessPid int32 // sqlite3.c:29902:14 func _findReusableFd(tls *crt.TLS, _zPath *int8, _flags int32) (r0 *XUnixUnusedFd) { // sqlite3.c:35336:1 var _pUnused *XUnixUnusedFd // sqlite3.c:35337:16 _ = _pUnused var _sStat crt.Xstruct_stat64 // sqlite3.c:35345:15 _ = _sStat var _1_pInode *XunixInodeInfo // sqlite3.c:35356:19 _ = _1_pInode var _3_pp **XUnixUnusedFd // sqlite3.c:35365:20 _ = _3_pp _pUnused = nil if i32(0) != (*(*func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(4)))).X1)})))(tls, _zPath, &_sStat) { goto _0 } _unixEnterMutex(tls) _1_pInode = _inodeList _1: if _1_pInode == nil || ((*TunixFileId)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInode))+uintptr(0 /* X0 */))).X0) == (_sStat.X0) && ((*TunixFileId)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInode))+uintptr(0 /* X0 */))).X1) == (_sStat.X1) { goto _2 } _1_pInode = (*XunixInodeInfo)(unsafe.Pointer(_1_pInode.X8)) goto _1 _2: if _1_pInode == nil { goto _5 } _3_pp = (**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInode)) + uintptr(48 /* X7 */))))) _6: if (*_3_pp) == nil || ((*_3_pp).X1) == _flags { goto _10 } _3_pp = (**XUnixUnusedFd)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_3_pp)) + uintptr(8 /* X2 */))))) goto _6 _10: _pUnused = *_3_pp if _pUnused == nil { goto _11 } *_3_pp = (*XUnixUnusedFd)(unsafe.Pointer(_pUnused.X2)) _11: _5: _unixLeaveMutex(tls) _0: r0 = _pUnused return } func _findCreateFileMode(tls *crt.TLS, _zPath *int8, _flags int32, _pMode *uint32, _pUid *uint32, _pGid *uint32) (r0 int32) { // sqlite3.c:35420:1 var _rc int32 // sqlite3.c:35427:7 _ = _rc var _1_zDb [513]int8 // sqlite3.c:35432:10 _ = _1_zDb var _1_nDb int32 // sqlite3.c:35433:9 _ = _1_nDb var _4_z *int8 // sqlite3.c:35472:16 _ = _4_z _rc = i32(0) *_pMode = uint32(i32(0)) *_pUid = uint32(i32(0)) *_pGid = uint32(i32(0)) if (_flags & i32(526336)) == 0 { goto _0 } _1_nDb = _sqlite3Strlen30(tls, _zPath) - i32(1) _1: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPath)) + 1*uintptr(_1_nDb)))) == i32(45) { goto _2 } func() int32 { if _1_nDb > i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35452), unsafe.Pointer((*int8)(unsafe.Pointer(&_findCreateFileModeØ00__func__Ø000))), unsafe.Pointer(str(143168))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPath)) + 1*uintptr(_1_nDb)))))))) & i32(6)) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35453), unsafe.Pointer((*int8)(unsafe.Pointer(&_findCreateFileModeØ00__func__Ø000))), unsafe.Pointer(str(143176))) crt.X__builtin_abort(tls) return i32(0) }() }() _1_nDb -= 1 goto _1 _2: crt.Xmemcpy(tls, (unsafe.Pointer)(&_1_zDb), (unsafe.Pointer)(_zPath), uint64(_1_nDb)) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_zDb)) + 1*uintptr(_1_nDb))) = int8(i32(0)) _rc = _getFileMode(tls, (*int8)(unsafe.Pointer(&_1_zDb)), _pMode, _pUid, _pGid) goto _7 _0: if (_flags & i32(8)) == 0 { goto _8 } *_pMode = uint32(i32(384)) goto _9 _8: if (_flags & i32(64)) == 0 { goto _10 } _4_z = Xsqlite3_uri_parameter(tls, _zPath, str(143204)) if _4_z == nil { goto _11 } _rc = _getFileMode(tls, _4_z, _pMode, _pUid, _pGid) _11: _10: _9: _7: r0 = _rc return } var _findCreateFileModeØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_findCreateFileModeØ00__func__Ø000[0], str(143212), 19) } func _getFileMode(tls *crt.TLS, _zFile *int8, _pMode *uint32, _pUid *uint32, _pGid *uint32) (r0 int32) { // sqlite3.c:35381:1 var _sStat crt.Xstruct_stat64 // sqlite3.c:35387:15 _ = _sStat var _rc int32 // sqlite3.c:35388:7 _ = _rc _rc = i32(0) if i32(0) != (*(*func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(4)))).X1)})))(tls, _zFile, &_sStat) { goto _0 } *_pMode = (_sStat.X3) & uint32(i32(511)) *_pUid = _sStat.X4 *_pGid = _sStat.X5 goto _1 _0: _rc = i32(1802) _1: r0 = _rc return } func _fillInUnixFile(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _h int32, _pId *Xsqlite3_file, _zFilename *int8, _ctrlFlags int32) (r0 int32) { // sqlite3.c:35065:1 var _pLockingStyle *Xsqlite3_io_methods // sqlite3.c:35072:28 _ = _pLockingStyle var _pNew *XunixFile // sqlite3.c:35073:12 _ = _pNew var _rc int32 // sqlite3.c:35074:7 _ = _rc var _7_zLockFile *int8 // sqlite3.c:35192:10 _ = _7_zLockFile var _7_nFilename int32 // sqlite3.c:35193:9 _ = _7_nFilename _pNew = (*XunixFile)(unsafe.Pointer(_pId)) _rc = i32(0) func() int32 { if (*XunixInodeInfo)(unsafe.Pointer(_pNew.X2)) == nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35076), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInUnixFileØ00__func__Ø000))), unsafe.Pointer(str(143232))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_zFilename == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == i32(47)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35086), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInUnixFileØ00__func__Ø000))), unsafe.Pointer(str(143252))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_zFilename != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_ctrlFlags & i32(128)) != i32(0)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35090), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInUnixFileØ00__func__Ø000))), unsafe.Pointer(str(143288))) crt.X__builtin_abort(tls) return i32(0) }() }() *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X3 */))) = _h *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))))) = _pVfs *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(56 /* X9 */))) = _zFilename *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(30 /* X5 */))) = uint16(uint8(_ctrlFlags)) *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(96 /* X15 */))) = _sqlite3Config.X17 if Xsqlite3_uri_boolean(tls, func() *int8 { if (_ctrlFlags & i32(64)) != 0 { return _zFilename } return (*int8)(unsafe.Pointer(uintptr(i32(0)))) }(), str(143340), i32(1)) == 0 { goto _10 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(30 /* X5 */))) *p = uint16(int32(*p) | i32(16)) sink4530 = *p } _10: if crt.Xstrcmp(tls, _pVfs.X4, str(138976)) != i32(0) { goto _11 } { p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(30 /* X5 */))) *p = uint16(int32(*p) | i32(1)) sink4530 = *p } _11: if (_ctrlFlags & i32(128)) == 0 { goto _12 } _pLockingStyle = &_nolockIoMethods goto _13 _12: _pLockingStyle = (*(*func(*crt.TLS, *int8, *XunixFile) *Xsqlite3_io_methods)(unsafe.Pointer(_pVfs.X5)))(tls, _zFilename, _pNew) _13: if _pLockingStyle != &_posixIoMethods { goto _14 } _unixEnterMutex(tls) _rc = _findInodeInfo(tls, _pNew, (**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(16 /* X2 */)))))) if _rc == i32(0) { goto _15 } _robust_close(tls, _pNew, _h, i32(35154)) _h = i32(-1) _15: _unixLeaveMutex(tls) goto _16 _14: if _pLockingStyle != &_dotlockIoMethods { goto _17 } func() int32 { if _zFilename != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35194), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInUnixFileØ00__func__Ø000))), unsafe.Pointer(str(143348))) crt.X__builtin_abort(tls) return i32(0) }() }() _7_nFilename = int32(crt.Xstrlen(tls, _zFilename)) + i32(6) _7_zLockFile = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_7_nFilename)))) if _7_zLockFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _20 } _rc = _sqlite3NomemError(tls, i32(35198)) goto _21 _20: Xsqlite3_snprintf(tls, _7_nFilename, _7_zLockFile, str(143364), unsafe.Pointer(_zFilename)) _21: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X7 */))) = (unsafe.Pointer)(_7_zLockFile) _17: _16: _storeLastErrno(tls, _pNew, i32(0)) if _rc == i32(0) { goto _22 } if _h < i32(0) { goto _23 } _robust_close(tls, _pNew, _h, i32(35239)) _23: goto _24 _22: *(**Xsqlite3_io_methods)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = _pLockingStyle _verifyDbFile(tls, _pNew) _24: r0 = _rc return } var _fillInUnixFileØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_fillInUnixFileØ00__func__Ø000[0], str(143372), 15) } var _nolockIoMethods Xsqlite3_io_methods // sqlite3.c:34849:3 func init() { _nolockIoMethods = Xsqlite3_io_methods{X0: i32(3), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_nolockClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_unixRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_unixWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64) int32 }{_unixTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int64) int32 }{_unixFileSize})), X7: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_nolockLock})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_nolockUnlock})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int32) int32 }{_nolockCheckReservedLock})), X10: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32 }{_unixFileControl})), X11: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixSectorSize})), X12: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixDeviceCharacteristics})), X13: nil, X14: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32 }{_unixShmLock})), X15: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) }{_unixShmBarrier})), X16: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixShmUnmap})), X17: *(*func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32 }{_unixFetch})), X18: *(*func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32 }{_unixUnfetch}))} } func _nolockClose(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:31874:1 r0 = _closeUnixFile(tls, _id) return } func _nolockLock(tls *crt.TLS, _NotUsed *Xsqlite3_file, _NotUsed2 int32) (r0 int32) { // sqlite3.c:31862:1 func() int32 { ; return _NotUsed2 }() r0 = i32(0) return } func _nolockUnlock(tls *crt.TLS, _NotUsed *Xsqlite3_file, _NotUsed2 int32) (r0 int32) { // sqlite3.c:31866:1 func() int32 { ; return _NotUsed2 }() r0 = i32(0) return } func _nolockCheckReservedLock(tls *crt.TLS, _NotUsed *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:31857:1 *_pResOut = i32(0) r0 = i32(0) return } func _findInodeInfo(tls *crt.TLS, _pFile *XunixFile, _ppInode **XunixInodeInfo) (r0 int32) { // sqlite3.c:31099:1 var _rc int32 // sqlite3.c:31103:7 _ = _rc var _fd int32 // sqlite3.c:31104:7 _ = _fd var _fileId TunixFileId // sqlite3.c:31105:21 _ = _fileId var _statbuf crt.Xstruct_stat64 // sqlite3.c:31106:15 _ = _statbuf var _pInode *XunixInodeInfo // sqlite3.c:31107:17 _ = _pInode _pInode = nil func() int32 { if _unixMutexHeld(tls) != 0 { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31109), unsafe.Pointer((*int8)(unsafe.Pointer(&_findInodeInfoØ00__func__Ø000))), unsafe.Pointer(str(139728))) crt.X__builtin_abort(tls) return i32(0) }() }() _fd = _pFile.X3 _rc = (*(*func(*crt.TLS, int32, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(5)))).X1)})))(tls, _fd, &_statbuf) if _rc == i32(0) { goto _2 } _storeLastErrno(tls, _pFile, *crt.X__errno_location(tls)) r0 = i32(10) return _2: crt.Xmemset(tls, (unsafe.Pointer)(&_fileId), i32(0), u64(16)) *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fileId)) + uintptr(0 /* X0 */))) = _statbuf.X0 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fileId)) + uintptr(8 /* X1 */))) = _statbuf.X1 _pInode = _inodeList _3: if _pInode == nil || crt.Xmemcmp(tls, (unsafe.Pointer)(&_fileId), (unsafe.Pointer)((*TunixFileId)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode))+uintptr(0 /* X0 */)))), u64(16)) == 0 { goto _4 } _pInode = (*XunixInodeInfo)(unsafe.Pointer(_pInode.X8)) goto _3 _4: if _pInode != (*XunixInodeInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _6 } _pInode = (*XunixInodeInfo)(unsafe.Pointer(Xsqlite3_malloc64(tls, u64(72)))) if _pInode != (*XunixInodeInfo)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } r0 = _sqlite3NomemError(tls, i32(31163)) return _7: crt.Xmemset(tls, (unsafe.Pointer)(_pInode), i32(0), u64(72)) crt.Xmemcpy(tls, (unsafe.Pointer)((*TunixFileId)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode))+uintptr(0 /* X0 */)))), (unsafe.Pointer)(&_fileId), u64(16)) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(24 /* X4 */))) = i32(1) *(**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(56 /* X8 */))))) = _inodeList *(**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(64 /* X9 */))))) = (*XunixInodeInfo)(unsafe.Pointer(uintptr(i32(0)))) if _inodeList == nil { goto _8 } *(**XunixInodeInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_inodeList)) + uintptr(64 /* X9 */))))) = _pInode _8: _inodeList = _pInode bug20530(_inodeList) goto _9 _6: *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInode)) + uintptr(24 /* X4 */))) += 1 _9: *_ppInode = _pInode r0 = i32(0) return } var _findInodeInfoØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_findInodeInfoØ00__func__Ø000[0], str(143388), 14) } var _dotlockIoMethods Xsqlite3_io_methods // sqlite3.c:34859:3 func init() { _dotlockIoMethods = Xsqlite3_io_methods{X0: i32(1), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_dotlockClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_unixRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 }{_unixWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64) int32 }{_unixTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int64) int32 }{_unixFileSize})), X7: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_dotlockLock})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_dotlockUnlock})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, *int32) int32 }{_dotlockCheckReservedLock})), X10: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32 }{_unixFileControl})), X11: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixSectorSize})), X12: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) int32 }{_unixDeviceCharacteristics})), X13: nil, X14: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32 }{_unixShmLock})), X15: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file) }{_unixShmBarrier})), X16: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int32) int32 }{_unixShmUnmap})), X17: *(*func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32 }{_unixFetch})), X18: *(*func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { f func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32 }{_unixUnfetch}))} } func _dotlockClose(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:32053:1 var _pFile *XunixFile // sqlite3.c:32054:12 _ = _pFile _pFile = (*XunixFile)(unsafe.Pointer(_id)) func() int32 { if _id != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(32055), unsafe.Pointer((*int8)(unsafe.Pointer(&_dotlockCloseØ00__func__Ø000))), unsafe.Pointer(str(143404))) crt.X__builtin_abort(tls) return i32(0) }() }() _dotlockUnlock(tls, _id, i32(0)) Xsqlite3_free(tls, _pFile.X7) r0 = _closeUnixFile(tls, _id) return } var _dotlockCloseØ00__func__Ø000 [13]int8 // - func init() { crt.Xstrncpy(nil, &_dotlockCloseØ00__func__Ø000[0], str(143412), 13) } func _dotlockUnlock(tls *crt.TLS, _id *Xsqlite3_file, _eFileLock int32) (r0 int32) { // sqlite3.c:32010:1 var _pFile *XunixFile // sqlite3.c:32011:12 _ = _pFile var _zLockFile *int8 // sqlite3.c:32012:8 _ = _zLockFile var _rc int32 // sqlite3.c:32013:7 _ = _rc var _3_tErrno int32 // sqlite3.c:32037:9 _ = _3_tErrno _pFile = (*XunixFile)(unsafe.Pointer(_id)) _zLockFile = (*int8)(unsafe.Pointer(_pFile.X7)) func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(32015), unsafe.Pointer((*int8)(unsafe.Pointer(&_dotlockUnlockØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if _eFileLock <= i32(1) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(32018), unsafe.Pointer((*int8)(unsafe.Pointer(&_dotlockUnlockØ00__func__Ø000))), unsafe.Pointer(str(139564))) crt.X__builtin_abort(tls) return i32(0) }() }() if int32(_pFile.X4) != _eFileLock { goto _4 } r0 = i32(0) return _4: if _eFileLock != i32(1) { goto _5 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(i32(1)) r0 = i32(0) return _5: func() int32 { if _eFileLock == i32(0) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(32034), unsafe.Pointer((*int8)(unsafe.Pointer(&_dotlockUnlockØ00__func__Ø000))), unsafe.Pointer(str(143428))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = (*(*func(*crt.TLS, *int8) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(19)))).X1)})))(tls, _zLockFile) if _rc >= i32(0) { goto _8 } _3_tErrno = *crt.X__errno_location(tls) if _3_tErrno != i32(2) { goto _9 } _rc = i32(0) goto _10 _9: _rc = i32(2058) _storeLastErrno(tls, _pFile, _3_tErrno) _10: r0 = _rc return _8: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(i32(0)) r0 = i32(0) return } var _dotlockUnlockØ00__func__Ø000 [14]int8 // - func init() { crt.Xstrncpy(nil, &_dotlockUnlockØ00__func__Ø000[0], str(143448), 14) } func _dotlockLock(tls *crt.TLS, _id *Xsqlite3_file, _eFileLock int32) (r0 int32) { // sqlite3.c:31960:1 var _pFile *XunixFile // sqlite3.c:31961:12 _ = _pFile var _zLockFile *int8 // sqlite3.c:31962:8 _ = _zLockFile var _rc int32 // sqlite3.c:31963:7 _ = _rc var _2_tErrno int32 // sqlite3.c:31984:9 _ = _2_tErrno _pFile = (*XunixFile)(unsafe.Pointer(_id)) _zLockFile = (*int8)(unsafe.Pointer(_pFile.X7)) _rc = i32(0) if int32(_pFile.X4) <= i32(0) { goto _0 } *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(_eFileLock) crt.Xutimes(tls, _zLockFile, (*[2]crt.Xstruct_timeval)(unsafe.Pointer(nil))) r0 = i32(0) return _0: _rc = (*(*func(*crt.TLS, *int8, uint32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(18)))).X1)})))(tls, _zLockFile, uint32(i32(511))) if _rc >= i32(0) { goto _1 } _2_tErrno = *crt.X__errno_location(tls) if i32(17) != _2_tErrno { goto _2 } _rc = i32(5) goto _3 _2: _rc = _sqliteErrorFromPosixError(tls, _2_tErrno, i32(3850)) if _rc == i32(5) { goto _4 } _storeLastErrno(tls, _pFile, _2_tErrno) _4: _3: r0 = _rc return _1: *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X4 */))) = uint8(_eFileLock) r0 = _rc return } func _dotlockCheckReservedLock(tls *crt.TLS, _id *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:31919:1 var _rc int32 // sqlite3.c:31920:7 _ = _rc var _reserved int32 // sqlite3.c:31921:7 _ = _reserved var _pFile *XunixFile // sqlite3.c:31922:12 _ = _pFile _rc = i32(0) _reserved = i32(0) _pFile = (*XunixFile)(unsafe.Pointer(_id)) func() int32 { if _pFile != nil { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(31926), unsafe.Pointer((*int8)(unsafe.Pointer(&_dotlockCheckReservedLockØ00__func__Ø000))), unsafe.Pointer(str(59944))) crt.X__builtin_abort(tls) return i32(0) }() }() _reserved = bool2int((*(*func(*crt.TLS, *int8, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(2)))).X1)})))(tls, (*int8)(unsafe.Pointer(_pFile.X7)), i32(0)) == i32(0)) *_pResOut = _reserved r0 = _rc return } var _dotlockCheckReservedLockØ00__func__Ø000 [25]int8 // - func init() { crt.Xstrncpy(nil, &_dotlockCheckReservedLockØ00__func__Ø000[0], str(143464), 25) } func _unixDelete(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _zPath *int8, _dirSync int32) (r0 int32) { // sqlite3.c:35758:1 var _rc int32 // sqlite3.c:35763:7 _ = _rc var _4_fd int32 // sqlite3.c:35780:9 _ = _4_fd _rc = i32(0) if (*(*func(*crt.TLS, *int8) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(16)))).X1)})))(tls, _zPath) != i32(-1) { goto _0 } if (*crt.X__errno_location(tls)) != i32(2) { goto _1 } _rc = i32(5898) goto _2 _1: _rc = _unixLogErrorAtLine(tls, i32(2570), str(139292), _zPath, i32(35774)) _2: r0 = _rc return _0: if (_dirSync & i32(1)) == i32(0) { goto _3 } _rc = (*(*func(*crt.TLS, *int8, *int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(17)))).X1)})))(tls, _zPath, &_4_fd) if _rc != i32(0) { goto _4 } if _full_fsync(tls, _4_fd, i32(0), i32(0)) == 0 { goto _5 } _rc = _unixLogErrorAtLine(tls, i32(1290), str(143492), _zPath, i32(35784)) _5: _robust_close(tls, (*XunixFile)(unsafe.Pointer(uintptr(i32(0)))), _4_fd, i32(35786)) goto _6 _4: func() int32 { if _rc == i32(14) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35788), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixDeleteØ00__func__Ø000))), unsafe.Pointer(str(140204))) crt.X__builtin_abort(tls) return i32(0) }() }() _rc = i32(0) _6: _3: r0 = _rc return } var _unixDeleteØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_unixDeleteØ00__func__Ø000[0], str(143500), 11) } func _unixAccess(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _zPath *int8, _flags int32, _pResOut *int32) (r0 int32) { // sqlite3.c:35806:1 var _1_buf crt.Xstruct_stat64 // sqlite3.c:35821:17 _ = _1_buf func() int32 { if _pResOut != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35814), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixAccessØ00__func__Ø000))), unsafe.Pointer(str(143512))) crt.X__builtin_abort(tls) return i32(0) }() }() func() int32 { if (_flags == i32(0)) || (_flags == i32(1)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35818), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixAccessØ00__func__Ø000))), unsafe.Pointer(str(143524))) crt.X__builtin_abort(tls) return i32(0) }() }() if _flags != i32(0) { goto _5 } *_pResOut = bool2int((i32(0) == (*(*func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(4)))).X1)})))(tls, _zPath, &_1_buf)) && ((_1_buf.X8) > int64(i32(0)))) goto _7 _5: *_pResOut = bool2int((*(*func(*crt.TLS, *int8, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(2)))).X1)})))(tls, _zPath, i32(6)) == i32(0)) _7: r0 = i32(0) return } var _unixAccessØ00__func__Ø000 [11]int8 // - func init() { crt.Xstrncpy(nil, &_unixAccessØ00__func__Ø000[0], str(143588), 11) } func _unixFullPathname(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _nOut int32, _zOut *int8) (r0 int32) { // sqlite3.c:35865:1 var _rc int32 // sqlite3.c:35874:7 _ = _rc var _nByte int32 // sqlite3.c:35875:7 _ = _nByte var _nLink int32 // sqlite3.c:35876:7 _ = _nLink var _zIn *int8 // sqlite3.c:35877:14 _ = _zIn var _zDel *int8 // sqlite3.c:35878:8 _ = _zDel var _1_bLink int32 // sqlite3.c:35894:9 _ = _1_bLink var _1_buf crt.Xstruct_stat64 // sqlite3.c:35895:17 _ = _1_buf var _11_n int32 // sqlite3.c:35918:17 _ = _11_n _rc = i32(0) _nLink = i32(1) _zIn = _zPath _zDel = nil func() int32 { if (_pVfs.X2) == i32(512) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35880), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixFullPathnameØ00__func__Ø000))), unsafe.Pointer(str(143600))) crt.X__builtin_abort(tls) return i32(0) }() }() _2: _1_bLink = i32(0) if (*(*func(*crt.TLS, *int8, *crt.Xstruct_stat64) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(27)))).X1)})))(tls, _zIn, &_1_buf) == i32(0) { goto _3 } if (*crt.X__errno_location(tls)) == i32(2) { goto _4 } _rc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, i32(35898)), str(139396), _zIn, i32(35898)) _4: goto _5 _3: _1_bLink = bool2int(((_1_buf.X3) & uint32(i32(61440))) == uint32(i32(40960))) _5: if _1_bLink == 0 { goto _6 } if _zDel != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _7 } _zDel = (*int8)(unsafe.Pointer(Xsqlite3_malloc(tls, _nOut))) if _zDel != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _8 } _rc = _sqlite3NomemError(tls, i32(35907)) _8: goto _9 _7: if preInc961(&_nLink, 1) <= i32(100) { goto _10 } _rc = _sqlite3CantopenError(tls, i32(35909)) _10: _9: if _rc != i32(0) { goto _11 } _nByte = int32((*(*func(*crt.TLS, *int8, *int8, uint64) int64)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(26)))).X1)})))(tls, _zIn, _zDel, uint64(_nOut-i32(1)))) if _nByte >= i32(0) { goto _12 } _rc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, i32(35915)), str(139384), _zIn, i32(35915)) goto _13 _12: if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDel)) + 1*uintptr(i32(0))))) == i32(47) { goto _14 } _11_n = _sqlite3Strlen30(tls, _zIn) _15: if _11_n <= i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(_11_n-i32(1))))) == i32(47) { goto _19 } _11_n -= 1 goto _15 _19: if ((_nByte + _11_n) + i32(1)) <= _nOut { goto _20 } _rc = _sqlite3CantopenError(tls, i32(35921)) goto _21 _20: crt.Xmemmove(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDel))+1*uintptr(_11_n)))), (unsafe.Pointer)(_zDel), uint64(_nByte+i32(1))) crt.Xmemcpy(tls, (unsafe.Pointer)(_zDel), (unsafe.Pointer)(_zIn), uint64(_11_n)) { p := &_nByte *p = (*p) + _11_n sink961 = *p } _21: _14: *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDel)) + 1*uintptr(_nByte))) = int8(i32(0)) _13: _11: _zIn = _zDel _6: func() int32 { if ((_rc != i32(0)) || (_zIn != _zOut)) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(i32(0))))) == i32(47)) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(35935), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixFullPathnameØ00__func__Ø000))), unsafe.Pointer(str(143632))) crt.X__builtin_abort(tls) return i32(0) }() }() if _rc != i32(0) || _zIn == _zOut { goto _27 } _rc = _mkFullPathname(tls, _zIn, _zOut, _nOut) _27: if _1_bLink != i32(0) { goto _28 } goto _29 _28: _zIn = _zOut if _rc == i32(0) { goto _2 } _29: Xsqlite3_free(tls, (unsafe.Pointer)(_zDel)) r0 = _rc return } var _unixFullPathnameØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_unixFullPathnameØ00__func__Ø000[0], str(143676), 17) } func _mkFullPathname(tls *crt.TLS, _zPath *int8, _zOut *int8, _nOut int32) (r0 int32) { // sqlite3.c:35832:1 var _nPath int32 // sqlite3.c:35837:7 _ = _nPath var _iOff int32 // sqlite3.c:35838:7 _ = _iOff _nPath = _sqlite3Strlen30(tls, _zPath) _iOff = i32(0) if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPath)) + 1*uintptr(i32(0))))) == i32(47) { goto _0 } if (*(*func(*crt.TLS, *int8, uint64) *int8)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(3)))).X1)})))(tls, _zOut, uint64(_nOut-i32(2))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _1 } r0 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, i32(35841)), str(139176), _zPath, i32(35841)) return _1: _iOff = _sqlite3Strlen30(tls, _zOut) *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(postInc961(&_iOff, int32(1))))) = int8(i32(47)) _0: if ((_iOff + _nPath) + i32(1)) <= _nOut { goto _2 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(_iOff))) = int8(i32(0)) r0 = _sqlite3CantopenError(tls, i32(35850)) return _2: Xsqlite3_snprintf(tls, _nOut-_iOff, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_iOff))), str(24304), unsafe.Pointer(_zPath)) r0 = i32(0) return } func _unixDlOpen(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _zFilename *int8) (r0 unsafe.Pointer) { // sqlite3.c:35955:1 r0 = crt.Xdlopen(tls, _zFilename, i32(258)) return } func _unixDlError(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _nBuf int32, _zBufOut *int8) { // sqlite3.c:35967:1 var _zErr *int8 // sqlite3.c:35968:14 _ = _zErr _unixEnterMutex(tls) _zErr = crt.Xdlerror(tls) if _zErr == nil { goto _0 } Xsqlite3_snprintf(tls, _nBuf, _zBufOut, str(24304), unsafe.Pointer(_zErr)) _0: _unixLeaveMutex(tls) return } func _unixDlSym(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _p unsafe.Pointer, _zSym *int8) (r0 func(*crt.TLS)) { // sqlite3.c:35977:1 var _x func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS) // sqlite3.c:35995:8 _ = _x _x = *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { f func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer }{(crt.Xdlsym)})) r0 = _x(tls, _p, _zSym) return } func _unixDlClose(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _pHandle unsafe.Pointer) { // sqlite3.c:36000:1 crt.Xdlclose(tls, _pHandle) return } func _unixRandomness(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _nBuf int32, _zBuf *int8) (r0 int32) { // sqlite3.c:36014:1 var _1_fd int32 // sqlite3.c:36034:9 _ = _1_fd var _1_got int32 // sqlite3.c:36034:13 _ = _1_got var _2_t int64 // sqlite3.c:36037:14 _ = _2_t func() int32 { if uint64(_nBuf) >= u64(12) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(36016), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRandomnessØ00__func__Ø000))), unsafe.Pointer(str(143696))) crt.X__builtin_abort(tls) return i32(0) }() }() crt.Xmemset(tls, (unsafe.Pointer)(_zBuf), i32(0), uint64(_nBuf)) _randomnessPid = crt.Xgetpid(tls) bug20530(_randomnessPid) _1_fd = _robust_open(tls, str(143740), i32(0), uint32(i32(0))) if _1_fd >= i32(0) { goto _2 } crt.Xtime(tls, &_2_t) crt.Xmemcpy(tls, (unsafe.Pointer)(_zBuf), (unsafe.Pointer)(&_2_t), u64(8)) crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(u64(8))))), (unsafe.Pointer)(&_randomnessPid), u64(4)) func() int32 { if u64(12) <= uint64(_nBuf) { return i32(0) } return func() int32 { crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(36041), unsafe.Pointer((*int8)(unsafe.Pointer(&_unixRandomnessØ00__func__Ø000))), unsafe.Pointer(str(143756))) crt.X__builtin_abort(tls) return i32(0) }() }() _nBuf = int32(u64(12)) goto _5 _2: _6: _1_got = int32((*(*func(*crt.TLS, int32, unsafe.Pointer, uint64) int64)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(i32(8)))).X1)})))(tls, _1_fd, (unsafe.Pointer)(_zBuf), uint64(_nBuf))) if (_1_got < i32(0)) && ((*crt.X__errno_location(tls)) == i32(4)) { goto _6 } _robust_close(tls, (*XunixFile)(unsafe.Pointer(uintptr(i32(0)))), _1_fd, i32(36045)) _5: r0 = _nBuf return } var _unixRandomnessØ00__func__Ø000 [15]int8 // - func init() { crt.Xstrncpy(nil, &_unixRandomnessØ00__func__Ø000[0], str(143804), 15) } func _unixSleep(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _microseconds int32) (r0 int32) { // sqlite3.c:36061:1 crt.Xusleep(tls, uint32(_microseconds)) r0 = _microseconds return } func _unixCurrentTime(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _prNow *float64) (r0 int32) { // sqlite3.c:36133:1 var _i int64 // sqlite3.c:36134:17 _ = _i var _rc int32 // sqlite3.c:36135:7 _ = _rc _i = i64(0) _rc = _unixCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))), &_i) *_prNow = float64(_i) / (8.64e+07) r0 = _rc return } func _unixCurrentTimeInt64(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _piNow *int64) (r0 int32) { // sqlite3.c:36101:1 var _rc int32 // sqlite3.c:36103:7 _ = _rc var _sNow crt.Xstruct_timeval // sqlite3.c:36113:18 _ = _sNow _rc = i32(0) crt.Xgettimeofday(tls, &_sNow, (unsafe.Pointer)(uintptr(i32(0)))) *_piNow = (_unixCurrentTimeInt64Ø00unixEpochØ001 + (int64(i32(1000)) * (_sNow.X0))) + ((_sNow.X1) / int64(i32(1000))) r0 = _rc return } var _unixCurrentTimeInt64Ø00unixEpochØ001 int64 // sqlite3.c:36102:30 func init() { _unixCurrentTimeInt64Ø00unixEpochØ001 = i64(210866760000000) } func _unixGetLastError(tls *crt.TLS, _NotUsed *Xsqlite3_vfs, _NotUsed2 int32, _NotUsed3 *int8) (r0 int32) { // sqlite3.c:36151:1 r0 = *crt.X__errno_location(tls) return } func _unixSetSystemCall(tls *crt.TLS, _pNotUsed *Xsqlite3_vfs, _zName *int8, _pNewFunc func(*crt.TLS)) (r0 int32) { // sqlite3.c:30363:1 var _i uint32 // sqlite3.c:30368:16 _ = _i var _rc int32 // sqlite3.c:30369:7 _ = _rc _rc = i32(12) if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { goto _0 } _rc = i32(0) _i = uint32(i32(0)) _1: if uint64(_i) >= u64(28) { goto _4 } if ((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X2) == nil { goto _5 } *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+24*uintptr(_i))))) + uintptr(8 /* X1 */))) = (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X2 _5: _i += 1 goto _1 _4: goto _6 _0: _i = uint32(i32(0)) _7: if uint64(_i) >= u64(28) { goto _10 } if crt.Xstrcmp(tls, _zName, (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+24*uintptr(_i))).X0) != i32(0) { goto _11 } if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{nil})) { goto _12 } *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+24*uintptr(_i))))) + uintptr(16 /* X2 */))) = (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X1 _12: _rc = i32(0) if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_pNewFunc})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{nil})) { goto _13 } _pNewFunc = (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X2 _13: *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+24*uintptr(_i))))) + uintptr(8 /* X1 */))) = _pNewFunc goto _10 _11: _i += 1 goto _7 _10: _6: r0 = _rc return } func _unixGetSystemCall(tls *crt.TLS, _pNotUsed *Xsqlite3_vfs, _zName *int8) (r0 func(*crt.TLS)) { // sqlite3.c:30406:1 var _i uint32 // sqlite3.c:30410:16 _ = _i _i = uint32(i32(0)) _0: if uint64(_i) >= u64(28) { goto _3 } if crt.Xstrcmp(tls, _zName, (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+24*uintptr(_i))).X0) != i32(0) { goto _4 } r0 = (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X1 return _4: _i += 1 goto _0 _3: r0 = nil return } func _unixNextSystemCall(tls *crt.TLS, _p *Xsqlite3_vfs, _zName *int8) (r0 *int8) { // sqlite3.c:30425:1 var _i int32 // sqlite3.c:30426:7 _ = _i _i = i32(-1) if _zName == nil { goto _0 } _i = i32(0) _1: if _i >= i32(27) { goto _4 } if crt.Xstrcmp(tls, _zName, (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+24*uintptr(_i))).X0) != i32(0) { goto _5 } goto _4 _5: _i += 1 goto _1 _4: _0: _i += 1 _6: if _i >= i32(28) { goto _9 } if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X1)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{nil})) { goto _10 } r0 = (*Tunix_syscall)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 24*uintptr(_i))).X0 return _10: _i += 1 goto _6 _9: r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return } var _nolockIoFinder func(*crt.TLS, *int8, *XunixFile) *Xsqlite3_io_methods // sqlite3.c:34847:1 func init() { _nolockIoFinder = _nolockIoFinderImpl } func _nolockIoFinderImpl(tls *crt.TLS, _z *int8, _p *XunixFile) (r0 *Xsqlite3_io_methods) { // sqlite3.c:34847:1 r0 = &_nolockIoMethods return } var _dotlockIoFinder func(*crt.TLS, *int8, *XunixFile) *Xsqlite3_io_methods // sqlite3.c:34857:1 func init() { _dotlockIoFinder = _dotlockIoFinderImpl } func _dotlockIoFinderImpl(tls *crt.TLS, _z *int8, _p *XunixFile) (r0 *Xsqlite3_io_methods) { // sqlite3.c:34857:1 r0 = &_dotlockIoMethods return } func _sqlite3PCacheBufferSetup(tls *crt.TLS, _pBuf unsafe.Pointer, _sz int32, _n int32) { // sqlite3.c:45204:1 var _1_p *Xsqlite3_file // sqlite3.c:45206:16 _ = _1_p if (_pcache1_g.X1) == 0 { goto _0 } if unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { goto _1 } _sz = store961(&_n, i32(0)) _1: _sz = _sz & i32(-8) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(92 /* X4 */))) = _sz *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(96 /* X5 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(136 /* X11 */))), _n) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(100 /* X6 */))) = func() int32 { if _n > i32(90) { return i32(10) } return ((_n / i32(10)) + i32(1)) }() *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(104 /* X7 */))) = _pBuf *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(128 /* X10 */))))) = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(140 /* X12 */))) = i32(0) _4: if postInc961(&_n, int32(-1)) == 0 { goto _5 } _1_p = (*Xsqlite3_file)(unsafe.Pointer(_pBuf)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pcache1_g.X10)) *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(128 /* X10 */))))) = _1_p _pBuf = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(_pBuf) + 1*uintptr(_sz)))) goto _4 _5: *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(112 /* X8 */))) = _pBuf _0: return } var _sqlite3_initializeØ00__func__Ø000 [19]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3_initializeØ00__func__Ø000[0], str(143820), 19) } var _enlargeAndAppendØ00__func__Ø000 [17]int8 // - func init() { crt.Xstrncpy(nil, &_enlargeAndAppendØ00__func__Ø000[0], str(143840), 17) } func _getIntArg(tls *crt.TLS, _p *XPrintfArguments) (r0 int64) { // sqlite3.c:25172:1 if (_p.X0) > (_p.X1) { goto _0 } r0 = int64(i32(0)) return _0: r0 = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), int32(1)))))) return } var _sqlite3VXPrintfØ00__func__Ø000 [16]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3VXPrintfØ00__func__Ø000[0], str(143860), 16) } var _fmtinfo [23]Xet_info // sqlite3.c:25099:22 func init() { _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)}} } var _sqlite3VXPrintfØ00zOrdØ001 [9]int8 // sqlite3.c:25440:29 func init() { crt.Xstrncpy(nil, &_sqlite3VXPrintfØ00zOrdØ001[0], str(143876), 9) } var _aDigits [33]int8 // sqlite3.c:25097:19 func init() { crt.Xstrncpy(nil, &_aDigits[0], str(143888), 33) } var _aPrefix [7]int8 // sqlite3.c:25098:19 func init() { crt.Xstrncpy(nil, &_aPrefix[0], str(143924), 7) } func _getDoubleArg(tls *crt.TLS, _p *XPrintfArguments) (r0 float64) { // sqlite3.c:25176:1 if (_p.X0) > (_p.X1) { goto _0 } r0 = float64(0) return _0: r0 = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), int32(1)))))) return } func _et_getdigit(tls *crt.TLS, _val *float64, _cnt *int32) (r0 int8) { // sqlite3.c:25147:1 var _digit int32 // sqlite3.c:25148:7 _ = _digit var _d float64 // sqlite3.c:25149:19 _ = _d if (*_cnt) > i32(0) { goto _0 } r0 = int8(i32(48)) return _0: *_cnt -= 1 _digit = int32(*_val) _d = float64(_digit) { p := &_digit *p = (*p) + i32(48) sink961 = *p } *_val = ((*_val) - _d) * float64(10) r0 = int8(_digit) return } func _getTextArg(tls *crt.TLS, _p *XPrintfArguments) (r0 *int8) { // sqlite3.c:25180:1 if (_p.X0) > (_p.X1) { goto _0 } r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) return _0: r0 = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 8*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), int32(1)))))))) return } func _sqlite3AppendChar(tls *crt.TLS, _p *XStrAccum, _N int32, _c int8) { // sqlite3.c:25849:1 if (int64(_p.X3)+int64(_N)) < int64(_p.X4) || store961(&_N, _sqlite3StrAccumEnlarge(tls, _p, _N)) > i32(0) { goto _1 } return _1: func() int32 { if ((_p.X2) == (_p.X1)) == ((int32(_p.X7) & i32(4)) == i32(0)) { return i32(0) } return func() int32 { 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(4868))) crt.X__builtin_abort(tls) return i32(0) }() }() _4: if postInc961(&_N, int32(-1)) <= i32(0) { goto _5 } *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 1*uintptr(postInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X3 */))), uint32(1))))) = _c goto _4 _5: return } var _sqlite3AppendCharØ00__func__Ø000 [18]int8 // - func init() { crt.Xstrncpy(nil, &_sqlite3AppendCharØ00__func__Ø000[0], str(143932), 18) } func _sqlite3HeaderSizeBtree(tls *crt.TLS) (r0 int32) { // sqlite3.c:68793:1 r0 = int32(u64(136)) return } func _sqlite3HeaderSizePcache(tls *crt.TLS) (r0 int32) { // sqlite3.c:44931:1 r0 = int32(u64(72)) return } func _sqlite3HeaderSizePcache1(tls *crt.TLS) (r0 int32) { // sqlite3.c:46150:1 r0 = int32(u64(56)) return } func bool2int(b bool) int32 { if b { return 1 } return 0 } func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed. func i16(n int16) int16 { return n } func i32(n int32) int32 { return n } func i64(n int64) int64 { return n } func i8(n int8) int8 { return n } func init() { nzf32 *= -1; nzf64 *= -1 } func u16(n uint16) uint16 { return n } func u32(n uint32) uint32 { return n } func u64(n uint64) uint64 { return n } func u8(n byte) byte { return n } var nzf32 float32 // -0.0 var nzf64 float64 // -0.0 var sink6568143 **XWhereLoop //TODO report GC bug var sink1025 *int8 //TODO report GC bug var sink5819818 *XCollSeq //TODO report GC bug var sink6571434 *TInLoop //TODO report GC bug var sink6657817 *XyyStackEntry //TODO report GC bug var sink5448613 *XMem //TODO report GC bug var sink5490042 *uint32 //TODO report GC bug var sink4543 *uint8 //TODO report GC bug var sink4517 float64 //TODO report GC bug var sink955 int16 //TODO report GC bug var sink961 int32 //TODO report GC bug var sink967 int64 //TODO report GC bug var sink4530 uint16 //TODO report GC bug var sink985 uint32 //TODO report GC bug var sink992 uint64 //TODO report GC bug var sink4537 uint8 //TODO report GC bug func postInc5534753(p **int16, d int) *int16 { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*int16)(unsafe.Pointer(v)) } func postInc1025(p **int8, d int) *int8 { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*int8)(unsafe.Pointer(v)) } func postInc5573384(p **TRowSetEntry, d int) *TRowSetEntry { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*TRowSetEntry)(unsafe.Pointer(v)) } func postInc6657817(p **XyyStackEntry, d int) *XyyStackEntry { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*XyyStackEntry)(unsafe.Pointer(v)) } func postInc5448613(p **XMem, d int) *XMem { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*XMem)(unsafe.Pointer(v)) } func postInc5490042(p **uint32, d int) *uint32 { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*uint32)(unsafe.Pointer(v)) } func postInc4543(p **uint8, d int) *uint8 { q := (*uintptr)(unsafe.Pointer(p)) v := *q *q += uintptr(d) return (*uint8)(unsafe.Pointer(v)) } func postInc961(p *int32, d int32) int32 { v := *p; *p += d; return v } func postInc967(p *int64, d int64) int64 { v := *p; *p += d; return v } func postInc973(p *int8, d int8) int8 { v := *p; *p += d; return v } func postInc4530(p *uint16, d uint16) uint16 { v := *p; *p += d; return v } func postInc985(p *uint32, d uint32) uint32 { v := *p; *p += d; return v } func postInc992(p *uint64, d uint64) uint64 { v := *p; *p += d; return v } func postInc4537(p *uint8, d uint8) uint8 { v := *p; *p += d; return v } func preInc1025(p **int8, d int) *int8 { q := (*uintptr)(unsafe.Pointer(p)) v := *q + uintptr(d) *q = v return (*int8)(unsafe.Pointer(v)) } func preInc5448613(p **XMem, d int) *XMem { q := (*uintptr)(unsafe.Pointer(p)) v := *q + uintptr(d) *q = v return (*XMem)(unsafe.Pointer(v)) } func preInc4543(p **uint8, d int) *uint8 { q := (*uintptr)(unsafe.Pointer(p)) v := *q + uintptr(d) *q = v return (*uint8)(unsafe.Pointer(v)) } func preInc955(p *int16, d int16) int16 { v := *p + d; *p = v; return v } func preInc961(p *int32, d int32) int32 { v := *p + d; *p = v; return v } func preInc4530(p *uint16, d uint16) uint16 { v := *p + d; *p = v; return v } func preInc985(p *uint32, d uint32) uint32 { v := *p + d; *p = v; return v } func preInc4537(p *uint8, d uint8) uint8 { v := *p + d; *p = v; return v } func storebits955(p *int16, v int16, m uint64, o uint) int16 { *p = *p&^int16(m) | (v << o & int16(m)) return v } func storebits973(p *int8, v int8, m uint64, o uint) int8 { *p = *p&^int8(m) | (v << o & int8(m)) return v } func store6546733(p *func(*crt.TLS, *Xsqlite3_vtab) int32, v func(*crt.TLS, *Xsqlite3_vtab) int32) func(*crt.TLS, *Xsqlite3_vtab) int32 { *p = v return v } func store1025(p **int8, v *int8) *int8 { *p = v; return v } func store5661021(p **XIndex, v *XIndex) *XIndex { *p = v; return v } func store5524992(p **XColumn, v *XColumn) *XColumn { *p = v; return v } func store5434322(p **XTable, v *XTable) *XTable { *p = v; return v } func store5517699(p **TExprList_item, v *TExprList_item) *TExprList_item { *p = v; return v } func store5930546(p **XFKey, v *XFKey) *XFKey { *p = v; return v } func store5557795(p **XPgHdr, v *XPgHdr) *XPgHdr { *p = v; return v } func store5435885(p **TVdbe, v *TVdbe) *TVdbe { *p = v; return v } func store6568967(p **XWhereTerm, v *XWhereTerm) *XWhereTerm { *p = v; return v } func store5935819(p **XIncrMerger, v *XIncrMerger) *XIncrMerger { *p = v; return v } func store5668990(p **XUnpackedRecord, v *XUnpackedRecord) *XUnpackedRecord { *p = v; return v } func store5584708(p **Xsqlite3_backup, v *Xsqlite3_backup) *Xsqlite3_backup { *p = v; return v } func store5423115(p **XBtree, v *XBtree) *XBtree { *p = v; return v } func store5963683(p **XFileChunk, v *XFileChunk) *XFileChunk { *p = v; return v } func store5794372(p **XSubProgram, v *XSubProgram) *XSubProgram { *p = v; return v } func store5518339(p **XSelect, v *XSelect) *XSelect { *p = v; return v } func store5459597(p **Xsqlite3_file, v *Xsqlite3_file) *Xsqlite3_file { *p = v; return v } func store5945875(p **XMergeEngine, v *XMergeEngine) *XMergeEngine { *p = v; return v } func store5429888(p **XExprList, v *XExprList) *XExprList { *p = v; return v } func store5506706(p **XSrcList, v *XSrcList) *XSrcList { *p = v; return v } func store5573384(p **TRowSetEntry, v *TRowSetEntry) *TRowSetEntry { *p = v; return v } func store5459163(p **XFuncDef, v *XFuncDef) *XFuncDef { *p = v; return v } func store6579482(p **XWhereOrInfo, v *XWhereOrInfo) *XWhereOrInfo { *p = v; return v } func store5567089(p **XPgHdr1, v *XPgHdr1) *XPgHdr1 { *p = v; return v } func store5669397(p **XKeyInfo, v *XKeyInfo) *XKeyInfo { *p = v; return v } func store6566324(p **XWhereLoop, v *XWhereLoop) *XWhereLoop { *p = v; return v } func store5776833(p **XVdbeOp, v *XVdbeOp) *XVdbeOp { *p = v; return v } func store5518888(p **XExpr, v *XExpr) *XExpr { *p = v; return v } func store5823988(p **XVdbeCursor, v *XVdbeCursor) *XVdbeCursor { *p = v; return v } func store6195530(p **XTriggerStep, v *XTriggerStep) *XTriggerStep { *p = v; return v } func store5664445(p **XMemPage, v *XMemPage) *XMemPage { *p = v; return v } func store5448613(p **XMem, v *XMem) *XMem { *p = v; return v } func store1008(p *unsafe.Pointer, v unsafe.Pointer) unsafe.Pointer { *p = v; return v } func store4543(p **uint8, v *uint8) *uint8 { *p = v; return v } func store961(p *int32, v int32) int32 { *p = v; return v } func store967(p *int64, v int64) int64 { *p = v; return v } func store973(p *int8, v int8) int8 { *p = v; return v } func store4530(p *uint16, v uint16) uint16 { *p = v; return v } func store985(p *uint32, v uint32) uint32 { *p = v; return v } func store992(p *uint64, v uint64) uint64 { *p = v; return v } func store4537(p *uint8, v uint8) uint8 { *p = v; return v } type Xva_list struct{ X0 struct{} } // T5408057 struct{struct{}} type TSqlite3Config struct { X0 int32 X1 int32 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 int32 X8 int32 X9 int32 X10 struct { X0 func(*crt.TLS, int32) unsafe.Pointer X1 func(*crt.TLS, unsafe.Pointer) X2 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) int32 X4 func(*crt.TLS, int32) int32 X5 func(*crt.TLS, unsafe.Pointer) int32 X6 func(*crt.TLS, unsafe.Pointer) X7 unsafe.Pointer } X11 struct { X0 func(*crt.TLS) int32 X1 func(*crt.TLS) int32 X2 func(*crt.TLS, int32) unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) X4 func(*crt.TLS, unsafe.Pointer) X5 func(*crt.TLS, unsafe.Pointer) int32 X6 func(*crt.TLS, unsafe.Pointer) X7 func(*crt.TLS, unsafe.Pointer) int32 X8 func(*crt.TLS, unsafe.Pointer) int32 } X12 struct { X0 int32 X1 unsafe.Pointer X2 func(*crt.TLS, unsafe.Pointer) int32 X3 func(*crt.TLS, unsafe.Pointer) X4 func(*crt.TLS, int32, int32, int32) unsafe.Pointer X5 func(*crt.TLS, unsafe.Pointer, int32) X6 func(*crt.TLS, unsafe.Pointer) int32 X7 func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer X8 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) X9 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32) X10 func(*crt.TLS, unsafe.Pointer, uint32) X11 func(*crt.TLS, unsafe.Pointer) X12 func(*crt.TLS, unsafe.Pointer) } X13 unsafe.Pointer X14 int32 X15 int32 X16 int32 X17 int64 X18 int64 X19 unsafe.Pointer X20 int32 X21 int32 X22 unsafe.Pointer X23 int32 X24 int32 X25 int32 X26 int32 X27 uint32 X28 int32 X29 int32 X30 int32 X31 int32 X32 int32 X33 int32 X34 unsafe.Pointer X35 func(*crt.TLS, unsafe.Pointer, int32, *int8) X36 unsafe.Pointer X37 func(*crt.TLS, int32) int32 X38 int32 X39 int32 } // T5408917 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} type Xsqlite3_mem_methods struct { X0 func(*crt.TLS, int32) unsafe.Pointer X1 func(*crt.TLS, unsafe.Pointer) X2 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) int32 X4 func(*crt.TLS, int32) int32 X5 func(*crt.TLS, unsafe.Pointer) int32 X6 func(*crt.TLS, unsafe.Pointer) X7 unsafe.Pointer } // T5410021 struct{*func(int32)*struct{},*func(*struct{}),*func(*struct{},int32)*struct{},*func(*struct{})int32,*func(int32)int32,*func(*struct{})int32,*func(*struct{}),*struct{}} type Xsqlite3_mutex_methods struct { X0 func(*crt.TLS) int32 X1 func(*crt.TLS) int32 X2 func(*crt.TLS, int32) unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) X4 func(*crt.TLS, unsafe.Pointer) X5 func(*crt.TLS, unsafe.Pointer) int32 X6 func(*crt.TLS, unsafe.Pointer) X7 func(*crt.TLS, unsafe.Pointer) int32 X8 func(*crt.TLS, unsafe.Pointer) int32 } // T5410215 struct{*func()int32,*func()int32,*func(int32)*struct{},*func(*struct{}),*func(*struct{}),*func(*struct{})int32,*func(*struct{}),*func(*struct{})int32,*func(*struct{})int32} type Xsqlite3_pcache_methods2 struct { X0 int32 X1 unsafe.Pointer X2 func(*crt.TLS, unsafe.Pointer) int32 X3 func(*crt.TLS, unsafe.Pointer) X4 func(*crt.TLS, int32, int32, int32) unsafe.Pointer X5 func(*crt.TLS, unsafe.Pointer, int32) X6 func(*crt.TLS, unsafe.Pointer) int32 X7 func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer X8 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) X9 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32) X10 func(*crt.TLS, unsafe.Pointer, uint32) X11 func(*crt.TLS, unsafe.Pointer) X12 func(*crt.TLS, unsafe.Pointer) } // T5410749 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{})} type XFuncDefHash struct{ X0 [23]unsafe.Pointer } // T5411133 struct{[23]*struct{}} type XToken struct { X0 *int8 X1 uint32 } // T5411203 struct{*int8,uint32} type Tsqlite3StatType struct { X0 [10]int64 X1 [10]int64 } // T5411510 struct{[10]int64,[10]int64} type Xsqlite3_pcache_page struct { X0 unsafe.Pointer X1 unsafe.Pointer } // T5411842 struct{*struct{},*struct{}} type Xsqlite3_mutex struct { X0 struct { X [0]struct { X0 struct { X0 int32 X1 uint32 X2 int32 X3 uint32 X4 int32 X5 int16 X6 int16 X7 struct { X0 unsafe.Pointer X1 unsafe.Pointer } } X1 [40]int8 X2 int64 } U [40]byte } X1 int32 X2 int32 X3 uint64 X4 int32 } // T5411959 struct{union{struct{int32,uint32,int32,uint32,int32,int16,int16,struct{*struct{},*struct{}}},[40]int8,int64},int32,int32,uint64,int32} type XHash struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } // T5415541 struct{uint32,uint32,*struct{},*struct{}} type XDb struct { X0 *int8 X1 unsafe.Pointer X2 uint8 X3 uint8 X4 unsafe.Pointer } // T5415690 struct{*int8,*struct{},uint8,uint8,*struct{}} type Xsqlite3 struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 int32 X6 int32 X7 int64 X8 int64 X9 uint32 X10 int32 X11 int32 X12 int32 X13 uint16 X14 uint8 X15 uint8 X16 uint8 X17 uint8 X18 uint8 X19 uint8 X20 int8 X21 uint8 X22 uint8 X23 uint8 X24 uint8 X25 uint8 X26 uint8 X27 int32 X28 uint32 X29 int32 X30 int32 X31 [12]int32 X32 int32 X33 struct { X0 int32 X1 uint8 X2 uint8 X3 uint8 X4 uint8 } X34 int32 X35 int32 X36 int32 X37 int32 X38 int32 X39 int32 X40 *unsafe.Pointer X41 func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 X42 unsafe.Pointer X43 func(*crt.TLS, unsafe.Pointer, *int8, uint64) X44 unsafe.Pointer X45 unsafe.Pointer X46 func(*crt.TLS, unsafe.Pointer) int32 X47 unsafe.Pointer X48 func(*crt.TLS, unsafe.Pointer) X49 unsafe.Pointer X50 func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64) X51 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 X52 unsafe.Pointer X53 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) X54 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) X55 unsafe.Pointer X56 unsafe.Pointer X57 struct { X [0]struct { X0 int32 X1 float64 } U [8]byte } X58 struct { X0 uint32 X1 uint16 X2 uint8 X3 int32 X4 int32 X5 [3]int32 X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer } X59 func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 X60 unsafe.Pointer X61 func(*crt.TLS, unsafe.Pointer) int32 X62 unsafe.Pointer X63 uint32 X64 int32 X65 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X66 unsafe.Pointer X67 *unsafe.Pointer X68 unsafe.Pointer X69 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X70 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X71 struct { X0 func(*crt.TLS, unsafe.Pointer, int32) int32 X1 unsafe.Pointer X2 int32 } X72 [2]struct { X0 *int8 X1 unsafe.Pointer X2 uint8 X3 uint8 X4 unsafe.Pointer } X73 unsafe.Pointer X74 int32 X75 int32 X76 int32 X77 int64 X78 int64 X79 *int32 } // T5415785 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} type XBtLock struct { X0 unsafe.Pointer X1 uint32 X2 uint8 X3 unsafe.Pointer } // T5423249 struct{*struct{},uint32,uint8,*struct{}} type XBtree struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint8 X3 uint8 X4 uint8 X5 uint8 X6 int32 X7 int32 X8 uint32 X9 unsafe.Pointer X10 unsafe.Pointer X11 struct { X0 unsafe.Pointer X1 uint32 X2 uint8 X3 unsafe.Pointer } } // T5423290 struct{*struct{},*struct{},uint8,uint8,uint8,uint8,int32,int32,uint32,*struct{},*struct{},struct{*struct{},uint32,uint8,*struct{}}} type XPager struct { X0 unsafe.Pointer X1 uint8 X2 uint8 X3 uint8 X4 uint8 X5 uint8 X6 uint8 X7 uint8 X8 uint8 X9 uint8 X10 uint8 X11 uint8 X12 uint8 X13 uint8 X14 uint8 X15 uint8 X16 uint8 X17 uint8 X18 uint8 X19 uint8 X20 uint8 X21 uint8 X22 uint32 X23 uint32 X24 uint32 X25 uint32 X26 int32 X27 int32 X28 uint32 X29 uint32 X30 unsafe.Pointer X31 unsafe.Pointer X32 unsafe.Pointer X33 unsafe.Pointer X34 int64 X35 int64 X36 unsafe.Pointer X37 unsafe.Pointer X38 int32 X39 uint32 X40 [16]int8 X41 int32 X42 int64 X43 unsafe.Pointer X44 uint16 X45 int16 X46 uint32 X47 uint32 X48 int32 X49 uint32 X50 int64 X51 *int8 X52 *int8 X53 func(*crt.TLS, unsafe.Pointer) int32 X54 unsafe.Pointer X55 [3]int32 X56 func(*crt.TLS, unsafe.Pointer) X57 func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32 X58 *int8 X59 unsafe.Pointer X60 unsafe.Pointer X61 *int8 } // T5424214 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} type XSchema struct { X0 int32 X1 int32 X2 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X3 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X4 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X5 struct { X0 uint32 X1 uint32 X2 unsafe.Pointer X3 unsafe.Pointer } X6 unsafe.Pointer X7 uint8 X8 uint8 X9 uint16 X10 int32 } // T5428113 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} type XHashElem struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 *int8 } // T5428617 struct{*struct{},*struct{},*struct{},*int8} type XExprList struct { X0 int32 X1 unsafe.Pointer } // T5429913 struct{int32,*struct{}} type XTrigger struct { X0 *int8 X1 *int8 X2 uint8 X3 uint8 X4 unsafe.Pointer X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer X9 unsafe.Pointer } // T5431279 struct{*int8,*int8,uint8,uint8,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{}} type XTable struct { X0 *int8 X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 *int8 X6 unsafe.Pointer X7 int32 X8 uint32 X9 uint32 X10 int16 X11 int16 X12 int16 X13 int16 X14 uint8 X15 int32 X16 int32 X17 **int8 X18 unsafe.Pointer X19 unsafe.Pointer X20 unsafe.Pointer X21 unsafe.Pointer } // T5434142 struct{*int8,*struct{},*struct{},*struct{},*struct{},*int8,*struct{},int32,uint32,uint32,int16,int16,int16,int16,uint8,int32,int32,**int8,*struct{},*struct{},*struct{},*struct{}} type TVdbe struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 int16 X5 uint32 X6 int32 X7 int32 X8 uint32 X9 int32 X10 int32 X11 int32 X12 int32 X13 int64 X14 int64 X15 int64 X16 int64 X17 unsafe.Pointer X18 unsafe.Pointer X19 *unsafe.Pointer X20 unsafe.Pointer X21 unsafe.Pointer X22 *int8 X23 *unsafe.Pointer X24 unsafe.Pointer X25 *int32 X26 int64 X27 int32 X28 int32 X29 uint16 X30 uint8 X31 uint8 X32 int16 X33 uint32 X34 uint32 X35 [5]uint32 X36 *int8 X37 unsafe.Pointer X38 unsafe.Pointer X39 unsafe.Pointer X40 int32 X41 uint32 X42 unsafe.Pointer X43 unsafe.Pointer } // T5436246 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{}} type XDateTime struct { X0 int64 X1 int32 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 float64 X8 int8 X9 int8 X10 int8 X11 int8 X12 int8 X13 int8 X14 int8 } // T5443975 struct{int64,int32,int32,int32,int32,int32,int32,float64,int8,int8,int8,int8,int8,int8,int8} type Xsqlite3_context struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 int32 X5 int32 X6 uint8 X7 uint8 X8 uint8 X9 [1]unsafe.Pointer } // T5444898 struct{*struct{},*struct{},*struct{},*struct{},int32,int32,uint8,uint8,uint8,[1]*struct{}} type XMem struct { X0 struct { X [0]struct { X0 float64 X1 int64 X2 int32 X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer } U [8]byte } X1 uint16 X2 uint8 X3 uint8 X4 int32 X5 *int8 X6 *int8 X7 int32 X8 uint32 X9 unsafe.Pointer X10 func(*crt.TLS, unsafe.Pointer) X11 unsafe.Pointer X12 unsafe.Pointer } // T5448450 struct{union{float64,int64,int32,*struct{},*struct{},*struct{}},uint16,uint8,uint8,int32,*int8,*int8,int32,uint32,*struct{},*func(*struct{}),*struct{},*struct{}} type XFuncDef struct { X0 int8 X1 uint16 X2 unsafe.Pointer X3 unsafe.Pointer X4 func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) X5 func(*crt.TLS, unsafe.Pointer) X6 *int8 X7 struct { X [0]struct { X0 unsafe.Pointer X1 unsafe.Pointer } U [8]byte } } // T5458838 struct{int8,uint16,*struct{},*struct{},*func(*struct{},int32,**struct{}),*func(*struct{}),*int8,union{*struct{},*struct{}}} type Xsqlite3_file struct{ X0 unsafe.Pointer } // T5459579 struct{*struct{}} type Xsqlite3_io_methods struct { X0 int32 X1 func(*crt.TLS, unsafe.Pointer) int32 X2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 X3 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 X4 func(*crt.TLS, unsafe.Pointer, int64) int32 X5 func(*crt.TLS, unsafe.Pointer, int32) int32 X6 func(*crt.TLS, unsafe.Pointer, *int64) int32 X7 func(*crt.TLS, unsafe.Pointer, int32) int32 X8 func(*crt.TLS, unsafe.Pointer, int32) int32 X9 func(*crt.TLS, unsafe.Pointer, *int32) int32 X10 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 X11 func(*crt.TLS, unsafe.Pointer) int32 X12 func(*crt.TLS, unsafe.Pointer) int32 X13 func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32 X14 func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32 X15 func(*crt.TLS, unsafe.Pointer) X16 func(*crt.TLS, unsafe.Pointer, int32) int32 X17 func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32 X18 func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32 } // T5460914 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} type Xsqlite3_vfs struct { X0 int32 X1 int32 X2 int32 X3 unsafe.Pointer X4 *int8 X5 unsafe.Pointer X6 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32 X7 func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 X8 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32 X9 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32 X10 func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer X11 func(*crt.TLS, unsafe.Pointer, int32, *int8) X12 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS) X13 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) X14 func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 X15 func(*crt.TLS, unsafe.Pointer, int32) int32 X16 func(*crt.TLS, unsafe.Pointer, *float64) int32 X17 func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 X18 func(*crt.TLS, unsafe.Pointer, *int64) int32 X19 func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32 X20 func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS) X21 func(*crt.TLS, unsafe.Pointer, *int8) *int8 } // T5465213 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} type TBenignMallocHooks struct { X0 func(*crt.TLS) X1 func(*crt.TLS) } // T5485076 struct{*func(),*func()} type Xsqlite3_debug_mutex struct { X0 int32 X1 int32 } // T5487284 struct{int32,int32} type TMem0Global struct { X0 unsafe.Pointer X1 int64 X2 unsafe.Pointer X3 unsafe.Pointer X4 uint32 X5 int32 } // T5489546 struct{*struct{},int64,*struct{},*struct{},uint32,int32} type Xet_info struct { X0 int8 X1 uint8 X2 uint8 X3 uint8 X4 uint8 X5 uint8 } // T5504697 struct{int8,uint8,uint8,uint8,uint8,uint8} type XStrAccum struct { X0 unsafe.Pointer X1 *int8 X2 *int8 X3 uint32 X4 uint32 X5 uint32 X6 uint8 X7 uint8 } // T5504865 struct{*struct{},*int8,*int8,uint32,uint32,uint32,uint8,uint8} type XPrintfArguments struct { X0 int32 X1 int32 X2 *unsafe.Pointer } // T5505063 struct{int32,int32,**struct{}} type TSrcList_item struct { X0 unsafe.Pointer X1 *int8 X2 *int8 X3 *int8 X4 unsafe.Pointer X5 unsafe.Pointer X6 int32 X7 int32 X8 int32 X9 struct { X0 uint8 X1 int8 } X10 uint8 X11 int32 X12 unsafe.Pointer X13 unsafe.Pointer X14 uint64 X15 struct { X [0]struct { X0 *int8 X1 unsafe.Pointer } U [8]byte } X16 unsafe.Pointer } // T5506941 struct{*struct{},*int8,*int8,*int8,*struct{},*struct{},int32,int32,int32,struct{uint8,int8,},uint8,int32,*struct{},*struct{},uint64,union{*int8,*struct{}},*struct{}} type XSrcList struct { X0 int32 X1 uint32 X2 [1]struct { X0 unsafe.Pointer X1 *int8 X2 *int8 X3 *int8 X4 unsafe.Pointer X5 unsafe.Pointer X6 int32 X7 int32 X8 int32 X9 struct { X0 uint8 X1 int8 } X10 uint8 X11 int32 X12 unsafe.Pointer X13 unsafe.Pointer X14 uint64 X15 struct { X [0]struct { X0 *int8 X1 unsafe.Pointer } U [8]byte } X16 unsafe.Pointer } } // T5507278 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{}}} type TCte struct { X0 *int8 X1 unsafe.Pointer X2 unsafe.Pointer X3 *int8 } // T5517214 struct{*int8,*struct{},*struct{},*int8} type XWith struct { X0 int32 X1 unsafe.Pointer X2 [1]struct { X0 *int8 X1 unsafe.Pointer X2 unsafe.Pointer X3 *int8 } } // T5517297 struct{int32,*struct{},[1]struct{*int8,*struct{},*struct{},*int8}} type TExprList_item struct { X0 unsafe.Pointer X1 *int8 X2 *int8 X3 uint8 X4 int8 X5 struct { X [0]struct { X0 struct { X0 uint16 X1 uint16 } X1 int32 } U [4]byte } } // T5517833 struct{*struct{},*int8,*int8,uint8,int8,union{struct{uint16,uint16},int32}} type XSelect struct { X0 unsafe.Pointer X1 uint8 X2 int16 X3 uint32 X4 int32 X5 int32 X6 [12]int8 X7 [2]int32 X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 unsafe.Pointer X12 unsafe.Pointer X13 unsafe.Pointer X14 unsafe.Pointer X15 unsafe.Pointer X16 unsafe.Pointer X17 unsafe.Pointer } // T5518171 struct{*struct{},uint8,int16,uint32,int32,int32,[12]int8,[2]int32,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{}} type XExpr struct { X0 uint8 X1 int8 X2 uint32 X3 struct { X [0]struct { X0 *int8 X1 int32 } U [8]byte } X4 unsafe.Pointer X5 unsafe.Pointer X6 struct { X [0]struct { X0 unsafe.Pointer X1 unsafe.Pointer } U [8]byte } X7 int32 X8 int32 X9 int16 X10 int16 X11 int16 X12 uint8 X13 unsafe.Pointer X14 unsafe.Pointer } // T5519057 struct{uint8,int8,uint32,union{*int8,int32},*struct{},*struct{},union{*struct{},*struct{}},int32,int32,int16,int16,int16,uint8,*struct{},*struct{}} type Tsqlite3PrngType struct { X0 uint8 X1 uint8 X2 uint8 X3 [256]uint8 } // T5520516 struct{uint8,uint8,uint8,[256]uint8} type XSQLiteThread struct { X0 uint64 X1 int32 X2 unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X4 unsafe.Pointer } // T5521457 struct{uint64,int32,*struct{},*func(*struct{})*struct{},*struct{}} type XColumn struct { X0 *int8 X1 unsafe.Pointer X2 *int8 X3 uint8 X4 int8 X5 uint8 X6 uint8 } // T5524939 struct{*int8,*struct{},*int8,uint8,int8,uint8,uint8} type TyColCache struct { X0 int32 X1 int16 X2 uint8 X3 int32 X4 int32 X5 int32 } // T5530820 struct{int32,int16,uint8,int32,int32,int32} type XParse struct { X0 unsafe.Pointer X1 *int8 X2 unsafe.Pointer X3 int32 X4 uint8 X5 uint8 X6 uint8 X7 uint8 X8 uint8 X9 uint8 X10 uint8 X11 uint8 X12 uint8 X13 uint8 X14 int32 X15 int32 X16 int32 X17 int32 X18 int32 X19 int32 X20 int32 X21 int32 X22 int32 X23 int32 X24 int32 X25 int32 X26 *int32 X27 unsafe.Pointer X28 struct { X0 *int8 X1 uint32 } X29 uint32 X30 uint32 X31 int32 X32 int32 X33 int32 X34 int32 X35 int32 X36 int32 X37 unsafe.Pointer X38 unsafe.Pointer X39 unsafe.Pointer X40 unsafe.Pointer X41 int32 X42 uint32 X43 uint32 X44 uint32 X45 uint8 X46 uint8 X47 uint8 X48 [10]struct { X0 int32 X1 int16 X2 uint8 X3 int32 X4 int32 X5 int32 } X49 [8]int32 X50 struct { X0 *int8 X1 uint32 } X51 struct { X0 *int8 X1 uint32 } X52 int16 X53 uint8 X54 uint8 X55 uint8 X56 int32 X57 int32 X58 int32 X59 int32 X60 *int32 X61 unsafe.Pointer X62 *int8 X63 unsafe.Pointer X64 unsafe.Pointer X65 *int8 X66 struct { X0 *int8 X1 uint32 } X67 *unsafe.Pointer X68 unsafe.Pointer X69 unsafe.Pointer X70 unsafe.Pointer X71 unsafe.Pointer } // T5530921 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{}} type Tunix_syscall struct { X0 *int8 X1 func(*crt.TLS) X2 func(*crt.TLS) } // T5538917 struct{*int8,*func(),*func()} type TunixFileId struct { X0 uint64 X1 uint64 } // T5541677 struct{uint64,uint64} type XunixInodeInfo struct { X0 struct { X0 uint64 X1 uint64 } X1 int32 X2 uint8 X3 uint8 X4 int32 X5 unsafe.Pointer X6 int32 X7 unsafe.Pointer X8 unsafe.Pointer X9 unsafe.Pointer } // T5541699 struct{struct{uint64,uint64},int32,uint8,uint8,int32,*struct{},int32,*struct{},*struct{},*struct{}} type XunixFile struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 int32 X4 uint8 X5 uint16 X6 int32 X7 unsafe.Pointer X8 unsafe.Pointer X9 *int8 X10 unsafe.Pointer X11 int32 X12 int32 X13 int64 X14 int64 X15 int64 X16 unsafe.Pointer X17 uint8 X18 uint8 X19 uint8 } // T5542041 struct{*struct{},*struct{},*struct{},int32,uint8,uint16,int32,*struct{},*struct{},*int8,*struct{},int32,int32,int64,int64,int64,*struct{},uint8,uint8,uint8} type XUnixUnusedFd struct { X0 int32 X1 int32 X2 unsafe.Pointer } // T5542940 struct{int32,int32,*struct{}} type XunixShmNode struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 *int8 X3 int32 X4 int32 X5 uint16 X6 uint8 X7 **int8 X8 int32 X9 unsafe.Pointer X10 uint8 X11 uint8 X12 uint8 } // T5543324 struct{*struct{},*struct{},*int8,int32,int32,uint16,uint8,**int8,int32,*struct{},uint8,uint8,uint8} type Tflock struct { X0 int16 X1 int16 X2 int64 X3 int64 X4 int32 } // T5544875 struct{int16,int16,int64,int64,int32} type TunixShm struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint8 X3 uint8 X4 uint16 X5 uint16 } // T5548245 struct{*struct{},*struct{},uint8,uint8,uint16,uint16} type XBitvec struct { X0 uint32 X1 uint32 X2 uint32 X3 struct { X [0]struct { X0 [496]uint8 X1 [124]uint32 X2 [62]unsafe.Pointer } U [496]byte } } // T5555995 struct{uint32,uint32,uint32,union{[496]uint8,[124]uint32,[62]*struct{}}} type XPgHdr struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 uint32 X6 uint16 X7 int16 X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer } // T5557687 struct{*struct{},*struct{},*struct{},*struct{},*struct{},uint32,uint16,int16,*struct{},*struct{},*struct{}} type XPCache struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 int32 X4 int32 X5 int32 X6 int32 X7 int32 X8 uint8 X9 uint8 X10 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 X11 unsafe.Pointer X12 unsafe.Pointer } // T5558073 struct{*struct{},*struct{},*struct{},int32,int32,int32,int32,int32,uint8,uint8,*func(*struct{},*struct{})int32,*struct{},*struct{}} type TPCacheGlobal struct { X0 struct { X0 unsafe.Pointer X1 uint32 X2 uint32 X3 uint32 X4 uint32 X5 struct { X0 struct { X0 unsafe.Pointer X1 unsafe.Pointer } X1 uint32 X2 uint8 X3 uint8 X4 uint8 X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer } } X1 int32 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 unsafe.Pointer X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 int32 X12 int32 } // T5565867 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} type XPgHdr1 struct { X0 struct { X0 unsafe.Pointer X1 unsafe.Pointer } X1 uint32 X2 uint8 X3 uint8 X4 uint8 X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer } // T5566111 struct{struct{*struct{},*struct{}},uint32,uint8,uint8,uint8,*struct{},*struct{},*struct{},*struct{}} type XPGroup struct { X0 unsafe.Pointer X1 uint32 X2 uint32 X3 uint32 X4 uint32 X5 struct { X0 struct { X0 unsafe.Pointer X1 unsafe.Pointer } X1 uint32 X2 uint8 X3 uint8 X4 uint8 X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer } } // T5566212 struct{*struct{},uint32,uint32,uint32,uint32,struct{struct{*struct{},*struct{}},uint32,uint8,uint8,uint8,*struct{},*struct{},*struct{},*struct{}}} type XPCache1 struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 int32 X4 int32 X5 uint32 X6 uint32 X7 uint32 X8 uint32 X9 uint32 X10 uint32 X11 uint32 X12 *unsafe.Pointer X13 unsafe.Pointer X14 unsafe.Pointer } // T5566817 struct{*struct{},int32,int32,int32,int32,uint32,uint32,uint32,uint32,uint32,uint32,uint32,**struct{},*struct{},*struct{}} type XRowSet struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 uint16 X7 uint16 X8 int32 } // T5572828 struct{*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},uint16,uint16,int32} type TRowSetEntry struct { X0 int64 X1 unsafe.Pointer X2 unsafe.Pointer } // T5573198 struct{int64,*struct{},*struct{}} type TRowSetChunk struct { X0 unsafe.Pointer X1 [42]struct { X0 int64 X1 unsafe.Pointer X2 unsafe.Pointer } } // T5573270 struct{*struct{},[42]struct{int64,*struct{},*struct{}}} type XWalIndexHdr struct { X0 uint32 X1 uint32 X2 uint32 X3 uint8 X4 uint8 X5 uint16 X6 uint32 X7 uint32 X8 [2]uint32 X9 [2]uint32 X10 [2]uint32 } // T5575814 struct{uint32,uint32,uint32,uint8,uint8,uint16,uint32,uint32,[2]uint32,[2]uint32,[2]uint32} type XWal struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 uint32 X4 int64 X5 int32 X6 int32 X7 **uint32 X8 uint32 X9 int16 X10 uint8 X11 uint8 X12 uint8 X13 uint8 X14 uint8 X15 uint8 X16 uint8 X17 uint8 X18 struct { X0 uint32 X1 uint32 X2 uint32 X3 uint8 X4 uint8 X5 uint16 X6 uint32 X7 uint32 X8 [2]uint32 X9 [2]uint32 X10 [2]uint32 } X19 uint32 X20 uint32 X21 *int8 X22 uint32 X23 uint8 } // T5575906 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} type XPagerSavepoint struct { X0 int64 X1 int64 X2 unsafe.Pointer X3 uint32 X4 uint32 X5 [4]uint32 } // T5579381 struct{int64,int64,*struct{},uint32,uint32,[4]uint32} type Xsqlite3_backup struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint32 X3 int32 X4 uint32 X5 unsafe.Pointer X6 unsafe.Pointer X7 int32 X8 uint32 X9 uint32 X10 int32 X11 unsafe.Pointer } // T5584604 struct{*struct{},*struct{},uint32,int32,uint32,*struct{},*struct{},int32,uint32,uint32,int32,*struct{}} type XWalCkptInfo struct { X0 uint32 X1 [5]uint32 X2 [8]uint8 X3 uint32 X4 uint32 } // T5638483 struct{uint32,[5]uint32,[8]uint8,uint32,uint32} type TWalSegment struct { X0 int32 X1 *uint16 X2 *uint32 X3 int32 X4 int32 } // T5645019 struct{int32,*uint16,*uint32,int32,int32} type XWalIterator struct { X0 int32 X1 int32 X2 [1]struct { X0 int32 X1 *uint16 X2 *uint32 X3 int32 X4 int32 } } // T5645106 struct{int32,int32,[1]struct{int32,*uint16,*uint32,int32,int32}} type TSublist struct { X0 int32 X1 *uint16 } // T5645578 struct{int32,*uint16} type XWalWriter struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int64 X3 int32 X4 int32 } // T5651094 struct{*struct{},*struct{},int64,int32,int32} type XBtShared struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 uint8 X5 uint8 X6 uint8 X7 uint8 X8 uint8 X9 uint8 X10 uint16 X11 uint16 X12 uint16 X13 uint16 X14 uint16 X15 uint32 X16 uint32 X17 int32 X18 uint32 X19 unsafe.Pointer X20 func(*crt.TLS, unsafe.Pointer) X21 unsafe.Pointer X22 unsafe.Pointer X23 int32 X24 unsafe.Pointer X25 unsafe.Pointer X26 unsafe.Pointer X27 *uint8 } // T5654710 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} type XCellInfo struct { X0 int64 X1 *uint8 X2 uint32 X3 uint16 X4 uint16 } // T5660186 struct{int64,*uint8,uint32,uint16,uint16} type XBtCursor struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 *uint32 X4 struct { X0 int64 X1 *uint8 X2 uint32 X3 uint16 X4 uint16 } X5 int64 X6 unsafe.Pointer X7 uint32 X8 int32 X9 int32 X10 uint8 X11 uint8 X12 uint8 X13 uint8 X14 int8 X15 uint8 X16 unsafe.Pointer X17 unsafe.Pointer X18 [20]uint16 X19 [20]unsafe.Pointer } // T5660253 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{}} type XIndex struct { X0 *int8 X1 *int16 X2 *int16 X3 unsafe.Pointer X4 *int8 X5 unsafe.Pointer X6 unsafe.Pointer X7 *uint8 X8 **int8 X9 unsafe.Pointer X10 unsafe.Pointer X11 int32 X12 int16 X13 uint16 X14 uint16 X15 uint8 X16 int8 } // T5661159 struct{*int8,*int16,*int16,*struct{},*int8,*struct{},*struct{},*uint8,**int8,*struct{},*struct{},int32,int16,uint16,uint16,uint8,int8,} type XMemPage struct { X0 uint8 X1 uint8 X2 uint8 X3 uint8 X4 uint32 X5 uint8 X6 uint8 X7 uint8 X8 uint8 X9 uint8 X10 uint16 X11 uint16 X12 uint16 X13 uint16 X14 uint16 X15 uint16 X16 [4]uint16 X17 [4]*uint8 X18 unsafe.Pointer X19 *uint8 X20 *uint8 X21 *uint8 X22 *uint8 X23 unsafe.Pointer X24 func(*crt.TLS, unsafe.Pointer, *uint8) uint16 X25 func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) } // T5664201 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{})} type XUnpackedRecord struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint16 X3 int8 X4 uint8 X5 int8 X6 int8 X7 uint8 } // T5669053 struct{*struct{},*struct{},uint16,int8,uint8,int8,int8,uint8} type XKeyInfo struct { X0 uint32 X1 uint8 X2 uint16 X3 uint16 X4 unsafe.Pointer X5 *uint8 X6 [1]unsafe.Pointer } // T5669332 struct{uint32,uint8,uint16,uint16,*struct{},*uint8,[1]*struct{}} type XBtreePayload struct { X0 unsafe.Pointer X1 int64 X2 unsafe.Pointer X3 unsafe.Pointer X4 uint16 X5 int32 X6 int32 } // T5713995 struct{*struct{},int64,*struct{},*struct{},uint16,int32,int32} type XCellArray struct { X0 int32 X1 unsafe.Pointer X2 **uint8 X3 *uint16 } // T5715633 struct{int32,*struct{},**uint8,*uint16} type XIntegrityCk struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 *uint8 X3 uint32 X4 int32 X5 int32 X6 int32 X7 *int8 X8 int32 X9 int32 X10 struct { X0 unsafe.Pointer X1 *int8 X2 *int8 X3 uint32 X4 uint32 X5 uint32 X6 uint8 X7 uint8 } X11 *uint32 } // T5729133 struct{*struct{},*struct{},*uint8,uint32,int32,int32,int32,*int8,int32,int32,struct{*struct{},*int8,*int8,uint32,uint32,uint32,uint8,uint8},*uint32} type XVdbeFrame struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 *int64 X4 unsafe.Pointer X5 *unsafe.Pointer X6 *uint8 X7 unsafe.Pointer X8 int64 X9 unsafe.Pointer X10 int32 X11 int32 X12 int32 X13 int32 X14 int32 X15 int32 X16 int32 X17 int32 } // T5755673 struct{*struct{},*struct{},*struct{},*int64,*struct{},**struct{},*uint8,*struct{},int64,*struct{},int32,int32,int32,int32,int32,int32,int32,int32} type XVdbeOp struct { X0 uint8 X1 int8 X2 uint16 X3 int32 X4 int32 X5 int32 X6 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 *int8 X3 *int64 X4 *float64 X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 *int32 X12 unsafe.Pointer X13 unsafe.Pointer X14 func(*crt.TLS, unsafe.Pointer, *int32) int32 } U [8]byte } X7 *int8 } // T5777208 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} type XVdbeOpIter struct { X0 unsafe.Pointer X1 *unsafe.Pointer X2 int32 X3 int32 X4 int32 } // T5794118 struct{*struct{},**struct{},int32,int32,int32} type XSubProgram struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 int32 X4 *uint8 X5 unsafe.Pointer X6 unsafe.Pointer } // T5794309 struct{*struct{},int32,int32,int32,*uint8,*struct{},*struct{}} type XVdbeOpList struct { X0 uint8 X1 int8 X2 int8 X3 int8 } // T5797194 struct{uint8,int8,int8,int8} type XVTable struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 int32 X4 uint8 X5 int32 X6 unsafe.Pointer } // T5809639 struct{*struct{},*struct{},*struct{},int32,uint8,int32,*struct{}} type XCollSeq struct { X0 *int8 X1 uint8 X2 unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32 X4 func(*crt.TLS, unsafe.Pointer) } // T5820027 struct{*int8,uint8,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32,*func(*struct{})} type Xsqlite3_vtab struct { X0 unsafe.Pointer X1 int32 X2 *int8 } // T5820507 struct{*struct{},int32,*int8} type XVdbeCursor struct { X0 uint8 X1 int8 X2 uint8 X3 uint8 X4 uint8 X5 uint8 X6 uint8 X7 int8 X8 unsafe.Pointer X9 int64 X10 *int32 X11 uint32 X12 int32 X13 unsafe.Pointer X14 struct { X [0]struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int32 X3 unsafe.Pointer } U [8]byte } X15 unsafe.Pointer X16 uint32 X17 uint32 X18 int16 X19 uint16 X20 int64 X21 *uint32 X22 *uint8 X23 uint32 X24 uint32 X25 [1]uint32 } // T5823762 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} type XAuxData struct { X0 int32 X1 int32 X2 unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) X4 unsafe.Pointer } // T5827076 struct{int32,int32,*struct{},*func(*struct{}),*struct{}} type TReusableSpace struct { X0 *uint8 X1 int32 X2 int32 } // T5829021 struct{*uint8,int32,int32} type Xsqlite3_module struct { X0 int32 X1 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 X2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 X3 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 X4 func(*crt.TLS, unsafe.Pointer) int32 X5 func(*crt.TLS, unsafe.Pointer) int32 X6 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 X7 func(*crt.TLS, unsafe.Pointer) int32 X8 func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, *unsafe.Pointer) int32 X9 func(*crt.TLS, unsafe.Pointer) int32 X10 func(*crt.TLS, unsafe.Pointer) int32 X11 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32 X12 func(*crt.TLS, unsafe.Pointer, *int64) int32 X13 func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 X14 func(*crt.TLS, unsafe.Pointer) int32 X15 func(*crt.TLS, unsafe.Pointer) int32 X16 func(*crt.TLS, unsafe.Pointer) int32 X17 func(*crt.TLS, unsafe.Pointer) int32 X18 func(*crt.TLS, unsafe.Pointer, int32, *int8, *func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), *unsafe.Pointer) int32 X19 func(*crt.TLS, unsafe.Pointer, *int8) int32 X20 func(*crt.TLS, unsafe.Pointer, int32) int32 X21 func(*crt.TLS, unsafe.Pointer, int32) int32 X22 func(*crt.TLS, unsafe.Pointer, int32) int32 } // T5836173 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} type XSavepoint struct { X0 *int8 X1 int64 X2 int64 X3 unsafe.Pointer } // T5877439 struct{*int8,int64,int64,*struct{}} type XSorterFile struct { X0 unsafe.Pointer X1 int64 } // T5901908 struct{*struct{},int64} type XSortSubtask struct { X0 unsafe.Pointer X1 int32 X2 unsafe.Pointer X3 unsafe.Pointer X4 struct { X0 unsafe.Pointer X1 *uint8 X2 int32 } X5 int32 X6 func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 X7 struct { X0 unsafe.Pointer X1 int64 } X8 struct { X0 unsafe.Pointer X1 int64 } } // T5901932 struct{*struct{},int32,*struct{},*struct{},struct{*struct{},*uint8,int32},int32,*func(*struct{},*int32,*struct{},int32,*struct{},int32)int32,struct{*struct{},int64},struct{*struct{},int64}} type XVdbeSorter struct { X0 int32 X1 int32 X2 int32 X3 int32 X4 unsafe.Pointer X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer X9 struct { X0 unsafe.Pointer X1 *uint8 X2 int32 } X10 int32 X11 int32 X12 uint8 X13 uint8 X14 uint8 X15 uint8 X16 uint8 X17 [1]struct { X0 unsafe.Pointer X1 int32 X2 unsafe.Pointer X3 unsafe.Pointer X4 struct { X0 unsafe.Pointer X1 *uint8 X2 int32 } X5 int32 X6 func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 X7 struct { X0 unsafe.Pointer X1 int64 } X8 struct { X0 unsafe.Pointer X1 int64 } } } // T5902317 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}}} type XInitData struct { X0 unsafe.Pointer X1 **int8 X2 int32 X3 int32 } // T5907195 struct{*struct{},**int8,int32,int32} type XIncrblob struct { X0 int32 X1 int32 X2 uint16 X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 *int8 X7 unsafe.Pointer } // T5924319 struct{int32,int32,uint16,*struct{},*struct{},*struct{},*int8,*struct{}} type XFKey struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 *int8 X3 unsafe.Pointer X4 unsafe.Pointer X5 int32 X6 uint8 X7 [2]uint8 X8 [2]unsafe.Pointer X9 [1]struct { X0 int32 X1 *int8 } } // T5930723 struct{*struct{},*struct{},*int8,*struct{},*struct{},int32,uint8,[2]uint8,[2]*struct{},[1]struct{int32,*int8}} type XPmaReader struct { X0 int64 X1 int64 X2 int32 X3 int32 X4 unsafe.Pointer X5 *uint8 X6 *uint8 X7 *uint8 X8 int32 X9 *uint8 X10 unsafe.Pointer } // T5935423 struct{int64,int64,int32,int32,*struct{},*uint8,*uint8,*uint8,int32,*uint8,*struct{}} type XIncrMerger struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int64 X3 int32 X4 int32 X5 int32 X6 [2]struct { X0 unsafe.Pointer X1 int64 } } // T5935740 struct{*struct{},*struct{},int64,int32,int32,int32,[2]struct{*struct{},int64}} type XSorterRecord struct { X0 int32 X1 struct { X [0]struct { X0 unsafe.Pointer X1 int32 } U [8]byte } } // T5941612 struct{int32,union{*struct{},int32}} type XMergeEngine struct { X0 int32 X1 unsafe.Pointer X2 *int32 X3 unsafe.Pointer } // T5945834 struct{int32,*struct{},*int32,*struct{}} type XPmaWriter struct { X0 int32 X1 *uint8 X2 int32 X3 int32 X4 int32 X5 int64 X6 unsafe.Pointer } // T5954496 struct{int32,*uint8,int32,int32,int32,int64,*struct{}} type XMemJournal struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 int32 X4 unsafe.Pointer X5 struct { X0 int64 X1 unsafe.Pointer } X6 struct { X0 int64 X1 unsafe.Pointer } X7 int32 X8 unsafe.Pointer X9 *int8 } // T5963436 struct{*struct{},int32,int32,int32,*struct{},struct{int64,*struct{}},struct{int64,*struct{}},int32,*struct{},*int8} type XFileChunk struct { X0 unsafe.Pointer X1 [8]uint8 } // T5963711 struct{*struct{},[8]uint8} type XWalker struct { X0 unsafe.Pointer X1 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 X2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 X3 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) X4 int32 X5 uint8 X6 struct { X [0]struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 *int32 X7 unsafe.Pointer } U [8]byte } } // T5965088 struct{*struct{},*func(*struct{},*struct{})int32,*func(*struct{},*struct{})int32,*func(*struct{},*struct{}),int32,uint8,union{*struct{},int32,int32,*struct{},*struct{},*struct{},*int32,*struct{}}} type XIdList struct { X0 unsafe.Pointer X1 int32 } // T5977362 struct{*struct{},int32} type TIdList_item struct { X0 *int8 X1 int32 } // T5977461 struct{*int8,int32} type XNameContext struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 int32 X6 int32 X7 uint16 } // T5978419 struct{*struct{},*struct{},*struct{},*struct{},*struct{},int32,int32,uint16} type XExprSpan struct { X0 unsafe.Pointer X1 *int8 X2 *int8 } // T6087101 struct{*struct{},*int8,*int8} type XSelectDest struct { X0 uint8 X1 *int8 X2 int32 X3 int32 X4 int32 X5 unsafe.Pointer } // T6099604 struct{uint8,*int8,int32,int32,int32,*struct{}} type XAggInfo struct { X0 uint8 X1 uint8 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 unsafe.Pointer X8 unsafe.Pointer X9 int32 X10 int32 X11 unsafe.Pointer X12 int32 } // T6117099 struct{uint8,uint8,int32,int32,int32,int32,int32,*struct{},*struct{},int32,int32,*struct{},int32} type TAggInfo_col struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 int32 X4 int32 X5 unsafe.Pointer } // T6117360 struct{*struct{},int32,int32,int32,int32,*struct{}} type TAggInfo_func struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int32 X3 int32 } // T6119468 struct{*struct{},*struct{},int32,int32} type TSrcCount struct { X0 unsafe.Pointer X1 int32 X2 int32 } // T6129554 struct{*struct{},int32,int32} type XStat4Accum struct { X0 uint32 X1 uint32 X2 int32 X3 int32 X4 int32 X5 struct { X0 *uint32 X1 *uint32 } X6 uint32 X7 unsafe.Pointer X8 int32 X9 int32 X10 int32 X11 int32 X12 unsafe.Pointer X13 unsafe.Pointer } // T6167388 struct{uint32,uint32,int32,int32,int32,struct{*uint32,*uint32},uint32,*struct{},int32,int32,int32,int32,*struct{},*struct{}} type XanalysisInfo struct { X0 unsafe.Pointer X1 *int8 } // T6179742 struct{*struct{},*int8} type XDbFixer struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int32 X3 *int8 X4 *int8 X5 unsafe.Pointer } // T6193396 struct{*struct{},*struct{},int32,*int8,*int8,*struct{}} type XTriggerStep struct { X0 uint8 X1 uint8 X2 unsafe.Pointer X3 unsafe.Pointer X4 *int8 X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer X9 unsafe.Pointer } // T6195434 struct{uint8,uint8,*struct{},*struct{},*int8,*struct{},*struct{},*struct{},*struct{},*struct{}} type XAuthContext struct { X0 *int8 X1 unsafe.Pointer } // T6199175 struct{*int8,*struct{}} type XTableLock struct { X0 int32 X1 int32 X2 uint8 X3 *int8 } // T6199383 struct{int32,int32,uint8,*int8} type XModule struct { X0 unsafe.Pointer X1 *int8 X2 unsafe.Pointer X3 func(*crt.TLS, unsafe.Pointer) X4 unsafe.Pointer } // T6201033 struct{*struct{},*int8,*struct{},*func(*struct{}),*struct{}} type XWhereTerm struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int16 X3 uint16 X4 uint16 X5 uint8 X6 uint8 X7 int32 X8 int32 X9 int32 X10 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 unsafe.Pointer } U [8]byte } X11 uint64 X12 uint64 } // T6289252 struct{*struct{},*struct{},int16,uint16,uint16,uint8,uint8,int32,int32,int32,union{int32,*struct{},*struct{}},uint64,uint64} type XWhereClause struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint8 X3 int32 X4 int32 X5 unsafe.Pointer X6 [8]struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int16 X3 uint16 X4 uint16 X5 uint8 X6 uint8 X7 int32 X8 int32 X9 int32 X10 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 unsafe.Pointer } U [8]byte } X11 uint64 X12 uint64 } } // T6289505 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}} type XWhereMaskSet struct { X0 int32 X1 [64]int32 } // T6289700 struct{int32,[64]int32} type XWhereLevel struct { X0 int32 X1 int32 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 int32 X8 int32 X9 uint32 X10 int32 X11 uint8 X12 uint8 X13 uint8 X14 uint8 X15 int32 X16 int32 X17 struct { X [0]struct { X0 struct { X0 int32 X1 unsafe.Pointer } X1 unsafe.Pointer } U [16]byte } X18 unsafe.Pointer X19 uint64 } // T6289765 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} type XWhereInfo struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 int16 X5 [2]int32 X6 int32 X7 int32 X8 int32 X9 uint16 X10 uint8 X11 int8 X12 uint8 X13 uint8 X14 uint8 X15 uint8 X16 uint8 X17 int32 X18 unsafe.Pointer X19 uint64 X20 int16 X21 struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint8 X3 int32 X4 int32 X5 unsafe.Pointer X6 [8]struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int16 X3 uint16 X4 uint16 X5 uint8 X6 uint8 X7 int32 X8 int32 X9 int32 X10 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 unsafe.Pointer } U [8]byte } X11 uint64 X12 uint64 } } X22 struct { X0 int32 X1 [64]int32 } X23 [1]struct { X0 int32 X1 int32 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 int32 X8 int32 X9 uint32 X10 int32 X11 uint8 X12 uint8 X13 uint8 X14 uint8 X15 int32 X16 int32 X17 struct { X [0]struct { X0 struct { X0 int32 X1 unsafe.Pointer } X1 unsafe.Pointer } U [16]byte } X18 unsafe.Pointer X19 uint64 } } // T6290108 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}} type TcompareInfo struct { X0 uint8 X1 uint8 X2 uint8 X3 uint8 } // T6323574 struct{uint8,uint8,uint8,uint8} type XSumCtx struct { X0 float64 X1 int64 X2 int64 X3 uint8 X4 uint8 } // T6326963 struct{float64,int64,int64,uint8,uint8} type XCountCtx struct{ X0 int64 } // T6327161 struct{int64} type XFuncDestructor struct { X0 int32 X1 func(*crt.TLS, unsafe.Pointer) X2 unsafe.Pointer } // T6333222 struct{int32,*func(*struct{}),*struct{}} type XTriggerPrg struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 int32 X4 [2]uint32 } // T6349010 struct{*struct{},*struct{},*struct{},int32,[2]uint32} type Xsqlite3_api_routines struct { X0 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X1 func(*crt.TLS, unsafe.Pointer) int32 X2 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 X3 func(*crt.TLS, unsafe.Pointer, int32, float64) int32 X4 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 X5 func(*crt.TLS, unsafe.Pointer, int32, int64) int32 X6 func(*crt.TLS, unsafe.Pointer, int32) int32 X7 func(*crt.TLS, unsafe.Pointer) int32 X8 func(*crt.TLS, unsafe.Pointer, *int8) int32 X9 func(*crt.TLS, unsafe.Pointer, int32) *int8 X10 func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, func(*crt.TLS, unsafe.Pointer)) int32 X11 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 X12 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 X13 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32 X14 func(*crt.TLS, unsafe.Pointer, int32) int32 X15 func(*crt.TLS, unsafe.Pointer) int32 X16 func(*crt.TLS, unsafe.Pointer) int32 X17 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32 X18 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32 X19 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X20 func(*crt.TLS, unsafe.Pointer, int32) int32 X21 func(*crt.TLS, unsafe.Pointer, int32) int32 X22 func(*crt.TLS, unsafe.Pointer) int32 X23 func(*crt.TLS, unsafe.Pointer, int32) *int8 X24 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X25 func(*crt.TLS, unsafe.Pointer, int32) *int8 X26 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X27 func(*crt.TLS, unsafe.Pointer, int32) float64 X28 func(*crt.TLS, unsafe.Pointer, int32) int32 X29 func(*crt.TLS, unsafe.Pointer, int32) int64 X30 func(*crt.TLS, unsafe.Pointer, int32) *int8 X31 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X32 func(*crt.TLS, unsafe.Pointer, int32) *int8 X33 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X34 func(*crt.TLS, unsafe.Pointer, int32) *int8 X35 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X36 func(*crt.TLS, unsafe.Pointer, int32) *uint8 X37 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X38 func(*crt.TLS, unsafe.Pointer, int32) int32 X39 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X40 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer X41 func(*crt.TLS, *int8) int32 X42 func(*crt.TLS, unsafe.Pointer) int32 X43 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 X44 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 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 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 X47 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32 X48 func(*crt.TLS, unsafe.Pointer) int32 X49 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X50 func(*crt.TLS, unsafe.Pointer, *int8) int32 X51 func(*crt.TLS, int32) int32 X52 func(*crt.TLS, unsafe.Pointer) int32 X53 func(*crt.TLS, unsafe.Pointer) *int8 X54 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X55 func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32 X56 func(*crt.TLS, unsafe.Pointer) int32 X57 func(*crt.TLS, unsafe.Pointer) int32 X58 func(*crt.TLS, unsafe.Pointer) X59 func(*crt.TLS, **int8) X60 func(*crt.TLS, unsafe.Pointer) int32 X61 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X62 func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32 X63 func(*crt.TLS) int32 X64 func(*crt.TLS, unsafe.Pointer) X65 func(*crt.TLS, unsafe.Pointer) int64 X66 func(*crt.TLS) *int8 X67 func(*crt.TLS) int32 X68 func(*crt.TLS, int32) unsafe.Pointer X69 func(*crt.TLS, *int8, ...interface{}) *int8 X70 func(*crt.TLS, *int8, *unsafe.Pointer) int32 X71 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 X72 func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 X73 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 X74 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer X75 func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) X76 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer X77 func(*crt.TLS, unsafe.Pointer) int32 X78 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) X79 func(*crt.TLS, unsafe.Pointer, float64) X80 func(*crt.TLS, unsafe.Pointer, *int8, int32) X81 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) X82 func(*crt.TLS, unsafe.Pointer, int32) X83 func(*crt.TLS, unsafe.Pointer, int64) X84 func(*crt.TLS, unsafe.Pointer) X85 func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer)) X86 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) X87 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) X88 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) X89 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) X90 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer X91 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32 X92 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) X93 func(*crt.TLS, int32, *int8, *int8, ...interface{}) *int8 X94 func(*crt.TLS, unsafe.Pointer) int32 X95 func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32 X96 func(*crt.TLS) X97 func(*crt.TLS, unsafe.Pointer) int32 X98 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer X99 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 X100 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer X101 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X102 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X103 func(*crt.TLS, unsafe.Pointer) int32 X104 func(*crt.TLS, unsafe.Pointer) int32 X105 func(*crt.TLS, unsafe.Pointer) float64 X106 func(*crt.TLS, unsafe.Pointer) int32 X107 func(*crt.TLS, unsafe.Pointer) int64 X108 func(*crt.TLS, unsafe.Pointer) int32 X109 func(*crt.TLS, unsafe.Pointer) *uint8 X110 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X111 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X112 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X113 func(*crt.TLS, unsafe.Pointer) int32 X114 func(*crt.TLS, *int8, unsafe.Pointer) *int8 X115 func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 X116 func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 X117 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 X118 func(*crt.TLS, unsafe.Pointer) int32 X119 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32 X120 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 X121 func(*crt.TLS, unsafe.Pointer) int32 X122 func(*crt.TLS, unsafe.Pointer) int32 X123 func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32 X124 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 X125 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 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 X127 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32 X128 func(*crt.TLS, int32) int64 X129 func(*crt.TLS) int64 X130 func(*crt.TLS, int32) unsafe.Pointer X131 func(*crt.TLS, unsafe.Pointer) X132 func(*crt.TLS, unsafe.Pointer) X133 func(*crt.TLS, unsafe.Pointer) X134 func(*crt.TLS, unsafe.Pointer) int32 X135 func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32 X136 func(*crt.TLS, int32) int32 X137 func(*crt.TLS, unsafe.Pointer) X138 func(*crt.TLS, unsafe.Pointer) X139 func(*crt.TLS, int32) int32 X140 func(*crt.TLS, int32) X141 func(*crt.TLS, *int8) unsafe.Pointer X142 func(*crt.TLS, unsafe.Pointer, int32) int32 X143 func(*crt.TLS, unsafe.Pointer) int32 X144 func(*crt.TLS) int32 X145 func(*crt.TLS, unsafe.Pointer, int32) X146 func(*crt.TLS, unsafe.Pointer, int32) X147 func(*crt.TLS, int32, ...interface{}) int32 X148 func(*crt.TLS, int32, unsafe.Pointer) X149 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X150 func(*crt.TLS, unsafe.Pointer, int32) int32 X151 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 X152 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer X153 func(*crt.TLS, unsafe.Pointer) *int8 X154 func(*crt.TLS, int32, *int32, *int32, int32) int32 X155 func(*crt.TLS, unsafe.Pointer) int32 X156 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer X157 func(*crt.TLS, unsafe.Pointer) int32 X158 func(*crt.TLS, unsafe.Pointer) int32 X159 func(*crt.TLS, unsafe.Pointer, int32) int32 X160 func(*crt.TLS, int32) *int8 X161 func(*crt.TLS, *int8) int32 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 X163 func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 X164 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X165 func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32 X166 func(*crt.TLS, unsafe.Pointer) int32 X167 func(*crt.TLS, int32, *int8, ...interface{}) X168 func(*crt.TLS, int64) int64 X169 func(*crt.TLS) *int8 X170 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 X171 func(*crt.TLS, *int8, *int8, int32) int32 X172 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, *unsafe.Pointer, int32), unsafe.Pointer) int32 X173 func(*crt.TLS, unsafe.Pointer, int32) int32 X174 func(*crt.TLS, unsafe.Pointer, *int8) int32 X175 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer X176 func(*crt.TLS, unsafe.Pointer, int64) int32 X177 func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 X178 func(*crt.TLS, unsafe.Pointer) int32 X179 func(*crt.TLS, unsafe.Pointer) int32 X180 func(*crt.TLS, unsafe.Pointer, *int8) *int8 X181 func(*crt.TLS, unsafe.Pointer, *int8) int32 X182 func(*crt.TLS, unsafe.Pointer) int32 X183 func(*crt.TLS, int32) *int8 X184 func(*crt.TLS, unsafe.Pointer) int32 X185 func(*crt.TLS, unsafe.Pointer) int32 X186 func(*crt.TLS, *int8, *int8) int32 X187 func(*crt.TLS, *int8, *int8, int32) int32 X188 func(*crt.TLS, *int8, *int8, int64) int64 X189 func(*crt.TLS, *int8, *int8) *int8 X190 func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8 X191 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32 X192 func(*crt.TLS, func(*crt.TLS)) int32 X193 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) int32 X194 func(*crt.TLS, unsafe.Pointer, int32, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) int32 X195 func(*crt.TLS, func(*crt.TLS)) int32 X196 func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32 X197 func(*crt.TLS, uint64) unsafe.Pointer X198 func(*crt.TLS, unsafe.Pointer) uint64 X199 func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer X200 func(*crt.TLS) X201 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) X202 func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) X203 func(*crt.TLS, *int8, *int8) int32 X204 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer X205 func(*crt.TLS, unsafe.Pointer) X206 func(*crt.TLS, unsafe.Pointer, uint64) int32 X207 func(*crt.TLS, unsafe.Pointer, int32, uint64) int32 X208 func(*crt.TLS, unsafe.Pointer) uint32 X209 func(*crt.TLS, unsafe.Pointer, uint32) X210 func(*crt.TLS, int32, *int64, *int64, int32) int32 X211 func(*crt.TLS, *int8, *int8, uint32) int32 X212 func(*crt.TLS, unsafe.Pointer) int32 X213 func(*crt.TLS, unsafe.Pointer) int32 X214 func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32 X215 func(*crt.TLS, unsafe.Pointer) *int8 X216 func(*crt.TLS, unsafe.Pointer, int64) } // T6370956 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)} type Tsqlite3AutoExtList struct { X0 uint32 X1 *func(*crt.TLS) } // T6418583 struct{uint32,**func()} type XPragmaName struct { X0 *int8 X1 uint8 X2 uint8 X3 uint8 X4 uint8 X5 uint32 } // T6426338 struct{*int8,uint8,uint8,uint8,uint8,uint32} type TEncName struct { X0 *int8 X1 uint8 } // T6434652 struct{*int8,uint8} type XPragmaVtab struct { X0 struct { X0 unsafe.Pointer X1 int32 X2 *int8 } X1 unsafe.Pointer X2 unsafe.Pointer X3 uint8 X4 uint8 } // T6436396 struct{struct{*struct{},int32,*int8},*struct{},*struct{},uint8,uint8} type Xsqlite3_index_info struct { X0 int32 X1 unsafe.Pointer X2 int32 X3 unsafe.Pointer X4 unsafe.Pointer X5 int32 X6 *int8 X7 int32 X8 int32 X9 float64 X10 int64 X11 int32 X12 uint64 } // T6436770 struct{int32,*struct{},int32,*struct{},*struct{},int32,*int8,int32,int32,float64,int64,int32,uint64} type Tsqlite3_index_constraint struct { X0 int32 X1 uint8 X2 uint8 X3 int32 } // T6437037 struct{int32,uint8,uint8,int32} type Tsqlite3_index_orderby struct { X0 int32 X1 uint8 } // T6437151 struct{int32,uint8} type XPragmaVtabCursor struct { X0 struct{ X0 unsafe.Pointer } X1 unsafe.Pointer X2 int64 X3 [2]*int8 } // T6437258 struct{struct{*struct{}},*struct{},int64,[2]*int8} type XSortCtx struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 int32 X4 int32 X5 int32 X6 int32 X7 uint8 X8 uint8 } // T6466022 struct{*struct{},int32,int32,int32,int32,int32,int32,uint8,uint8} type XDistinctCtx struct { X0 uint8 X1 uint8 X2 int32 X3 int32 } // T6469300 struct{uint8,uint8,int32,int32} type XTabResult struct { X0 **int8 X1 *int8 X2 uint32 X3 uint32 X4 uint32 X5 uint32 X6 int32 } // T6504643 struct{**int8,*int8,uint32,uint32,uint32,uint32,int32} type XVtabCtx struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 int32 } // T6553968 struct{*struct{},*struct{},*struct{},int32} type XWhereLoop struct { X0 uint64 X1 uint64 X2 int8 X3 uint8 X4 uint8 X5 int16 X6 int16 X7 int16 X8 struct { X [0]struct { X0 struct { X0 uint16 X1 uint16 X2 uint16 X3 unsafe.Pointer } X1 struct { X0 int32 X1 uint8 X2 int8 X3 uint16 X4 *int8 } } U [16]byte } X9 uint32 X10 uint16 X11 uint16 X12 uint16 X13 *unsafe.Pointer X14 unsafe.Pointer X15 [3]unsafe.Pointer } // T6566120 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{}} type TInLoop struct { X0 int32 X1 int32 X2 uint8 } // T6571461 struct{int32,int32,uint8} type XWhereOrInfo struct { X0 struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint8 X3 int32 X4 int32 X5 unsafe.Pointer X6 [8]struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int16 X3 uint16 X4 uint16 X5 uint8 X6 uint8 X7 int32 X8 int32 X9 int32 X10 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 unsafe.Pointer } U [8]byte } X11 uint64 X12 uint64 } } X1 uint64 } // T6579683 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} type XWhereAndInfo struct { X0 struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 uint8 X3 int32 X4 int32 X5 unsafe.Pointer X6 [8]struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int16 X3 uint16 X4 uint16 X5 uint8 X6 uint8 X7 int32 X8 int32 X9 int32 X10 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 unsafe.Pointer } U [8]byte } X11 uint64 X12 uint64 } } } // T6585155 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}}} type XWhereOrCost struct { X0 uint64 X1 int16 X2 int16 } // T6604101 struct{uint64,int16,int16} type XWhereOrSet struct { X0 uint16 X1 [3]struct { X0 uint64 X1 int16 X2 int16 } } // T6604158 struct{uint16,[3]struct{uint64,int16,int16}} type XWhereScan struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 *int8 X3 unsafe.Pointer X4 int8 X5 uint8 X6 uint8 X7 uint32 X8 int32 X9 [11]int32 X10 [11]int16 } // T6604823 struct{*struct{},*struct{},*int8,*struct{},int8,uint8,uint8,uint32,int32,[11]int32,[11]int16} type XWhereLoopBuilder struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 uint32 } // T6618023 struct{*struct{},*struct{},*struct{},*struct{},*struct{},uint32} type XWherePath struct { X0 uint64 X1 uint64 X2 int16 X3 int16 X4 int16 X5 int8 X6 *unsafe.Pointer } // T6641683 struct{uint64,uint64,int16,int16,int16,int8,**struct{}} type XYYMINORTYPE struct { X [0]struct { X0 int32 X1 struct { X0 *int8 X1 uint32 } X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 struct { X0 unsafe.Pointer X1 *int8 X2 *int8 } X7 int32 X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 struct { X0 int32 X1 unsafe.Pointer } X12 struct { X0 unsafe.Pointer X1 unsafe.Pointer } X13 struct { X0 int32 X1 int32 } } U [24]byte } // T6656584 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}} type XyyStackEntry struct { X0 uint16 X1 uint8 X2 struct { X [0]struct { X0 int32 X1 struct { X0 *int8 X1 uint32 } X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 struct { X0 unsafe.Pointer X1 *int8 X2 *int8 } X7 int32 X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 struct { X0 int32 X1 unsafe.Pointer } X12 struct { X0 unsafe.Pointer X1 unsafe.Pointer } X13 struct { X0 int32 X1 int32 } } U [24]byte } } // T6656797 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}}} type XyyParser struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 [100]struct { X0 uint16 X1 uint8 X2 struct { X [0]struct { X0 int32 X1 struct { X0 *int8 X1 uint32 } X2 unsafe.Pointer X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 struct { X0 unsafe.Pointer X1 *int8 X2 *int8 } X7 int32 X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 struct { X0 int32 X1 unsafe.Pointer } X12 struct { X0 unsafe.Pointer X1 unsafe.Pointer } X13 struct { X0 int32 X1 int32 } } U [24]byte } } } // T6657270 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}}}} type T5414794 struct { X0 int32 X1 uint8 X2 uint8 X3 uint8 X4 uint8 } // struct{int32,uint8,uint8,uint8,uint8} type T5415329 struct { X [0]struct { X0 int32 X1 float64 } U [8]byte } // union{int32,float64} type T5415359 struct { X0 uint32 X1 uint16 X2 uint8 X3 int32 X4 int32 X5 [3]int32 X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer } // struct{uint32,uint16,uint8,int32,int32,[3]int32,*struct{},*struct{},*struct{}} type T5415638 struct { X0 func(*crt.TLS, unsafe.Pointer, int32) int32 X1 unsafe.Pointer X2 int32 } // struct{*func(*struct{},int32)int32,*struct{},int32} type T5447453 struct { X0 uint8 X1 uint8 X2 *int8 X3 float64 X4 float64 } // struct{uint8,uint8,*int8,float64,float64} type T5448393 struct { X [0]struct { X0 float64 X1 int64 X2 int32 X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer } U [8]byte } // union{float64,int64,int32,*struct{},*struct{},*struct{}} type T5458811 struct { X [0]struct { X0 unsafe.Pointer X1 unsafe.Pointer } U [8]byte } // union{*struct{},*struct{}} type T5506898 struct { X0 uint8 X1 int8 } // struct{uint8,int8,} type T5506918 struct { X [0]struct { X0 *int8 X1 unsafe.Pointer } U [8]byte } // union{*int8,*struct{}} type T5516662 struct { X0 int32 X1 [100]uint8 } // struct{int32,[100]uint8} type T5517776 struct { X0 uint16 X1 uint16 } // struct{uint16,uint16} type T5517798 struct { X [0]struct { X0 struct { X0 uint16 X1 uint16 } X1 int32 } U [4]byte } // union{struct{uint16,uint16},int32} type T5519038 struct { X [0]struct { X0 *int8 X1 int32 } U [8]byte } // union{*int8,int32} type T5555951 struct { X [0]struct { X0 [496]uint8 X1 [124]uint32 X2 [62]unsafe.Pointer } U [496]byte } // union{[496]uint8,[124]uint32,[62]*struct{}} type T5765407 struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 *unsafe.Pointer X3 int32 } // struct{*struct{},*struct{},**struct{},int32} type T5777046 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 *int8 X3 *int64 X4 *float64 X5 unsafe.Pointer X6 unsafe.Pointer X7 unsafe.Pointer X8 unsafe.Pointer X9 unsafe.Pointer X10 unsafe.Pointer X11 *int32 X12 unsafe.Pointer X13 unsafe.Pointer X14 func(*crt.TLS, unsafe.Pointer, *int32) int32 } U [8]byte } // union{int32,*struct{},*int8,*int64,*float64,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*int32,*struct{},*struct{},*func(*struct{},*int32)int32} type T5823709 struct { X [0]struct { X0 unsafe.Pointer X1 unsafe.Pointer X2 int32 X3 unsafe.Pointer } U [8]byte } // union{*struct{},*struct{},int32,*struct{}} type T5901756 struct { X0 unsafe.Pointer X1 *uint8 X2 int32 } // struct{*struct{},*uint8,int32} type T5930680 struct { X0 int32 X1 *int8 } // struct{int32,*int8} type T5941589 struct { X [0]struct { X0 unsafe.Pointer X1 int32 } U [8]byte } // union{*struct{},int32} type T5963412 struct { X0 int64 X1 unsafe.Pointer } // struct{int64,*struct{}} type T5965012 struct { X [0]struct { X0 unsafe.Pointer X1 int32 X2 int32 X3 unsafe.Pointer X4 unsafe.Pointer X5 unsafe.Pointer X6 *int32 X7 unsafe.Pointer } U [8]byte } // union{*struct{},int32,int32,*struct{},*struct{},*struct{},*int32,*struct{}} type T6167097 struct { X0 *int8 X1 *int8 } // struct{*int8,*int8} type T6167364 struct { X0 *uint32 X1 *uint32 } // struct{*uint32,*uint32} type T6289219 struct { X [0]struct { X0 int32 X1 unsafe.Pointer X2 unsafe.Pointer } U [8]byte } // union{int32,*struct{},*struct{}} type T6289724 struct { X [0]struct { X0 struct { X0 int32 X1 unsafe.Pointer } X1 unsafe.Pointer } U [16]byte } // union{struct{int32,*struct{}},*struct{}} type T6460481 struct { X0 uint8 X1 uint8 X2 uint8 } // struct{uint8,uint8,uint8} type T6565946 struct { X0 uint16 X1 uint16 X2 uint16 X3 unsafe.Pointer } // struct{uint16,uint16,uint16,*struct{}} type T6565985 struct { X0 int32 X1 uint8 X2 int8 X3 uint16 X4 *int8 } // struct{int32,uint8,int8,uint16,*int8} type T6566023 struct { X [0]struct { X0 struct { X0 uint16 X1 uint16 X2 uint16 X3 unsafe.Pointer } X1 struct { X0 int32 X1 uint8 X2 int8 X3 uint16 X4 *int8 } } U [16]byte } // union{struct{uint16,uint16,uint16,*struct{}},struct{int32,uint8,int8,uint16,*int8}} type T6661807 struct { X0 uint8 X1 uint8 } // struct{uint8,uint8} type T6699095 struct { X0 int32 X1 uint32 } // struct{int32,uint32} func str(n int) *int8 { return (*int8)(unsafe.Pointer(&strTab[n])) } func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) } 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 && knSrc\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=0 && oppnBytesFreed==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\x00p->nRef==0\x00\x00pthreadMutexFree\x00\x00\x00\x00p->id==SQLITE_MUTEX_RECURSIVE || pthreadMutexNotheld(p)\x00p->nRef>0 || p->owner==0\x00\x00\x00\x00enter mutex %p (%d) with nRef=%d\x0a\x00\x00\x00pthreadMutexEnter\x00\x00\x00pthreadMutexTry\x00pthreadMutexHeld(p)\x00p->nRef==0 || p->id==SQLITE_MUTEX_RECURSIVE\x00leave mutex %p (%d) with nRef=%d\x0a\x00\x00\x00pthreadMutexLeave\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\x00so\x00\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->pBtpBt\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\x00p\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]apPage[pCur->iPage]->nCell\x00\x00\x00sqlite3BtreePayload\x00pPage\x00\x00\x00eOp==0 || eOp==1\x00\x00\x00\x00pCur->aiIdx[pCur->iPage]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)0\x00sqlite3_randomness\x00\x00p->nRef>0\x00\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 && iDbnDb\x00\x00\x00sqlite3SchemaMutexHeld\x00\x00i>=0 && inDb\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\x00iSubaList && p->nList<=(1<aList==&aList[iList&~((2<nList<=(1<aList==&aList[nList&~((2< 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\x00yyrulenopToplevel==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\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\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=0 && addrnOp) || p->db->mallocFailed\x00sqlite3VdbeGetOp\x00\x00\x00\x00i>=0 && idb->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\x00addrnOp\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->iColumnnCol\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\x00inCol\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 && imagic==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\x00iop2==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\x00iColnCol\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->eStateeState==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\x00iDbnDb\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\x00iFreePg0 && 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\x00idxnResColumn\x00\x00\x00varaColName!=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\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->p2nOp\x00\x00\x00\x00pOp->p3>=0 && pOp->p3nOp\x00\x00\x00\x00!VdbeMemDynamic(pOut)\x00\x00\x00pIn1->u.i>=0 && pIn1->u.inOp\x00\x00\x00\x00pCaller->opcode==OP_Yield\x00\x00\x00pCaller->p2>=0 && pCaller->p2nOp\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->p3p2 || 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\x00inField\x00\x00p->aOp[0].opcode==OP_Init\x00\x00\x00pOp->p1>=0 && pOp->p1nCursor\x00\x00\x00\x00pC!=0\x00\x00\x00p2nField\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\x00p2nHdrParsed\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->p3p1 || 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->p1nDb\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->p3aDb[iDb].pBt!=0\x00DbMaskTest(p->btreeMask, iDb)\x00\x00\x00pOp->p2readOnly==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->p2nOp\x00pOp->p5aCounter)\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->p3nCursor\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->p5nDb\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 && p1nDb\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->iPageiPage>=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.pPayloadapPage[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 && iCurnCursor\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\x00idxnCell\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\x00pCellaData || 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\x00pPrioraData || pPrior>=&pPage->aData[pBt->pageSize] || sqlite3PagerIswriteable(pPage->pDbPage)\x00\x00pPayloadaData || 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)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 && idxnCell\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.nCellmaxLocal+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\x00d0 || (pParent->pgno==1 && pParent->nCell==0) || CORRUPT_DB\x00\x00\x00\x00CORRUPT_DB\x00\x00jpageSize\x00\x00\x00\x00iPg>=0 && iPg=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 && NnCell\x00\x00cachedCellSize\x00\x00p->szCell[N]==0\x00computeCellSize\x00pPg->pgno!=iNew\x00sqlite3PagerRekey\x00\x00\x00(iOld-iNew)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.iNextaMemory)\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->iBufEndnBuffer\x00\x00\x00vdbePmaWriteBlob\x00\x00\x00\x00vdbePmaWriterFinish\x00vdbeSorterFlushPMA\x00\x00vdbeSorterCreateThread\x00\x00ppThread!=0\x00xTask!=0\x00\x00\x00\x00sqlite3GlobalConfig.bCoreMutex!=0\x00\x00\x00sqlite3ThreadCreate\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\x00iOutnTree && 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_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\x00jazArg)\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 && iColnCol)\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\x00iLeftnSrc>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].iCursornTab\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 && iColnExpr\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->iPKeynCol\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 && iFromnSrc\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->iColumnnExpr\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 && addrnOp\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\x00jnLabel\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\x00jnSrc\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 && iDbdb->nDb\x00\x00\x00pParse->db->aDb[iDb].pBt!=0 || iDb==1\x00\x00\x00iDbdb, 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)\x00opop==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 && iColnColumn\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\x00iTermnLSlot\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.nEqnColumn\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))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)==(jnSkip)\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\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]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)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\x00jnColumn\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\x00xpTable->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->iPKeynCol)\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 && iKeynCol\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 && iColnCol\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\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\x00ipSchema)\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\x00iChngnCol\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 && iyytos==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=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\x00hnHash\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\x00unix\x00\x00\x00\x00unix-none\x00\x00\x00unix-dotfile\x00\x00\x00\x00unix-excl\x00\x00\x00pFile->pInode->nLock>0 || pFile->pInode->bProcessLock==0\x00\x00\x00\x00cannot fstat db file %s\x00file unlinked while open: %s\x00\x00\x00\x00multiple links to file: %s\x00\x00file renamed while open: %s\x00open\x00\x00\x00\x00close\x00\x00\x00getcwd\x00\x00stat\x00\x00\x00\x00fstat\x00\x00\x00ftruncate\x00\x00\x00fcntl\x00\x00\x00read\x00\x00\x00\x00pread\x00\x00\x00pread64\x00write\x00\x00\x00pwrite\x00\x00pwrite64\x00\x00\x00\x00fchmod\x00\x00fallocate\x00\x00\x00unlink\x00\x00openDirectory\x00\x00\x00mkdir\x00\x00\x00rmdir\x00\x00\x00fchown\x00\x00geteuid\x00mmap\x00\x00\x00\x00munmap\x00\x00mremap\x00\x00getpagesize\x00readlink\x00\x00\x00\x00lstat\x00\x00\x00attempt to open \"%s\" as file descriptor %d\x00\x00/dev/null\x00\x00\x00os_unix.c:%d: (%d) %s(%s) - %s\x00\x00eFileLock==SHARED_LOCK || ((unixFile *)id)->nFetchOut==0\x00\x00\x00\x00unixUnlock\x00\x00eFileLock<=SHARED_LOCK\x00\x00pInode->nShared!=0\x00\x00pInode->eFileLock==pFile->eFileLock\x00handleNFSUnlock==0\x00\x00PENDING_BYTE+1==RESERVED_BYTE\x00\x00\x00pInode->nLock>=0\x00\x00\x00\x00posixUnlock\x00unixMutexHeld()\x00pInode!=0\x00\x00\x00pInode->nLock==0\x00\x00\x00\x00unixFileLock\x00\x00\x00\x00unixClose\x00\x00\x00pInode->pShmNode==0\x00pInode->pPrev->pNext==pInode\x00\x00\x00\x00inodeList==pInode\x00\x00\x00pInode->pNext->pPrev==pInode\x00\x00\x00\x00releaseInodeInfo\x00\x00\x00\x00pFd->nFetchOut==0\x00\x00\x00unixUnmapfile\x00\x00\x00offset>=0\x00\x00\x00amt>0\x00\x00\x00unixRead\x00\x00\x00\x00cnt==(cnt&0x1ffff)\x00\x00id->h>2\x00seekAndRead\x00unixWrite\x00\x00\x00nBuf==(nBuf&0x1ffff)\x00\x00\x00\x00fd>2\x00\x00\x00\x00piErrno!=0\x00\x00seekAndWriteFd\x00\x00unixTruncate\x00\x00\x00\x00(flags&0x0F)==SQLITE_SYNC_NORMAL || (flags&0x0F)==SQLITE_SYNC_FULL\x00\x00full_fsync\x00\x00rc==SQLITE_CANTOPEN\x00unixSync\x00\x00\x00\x00unixFileSize\x00\x00\x00\x00pFile->eFileLock!=NO_LOCK || eFileLock==SHARED_LOCK\x00eFileLock!=PENDING_LOCK\x00eFileLock!=RESERVED_LOCK || pFile->eFileLock==SHARED_LOCK\x00\x00\x00eFileLock==SHARED_LOCK\x00\x00pFile->eFileLock==0\x00pInode->nShared>0\x00\x00\x00pInode->nShared==0\x00\x00pInode->eFileLock==0\x00\x00\x00\x000!=pFile->eFileLock\x00eFileLock==RESERVED_LOCK || eFileLock==EXCLUSIVE_LOCK\x00\x00\x00unixLock\x00\x00\x00\x00(sqliteIOErr == SQLITE_IOERR_LOCK) || (sqliteIOErr == SQLITE_IOERR_UNLOCK) || (sqliteIOErr == SQLITE_IOERR_RDLOCK) || (sqliteIOErr == SQLITE_IOERR_CHECKRESERVEDLOCK)\x00\x00\x00sqliteErrorFromPosixError\x00\x00\x00pFile->eFileLock<=SHARED_LOCK\x00\x00\x00unixCheckReservedLock\x00\x00\x00iWrite>=buf.st_size\x00((iWrite+1)%nBlk)==0\x00\x00\x00\x00fcntlSizeHint\x00\x00\x00nMap>=0 || pFd->nFetchOut==0\x00\x00\x00\x00nMap>0 || (pFd->mmapSize==0 && pFd->pMapRegion==0)\x00\x00unixMapfile\x00nNew>pFd->mmapSize\x00\x00nNew<=pFd->mmapSizeMax\x00\x00pFd->mmapSizeActual>=pFd->mmapSize\x00\x00MAP_FAILED!=0\x00\x00\x00unixRemapfile\x00\x00\x00nBuf>2\x00\x00%s/etilqs_%llx%c\x00\x00\x00\x00SQLITE_TMPDIR\x00\x00\x00TMPDIR\x00\x00/var/tmp\x00\x00\x00\x00/usr/tmp\x00\x00\x00\x00/tmp\x00\x00\x00\x00unixGetTempname\x00szRegion==pShmNode->szRegion || pShmNode->nRegion==0\x00\x00\x00\x00pShmNode->pInode==pDbFd->pInode\x00pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1\x00\x00\x00\x00pShmNode->h<0 || pDbFd->pInode->bProcessLock==0\x00(nByte % pgsz)==0\x00\x00\x00((pgsz-1)&pgsz)==0\x00\x00unixShmRegionPerMap\x00pDbFd->pShm==0\x00\x00%s-shm\x00\x00readonly_shm\x00\x00\x00\x00unixOpenSharedMemory\x00\x00\x00\x00sqlite3_mutex_held(pShmNode->mutex) || pShmNode->nRef==0\x00\x00\x00\x00n==1 || lockType!=F_RDLCK\x00\x00\x00n>=1 && n<=SQLITE_SHM_NLOCK\x00lockType==F_WRLCK\x00\x00\x00unixShmSystemLock\x00\x00\x00p->pInode==pFd->pInode\x00\x00unixShmPurge\x00\x00\x00\x00unixShmMap\x00\x00pShmNode==pDbFd->pInode->pShmNode\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<exclMask & (p->exclMask|p->sharedMask))==0\x00(p->sharedMask & mask)==0\x00\x00\x00unixShmLock\x00pShmNode->nRef>0\x00\x00\x00\x00unixShmUnmap\x00\x00\x00\x00(p==0)==(pFd->nFetchOut==0)\x00p==0 || p==&((u8 *)pFd->pMapRegion)[iOff]\x00\x00\x00pFd->nFetchOut>=0\x00\x00\x00unixUnfetch\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\x00(flags & SQLITE_OPEN_URI) || zName[strlen(zName)+1]==0\x00\x00isDelete && !syncDir\x00\x00\x00\x00zName[strlen(zName)+1]==0\x00\x00\x00!p->pUnused\x00eType==SQLITE_OPEN_WAL || eType==SQLITE_OPEN_MAIN_JOURNAL\x00\x00\x00!isExclusive || (openFlags & O_CREAT)!=0\x00\x00\x00\x00fd>=0\x00\x00\x00unixOpen\x00\x00\x00\x00nDb>0\x00\x00\x00sqlite3Isalnum(zPath[nDb])\x00\x00modeof\x00\x00findCreateFileMode\x00\x00pNew->pInode==NULL\x00\x00zFilename==0 || zFilename[0]=='/'\x00\x00\x00zFilename!=0 || (ctrlFlags & UNIXFILE_NOLOCK)!=0\x00\x00\x00\x00psow\x00\x00\x00\x00zFilename!=0\x00\x00\x00\x00%s.lock\x00fillInUnixFile\x00\x00findInodeInfo\x00\x00\x00id!=0\x00\x00\x00dotlockClose\x00\x00\x00\x00eFileLock==NO_LOCK\x00\x00dotlockUnlock\x00\x00\x00dotlockCheckReservedLock\x00\x00\x00\x00fsync\x00\x00\x00unixDelete\x00\x00pResOut!=0\x00\x00flags==SQLITE_ACCESS_EXISTS || flags==SQLITE_ACCESS_READWRITE\x00\x00\x00unixAccess\x00\x00pVfs->mxPathname==MAX_PATHNAME\x00\x00rc!=SQLITE_OK || zIn!=zOut || zIn[0]=='/'\x00\x00\x00unixFullPathname\x00\x00\x00\x00(size_t)nBuf>=(sizeof(time_t)+sizeof(int))\x00\x00/dev/urandom\x00\x00\x00\x00sizeof(t)+sizeof(randomnessPid)<=(size_t)nBuf\x00\x00\x00unixRandomness\x00\x00sqlite3_initialize\x00\x00enlargeAndAppend\x00\x00\x00\x00sqlite3VXPrintf\x00thstndrd\x00\x00\x00\x000123456789ABCDEF0123456789abcdef\x00\x00\x00\x00-x0\x00X0\x00\x00sqlite3AppendChar\x00")