Classes | Macros | Typedefs | Functions | Variables
sqlite3.c File Reference
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <stddef.h>
#include <time.h>
#include <pthread.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/time.h>
#include <errno.h>
#include <sys/mman.h>
Include dependency graph for sqlite3.c:

Go to the source code of this file.

Classes

struct  Hash::_ht
 
struct  AggInfo
 
struct  AggInfo::AggInfo_col
 
struct  AggInfo::AggInfo_func
 
struct  analysisInfo
 
struct  AttachKey
 
struct  AuthContext
 
struct  AutoincInfo
 
struct  AuxData
 
struct  BenignMallocHooks
 
struct  Bitvec
 
struct  BtCursor
 
struct  BtLock
 
struct  Btree
 
struct  BtShared
 
struct  BusyHandler
 
struct  CellArray
 
struct  CellInfo
 
struct  CollSeq
 
struct  Column
 
struct  compareInfo
 
struct  CountCtx
 
struct  With::Cte
 
struct  DateTime
 
struct  Db
 
struct  DbFixer
 
struct  DistinctCtx
 
struct  et_info
 
struct  Explain
 
struct  Expr
 
struct  ExprList
 
struct  ExprList::ExprList_item
 
struct  ExprSpan
 
struct  FileChunk
 
struct  FilePoint
 
struct  FKey
 
struct  fts5_api
 
struct  fts5_tokenizer
 
struct  Fts5ExtensionApi
 
struct  Fts5PhraseIter
 
struct  FuncDef
 
struct  FuncDefHash
 
struct  FuncDestructor
 
struct  Hash
 
struct  HashElem
 
struct  IdList
 
struct  IdList::IdList_item
 
struct  Incrblob
 
struct  IncrMerger
 
struct  Index
 
struct  IndexSample
 
struct  InitData
 
struct  IntegrityCk
 
struct  KeyInfo
 
struct  LikeOp
 
struct  LimitVal
 
struct  Lookaside
 
struct  LookasideSlot
 
struct  Mem
 
struct  Mem0Global
 
struct  MemJournal
 
struct  MemPage
 
union  Mem::MemValue
 
struct  MergeEngine
 
struct  Module
 
struct  NameContext
 
union  VdbeOp::p4union
 
struct  Pager
 
struct  PagerSavepoint
 
struct  Parse
 
struct  PCache
 
struct  PCache1
 
struct  PCacheGlobal
 
struct  PgFreeslot
 
struct  PgHdr
 
struct  PgHdr1
 
struct  PGroup
 
struct  PmaReader
 
struct  PmaWriter
 
struct  PreUpdate
 
struct  PrintfArguments
 
struct  ReusableSpace
 
struct  RowSet
 
struct  RowSetChunk
 
struct  RowSetEntry
 
struct  Savepoint
 
struct  ScanStatus
 
struct  Schema
 
struct  FKey::sColMap
 
struct  ScratchFreeslot
 
struct  Select
 
struct  SelectDest
 
struct  SortCtx
 
struct  SorterFile
 
struct  SorterList
 
struct  SorterRecord
 
struct  SortSubtask
 
struct  sPragmaNames
 
struct  sqlite3
 
struct  sqlite3_api_routines
 
struct  sqlite3_backup
 
struct  sqlite3_context
 
struct  sqlite3_file
 
struct  sqlite3_index_info::sqlite3_index_constraint
 
struct  sqlite3_index_info::sqlite3_index_constraint_usage
 
struct  sqlite3_index_info
 
struct  sqlite3_index_info::sqlite3_index_orderby
 
struct  sqlite3_io_methods
 
struct  sqlite3_mem_methods
 
struct  sqlite3_module
 
struct  sqlite3_mutex
 
struct  sqlite3_mutex_methods
 
struct  sqlite3_pcache_methods
 
struct  sqlite3_pcache_methods2
 
struct  sqlite3_pcache_page
 
struct  sqlite3_rtree_geometry
 
struct  sqlite3_rtree_query_info
 
struct  sqlite3_vfs
 
struct  sqlite3_vtab
 
struct  sqlite3_vtab_cursor
 
struct  sqlite3AutoExtList
 
struct  Sqlite3Config
 
struct  sqlite3::sqlite3InitInfo
 
struct  sqlite3PrngType
 
struct  sqlite3StatType
 
struct  SQLiteThread
 
struct  SrcCount
 
struct  SrcList
 
struct  SrcList::SrcList_item
 
struct  Stat4Accum
 
struct  Stat4Sample
 
struct  StrAccum
 
struct  SubProgram
 
struct  SumCtx
 
struct  Table
 
struct  TableLock
 
struct  TabResult
 
struct  Token
 
struct  TrigEvent
 
struct  Trigger
 
struct  TriggerPrg
 
struct  TriggerStep
 
struct  unix_syscall
 
struct  unixFile
 
struct  unixFileId
 
struct  unixInodeInfo
 
struct  unixShm
 
struct  unixShmNode
 
struct  UnixUnusedFd
 
struct  UnpackedRecord
 
struct  ValueNewStat4Ctx
 
struct  Vdbe
 
struct  VdbeCursor
 
struct  VdbeFrame
 
struct  VdbeOp
 
struct  VdbeOpList
 
struct  VdbeSorter
 
struct  VtabCtx
 
struct  VTable
 
struct  vxworksFileId
 
struct  Wal
 
struct  WalCkptInfo
 
struct  WalIndexHdr
 
struct  WalIterator
 
struct  Walker
 
struct  WalIterator::WalSegment
 
struct  WalWriter
 
struct  WhereAndInfo
 
struct  WhereClause
 
struct  WhereInfo
 
struct  WhereLevel
 
struct  WhereLoop
 
struct  WhereLoopBuilder
 
struct  WhereMaskSet
 
struct  WhereOrCost
 
struct  WhereOrInfo
 
struct  WhereOrSet
 
struct  WherePath
 
struct  WhereScan
 
struct  WhereTerm
 
struct  With
 
struct  Parse::yColCache
 
union  YYMINORTYPE
 
struct  yyParser
 
struct  yyStackEntry
 

Macros

#define _BTREE_H_
 
#define _FILE_OFFSET_BITS   64
 
#define _FTS5_H
 
#define _FTSINT_H
 
#define _LARGE_FILE   1
 
#define _LARGEFILE_SOURCE   1
 
#define _MSVC_H_
 
#define _OS_COMMON_H_
 
#define _OS_SETUP_H_
 
#define _PAGER_H_
 
#define _SQLITE3_H_
 
#define _SQLITE3EXT_H_
 
#define _SQLITE3RTREE_H_
 
#define _SQLITE_HASH_H_
 
#define _SQLITE_OS_C_   1
 
#define _SQLITE_OS_H_
 
#define _SQLITE_VDBE_H_
 
#define _SQLITEINT_H_
 
#define _VDBEINT_H_
 
#define _WAL_H_
 
#define _XOPEN_SOURCE   600
 
#define ADDR(X)   (-1-(X))
 
#define AGGREGATE(zName, nArg, arg, nc, xStep, xFinal)
 
#define AGGREGATE2(zName, nArg, arg, nc, xStep, xFinal, extraFlags)
 
#define ALLBITS   ((Bitmask)-1)
 
#define ALWAYS(X)   (X)
 
#define ApplyCostMultiplier(C, T)
 
#define ArraySize(X)   ((int)(sizeof(X)/sizeof(X[0])))
 
#define assertCellInfo(x)
 
#define assertParentIndex(x, y, z)
 
#define assertTruncateConstraint(pPager)
 
#define BITVEC_HASH(X)   (((X)*1)%BITVEC_NINT)
 
#define BITVEC_MXHASH   (BITVEC_NINT/2)
 
#define BITVEC_NBIT   (BITVEC_NELEM*BITVEC_SZELEM)
 
#define BITVEC_NELEM   (BITVEC_USIZE/sizeof(BITVEC_TELEM))
 
#define BITVEC_NINT   (BITVEC_USIZE/sizeof(u32))
 
#define BITVEC_NPTR   (BITVEC_USIZE/sizeof(Bitvec *))
 
#define BITVEC_SZ   512
 
#define BITVEC_SZELEM   8
 
#define BITVEC_TELEM   u8
 
#define BITVEC_USIZE   (((BITVEC_SZ-(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))
 
#define BMS   ((int)(sizeof(Bitmask)*8))
 
#define BTALLOC_ANY   0 /* Allocate any page */
 
#define BTALLOC_EXACT   1 /* Allocate exact page if possible */
 
#define BTALLOC_LE   2 /* Allocate any page <= the parameter */
 
#define BTCF_AtLast   0x08 /* Cursor is pointing ot the last entry */
 
#define BTCF_Incrblob   0x10 /* True if an incremental I/O handle */
 
#define BTCF_Multiple   0x20 /* Maybe another cursor on the same btree */
 
#define BTCF_ValidNKey   0x02 /* True if info.nKey is valid */
 
#define BTCF_ValidOvfl   0x04 /* True if aOverflow is valid */
 
#define BTCF_WriteFlag   0x01 /* True if a write cursor */
 
#define BTCURSOR_MAX_DEPTH   20
 
#define BTREE_APPLICATION_ID   8
 
#define BTREE_AUTOVACUUM_FULL   1 /* Do full auto-vacuum */
 
#define BTREE_AUTOVACUUM_INCR   2 /* Incremental vacuum */
 
#define BTREE_AUTOVACUUM_NONE   0 /* Do not do auto-vacuum */
 
#define BTREE_AUXDELETE   0x04 /* not the primary delete operation */
 
#define BTREE_BLOBKEY   2 /* Table has keys only - no data */
 
#define BTREE_BULKLOAD   0x00000001 /* Used to full index in sorted order */
 
#define BTREE_DATA_VERSION   15 /* A virtual meta-value */
 
#define BTREE_DEFAULT_CACHE_SIZE   3
 
#define BTREE_FILE_FORMAT   2
 
#define BTREE_FORDELETE   0x00000008 /* Cursor is for seek/delete only */
 
#define BTREE_FREE_PAGE_COUNT   0
 
#define BTREE_HINT_RANGE   0 /* Range constraints on queries */
 
#define BTREE_INCR_VACUUM   7
 
#define BTREE_INTKEY   1 /* Table has only 64-bit signed integer keys */
 
#define BTREE_LARGEST_ROOT_PAGE   4
 
#define BTREE_MEMORY   2 /* This is an in-memory DB */
 
#define BTREE_OMIT_JOURNAL   1 /* Do not create or use a rollback journal */
 
#define BTREE_SAVEPOSITION   0x02 /* Leave cursor pointing at NEXT or PREV */
 
#define BTREE_SCHEMA_VERSION   1
 
#define BTREE_SEEK_EQ   0x00000002 /* EQ seeks only - no range seeks */
 
#define BTREE_SINGLE   4 /* The file contains at most 1 b-tree */
 
#define BTREE_TEXT_ENCODING   5
 
#define BTREE_UNORDERED   8 /* Use of a hash implementation is OK */
 
#define BTREE_USER_VERSION   6
 
#define BTREE_WRCSR   0x00000004 /* read-write cursor */
 
#define btreeIntegrity(p)
 
#define BTS_EXCLUSIVE   0x0020 /* pWriter has an exclusive lock */
 
#define BTS_INITIALLY_EMPTY   0x0008 /* Database was empty at trans start */
 
#define BTS_NO_WAL   0x0010 /* Do not open write-ahead-log files */
 
#define BTS_PAGESIZE_FIXED   0x0002 /* Page size can no longer be changed */
 
#define BTS_PENDING   0x0040 /* Waiting for read-locks to clear */
 
#define BTS_READ_ONLY   0x0001 /* Underlying file is readonly */
 
#define BTS_SECURE_DELETE   0x0004 /* PRAGMA secure_delete is enabled */
 
#define BYTESWAP32(x)
 
#define CACHE_STALE   0
 
#define CC_AND   24 /* '&' */
 
#define CC_BANG   15 /* '!'. Part of != */
 
#define CC_COMMA   23 /* ',' */
 
#define CC_DIGIT   3 /* Digits */
 
#define CC_DOLLAR   4 /* '$' */
 
#define CC_DOT   26 /* '.' */
 
#define CC_EQ   14 /* '='. Part of = or == */
 
#define CC_GT   13 /* '>'. Part of > or >= */
 
#define CC_ID   2 /* unicode characters usable in IDs */
 
#define CC_ILLEGAL   27 /* Illegal character */
 
#define CC_KYWD   1 /* Alphabetics or '_'. Usable in a keyword */
 
#define CC_LP   17 /* '(' */
 
#define CC_LT   12 /* '<'. Part of < or <= or <> */
 
#define CC_MINUS   11 /* '-'. Minus or SQL-style comment */
 
#define CC_PERCENT   22 /* '%' */
 
#define CC_PIPE   10 /* '|'. Bitwise OR or concatenate */
 
#define CC_PLUS   20 /* '+' */
 
#define CC_QUOTE   8 /* '"', '\'', or '`'. String literals, quoted ids */
 
#define CC_QUOTE2   9 /* '['. [...] style quoted ids */
 
#define CC_RP   18 /* ')' */
 
#define CC_SEMI   19 /* ';' */
 
#define CC_SLASH   16 /* '/'. / or c-style comment */
 
#define CC_SPACE   7 /* Space characters */
 
#define CC_STAR   21 /* '*' */
 
#define CC_TILDA   25 /* '~' */
 
#define CC_VARALPHA   5 /* '@', '#', ':'. Alphabetic SQL variables */
 
#define CC_VARNUM   6 /* '?'. Numeric SQL variables */
 
#define CC_X   0 /* The letter 'x', or start of BLOB literal */
 
#define charMap(X)   sqlite3UpperToLower[(unsigned char)X]
 
#define CHECK_PAGE(x)
 
#define checkActiveVdbeCnt(x)
 
#define checkProfileCallback(DB, P)   if( ((P)->startTime)>0 ){ invokeProfileCallback(DB,P); }
 
#define CKCNSTRNT_COLUMN   0x01 /* CHECK constraint uses a changing column */
 
#define CKCNSTRNT_ROWID   0x02 /* CHECK constraint references the ROWID */
 
#define CLEARBIT(V, I)   V[I>>3] &= ~(1<<(I&7))
 
#define CODEC1(P, D, N, X, E)   /* NO-OP */
 
#define CODEC2(P, D, N, X, E, O)   O=(char*)D
 
#define codeCursorHint(A, B, C)   /* No-op */
 
#define COLFLAG_HASTYPE   0x0004 /* Type name follows column name */
 
#define COLFLAG_HIDDEN   0x0002 /* A hidden column in a virtual table */
 
#define COLFLAG_PRIMKEY   0x0001 /* Column is part of the primary key */
 
#define COLNAME_COLUMN   4
 
#define COLNAME_DATABASE   2
 
#define COLNAME_DECLTYPE   1
 
#define COLNAME_N   2 /* Store the name and decltype */
 
#define COLNAME_NAME   0
 
#define COLNAME_TABLE   3
 
#define COLUMN_MASK(x)   (((x)>31) ? 0xffffffff : ((u32)1<<(x)))
 
#define columnType(A, B, C, D, E, F)   columnTypeImpl(A,B,F)
 
#define ConstFactorOk(P)   ((P)->okConstFactor)
 
#define CORRUPT_DB   (sqlite3Config.neverCorrupt==0)
 
#define CTIMEOPT_VAL(opt)   CTIMEOPT_VAL_(opt)
 
#define CTIMEOPT_VAL_(opt)   #opt
 
#define CURSOR_FAULT   4
 
#define CURSOR_INVALID   0
 
#define CURSOR_REQUIRESEEK   3
 
#define CURSOR_SKIPNEXT   2
 
#define CURSOR_VALID   1
 
#define CURTYPE_BTREE   0
 
#define CURTYPE_PSEUDO   3
 
#define CURTYPE_SORTER   1
 
#define CURTYPE_VTAB   2
 
#define DB_Empty   0x0004 /* The file is empty (length 0 bytes) */
 
#define DB_SchemaLoaded   0x0001 /* The schema has been loaded */
 
#define DB_UnresetViews   0x0002 /* Some views have defined column names */
 
#define DbClearProperty(D, I, P)   (D)->aDb[I].pSchema->schemaFlags&=~(P)
 
#define DbHasAnyProperty(D, I, P)   (((D)->aDb[I].pSchema->schemaFlags&(P))!=0)
 
#define DbHasProperty(D, I, P)   (((D)->aDb[I].pSchema->schemaFlags&(P))==(P))
 
#define DbMaskAllZero(M)   (M)==0
 
#define DbMaskNonZero(M)   (M)!=0
 
#define DbMaskSet(M, I)   (M)|=(((yDbMask)1)<<(I))
 
#define DbMaskTest(M, I)   (((M)&(((yDbMask)1)<<(I)))!=0)
 
#define DbMaskZero(M)   (M)=0
 
#define DbSetProperty(D, I, P)   (D)->aDb[I].pSchema->schemaFlags|=(P)
 
#define Deephemeralize(P)
 
#define DFUNCTION(zName, nArg, iArg, bNC, xFunc)
 
#define DIRECT_MODE   0
 
#define disable_simulated_io_errors()
 
#define disable_simulated_io_errors()
 
#define DO_OS_MALLOC_TEST(x)
 
#define DOTLOCK_SUFFIX   ".lock"
 
#define EIGHT_BYTE_ALIGNMENT(X)   ((((char*)(X) - (char*)0)&7)==0)
 
#define enable_simulated_io_errors()
 
#define enable_simulated_io_errors()
 
#define ENC(db)   ((db)->enc)
 
#define EP_Agg   0x000002 /* Contains one or more aggregate functions */
 
#define EP_Alias   0x400000 /* Is an alias for a result set column */
 
#define EP_CanBeNull   0x100000 /* Can be null despite NOT NULL constraint */
 
#define EP_Collate   0x000100 /* Tree contains a TK_COLLATE operator */
 
#define EP_ConstFunc   0x080000 /* A SQLITE_FUNC_CONSTANT or _SLOCHNG function */
 
#define EP_DblQuoted   0x000040 /* token.z was originally in "..." */
 
#define EP_Distinct   0x000010 /* Aggregate function with DISTINCT keyword */
 
#define EP_Error   0x000008 /* Expression contains one or more errors */
 
#define EP_FromJoin   0x000001 /* Originates in ON/USING clause of outer join */
 
#define EP_Generic   0x000200 /* Ignore COLLATE or affinity on this tree */
 
#define EP_InfixFunc   0x000080 /* True for an infix function: LIKE, GLOB, etc */
 
#define EP_IntValue   0x000400 /* Integer value contained in u.iValue */
 
#define EP_MemToken   0x010000 /* Need to sqlite3DbFree() Expr.zToken */
 
#define EP_NoReduce   0x020000 /* Cannot EXPRDUP_REDUCE this Expr */
 
#define EP_Propagate   (EP_Collate|EP_Subquery) /* Propagate these bits up tree */
 
#define EP_Reduced   0x002000 /* Expr struct EXPR_REDUCEDSIZE bytes only */
 
#define EP_Resolved   0x000004 /* IDs have been resolved to COLUMNs */
 
#define EP_Skip   0x001000 /* COLLATE, AS, or UNLIKELY */
 
#define EP_Static   0x008000 /* Held in memory not obtained from malloc() */
 
#define EP_Subquery   0x200000 /* Tree contains a TK_SELECT operator */
 
#define EP_TokenOnly   0x004000 /* Expr struct EXPR_TOKENONLYSIZE bytes only */
 
#define EP_Unlikely   0x040000 /* unlikely() or likelihood() function */
 
#define EP_VarSelect   0x000020 /* pSelect is correlated, not constant */
 
#define EP_xIsSelect   0x000800 /* x.pSelect is valid (otherwise x.pList is) */
 
#define etBUFSIZE   SQLITE_PRINT_BUF_SIZE /* Size of the output buffer */
 
#define etCHARX   8 /* Characters. %c */
 
#define etDYNSTRING   6 /* Dynamically allocated strings. %z */
 
#define etEXP   2 /* Exponentional notation. %e and %E */
 
#define etFLOAT   1 /* Floating point. %f */
 
#define etGENERIC   3 /* Floating or exponential, depending on exponent. %g */
 
#define etINVALID   16 /* Any unrecognized conversion type */
 
#define etORDINAL   15 /* %r -> 1st, 2nd, 3rd, 4th, etc. English only */
 
#define etPERCENT   7 /* Percent symbol. %% */
 
#define etPOINTER   13 /* The %p conversion */
 
#define etRADIX   0 /* Integer types. %d, %x, %o, and so forth */
 
#define etSIZE   4 /* Return number of characters processed so far. %n */
 
#define etSQLESCAPE   9 /* Strings with '\'' doubled. %q */
 
#define etSQLESCAPE2
 
#define etSQLESCAPE3   14 /* %w -> Strings with '\"' doubled */
 
#define etSRCLIST   12 /* a pointer to a SrcList */
 
#define etSTRING   5 /* Strings. %s */
 
#define etTOKEN   11 /* a pointer to a Token structure */
 
#define EXCLUSIVE_LOCK   4
 
#define ExpandBlob(P)   (((P)->flags&MEM_Zero)?sqlite3VdbeMemExpandBlob(P):0)
 
#define explainSetInteger(a, b)   a = b
 
#define EXPR_FULLSIZE   sizeof(Expr) /* Full size */
 
#define EXPR_REDUCEDSIZE   offsetof(Expr,iTable) /* Common features */
 
#define EXPR_TOKENONLYSIZE   offsetof(Expr,pLeft) /* Fewer features */
 
#define ExprClearProperty(E, P)   (E)->flags&=~(P)
 
#define EXPRDUP_REDUCE   0x0001 /* Used reduced-size Expr nodes */
 
#define ExprHasAllProperty(E, P)   (((E)->flags&(P))==(P))
 
#define ExprHasProperty(E, P)   (((E)->flags&(P))!=0)
 
#define ExprSetProperty(E, P)   (E)->flags|=(P)
 
#define ExprSetVVAProperty(E, P)
 
#define EXTRA_SIZE   sizeof(MemPage)
 
#define fdatasync   fsync
 
#define fileChunkSize(nChunkSize)   (sizeof(FileChunk) + ((nChunkSize)-8))
 
#define FILEHANDLEID(fd)   ((int)fd)
 
#define findCell(P, I)   ((P)->aData + ((P)->maskPage & get2byteAligned(&(P)->aCellIdx[2*(I)])))
 
#define findCellPastPtr(P, I)   ((P)->aDataOfst + ((P)->maskPage & get2byteAligned(&(P)->aCellIdx[2*(I)])))
 
#define FLAG_INTERN   2 /* True if for internal use only */
 
#define FLAG_SIGNED   1 /* True if the value to convert is signed */
 
#define FLAG_STRING   4 /* Allow infinity precision */
 
#define FOUR_BYTE_INT(x)   (16777216*(i8)((x)[0])|((x)[1]<<16)|((x)[2]<<8)|(x)[3])
 
#define FOUR_BYTE_UINT(x)   (((u32)(x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3])
 
#define FTS5_TOKEN_COLOCATED   0x0001 /* Same position as prev. token */
 
#define FTS5_TOKENIZE_AUX   0x0008
 
#define FTS5_TOKENIZE_DOCUMENT   0x0004
 
#define FTS5_TOKENIZE_PREFIX   0x0002
 
#define FTS5_TOKENIZE_QUERY   0x0001
 
#define FULLY_WITHIN   2 /* Object fully contained within query region */
 
#define FUNC_PERFECT_MATCH   6 /* The score for a perfect match */
 
#define FUNCTION(zName, nArg, iArg, bNC, xFunc)
 
#define FUNCTION2(zName, nArg, iArg, bNC, xFunc, extraFlags)
 
#define GCC_VERSION   0
 
#define get2byte(x)   ((x)[0]<<8 | (x)[1])
 
#define get2byteAligned(x)   ((x)[0]<<8 | (x)[1])
 
#define get2byteNotZero(X)   (((((int)get2byte(X))-1)&0xffff)+1)
 
#define get4byte   sqlite3Get4byte
 
#define getVarint   sqlite3GetVarint
 
#define getVarint32(A, B)   (u8)((*(A)<(u8)0x80)?((B)=(u32)*(A)),1:sqlite3GetVarint32((A),(u32 *)&(B)))
 
#define GLOBAL(t, v)   v
 
#define HAS_UPDATE_HOOK(DB)   ((DB)->xUpdateCallback)
 
#define HASHTABLE_HASH_1   383 /* Should be prime */
 
#define HASHTABLE_NPAGE   4096 /* Must be power of 2 */
 
#define HASHTABLE_NPAGE_ONE   (HASHTABLE_NPAGE - (WALINDEX_HDR_SIZE/sizeof(u32)))
 
#define HASHTABLE_NSLOT   (HASHTABLE_NPAGE*2) /* Must be a power of 2 */
 
#define HasRowid(X)   (((X)->tabFlags & TF_WithoutRowid)==0)
 
#define HAVE_FCHOWN   1
 
#define HAVE_FULLFSYNC   0
 
#define HAVE_LSTAT   1
 
#define HAVE_MREMAP   0
 
#define HAVE_READLINK   1
 
#define IdChar(C)   ((sqlite3CtypeMap[(unsigned char)C]&0x46)!=0)
 
#define IfNotOmitAV(expr)   (expr)
 
#define IgnorableOrderby(X)   ((X->eDest)<=SRT_DistQueue)
 
#define IN_DECLARE_VTAB   (pParse->declareVtab)
 
#define IN_INDEX_EPH   2 /* Search an ephemeral b-tree */
 
#define IN_INDEX_INDEX_ASC   3 /* Existing index ASCENDING */
 
#define IN_INDEX_INDEX_DESC   4 /* Existing index DESCENDING */
 
#define IN_INDEX_LOOP   0x0004 /* IN operator used as a loop */
 
#define IN_INDEX_MEMBERSHIP   0x0002 /* IN operator used for membership test */
 
#define IN_INDEX_NOOP   5 /* No table available. Use comparisons */
 
#define IN_INDEX_NOOP_OK   0x0001 /* OK to return IN_INDEX_NOOP */
 
#define IN_INDEX_ROWID   1 /* Search the rowid of the table */
 
#define INCRINIT_NORMAL   0
 
#define INCRINIT_ROOT   2
 
#define INCRINIT_TASK   1
 
#define initMaskSet(P)   (P)->n=0
 
#define INT16_TYPE   short int
 
#define INT8_TYPE   signed char
 
#define INTERFACE   1
 
#define invalidateOverflowCache(pCur)   (pCur->curFlags &= ~BTCF_ValidOvfl)
 
#define IOMETHODS(FINDER, METHOD, VERSION, CLOSE, LOCK, UNLOCK, CKLOCK, SHMMAP)
 
#define IOTRACE(A)
 
#define IS_BIG_INT(X)   (((X)&~(i64)0xffffffff)!=0)
 
#define IS_LOCK_ERROR(x)   ((x != SQLITE_OK) && (x != SQLITE_BUSY))
 
#define ISAUTOVACUUM   (pBt->autoVacuum)
 
#define IsHiddenColumn(X)   (((X)->colFlags & COLFLAG_HIDDEN)!=0)
 
#define isMalloced(X)   (((X)->printfFlags & SQLITE_PRINTF_MALLOCED)!=0)
 
#define isOpen(pFd)   ((pFd)->pMethods!=0)
 
#define IsOrdinaryHiddenColumn(X)   0
 
#define IsPowerOfTwo(X)   (((X)&((X)-1))==0)
 
#define IsPrimaryKeyIndex(X)   ((X)->idxType==SQLITE_IDXTYPE_PRIMARYKEY)
 
#define isSorter(x)   ((x)->eCurType==CURTYPE_SORTER)
 
#define IsStat3   0
 
#define IsStat34   (IsStat3+IsStat4) /* 1 for STAT3 or STAT4. 0 otherwise */
 
#define IsStat4   0
 
#define IsUniqueIndex(X)   ((X)->onError!=OE_None)
 
#define IsVirtual(X)   (((X)->tabFlags & TF_Virtual)!=0)
 
#define JOURNAL_HDR_SZ(pPager)   (pPager->sectorSize)
 
#define JOURNAL_PG_SZ(pPager)   ((pPager->pageSize) + 8)
 
#define jrnlBufferSize(x)   0
 
#define JT_CROSS   0x0002 /* Explicit use of the CROSS keyword */
 
#define JT_ERROR   0x0040 /* unknown or unsupported join type */
 
#define JT_INNER   0x0001 /* Any kind of inner or cross join */
 
#define JT_LEFT   0x0008 /* Left outer join */
 
#define JT_NATURAL   0x0004 /* True for a "natural" join */
 
#define JT_OUTER   0x0020 /* The "OUTER" keyword is present */
 
#define JT_RIGHT   0x0010 /* Right outer join */
 
#define LARGEST_INT64   (0xffffffff|(((i64)0x7fffffff)<<32))
 
#define LIKEFUNC(zName, nArg, arg, flags)
 
#define likely(X)   (X)
 
#define LONGDOUBLE_TYPE   long double
 
#define MASKBIT(n)   (((Bitmask)1)<<(n))
 
#define MASKBIT32(n)   (((unsigned int)1)<<(n))
 
#define MASTER_NAME   "sqlite_master"
 
#define MASTER_ROOT   1
 
#define MAX(A, B)   ((A)>(B)?(A):(B))
 
#define MAX_6BYTE   ((((i64)0x00008000)<<32)-1)
 
#define MAX_PATHNAME   512
 
#define MAX_ROWID   (i64)( (((u64)0x7fffffff)<<32) | (u64)0xffffffff )
 
#define MAX_SECTOR_SIZE   0x10000
 
#define mem0   GLOBAL(struct Mem0Global, mem0)
 
#define MEM_AffMask   0x001f /* Mask of affinity bits */
 
#define MEM_Agg   0x2000 /* Mem.z points to an agg function context */
 
#define MEM_Blob   0x0010 /* Value is a BLOB */
 
#define MEM_Cleared   0x0100 /* NULL set by OP_Null, not from data */
 
#define MEM_Dyn   0x0400 /* Need to call Mem.xDel() on Mem.z */
 
#define MEM_Ephem   0x1000 /* Mem.z points to an ephemeral string */
 
#define MEM_Frame   0x0040 /* Value is a VdbeFrame object */
 
#define MEM_Int   0x0004 /* Value is an integer */
 
#define MEM_Null   0x0001 /* Value is NULL */
 
#define MEM_Real   0x0008 /* Value is a real number */
 
#define MEM_RowSet   0x0020 /* Value is a RowSet object */
 
#define MEM_Static   0x0800 /* Mem.z points to a static string */
 
#define MEM_Str   0x0002 /* Value is a string */
 
#define MEM_Subtype   0x8000 /* Mem.eSubtype is valid */
 
#define MEM_Term   0x0200 /* String rep is nul terminated */
 
#define MEM_TypeMask   0x81ff /* Mask of type bits */
 
#define MEM_Undefined   0x0080 /* Value is undefined */
 
#define MEM_Zero   0x4000 /* Mem.i contains count of 0s appended to blob */
 
#define memAboutToChange(P, M)
 
#define MEMCELLSIZE   offsetof(Mem,zMalloc)
 
#define MEMDB   pPager->memDb
 
#define MEMJOURNAL_DFLT_FILECHUNKSIZE   1024
 
#define MemSetTypeFlag(p, f)   ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f)
 
#define MEMTYPE_HEAP   0x01 /* General heap allocations */
 
#define MEMTYPE_LOOKASIDE   0x02 /* Heap that might have been lookaside */
 
#define MEMTYPE_PCACHE   0x08 /* Page cache allocations */
 
#define MEMTYPE_SCRATCH   0x04 /* Scratch allocations */
 
#define MIN(A, B)   ((A)<(B)?(A):(B))
 
#define MUTEX_LOGIC(X)   X
 
#define MX_CELL(pBt)   ((pBt->pageSize-8)/6)
 
#define MX_CELL_SIZE(pBt)   ((int)(pBt->pageSize-8))
 
#define N_OR_COST   3
 
#define N_SORT_BUCKET   32
 
#define NB   (NN*2+1) /* Total pages involved in the balance */
 
#define NC_AllowAgg   0x0001 /* Aggregate functions are allowed here */
 
#define NC_HasAgg   0x0010 /* One or more aggregate functions seen */
 
#define NC_IdxExpr   0x0020 /* True if resolving columns of CREATE INDEX */
 
#define NC_InAggFunc   0x0008 /* True if analyzing arguments to an agg func */
 
#define NC_IsCheck   0x0004 /* True if resolving names in a CHECK constraint */
 
#define NC_MinMaxAgg   0x1000 /* min/max aggregates seen. See note above */
 
#define NC_PartIdx   0x0002 /* True if resolving a partial index WHERE */
 
#define NC_VarSelect   0x0040 /* A correlated subquery has been seen */
 
#define NDEBUG   1
 
#define NEVER(X)   (X)
 
#define NN   1 /* Number of neighbors on either side of pPage */
 
#define NO_LOCK   0
 
#define noopFunc   versionFunc /* Substitute function - never called */
 
#define NOT_WITHIN   0 /* Object completely outside of query region */
 
#define O_BINARY   0
 
#define O_LARGEFILE   0
 
#define O_NOFOLLOW   0
 
#define OE_Abort   2 /* Back out changes but do no rollback transaction */
 
#define OE_Cascade   9 /* Cascade the changes */
 
#define OE_Default   10 /* Do whatever the default action is */
 
#define OE_Fail   3 /* Stop the operation but leave all prior changes */
 
#define OE_Ignore   4 /* Ignore the error. Do not do the INSERT or UPDATE */
 
#define OE_None   0 /* There is no constraint to check */
 
#define OE_Replace   5 /* Delete existing record, then do INSERT or UPDATE */
 
#define OE_Restrict   6 /* OE_Abort for IMMEDIATE, OE_Rollback for DEFERRED */
 
#define OE_Rollback   1 /* Fail the operation and rollback the transaction */
 
#define OE_SetDflt   8 /* Set the foreign key value to its default */
 
#define OE_SetNull   7 /* Set the foreign key value to NULL */
 
#define offsetof(STRUCTURE, FIELD)   ((int)((char*)&((STRUCTURE*)0)->FIELD))
 
#define OMIT_TEMPDB   0
 
#define ONE_BYTE_INT(x)   ((i8)(x)[0])
 
#define ONEPASS_MULTI   2 /* ONEPASS is valid for multiple rows */
 
#define ONEPASS_OFF   0 /* Use of ONEPASS not allowed */
 
#define ONEPASS_SINGLE   1 /* ONEPASS valid for a single row update */
 
#define ONLY_IF_REALLOC_STRESS(X)   (0)
 
#define OP_Add   47 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */
 
#define OP_AddImm   89 /* synopsis: r[P1]=r[P1]+P2 */
 
#define OP_Affinity   95 /* synopsis: affinity(r[P1@P2]) */
 
#define OP_AggFinal   147 /* synopsis: accum=r[P1] N=P2 */
 
#define OP_AggStep   146 /* synopsis: accum=r[P3] step(r[P2@P5]) */
 
#define OP_AggStep0   145 /* synopsis: accum=r[P3] step(r[P2@P5]) */
 
#define OP_And   28 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */
 
#define OP_AutoCommit   1
 
#define OP_BitAnd   43 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */
 
#define OP_BitNot   54 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */
 
#define OP_BitOr   44 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */
 
#define OP_Blob   79 /* synopsis: r[P2]=P4 (len=P1) */
 
#define OP_Cast   91 /* synopsis: affinity(r[P1]) */
 
#define OP_Checkpoint   8
 
#define OP_Clear   129
 
#define OP_Close   109
 
#define OP_CollSeq   86
 
#define OP_Column   94 /* synopsis: r[P3]=PX */
 
#define OP_ColumnsUsed   110
 
#define OP_Compare   93 /* synopsis: r[P1@P3] <-> r[P2@P3] */
 
#define OP_Concat   52 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */
 
#define OP_Copy   82 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */
 
#define OP_Count   98 /* synopsis: r[P2]=count() */
 
#define OP_CreateIndex   131 /* synopsis: r[P2]=root iDb=P1 */
 
#define OP_CreateTable   132 /* synopsis: r[P2]=root iDb=P1 */
 
#define OP_CursorHint   158
 
#define OP_DecrJumpZero   66 /* synopsis: if (--r[P1])==0 goto P2 */
 
#define OP_Delete   115
 
#define OP_Destroy   128
 
#define OP_Divide   50 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */
 
#define OP_DropIndex   137
 
#define OP_DropTable   136
 
#define OP_DropTrigger   138
 
#define OP_EndCoroutine   71
 
#define OP_Eq   37 /* same as TK_EQ, synopsis: if r[P1]==r[P3] goto P2 */
 
#define OP_Expire   148
 
#define OP_Explain   160
 
#define OP_FkCounter   142 /* synopsis: fkctr[P1]+=P2 */
 
#define OP_FkIfZero   63 /* synopsis: if fkctr[P1]==0 goto P2 */
 
#define OP_Found   31 /* synopsis: key=r[P3@P4] */
 
#define OP_Function   88 /* synopsis: r[P3]=func(r[P2@P5]) */
 
#define OP_Function0   87 /* synopsis: r[P3]=func(r[P2@P5]) */
 
#define OP_Ge   41 /* same as TK_GE, synopsis: if r[P1]>=r[P3] goto P2 */
 
#define OP_Gosub   14
 
#define OP_Goto   13
 
#define OP_Gt   38 /* same as TK_GT, synopsis: if r[P1]>r[P3] goto P2 */
 
#define OP_Halt   73
 
#define OP_HaltIfNull   72 /* synopsis: if r[P3]=null halt */
 
#define OP_IdxDelete   125 /* synopsis: key=r[P2@P3] */
 
#define OP_IdxGE   59 /* synopsis: key=r[P3@P4] */
 
#define OP_IdxGT   57 /* synopsis: key=r[P3@P4] */
 
#define OP_IdxInsert   124 /* synopsis: key=r[P2] */
 
#define OP_IdxLE   56 /* synopsis: key=r[P3@P4] */
 
#define OP_IdxLT   58 /* synopsis: key=r[P3@P4] */
 
#define OP_IdxRowid   127 /* synopsis: r[P2]=rowid */
 
#define OP_If   21
 
#define OP_IfNot   22
 
#define OP_IfNotZero   65 /* synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 */
 
#define OP_IfPos   64 /* synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */
 
#define OP_IncrVacuum   67
 
#define OP_Init   69 /* synopsis: Start at P2 */
 
#define OP_InitCoroutine   15
 
#define OP_Insert   113 /* synopsis: intkey=r[P3] data=r[P2] */
 
#define OP_InsertInt   114 /* synopsis: intkey=P3 data=r[P2] */
 
#define OP_Int64   75 /* synopsis: r[P2]=P4 */
 
#define OP_IntCopy   84 /* synopsis: r[P2]=r[P1] */
 
#define OP_Integer   74 /* synopsis: r[P2]=P1 */
 
#define OP_IntegrityCk   139
 
#define OP_IsNull   34 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */
 
#define OP_JournalMode   9
 
#define OP_Jump   18
 
#define OP_Last   33
 
#define OP_Le   39 /* same as TK_LE, synopsis: if r[P1]<=r[P3] goto P2 */
 
#define OP_LoadAnalysis   135
 
#define OP_Lt   40 /* same as TK_LT, synopsis: if r[P1]<r[P3] goto P2 */
 
#define OP_MakeRecord   96 /* synopsis: r[P3]=mkrec(r[P1@P2]) */
 
#define OP_MaxPgcnt   157
 
#define OP_MemMax   143 /* synopsis: r[P1]=max(r[P1],r[P2]) */
 
#define OP_Move   81 /* synopsis: r[P2@P3]=r[P1@P3] */
 
#define OP_Multiply   49 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */
 
#define OP_MustBeInt   17
 
#define OP_Ne   36 /* same as TK_NE, synopsis: if r[P1]!=r[P3] goto P2 */
 
#define OP_NewRowid   112 /* synopsis: r[P2]=rowid */
 
#define OP_Next   7
 
#define OP_NextIfOpen   5
 
#define OP_NoConflict   29 /* synopsis: key=r[P3@P4] */
 
#define OP_Noop   159
 
#define OP_Not   19 /* same as TK_NOT, synopsis: r[P2]= !r[P1] */
 
#define OP_NotExists   32 /* synopsis: intkey=r[P3] */
 
#define OP_NotFound   30 /* synopsis: key=r[P3@P4] */
 
#define OP_NotNull   35 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */
 
#define OP_Null   77 /* synopsis: r[P2..P3]=NULL */
 
#define OP_NullRow   122
 
#define OP_OffsetLimit   144 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */
 
#define OP_Once   20
 
#define OP_OpenAutoindex   104 /* synopsis: nColumn=P2 */
 
#define OP_OpenEphemeral   105 /* synopsis: nColumn=P2 */
 
#define OP_OpenPseudo   108 /* synopsis: P3 columns in r[P2] */
 
#define OP_OpenRead   102 /* synopsis: root=P2 iDb=P3 */
 
#define OP_OpenWrite   103 /* synopsis: root=P2 iDb=P3 */
 
#define OP_Or   27 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */
 
#define OP_Pagecount   156
 
#define OP_Param   141
 
#define OP_ParseSchema   134
 
#define OP_Permutation   92
 
#define OP_Prev   6
 
#define OP_PrevIfOpen   4
 
#define OP_Program   62
 
#define OP_ReadCookie   99
 
#define OP_Real   133 /* same as TK_FLOAT, synopsis: r[P2]=P4 */
 
#define OP_RealAffinity   90
 
#define OP_Remainder   51 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */
 
#define OP_ReopenIdx   101 /* synopsis: root=P2 iDb=P3 */
 
#define OP_ResetCount   116
 
#define OP_ResetSorter   130
 
#define OP_ResultRow   85 /* synopsis: output=r[P1@P2] */
 
#define OP_Return   70
 
#define OP_Rewind   55
 
#define OP_RowData   120 /* synopsis: r[P2]=data */
 
#define OP_Rowid   121 /* synopsis: r[P2]=rowid */
 
#define OP_RowKey   119 /* synopsis: r[P2]=key */
 
#define OP_RowSetAdd   140 /* synopsis: rowset(P1)=r[P2] */
 
#define OP_RowSetRead   60 /* synopsis: r[P3]=rowset(P1) */
 
#define OP_RowSetTest   61 /* synopsis: if r[P3] in rowset(P1) goto P2 */
 
#define OP_Savepoint   0
 
#define OP_SCopy   83 /* synopsis: r[P2]=r[P1] */
 
#define OP_Seek   126 /* synopsis: Move P3 to P1.rowid */
 
#define OP_SeekGE   25 /* synopsis: key=r[P3@P4] */
 
#define OP_SeekGT   26 /* synopsis: key=r[P3@P4] */
 
#define OP_SeekLE   24 /* synopsis: key=r[P3@P4] */
 
#define OP_SeekLT   23 /* synopsis: key=r[P3@P4] */
 
#define OP_Sequence   111 /* synopsis: r[P2]=cursor[P1].ctr++ */
 
#define OP_SequenceTest   107 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */
 
#define OP_SetCookie   100
 
#define OP_ShiftLeft   45 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<<r[P1] */
 
#define OP_ShiftRight   46 /* same as TK_RSHIFT, synopsis: r[P3]=r[P2]>>r[P1] */
 
#define OP_SoftNull   78 /* synopsis: r[P1]=NULL */
 
#define OP_Sort   53
 
#define OP_SorterCompare   117 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */
 
#define OP_SorterData   118 /* synopsis: r[P2]=data */
 
#define OP_SorterInsert   123
 
#define OP_SorterNext   3
 
#define OP_SorterOpen   106
 
#define OP_SorterSort   42
 
#define OP_String   76 /* synopsis: r[P2]='P4' (len=P1) */
 
#define OP_String8   97 /* same as TK_STRING, synopsis: r[P2]='P4' */
 
#define OP_Subtract   48 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */
 
#define OP_TableLock   149 /* synopsis: iDb=P1 root=P2 write=P3 */
 
#define OP_Transaction   2
 
#define OP_Vacuum   10
 
#define OP_Variable   80 /* synopsis: r[P2]=parameter(P1,P4) */
 
#define OP_VBegin   150
 
#define OP_VColumn   154 /* synopsis: r[P3]=vcolumn(P2) */
 
#define OP_VCreate   151
 
#define OP_VDestroy   152
 
#define OP_VFilter   11 /* synopsis: iplan=r[P3] zplan='P4' */
 
#define OP_VNext   68
 
#define OP_VOpen   153
 
#define OP_VRename   155
 
#define OP_VUpdate   12 /* synopsis: data=r[P3@P2] */
 
#define OP_Yield   16
 
#define OpenCounter(X)
 
#define OPFLAG_APPEND   0x08 /* This is likely to be an append */
 
#define OPFLAG_AUXDELETE   0x04 /* OP_Delete: index in a DELETE op */
 
#define OPFLAG_BULKCSR   0x01 /* OP_Open** used to open bulk cursor */
 
#define OPFLAG_EPHEM   0x01 /* OP_Column: Ephemeral output is ok */
 
#define OPFLAG_FORDELETE   0x08 /* OP_Open should use BTREE_FORDELETE */
 
#define OPFLAG_ISUPDATE   0x04 /* This OP_Insert is an sql UPDATE */
 
#define OPFLAG_LASTROWID   0x02 /* Set to update db->lastRowid */
 
#define OPFLAG_LENGTHARG   0x40 /* OP_Column only used for length() */
 
#define OPFLAG_NCHANGE   0x01 /* OP_Insert: Set to update db->nChange */
 
#define OPFLAG_P2ISREG   0x10 /* P2 to OP_Open** is a register number */
 
#define OPFLAG_PERMUTE   0x01 /* OP_Compare: use the permutation */
 
#define OPFLAG_SAVEPOSITION   0x02 /* OP_Delete: keep cursor position */
 
#define OPFLAG_SEEKEQ   0x02 /* OP_Open** cursor uses EQ seek only */
 
#define OPFLAG_TYPEOFARG   0x80 /* OP_Column only used for typeof() */
 
#define OPFLAG_USESEEKRESULT   0x10 /* Try to avoid a seek in BtreeInsert() */
 
#define OPFLG_IN1   0x02 /* in1: P1 is an input */
 
#define OPFLG_IN2   0x04 /* in2: P2 is an input */
 
#define OPFLG_IN3   0x08 /* in3: P3 is an input */
 
#define OPFLG_INITIALIZER
 
#define OPFLG_JUMP   0x01 /* jump: P2 holds jmp target */
 
#define OPFLG_OUT2   0x10 /* out2: P2 is an output */
 
#define OPFLG_OUT3   0x20 /* out3: P3 is an output */
 
#define OpHelp(X)
 
#define OptimizationDisabled(db, mask)   (((db)->dbOptFlags&(mask))!=0)
 
#define OptimizationEnabled(db, mask)   (((db)->dbOptFlags&(mask))==0)
 
#define OS_VXWORKS   0
 
#define osAccess   ((int(*)(const char*,int))aSyscall[2].pCurrent)
 
#define osClose   ((int(*)(int))aSyscall[1].pCurrent)
 
#define osFallocate   ((int(*)(int,off_t,off_t))aSyscall[15].pCurrent)
 
#define osFchmod   ((int(*)(int,mode_t))aSyscall[14].pCurrent)
 
#define osFchown   ((int(*)(int,uid_t,gid_t))aSyscall[20].pCurrent)
 
#define osFcntl   ((int(*)(int,int,...))aSyscall[7].pCurrent)
 
#define osFstat   ((int(*)(int,struct stat*))aSyscall[5].pCurrent)
 
#define osFtruncate   ((int(*)(int,off_t))aSyscall[6].pCurrent)
 
#define osGetcwd   ((char*(*)(char*,size_t))aSyscall[3].pCurrent)
 
#define osGeteuid   ((uid_t(*)(void))aSyscall[21].pCurrent)
 
#define osGetpagesize   ((int(*)(void))aSyscall[25].pCurrent)
 
#define osGetpid(X)   (pid_t)getpid()
 
#define osLstat   ((int(*)(const char*,struct stat*))aSyscall[27].pCurrent)
 
#define osMkdir   ((int(*)(const char*,mode_t))aSyscall[18].pCurrent)
 
#define osMmap   ((void*(*)(void*,size_t,int,int,int,off_t))aSyscall[22].pCurrent)
 
#define osMremap   ((void*(*)(void*,size_t,size_t,int,...))aSyscall[24].pCurrent)
 
#define osMunmap   ((void*(*)(void*,size_t))aSyscall[23].pCurrent)
 
#define osOpen   ((int(*)(const char*,int,int))aSyscall[0].pCurrent)
 
#define osOpenDirectory   ((int(*)(const char*,int*))aSyscall[17].pCurrent)
 
#define osPread   ((ssize_t(*)(int,void*,size_t,off_t))aSyscall[9].pCurrent)
 
#define osPread64   ((ssize_t(*)(int,void*,size_t,off64_t))aSyscall[10].pCurrent)
 
#define osPwrite
 
#define osPwrite64
 
#define osRead   ((ssize_t(*)(int,void*,size_t))aSyscall[8].pCurrent)
 
#define osReadlink   ((ssize_t(*)(const char*,char*,size_t))aSyscall[26].pCurrent)
 
#define osRmdir   ((int(*)(const char*))aSyscall[19].pCurrent)
 
#define osStat   ((int(*)(const char*,struct stat*))aSyscall[4].pCurrent)
 
#define OSTRACE(X)
 
#define osUnlink   ((int(*)(const char*))aSyscall[16].pCurrent)
 
#define osWrite   ((ssize_t(*)(int,const void*,size_t))aSyscall[11].pCurrent)
 
#define P4_ADVANCE   (-19) /* P4 is a pointer to BtreeNext() or BtreePrev() */
 
#define P4_COLLSEQ   (-4) /* P4 is a pointer to a CollSeq structure */
 
#define P4_DYNAMIC   (-1) /* Pointer to a string obtained from sqliteMalloc() */
 
#define P4_EXPR   (-7) /* P4 is a pointer to an Expr tree */
 
#define P4_FUNCCTX   (-21) /* P4 is a pointer to an sqlite3_context object */
 
#define P4_FUNCDEF   (-5) /* P4 is a pointer to a FuncDef structure */
 
#define P4_INT32   (-14) /* P4 is a 32-bit signed integer */
 
#define P4_INT64   (-13) /* P4 is a 64-bit signed integer */
 
#define P4_INTARRAY   (-15) /* P4 is a vector of 32-bit integers */
 
#define P4_KEYINFO   (-6) /* P4 is a pointer to a KeyInfo structure */
 
#define P4_MEM   (-8) /* P4 is a pointer to a Mem* structure */
 
#define P4_MPRINTF   (-11) /* P4 is a string obtained from sqlite3_mprintf() */
 
#define P4_NOTUSED   0 /* The P4 parameter is not used */
 
#define P4_REAL   (-12) /* P4 is a 64-bit floating point value */
 
#define P4_STATIC   (-2) /* Pointer to a static string */
 
#define P4_SUBPROGRAM   (-18) /* P4 is a pointer to a SubProgram structure */
 
#define P4_TABLE   (-20) /* P4 is a pointer to a Table structure */
 
#define P4_TRANSIENT   0 /* P4 is a pointer to a transient string */
 
#define P4_VTAB   (-10) /* P4 is a pointer to an sqlite3_vtab structure */
 
#define P5_ConstraintCheck   3
 
#define P5_ConstraintFK   4
 
#define P5_ConstraintNotNull   1
 
#define P5_ConstraintUnique   2
 
#define PAGER_CACHESPILL   0x20 /* PRAGMA cache_spill=ON */
 
#define PAGER_CKPT_FULLFSYNC   0x10 /* PRAGMA checkpoint_fullfsync=ON */
 
#define pager_datahash(X, Y)   0
 
#define PAGER_ERROR   6
 
#define PAGER_FLAGS_MASK   0x38 /* All above except SYNCHRONOUS */
 
#define PAGER_FULLFSYNC   0x08 /* PRAGMA fullfsync=ON */
 
#define PAGER_GET_NOCONTENT   0x01 /* Do not load data from disk */
 
#define PAGER_GET_READONLY   0x02 /* Read-only page is acceptable */
 
#define PAGER_INCR(v)
 
#define PAGER_JOURNALMODE_DELETE   0 /* Commit by deleting journal file */
 
#define PAGER_JOURNALMODE_MEMORY   4 /* In-memory journal file */
 
#define PAGER_JOURNALMODE_OFF   2 /* Journal omitted. */
 
#define PAGER_JOURNALMODE_PERSIST   1 /* Commit by zeroing journal header */
 
#define PAGER_JOURNALMODE_QUERY   (-1) /* Query the value of journalmode */
 
#define PAGER_JOURNALMODE_TRUNCATE   3 /* Commit by truncating journal */
 
#define PAGER_JOURNALMODE_WAL   5 /* Use write-ahead logging */
 
#define PAGER_LOCKINGMODE_EXCLUSIVE   1
 
#define PAGER_LOCKINGMODE_NORMAL   0
 
#define PAGER_LOCKINGMODE_QUERY   -1
 
#define PAGER_MAX_PGNO   2147483647
 
#define PAGER_MEMORY   0x0002 /* In-memory database */
 
#define PAGER_MJ_PGNO(x)   ((Pgno)((PENDING_BYTE/((x)->pageSize))+1))
 
#define PAGER_OMIT_JOURNAL   0x0001 /* Do not use a rollback journal */
 
#define PAGER_OPEN   0
 
#define pager_pagehash(X)   0
 
#define PAGER_READER   1
 
#define pager_set_pagehash(X)
 
#define PAGER_STAT_HIT   0
 
#define PAGER_STAT_MISS   1
 
#define PAGER_STAT_WRITE   2
 
#define PAGER_SYNCHRONOUS_EXTRA   0x04 /* PRAGMA synchronous=EXTRA */
 
#define PAGER_SYNCHRONOUS_FULL   0x03 /* PRAGMA synchronous=FULL */
 
#define PAGER_SYNCHRONOUS_MASK   0x07 /* Mask for four values above */
 
#define PAGER_SYNCHRONOUS_NORMAL   0x02 /* PRAGMA synchronous=NORMAL */
 
#define PAGER_SYNCHRONOUS_OFF   0x01 /* PRAGMA synchronous=OFF */
 
#define PAGER_WRITER_CACHEMOD   3
 
#define PAGER_WRITER_DBMOD   4
 
#define PAGER_WRITER_FINISHED   5
 
#define PAGER_WRITER_LOCKED   2
 
#define PAGERID(p)   ((int)(p->fd))
 
#define pagerReportSize(X)   /* No-op if we do not support a codec */
 
#define PAGERTRACE(X)
 
#define PARTLY_WITHIN   1 /* Object partially overlaps query region */
 
#define pcache1   (GLOBAL(struct PCacheGlobal, pcache1_g))
 
#define PCACHE1_MIGHT_USE_GROUP_MUTEX   0
 
#define pcache1EnterMutex(X)   assert((X)->mutex==0)
 
#define pcache1LeaveMutex(X)   assert((X)->mutex==0)
 
#define PCACHE_DIRTYLIST_ADD   2 /* Add pPage to the dirty list */
 
#define PCACHE_DIRTYLIST_FRONT   3 /* Move pPage to the front of the list */
 
#define PCACHE_DIRTYLIST_REMOVE   1 /* Remove pPage from dirty list */
 
#define pcacheDump(X)
 
#define pcacheTrace(X)
 
#define PENDING_BYTE   sqlite3PendingByte
 
#define PENDING_BYTE_PAGE(pBt)   PAGER_MJ_PGNO(pBt)
 
#define PENDING_LOCK   3
 
#define PGHDR_CLEAN   0x001 /* Page not on the PCache.pDirty list */
 
#define PGHDR_DIRTY   0x002 /* Page is on the PCache.pDirty list */
 
#define PGHDR_DONT_WRITE   0x010 /* Do not write content to disk */
 
#define PGHDR_MMAP   0x020 /* This is an mmap page object */
 
#define PGHDR_NEED_SYNC
 
#define PGHDR_WAL_APPEND   0x040 /* Appended to wal file */
 
#define PGHDR_WRITEABLE   0x004 /* Journaled and ready to modify */
 
#define PragFlag_NeedSchema   0x01
 
#define PragFlag_ReadOnly   0x02
 
#define PragTyp_ACTIVATE_EXTENSIONS   37
 
#define PragTyp_AUTO_VACUUM   1
 
#define PragTyp_BUSY_TIMEOUT   3
 
#define PragTyp_CACHE_SIZE   4
 
#define PragTyp_CACHE_SPILL   5
 
#define PragTyp_CASE_SENSITIVE_LIKE   6
 
#define PragTyp_COLLATION_LIST   7
 
#define PragTyp_COMPILE_OPTIONS   8
 
#define PragTyp_DATA_STORE_DIRECTORY   9
 
#define PragTyp_DATABASE_LIST   10
 
#define PragTyp_DEFAULT_CACHE_SIZE   11
 
#define PragTyp_ENCODING   12
 
#define PragTyp_FLAG   2
 
#define PragTyp_FOREIGN_KEY_CHECK   13
 
#define PragTyp_FOREIGN_KEY_LIST   14
 
#define PragTyp_HEADER_VALUE   0
 
#define PragTyp_HEXKEY   38
 
#define PragTyp_INCREMENTAL_VACUUM   15
 
#define PragTyp_INDEX_INFO   16
 
#define PragTyp_INDEX_LIST   17
 
#define PragTyp_INTEGRITY_CHECK   18
 
#define PragTyp_JOURNAL_MODE   19
 
#define PragTyp_JOURNAL_SIZE_LIMIT   20
 
#define PragTyp_KEY   39
 
#define PragTyp_LOCK_PROXY_FILE   21
 
#define PragTyp_LOCK_STATUS   41
 
#define PragTyp_LOCKING_MODE   22
 
#define PragTyp_MMAP_SIZE   24
 
#define PragTyp_PAGE_COUNT   23
 
#define PragTyp_PAGE_SIZE   25
 
#define PragTyp_PARSER_TRACE   42
 
#define PragTyp_REKEY   40
 
#define PragTyp_SECURE_DELETE   26
 
#define PragTyp_SHRINK_MEMORY   27
 
#define PragTyp_SOFT_HEAP_LIMIT   28
 
#define PragTyp_STATS   29
 
#define PragTyp_SYNCHRONOUS   30
 
#define PragTyp_TABLE_INFO   31
 
#define PragTyp_TEMP_STORE   32
 
#define PragTyp_TEMP_STORE_DIRECTORY   33
 
#define PragTyp_THREADS   34
 
#define PragTyp_WAL_AUTOCHECKPOINT   35
 
#define PragTyp_WAL_CHECKPOINT   36
 
#define PTF_INTKEY   0x01
 
#define PTF_LEAF   0x08
 
#define PTF_LEAFDATA   0x04
 
#define PTF_ZERODATA   0x02
 
#define PTRMAP_BTREE   5
 
#define PTRMAP_FREEPAGE   2
 
#define PTRMAP_ISPAGE(pBt, pgno)   (PTRMAP_PAGENO((pBt),(pgno))==(pgno))
 
#define PTRMAP_OVERFLOW1   3
 
#define PTRMAP_OVERFLOW2   4
 
#define PTRMAP_PAGENO(pBt, pgno)   ptrmapPageno(pBt, pgno)
 
#define PTRMAP_PTROFFSET(pgptrmap, pgno)   (5*(pgno-pgptrmap-1))
 
#define PTRMAP_ROOTPAGE   1
 
#define put2byte(p, v)   ((p)[0] = (u8)((v)>>8), (p)[1] = (u8)(v))
 
#define put32bits(A, B)   sqlite3Put4byte((u8*)A,B)
 
#define put4byte   sqlite3Put4byte
 
#define putVarint   sqlite3PutVarint
 
#define putVarint32(A, B)
 
#define READ_LOCK   1
 
#define READ_UTF16BE(zIn, TERM, c)
 
#define READ_UTF16LE(zIn, TERM, c)
 
#define READ_UTF8(zIn, zTerm, c)
 
#define READMARK_NOT_USED   0xffffffff
 
#define REGISTER_TRACE(R, M)
 
#define RESERVED_BYTE   (PENDING_BYTE+1)
 
#define RESERVED_LOCK   2
 
#define restoreCursorPosition(p)
 
#define ROUND8(x)   (((x)+7)&~7)
 
#define ROUNDDOWN8(x)   ((x)&~7)
 
#define ROWSET_ALLOCATION_SIZE   1024
 
#define ROWSET_ENTRY_PER_CHUNK   ((ROWSET_ALLOCATION_SIZE-8)/sizeof(struct RowSetEntry))
 
#define ROWSET_NEXT   0x02 /* True if sqlite3RowSetNext() has been called */
 
#define ROWSET_SORTED   0x01 /* True if RowSet.pEntry is sorted */
 
#define SAVE_SZ   (sizeof(Parse) - offsetof(Parse,nVar))
 
#define SAVEPOINT_BEGIN   0
 
#define SAVEPOINT_RELEASE   1
 
#define SAVEPOINT_ROLLBACK   2
 
#define SCHEMA_ENC(db)   ((db)->aDb[0].pSchema->enc)
 
#define SCHEMA_TABLE(x)   ((!OMIT_TEMPDB)&&(x==1)?TEMP_MASTER_NAME:MASTER_NAME)
 
#define SELECTTRACE(K, P, S, X)
 
#define SELECTTRACE_ENABLED   0
 
#define SET_FULLSYNC(x, y)
 
#define SETBIT(V, I)   V[I>>3] |= (1<<(I&7))
 
#define SF_Aggregate   0x00008 /* Contains agg functions or a GROUP BY */
 
#define SF_All   0x00002 /* Includes the ALL keyword */
 
#define SF_Compound   0x00100 /* Part of a compound query */
 
#define SF_Converted   0x10000 /* By convertCompoundSelectToSubquery() */
 
#define SF_Distinct   0x00001 /* Output should be DISTINCT */
 
#define SF_Expanded   0x00040 /* sqlite3SelectExpand() called on this */
 
#define SF_FixedLimit   0x04000 /* nSelectRow set by a constant LIMIT */
 
#define SF_HasAgg   0x00010 /* Contains aggregate functions */
 
#define SF_HasTypeInfo   0x00080 /* FROM subqueries have Table metadata */
 
#define SF_IncludeHidden   0x20000 /* Include hidden columns in output */
 
#define SF_MaybeConvert   0x08000 /* Need convertCompoundSelectToSubquery() */
 
#define SF_MinMaxAgg   0x01000 /* Aggregate containing min() or max() */
 
#define SF_MultiValue   0x00400 /* Single VALUES term with multiple rows */
 
#define SF_NestedFrom   0x00800 /* Part of a parenthesized FROM clause */
 
#define SF_Recursive   0x02000 /* The recursive part of a recursive CTE */
 
#define SF_Resolved   0x00004 /* Identifiers have been resolved */
 
#define SF_UsesEphemeral   0x00020 /* Uses the OpenEphemeral opcode */
 
#define SF_Values   0x00200 /* Synthesized from VALUES clause */
 
#define SHARED_FIRST   (PENDING_BYTE+2)
 
#define SHARED_LOCK   1
 
#define SHARED_SIZE   510
 
#define SimulateDiskfullError(A)
 
#define SimulateIOError(A)
 
#define SimulateIOErrorBenign(X)
 
#define SLOT_2_0   0x001fc07f
 
#define SLOT_4_2_0   0xf01fc07f
 
#define SMALLEST_INT64   (((i64)-1) - LARGEST_INT64)
 
#define SORTER_MAX_MERGE_COUNT   16
 
#define SORTER_TYPE_INTEGER   0x01
 
#define SORTER_TYPE_TEXT   0x02
 
#define SORTFLAG_UseSorter   0x01 /* Use SorterOpen instead of OpenEphemeral */
 
#define SPILLFLAG_NOSYNC   0x04 /* Spill is ok, but do not sync */
 
#define SPILLFLAG_OFF   0x01 /* Never spill cache. Set via pragma */
 
#define SPILLFLAG_ROLLBACK   0x02 /* Current rolling back, so do not spill */
 
#define sqlite3_column_database_name   0
 
#define sqlite3_column_database_name16   0
 
#define sqlite3_column_origin_name   0
 
#define sqlite3_column_origin_name16   0
 
#define sqlite3_column_table_name   0
 
#define sqlite3_column_table_name16   0
 
#define SQLITE3_MUTEX_INITIALIZER   { PTHREAD_MUTEX_INITIALIZER }
 
#define SQLITE3_TEXT   3
 
#define sqlite3ColumnPropertiesFromName(T, C)   /* no-op */
 
#define sqlite3ConnectionBlocked(x, y)
 
#define sqlite3ConnectionClosed(x)
 
#define sqlite3ConnectionUnlocked(x)
 
#define sqlite3FileSuffix3(X, Y)
 
#define sqlite3GlobalConfig   sqlite3Config
 
#define sqlite3Isalnum(x)   (sqlite3CtypeMap[(unsigned char)(x)]&0x06)
 
#define sqlite3Isalpha(x)   (sqlite3CtypeMap[(unsigned char)(x)]&0x02)
 
#define sqlite3Isdigit(x)   (sqlite3CtypeMap[(unsigned char)(x)]&0x04)
 
#define sqlite3IsNumericAffinity(X)   ((X)>=SQLITE_AFF_NUMERIC)
 
#define sqlite3Isquote(x)   (sqlite3CtypeMap[(unsigned char)(x)]&0x80)
 
#define sqlite3Isspace(x)   (sqlite3CtypeMap[(unsigned char)(x)]&0x01)
 
#define sqlite3IsToplevel(p)   ((p)->pToplevel==0)
 
#define sqlite3Isxdigit(x)   (sqlite3CtypeMap[(unsigned char)(x)]&0x08)
 
#define sqlite3MemdebugHasType(X, Y)   1
 
#define sqlite3MemdebugNoType(X, Y)   1
 
#define sqlite3MemdebugSetType(X, Y)   /* no-op */
 
#define sqlite3ParserARG_FETCH   Parse *pParse = yypParser->pParse
 
#define sqlite3ParserARG_PDECL   ,Parse *pParse
 
#define sqlite3ParserARG_SDECL   Parse *pParse;
 
#define sqlite3ParserARG_STORE   yypParser->pParse = pParse
 
#define sqlite3ParserTOKENTYPE   Token
 
#define sqlite3ParseToplevel(p)   ((p)->pToplevel ? (p)->pToplevel : (p))
 
#define sqlite3SelectSetName(A, B)
 
#define sqlite3StackAllocRaw(D, N)   sqlite3DbMallocRaw(D,N)
 
#define sqlite3StackAllocZero(D, N)   sqlite3DbMallocZero(D,N)
 
#define sqlite3StackFree(D, P)   sqlite3DbFree(D,P)
 
#define sqlite3StrNICmp   sqlite3_strnicmp
 
#define sqlite3Tolower(x)   (sqlite3UpperToLower[(unsigned char)(x)])
 
#define sqlite3Toupper(x)   ((x)&~(sqlite3CtypeMap[(unsigned char)(x)]&0x20))
 
#define sqlite3VdbeIOTraceSql(X)
 
#define sqlite3VdbeScanStatus(a, b, c, d, e)
 
#define sqlite3VdbeVerifyNoMallocRequired(A, B)
 
#define sqlite3VtabInSync(db)   ((db)->nVTrans>0 && (db)->aVTrans==0)
 
#define sqlite3WhereAddScanStatus(a, b, c, d)   ((void)d)
 
#define SQLITE_ABORT   4 /* Callback routine requested an abort */
 
#define SQLITE_ABORT_ROLLBACK   (SQLITE_ABORT | (2<<8))
 
#define SQLITE_ACCESS_EXISTS   0
 
#define SQLITE_ACCESS_READ   2 /* Unused */
 
#define SQLITE_ACCESS_READWRITE   1 /* Used by PRAGMA temp_store_directory */
 
#define SQLITE_AFF_BLOB   'A'
 
#define SQLITE_AFF_INTEGER   'D'
 
#define SQLITE_AFF_MASK   0x47
 
#define SQLITE_AFF_NUMERIC   'C'
 
#define SQLITE_AFF_REAL   'E'
 
#define SQLITE_AFF_TEXT   'B'
 
#define SQLITE_AllOpts   0xffff /* All optimizations */
 
#define SQLITE_ALLOW_COVERING_INDEX_SCAN   1
 
#define SQLITE_ALTER_TABLE   26 /* Database Name Table Name */
 
#define SQLITE_AMALGAMATION   1
 
#define SQLITE_ANALYZE   28 /* Table Name NULL */
 
#define SQLITE_ANY   5 /* Deprecated */
 
#define SQLITE_API
 
#define SQLITE_ASCII   1
 
#define SQLITE_ATTACH   24 /* Filename NULL */
 
#define SQLITE_AUTH   23 /* Authorization denied */
 
#define SQLITE_AUTH_USER   (SQLITE_AUTH | (1<<8))
 
#define SQLITE_AutoIndex   0x00100000 /* Enable automatic indexes */
 
#define SQLITE_BIG_DBL   (1e99)
 
#define SQLITE_BIGENDIAN   (*(char *)(&sqlite3one)==0)
 
#define SQLITE_BLOB   4
 
#define SQLITE_BUSY   5 /* The database file is locked */
 
#define SQLITE_BUSY_RECOVERY   (SQLITE_BUSY | (1<<8))
 
#define SQLITE_BUSY_SNAPSHOT   (SQLITE_BUSY | (2<<8))
 
#define SQLITE_BYTEORDER   0 /* 0 means "unknown at compile-time" */
 
#define SQLITE_CacheSpill   0x00000020 /* OK to spill pager cache */
 
#define SQLITE_CANTOPEN   14 /* Unable to open the database file */
 
#define SQLITE_CANTOPEN_BKPT   sqlite3CantopenError(__LINE__)
 
#define SQLITE_CANTOPEN_CONVPATH   (SQLITE_CANTOPEN | (4<<8))
 
#define SQLITE_CANTOPEN_FULLPATH   (SQLITE_CANTOPEN | (3<<8))
 
#define SQLITE_CANTOPEN_ISDIR   (SQLITE_CANTOPEN | (2<<8))
 
#define SQLITE_CANTOPEN_NOTEMPDIR   (SQLITE_CANTOPEN | (1<<8))
 
#define SQLITE_CDECL
 
#define SQLITE_CellSizeCk   0x20000000 /* Check btree cell sizes on load */
 
#define SQLITE_CHECKPOINT_FULL   1 /* Wait for writers, then checkpoint */
 
#define SQLITE_CHECKPOINT_PASSIVE   0 /* Do as much as possible w/o blocking */
 
#define SQLITE_CHECKPOINT_RESTART   2 /* Like FULL but wait for for readers */
 
#define SQLITE_CHECKPOINT_TRUNCATE   3 /* Like RESTART but also truncate WAL */
 
#define SQLITE_CkptFullFSync   0x00000010 /* Use full fsync for checkpoint */
 
#define SQLITE_ColumnCache   0x0002 /* Column cache */
 
#define SQLITE_CONFIG_COVERING_INDEX_SCAN   20 /* int */
 
#define SQLITE_CONFIG_GETMALLOC   5 /* sqlite3_mem_methods* */
 
#define SQLITE_CONFIG_GETMUTEX   11 /* sqlite3_mutex_methods* */
 
#define SQLITE_CONFIG_GETPCACHE   15 /* no-op */
 
#define SQLITE_CONFIG_GETPCACHE2   19 /* sqlite3_pcache_methods2* */
 
#define SQLITE_CONFIG_HEAP   8 /* void*, int nByte, int min */
 
#define SQLITE_CONFIG_LOG   16 /* xFunc, void* */
 
#define SQLITE_CONFIG_LOOKASIDE   13 /* int int */
 
#define SQLITE_CONFIG_MALLOC   4 /* sqlite3_mem_methods* */
 
#define SQLITE_CONFIG_MEMSTATUS   9 /* boolean */
 
#define SQLITE_CONFIG_MMAP_SIZE   22 /* sqlite3_int64, sqlite3_int64 */
 
#define SQLITE_CONFIG_MULTITHREAD   2 /* nil */
 
#define SQLITE_CONFIG_MUTEX   10 /* sqlite3_mutex_methods* */
 
#define SQLITE_CONFIG_PAGECACHE   7 /* void*, int sz, int N */
 
#define SQLITE_CONFIG_PCACHE   14 /* no-op */
 
#define SQLITE_CONFIG_PCACHE2   18 /* sqlite3_pcache_methods2* */
 
#define SQLITE_CONFIG_PCACHE_HDRSZ   24 /* int *psz */
 
#define SQLITE_CONFIG_PMASZ   25 /* unsigned int szPma */
 
#define SQLITE_CONFIG_SCRATCH   6 /* void*, int sz, int N */
 
#define SQLITE_CONFIG_SERIALIZED   3 /* nil */
 
#define SQLITE_CONFIG_SINGLETHREAD   1 /* nil */
 
#define SQLITE_CONFIG_SQLLOG   21 /* xSqllog, void* */
 
#define SQLITE_CONFIG_STMTJRNL_SPILL   26 /* int nByte */
 
#define SQLITE_CONFIG_URI   17 /* int */
 
#define SQLITE_CONFIG_WIN32_HEAPSIZE   23 /* int nByte */
 
#define SQLITE_CONSTRAINT   19 /* Abort due to constraint violation */
 
#define SQLITE_CONSTRAINT_CHECK   (SQLITE_CONSTRAINT | (1<<8))
 
#define SQLITE_CONSTRAINT_COMMITHOOK   (SQLITE_CONSTRAINT | (2<<8))
 
#define SQLITE_CONSTRAINT_FOREIGNKEY   (SQLITE_CONSTRAINT | (3<<8))
 
#define SQLITE_CONSTRAINT_FUNCTION   (SQLITE_CONSTRAINT | (4<<8))
 
#define SQLITE_CONSTRAINT_NOTNULL   (SQLITE_CONSTRAINT | (5<<8))
 
#define SQLITE_CONSTRAINT_PRIMARYKEY   (SQLITE_CONSTRAINT | (6<<8))
 
#define SQLITE_CONSTRAINT_ROWID   (SQLITE_CONSTRAINT |(10<<8))
 
#define SQLITE_CONSTRAINT_TRIGGER   (SQLITE_CONSTRAINT | (7<<8))
 
#define SQLITE_CONSTRAINT_UNIQUE   (SQLITE_CONSTRAINT | (8<<8))
 
#define SQLITE_CONSTRAINT_VTAB   (SQLITE_CONSTRAINT | (9<<8))
 
#define SQLITE_COPY   0 /* No longer used */
 
#define SQLITE_CORE   1
 
#define SQLITE_CORRUPT   11 /* The database disk image is malformed */
 
#define SQLITE_CORRUPT_BKPT   sqlite3CorruptError(__LINE__)
 
#define SQLITE_CORRUPT_VTAB   (SQLITE_CORRUPT | (1<<8))
 
#define SQLITE_CountRows   0x00000080 /* Count rows changed by INSERT, */
 
#define SQLITE_CoverIdxScan   0x0040 /* Covering index scans */
 
#define SQLITE_CREATE_INDEX   1 /* Index Name Table Name */
 
#define SQLITE_CREATE_TABLE   2 /* Table Name NULL */
 
#define SQLITE_CREATE_TEMP_INDEX   3 /* Index Name Table Name */
 
#define SQLITE_CREATE_TEMP_TABLE   4 /* Table Name NULL */
 
#define SQLITE_CREATE_TEMP_TRIGGER   5 /* Trigger Name Table Name */
 
#define SQLITE_CREATE_TEMP_VIEW   6 /* View Name NULL */
 
#define SQLITE_CREATE_TRIGGER   7 /* Trigger Name Table Name */
 
#define SQLITE_CREATE_VIEW   8 /* View Name NULL */
 
#define SQLITE_CREATE_VTABLE   29 /* Table Name Module Name */
 
#define SQLITE_CursorHints   0x2000 /* Add OP_CursorHint opcodes */
 
#define SQLITE_DBCONFIG_ENABLE_FKEY   1002 /* int int* */
 
#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER   1004 /* int int* */
 
#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION   1005 /* int int* */
 
#define SQLITE_DBCONFIG_ENABLE_TRIGGER   1003 /* int int* */
 
#define SQLITE_DBCONFIG_LOOKASIDE   1001 /* void* int int */
 
#define SQLITE_DBSTATUS_CACHE_HIT   7
 
#define SQLITE_DBSTATUS_CACHE_MISS   8
 
#define SQLITE_DBSTATUS_CACHE_USED   1
 
#define SQLITE_DBSTATUS_CACHE_WRITE   9
 
#define SQLITE_DBSTATUS_DEFERRED_FKS   10
 
#define SQLITE_DBSTATUS_LOOKASIDE_HIT   4
 
#define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL   6
 
#define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE   5
 
#define SQLITE_DBSTATUS_LOOKASIDE_USED   0
 
#define SQLITE_DBSTATUS_MAX   10 /* Largest defined DBSTATUS */
 
#define SQLITE_DBSTATUS_SCHEMA_USED   2
 
#define SQLITE_DBSTATUS_STMT_USED   3
 
#define SQLITE_DEFAULT_AUTOVACUUM   0
 
#define SQLITE_DEFAULT_CACHE_SIZE   -2000
 
#define SQLITE_DEFAULT_FILE_FORMAT   4
 
#define SQLITE_DEFAULT_FILE_PERMISSIONS   0644
 
#define SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT   -1
 
#define SQLITE_DEFAULT_MEMSTATUS   1
 
#define SQLITE_DEFAULT_MMAP_SIZE   0
 
#define SQLITE_DEFAULT_MMAP_SIZE_xc   1 /* Exclude from ctime.c */
 
#define SQLITE_DEFAULT_PAGE_SIZE   4096
 
#define SQLITE_DEFAULT_PCACHE_INITSZ   100
 
#define SQLITE_DEFAULT_PROXYDIR_PERMISSIONS   0755
 
#define SQLITE_DEFAULT_RECURSIVE_TRIGGERS   0
 
#define SQLITE_DEFAULT_SECTOR_SIZE   4096
 
#define SQLITE_DEFAULT_SYNCHRONOUS   (PAGER_SYNCHRONOUS_FULL-1)
 
#define SQLITE_DEFAULT_WAL_AUTOCHECKPOINT   1000
 
#define SQLITE_DEFAULT_WAL_SYNCHRONOUS   SQLITE_DEFAULT_SYNCHRONOUS
 
#define SQLITE_DEFAULT_WORKER_THREADS   0
 
#define SQLITE_DeferFKs   0x02000000 /* Defer all FK constraints */
 
#define SQLITE_DELETE   9 /* Table Name NULL */
 
#define SQLITE_DENY   1 /* Abort the SQL statement with an error */
 
#define SQLITE_DEPRECATED
 
#define SQLITE_DETACH   25 /* Database Name NULL */
 
#define SQLITE_DETERMINISTIC   0x800
 
#define SQLITE_DistinctOpt   0x0020 /* DISTINCT using indexes */
 
#define SQLITE_DONE   101 /* sqlite3_step() has finished executing */
 
#define SQLITE_DROP_INDEX   10 /* Index Name Table Name */
 
#define SQLITE_DROP_TABLE   11 /* Table Name NULL */
 
#define SQLITE_DROP_TEMP_INDEX   12 /* Index Name Table Name */
 
#define SQLITE_DROP_TEMP_TABLE   13 /* Table Name NULL */
 
#define SQLITE_DROP_TEMP_TRIGGER   14 /* Trigger Name Table Name */
 
#define SQLITE_DROP_TEMP_VIEW   15 /* View Name NULL */
 
#define SQLITE_DROP_TRIGGER   16 /* Trigger Name Table Name */
 
#define SQLITE_DROP_VIEW   17 /* View Name NULL */
 
#define SQLITE_DROP_VTABLE   30 /* Table Name Module Name */
 
#define SQLITE_DYNAMIC   ((sqlite3_destructor_type)sqlite3MallocSize)
 
#define SQLITE_ECEL_DUP   0x01 /* Deep, not shallow copies */
 
#define SQLITE_ECEL_FACTOR   0x02 /* Factor out constant terms */
 
#define SQLITE_ECEL_REF   0x04 /* Use ExprList.u.x.iOrderByCol */
 
#define SQLITE_EMPTY   16 /* Database is empty */
 
#define SQLITE_ENABLE_LOCKING_STYLE   0
 
#define SQLITE_EnableTrigger   0x01000000 /* True to enable triggers */
 
#define SQLITE_ERROR   1 /* SQL error or missing database */
 
#define SQLITE_EXPERIMENTAL
 
#define SQLITE_EXTENSION_INIT1   /*no-op*/
 
#define SQLITE_EXTENSION_INIT2(v)   (void)v; /* unused parameter */
 
#define SQLITE_EXTENSION_INIT3   /*no-op*/
 
#define SQLITE_EXTERN   extern
 
#define SQLITE_FactorOutConst   0x0008 /* Constant factoring */
 
#define SQLITE_FAIL   3
 
#define SQLITE_FAULTINJECTOR_COUNT   1
 
#define SQLITE_FAULTINJECTOR_MALLOC   0
 
#define SQLITE_FCNTL_BUSYHANDLER   15
 
#define SQLITE_FCNTL_CHUNK_SIZE   6
 
#define SQLITE_FCNTL_COMMIT_PHASETWO   22
 
#define SQLITE_FCNTL_DB_UNCHANGED   0xca093fa0
 
#define SQLITE_FCNTL_FILE_POINTER   7
 
#define SQLITE_FCNTL_GET_LOCKPROXYFILE   2
 
#define SQLITE_FCNTL_HAS_MOVED   20
 
#define SQLITE_FCNTL_JOURNAL_POINTER   28
 
#define SQLITE_FCNTL_LAST_ERRNO   4
 
#define SQLITE_FCNTL_LOCKSTATE   1
 
#define SQLITE_FCNTL_MMAP_SIZE   18
 
#define SQLITE_FCNTL_OVERWRITE   11
 
#define SQLITE_FCNTL_PERSIST_WAL   10
 
#define SQLITE_FCNTL_POWERSAFE_OVERWRITE   13
 
#define SQLITE_FCNTL_PRAGMA   14
 
#define SQLITE_FCNTL_RBU   26
 
#define SQLITE_FCNTL_SET_LOCKPROXYFILE   3
 
#define SQLITE_FCNTL_SIZE_HINT   5
 
#define SQLITE_FCNTL_SYNC   21
 
#define SQLITE_FCNTL_SYNC_OMITTED   8
 
#define SQLITE_FCNTL_TEMPFILENAME   16
 
#define SQLITE_FCNTL_TRACE   19
 
#define SQLITE_FCNTL_VFS_POINTER   27
 
#define SQLITE_FCNTL_VFSNAME   12
 
#define SQLITE_FCNTL_WAL_BLOCK   24
 
#define SQLITE_FCNTL_WIN32_AV_RETRY   9
 
#define SQLITE_FCNTL_WIN32_SET_HANDLE   23
 
#define SQLITE_FCNTL_ZIPVFS   25
 
#define SQLITE_FILE_HEADER   "SQLite format 3"
 
#define SQLITE_FLOAT   2
 
#define SQLITE_ForeignKeys   0x00080000 /* Enforce foreign key constraints */
 
#define SQLITE_FORMAT   24 /* Auxiliary database format error */
 
#define SQLITE_FREE(x)   free(x)
 
#define SQLITE_FSFLAGS_IS_MSDOS   0x1
 
#define SQLITE_Fts3Tokenizer   0x40000000 /* Enable fts3_tokenizer(2) */
 
#define SQLITE_FULL   13 /* Insertion failed because database is full */
 
#define SQLITE_FullColNames   0x00000004 /* Show full column names on SELECT */
 
#define SQLITE_FullFSync   0x00000008 /* Use full fsync on the backend */
 
#define SQLITE_FUNC_CASE   0x0008 /* Case-sensitive LIKE-type function */
 
#define SQLITE_FUNC_COALESCE   0x0200 /* Built-in coalesce() or ifnull() */
 
#define SQLITE_FUNC_CONSTANT   0x0800 /* Constant inputs give a constant output */
 
#define SQLITE_FUNC_COUNT   0x0100 /* Built-in count(*) aggregate */
 
#define SQLITE_FUNC_ENCMASK   0x0003 /* SQLITE_UTF8, SQLITE_UTF16BE or UTF16LE */
 
#define SQLITE_FUNC_EPHEM   0x0010 /* Ephemeral. Delete with VDBE */
 
#define SQLITE_FUNC_HASH_SZ   23
 
#define SQLITE_FUNC_LENGTH   0x0040 /* Built-in length() function */
 
#define SQLITE_FUNC_LIKE   0x0004 /* Candidate for the LIKE optimization */
 
#define SQLITE_FUNC_MINMAX   0x1000 /* True for min() and max() aggregates */
 
#define SQLITE_FUNC_NEEDCOLL   0x0020 /* sqlite3GetFuncCollSeq() might be called*/
 
#define SQLITE_FUNC_SLOCHNG
 
#define SQLITE_FUNC_TYPEOF   0x0080 /* Built-in typeof() function */
 
#define SQLITE_FUNC_UNLIKELY   0x0400 /* Built-in unlikely() function */
 
#define SQLITE_FUNCTION   31 /* NULL Function Name */
 
#define SQLITE_GET_LOCKPROXYFILE   SQLITE_FCNTL_GET_LOCKPROXYFILE
 
#define SQLITE_GroupByOrder   0x0004 /* GROUPBY cover of ORDERBY */
 
#define SQLITE_IDXTYPE_APPDEF   0 /* Created using CREATE INDEX */
 
#define SQLITE_IDXTYPE_PRIMARYKEY   2 /* Is the PRIMARY KEY for the table */
 
#define SQLITE_IDXTYPE_UNIQUE   1 /* Implements a UNIQUE constraint */
 
#define SQLITE_IGNORE   2 /* Don't allow access, but don't generate an error */
 
#define SQLITE_IgnoreChecks   0x00002000 /* Do not enforce check constraints */
 
#define SQLITE_INDEX_CONSTRAINT_EQ   2
 
#define SQLITE_INDEX_CONSTRAINT_GE   32
 
#define SQLITE_INDEX_CONSTRAINT_GLOB   66
 
#define SQLITE_INDEX_CONSTRAINT_GT   4
 
#define SQLITE_INDEX_CONSTRAINT_LE   8
 
#define SQLITE_INDEX_CONSTRAINT_LIKE   65
 
#define SQLITE_INDEX_CONSTRAINT_LT   16
 
#define SQLITE_INDEX_CONSTRAINT_MATCH   64
 
#define SQLITE_INDEX_CONSTRAINT_REGEXP   67
 
#define SQLITE_INDEX_SCAN_UNIQUE   1 /* Scan visits at most 1 row */
 
#define SQLITE_INSERT   18 /* Table Name NULL */
 
#define SQLITE_INT_TO_PTR(X)   ((void*)&((char*)0)[X])
 
#define SQLITE_INTEGER   1
 
#define SQLITE_INTEGRITY_CHECK_ERROR_MAX   100
 
#define SQLITE_INTERNAL   2 /* Internal logic error in SQLite */
 
#define SQLITE_InternChanges   0x00000002 /* Uncommitted Hash table changes */
 
#define SQLITE_INTERRUPT   9 /* Operation terminated by sqlite3_interrupt()*/
 
#define SQLITE_IOCAP_ATOMIC   0x00000001
 
#define SQLITE_IOCAP_ATOMIC16K   0x00000040
 
#define SQLITE_IOCAP_ATOMIC1K   0x00000004
 
#define SQLITE_IOCAP_ATOMIC2K   0x00000008
 
#define SQLITE_IOCAP_ATOMIC32K   0x00000080
 
#define SQLITE_IOCAP_ATOMIC4K   0x00000010
 
#define SQLITE_IOCAP_ATOMIC512   0x00000002
 
#define SQLITE_IOCAP_ATOMIC64K   0x00000100
 
#define SQLITE_IOCAP_ATOMIC8K   0x00000020
 
#define SQLITE_IOCAP_IMMUTABLE   0x00002000
 
#define SQLITE_IOCAP_POWERSAFE_OVERWRITE   0x00001000
 
#define SQLITE_IOCAP_SAFE_APPEND   0x00000200
 
#define SQLITE_IOCAP_SEQUENTIAL   0x00000400
 
#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN   0x00000800
 
#define SQLITE_IOERR   10 /* Some kind of disk I/O error occurred */
 
#define SQLITE_IOERR_ACCESS   (SQLITE_IOERR | (13<<8))
 
#define SQLITE_IOERR_AUTH   (SQLITE_IOERR | (28<<8))
 
#define SQLITE_IOERR_BLOCKED   (SQLITE_IOERR | (11<<8))
 
#define SQLITE_IOERR_CHECKRESERVEDLOCK   (SQLITE_IOERR | (14<<8))
 
#define SQLITE_IOERR_CLOSE   (SQLITE_IOERR | (16<<8))
 
#define SQLITE_IOERR_CONVPATH   (SQLITE_IOERR | (26<<8))
 
#define SQLITE_IOERR_DELETE   (SQLITE_IOERR | (10<<8))
 
#define SQLITE_IOERR_DELETE_NOENT   (SQLITE_IOERR | (23<<8))
 
#define SQLITE_IOERR_DIR_CLOSE   (SQLITE_IOERR | (17<<8))
 
#define SQLITE_IOERR_DIR_FSYNC   (SQLITE_IOERR | (5<<8))
 
#define SQLITE_IOERR_FSTAT   (SQLITE_IOERR | (7<<8))
 
#define SQLITE_IOERR_FSYNC   (SQLITE_IOERR | (4<<8))
 
#define SQLITE_IOERR_GETTEMPPATH   (SQLITE_IOERR | (25<<8))
 
#define SQLITE_IOERR_LOCK   (SQLITE_IOERR | (15<<8))
 
#define SQLITE_IOERR_MMAP   (SQLITE_IOERR | (24<<8))
 
#define SQLITE_IOERR_NOMEM   (SQLITE_IOERR | (12<<8))
 
#define SQLITE_IOERR_NOMEM_BKPT   SQLITE_IOERR_NOMEM
 
#define SQLITE_IOERR_RDLOCK   (SQLITE_IOERR | (9<<8))
 
#define SQLITE_IOERR_READ   (SQLITE_IOERR | (1<<8))
 
#define SQLITE_IOERR_SEEK   (SQLITE_IOERR | (22<<8))
 
#define SQLITE_IOERR_SHMLOCK   (SQLITE_IOERR | (20<<8))
 
#define SQLITE_IOERR_SHMMAP   (SQLITE_IOERR | (21<<8))
 
#define SQLITE_IOERR_SHMOPEN   (SQLITE_IOERR | (18<<8))
 
#define SQLITE_IOERR_SHMSIZE   (SQLITE_IOERR | (19<<8))
 
#define SQLITE_IOERR_SHORT_READ   (SQLITE_IOERR | (2<<8))
 
#define SQLITE_IOERR_TRUNCATE   (SQLITE_IOERR | (6<<8))
 
#define SQLITE_IOERR_UNLOCK   (SQLITE_IOERR | (8<<8))
 
#define SQLITE_IOERR_VNODE   (SQLITE_IOERR | (27<<8))
 
#define SQLITE_IOERR_WRITE   (SQLITE_IOERR | (3<<8))
 
#define SQLITE_JUMPIFNULL   0x10 /* jumps if either operand is NULL */
 
#define SQLITE_LAST_ERRNO   SQLITE_FCNTL_LAST_ERRNO
 
#define SQLITE_LegacyFileFmt   0x00008000 /* Create new databases in format 1 */
 
#define SQLITE_LIMIT_ATTACHED   7
 
#define SQLITE_LIMIT_COLUMN   2
 
#define SQLITE_LIMIT_COMPOUND_SELECT   4
 
#define SQLITE_LIMIT_EXPR_DEPTH   3
 
#define SQLITE_LIMIT_FUNCTION_ARG   6
 
#define SQLITE_LIMIT_LENGTH   0
 
#define SQLITE_LIMIT_LIKE_PATTERN_LENGTH   8
 
#define SQLITE_LIMIT_SQL_LENGTH   1
 
#define SQLITE_LIMIT_TRIGGER_DEPTH   10
 
#define SQLITE_LIMIT_VARIABLE_NUMBER   9
 
#define SQLITE_LIMIT_VDBE_OP   5
 
#define SQLITE_LIMIT_WORKER_THREADS   11
 
#define SQLITE_LITTLEENDIAN   (*(char *)(&sqlite3one)==1)
 
#define SQLITE_LoadExtension   0x00400000 /* Enable load_extension */
 
#define SQLITE_LoadExtFunc   0x00800000 /* Enable load_extension() SQL func */
 
#define SQLITE_LOCK_EXCLUSIVE   4
 
#define SQLITE_LOCK_NONE   0
 
#define SQLITE_LOCK_PENDING   3
 
#define SQLITE_LOCK_RESERVED   2
 
#define SQLITE_LOCK_SHARED   1
 
#define SQLITE_LOCKED   6 /* A table in the database is locked */
 
#define SQLITE_LOCKED_SHAREDCACHE   (SQLITE_LOCKED | (1<<8))
 
#define SQLITE_MAGIC_BUSY   0xf03b7906 /* Database currently in use */
 
#define SQLITE_MAGIC_CLOSED   0x9f3c2d33 /* Database is closed */
 
#define SQLITE_MAGIC_ERROR   0xb5357930 /* An SQLITE_MISUSE error occurred */
 
#define SQLITE_MAGIC_OPEN   0xa029a697 /* Database is open */
 
#define SQLITE_MAGIC_SICK   0x4b771290 /* Error and awaiting close */
 
#define SQLITE_MAGIC_ZOMBIE   0x64cffc7f /* Close with last statement close */
 
#define SQLITE_MALLOC(x)   malloc(x)
 
#define SQLITE_MALLOC_SOFT_LIMIT   1024
 
#define SQLITE_MAX_ATTACHED   10
 
#define SQLITE_MAX_COLUMN   2000
 
#define SQLITE_MAX_COMPOUND_SELECT   500
 
#define SQLITE_MAX_DEFAULT_PAGE_SIZE   8192
 
#define SQLITE_MAX_EXPR_DEPTH   1000
 
#define SQLITE_MAX_FILE_FORMAT   4
 
#define SQLITE_MAX_FUNCTION_ARG   127
 
#define SQLITE_MAX_LENGTH   1000000000
 
#define SQLITE_MAX_LIKE_PATTERN_LENGTH   50000
 
#define SQLITE_MAX_MMAP_SIZE   0
 
#define SQLITE_MAX_MMAP_SIZE_xc   1 /* exclude from ctime.c */
 
#define SQLITE_MAX_PAGE_COUNT   1073741823
 
#define SQLITE_MAX_PAGE_SIZE   65536
 
#define SQLITE_MAX_PMASZ   (1<<29)
 
#define SQLITE_MAX_SCHEMA_RETRY   50
 
#define SQLITE_MAX_SQL_LENGTH   1000000000
 
#define SQLITE_MAX_SYMLINKS   100
 
#define SQLITE_MAX_TRIGGER_DEPTH   1000
 
#define SQLITE_MAX_U32   ((((u64)1)<<32)-1)
 
#define SQLITE_MAX_VARIABLE_NUMBER   999
 
#define SQLITE_MAX_VDBE_OP   25000
 
#define SQLITE_MAX_WORKER_THREADS   8
 
#define SQLITE_MINIMUM_FILE_DESCRIPTOR   3
 
#define SQLITE_MISMATCH   20 /* Data type mismatch */
 
#define SQLITE_MISUSE   21 /* Library used incorrectly */
 
#define SQLITE_MISUSE_BKPT   sqlite3MisuseError(__LINE__)
 
#define SQLITE_MUTEX_FAST   0
 
#define SQLITE_MUTEX_NREF   0
 
#define SQLITE_MUTEX_PTHREADS
 
#define SQLITE_MUTEX_RECURSIVE   1
 
#define SQLITE_MUTEX_STATIC_APP1   8 /* For use by application */
 
#define SQLITE_MUTEX_STATIC_APP2   9 /* For use by application */
 
#define SQLITE_MUTEX_STATIC_APP3   10 /* For use by application */
 
#define SQLITE_MUTEX_STATIC_LRU   6 /* lru page list */
 
#define SQLITE_MUTEX_STATIC_LRU2   7 /* NOT USED */
 
#define SQLITE_MUTEX_STATIC_MASTER   2
 
#define SQLITE_MUTEX_STATIC_MEM   3 /* sqlite3_malloc() */
 
#define SQLITE_MUTEX_STATIC_MEM2   4 /* NOT USED */
 
#define SQLITE_MUTEX_STATIC_OPEN   4 /* sqlite3BtreeOpen() */
 
#define SQLITE_MUTEX_STATIC_PMEM   7 /* sqlite3PageMalloc() */
 
#define SQLITE_MUTEX_STATIC_PRNG   5 /* sqlite3_random() */
 
#define SQLITE_MUTEX_STATIC_VFS1   11 /* For use by built-in VFS */
 
#define SQLITE_MUTEX_STATIC_VFS2   12 /* For use by extension VFS */
 
#define SQLITE_MUTEX_STATIC_VFS3   13 /* For use by application VFS */
 
#define SQLITE_MX_JUMP_OPCODE   69 /* Maximum JUMP opcode */
 
#define SQLITE_N_BTREE_META   16
 
#define SQLITE_N_COLCACHE   10
 
#define SQLITE_N_KEYWORD   124
 
#define SQLITE_N_LIMIT   (SQLITE_LIMIT_WORKER_THREADS+1)
 
#define SQLITE_NOINLINE
 
#define SQLITE_NOLFS   22 /* Uses OS features not supported on host */
 
#define SQLITE_NOMEM   7 /* A malloc() failed */
 
#define SQLITE_NOMEM_BKPT   SQLITE_NOMEM
 
#define SQLITE_NOTADB   26 /* File opened that is not a database file */
 
#define SQLITE_NOTFOUND   12 /* Unknown opcode in sqlite3_file_control() */
 
#define SQLITE_NOTICE   27 /* Notifications from sqlite3_log() */
 
#define SQLITE_NOTICE_RECOVER_ROLLBACK   (SQLITE_NOTICE | (2<<8))
 
#define SQLITE_NOTICE_RECOVER_WAL   (SQLITE_NOTICE | (1<<8))
 
#define SQLITE_NOTNULL   0x90 /* Assert that operands are never NULL */
 
#define SQLITE_NULL   5
 
#define SQLITE_NullCallback   0x00000100 /* Invoke the callback once if the */
 
#define SQLITE_NULLEQ   0x80 /* NULL=NULL */
 
#define SQLITE_OK   0 /* Successful result */
 
#define SQLITE_OmitNoopJoin   0x0400 /* Omit unused tables in joins */
 
#define SQLITE_OPEN_AUTOPROXY   0x00000020 /* VFS only */
 
#define SQLITE_OPEN_CREATE   0x00000004 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_DELETEONCLOSE   0x00000008 /* VFS only */
 
#define SQLITE_OPEN_EXCLUSIVE   0x00000010 /* VFS only */
 
#define SQLITE_OPEN_FULLMUTEX   0x00010000 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_MAIN_DB   0x00000100 /* VFS only */
 
#define SQLITE_OPEN_MAIN_JOURNAL   0x00000800 /* VFS only */
 
#define SQLITE_OPEN_MASTER_JOURNAL   0x00004000 /* VFS only */
 
#define SQLITE_OPEN_MEMORY   0x00000080 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_NOMUTEX   0x00008000 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_PRIVATECACHE   0x00040000 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_READONLY   0x00000001 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_READWRITE   0x00000002 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_SHAREDCACHE   0x00020000 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_SUBJOURNAL   0x00002000 /* VFS only */
 
#define SQLITE_OPEN_TEMP_DB   0x00000200 /* VFS only */
 
#define SQLITE_OPEN_TEMP_JOURNAL   0x00001000 /* VFS only */
 
#define SQLITE_OPEN_TRANSIENT_DB   0x00000400 /* VFS only */
 
#define SQLITE_OPEN_URI   0x00000040 /* Ok for sqlite3_open_v2() */
 
#define SQLITE_OPEN_WAL   0x00080000 /* VFS only */
 
#define SQLITE_OrderByIdxJoin   0x0080 /* ORDER BY of joins via index */
 
#define SQLITE_OS_OTHER   0
 
#define SQLITE_OS_UNIX   1
 
#define SQLITE_OS_WIN   0
 
#define SQLITE_PERM   3 /* Access permission denied */
 
#define SQLITE_POWERSAFE_OVERWRITE   1
 
#define SQLITE_PRAGMA   19 /* Pragma Name 1st arg or NULL */
 
#define SQLITE_PreferBuiltin   0x00200000 /* Preference to built-in funcs */
 
#define SQLITE_PRINT_BUF_SIZE   70
 
#define SQLITE_PRINTF_INTERNAL   0x01 /* Internal-use-only converters allowed */
 
#define SQLITE_PRINTF_MALLOCED   0x04 /* True if xText is allocated space */
 
#define SQLITE_PRINTF_SQLFUNC   0x02 /* SQL function arguments to VXPrintf */
 
#define SQLITE_PRIVATE   static
 
#define SQLITE_PROTOCOL   15 /* Database lock protocol error */
 
#define SQLITE_PTR_TO_INT(X)   ((int)(((char*)X)-(char*)0))
 
#define SQLITE_PTRSIZE   8
 
#define SQLITE_QueryFlattener   0x0001 /* Query flattening */
 
#define SQLITE_QueryOnly   0x04000000 /* Disable database changes */
 
#define SQLITE_RANGE   25 /* 2nd parameter to sqlite3_bind out of range */
 
#define SQLITE_READ   20 /* Table Name Column Name */
 
#define SQLITE_READONLY   8 /* Attempt to write a readonly database */
 
#define SQLITE_READONLY_CANTLOCK   (SQLITE_READONLY | (2<<8))
 
#define SQLITE_READONLY_DBMOVED   (SQLITE_READONLY | (4<<8))
 
#define SQLITE_READONLY_RECOVERY   (SQLITE_READONLY | (1<<8))
 
#define SQLITE_READONLY_ROLLBACK   (SQLITE_READONLY | (3<<8))
 
#define SQLITE_ReadUncommitted   0x0004000 /* For shared-cache mode */
 
#define SQLITE_REALLOC(x, y)   realloc((x),(y))
 
#define SQLITE_RecoveryMode   0x00010000 /* Ignore schema errors */
 
#define SQLITE_RecTriggers   0x00040000 /* Enable recursive triggers */
 
#define SQLITE_RECURSIVE   33 /* NULL NULL */
 
#define SQLITE_REINDEX   27 /* Index Name NULL */
 
#define SQLITE_REPLACE   5
 
#define SQLITE_ReverseOrder   0x00020000 /* Reverse unordered SELECTs */
 
#define SQLITE_ROLLBACK   1
 
#define SQLITE_ROW   100 /* sqlite3_step() has another row ready */
 
#define SQLITE_SAVEPOINT   32 /* Operation Savepoint Name */
 
#define SQLITE_SCANSTAT_EST   2
 
#define SQLITE_SCANSTAT_EXPLAIN   4
 
#define SQLITE_SCANSTAT_NAME   3
 
#define SQLITE_SCANSTAT_NLOOP   0
 
#define SQLITE_SCANSTAT_NVISIT   1
 
#define SQLITE_SCANSTAT_SELECTID   5
 
#define SQLITE_SCHEMA   17 /* The database schema changed */
 
#define SQLITE_SELECT   21 /* NULL NULL */
 
#define SQLITE_SET_LOCKPROXYFILE   SQLITE_FCNTL_SET_LOCKPROXYFILE
 
#define SQLITE_SHM_EXCLUSIVE   8
 
#define SQLITE_SHM_LOCK   2
 
#define SQLITE_SHM_NLOCK   8
 
#define SQLITE_SHM_SHARED   4
 
#define SQLITE_SHM_UNLOCK   1
 
#define SQLITE_ShortColNames   0x00000040 /* Show short columns names */
 
#define SQLITE_SKIP_UTF8(zIn)
 
#define SQLITE_SO_ASC   0 /* Sort in ascending order */
 
#define SQLITE_SO_DESC   1 /* Sort in ascending order */
 
#define SQLITE_SO_UNDEFINED   -1 /* No sort order specified */
 
#define SQLITE_SORTER_PMASZ   250
 
#define SQLITE_SOURCE_ID   "2016-05-18 10:57:30 fc49f556e48970561d7ab6a2f24fdd7d9eb81ff2"
 
#define SQLITE_SqlTrace   0x00000200 /* Debug print SQL as it executes */
 
#define SQLITE_Stat34   0x0800 /* Use STAT3 or STAT4 data */
 
#define SQLITE_STAT4_SAMPLES   1
 
#define SQLITE_STATIC   ((sqlite3_destructor_type)0)
 
#define SQLITE_STATUS_MALLOC_COUNT   9
 
#define SQLITE_STATUS_MALLOC_SIZE   5
 
#define SQLITE_STATUS_MEMORY_USED   0
 
#define SQLITE_STATUS_PAGECACHE_OVERFLOW   2
 
#define SQLITE_STATUS_PAGECACHE_SIZE   7
 
#define SQLITE_STATUS_PAGECACHE_USED   1
 
#define SQLITE_STATUS_PARSER_STACK   6
 
#define SQLITE_STATUS_SCRATCH_OVERFLOW   4
 
#define SQLITE_STATUS_SCRATCH_SIZE   8
 
#define SQLITE_STATUS_SCRATCH_USED   3
 
#define SQLITE_STDCALL
 
#define SQLITE_STMTJRNL_SPILL   (64*1024)
 
#define SQLITE_STMTSTATUS_AUTOINDEX   3
 
#define SQLITE_STMTSTATUS_FULLSCAN_STEP   1
 
#define SQLITE_STMTSTATUS_SORT   2
 
#define SQLITE_STMTSTATUS_VM_STEP   4
 
#define SQLITE_STOREP2   0x20 /* Store result in reg[P2] rather than jump */
 
#define SQLITE_SubqCoroutine   0x0100 /* Evaluate subqueries as coroutines */
 
#define SQLITE_SYNC_DATAONLY   0x00010
 
#define SQLITE_SYNC_FULL   0x00003
 
#define SQLITE_SYNC_MASK   0x13 /* Mask off the SQLITE_SYNC_* values */
 
#define SQLITE_SYNC_NORMAL   0x00002
 
#define SQLITE_SYSTEM_MALLOC   1
 
#define SQLITE_TEMP_FILE_PREFIX   "etilqs_"
 
#define SQLITE_TEMP_STORE   1
 
#define SQLITE_TEMP_STORE_xc   1 /* Exclude from ctime.c */
 
#define SQLITE_TESTCTRL_ALWAYS   13
 
#define SQLITE_TESTCTRL_ASSERT   12
 
#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS   10
 
#define SQLITE_TESTCTRL_BITVEC_TEST   8
 
#define SQLITE_TESTCTRL_BYTEORDER   22
 
#define SQLITE_TESTCTRL_EXPLAIN_STMT   19 /* NOT USED */
 
#define SQLITE_TESTCTRL_FAULT_INSTALL   9
 
#define SQLITE_TESTCTRL_FIRST   5
 
#define SQLITE_TESTCTRL_IMPOSTER   25
 
#define SQLITE_TESTCTRL_ISINIT   23
 
#define SQLITE_TESTCTRL_ISKEYWORD   16
 
#define SQLITE_TESTCTRL_LAST   25
 
#define SQLITE_TESTCTRL_LOCALTIME_FAULT   18
 
#define SQLITE_TESTCTRL_NEVER_CORRUPT   20
 
#define SQLITE_TESTCTRL_OPTIMIZATIONS   15
 
#define SQLITE_TESTCTRL_PENDING_BYTE   11
 
#define SQLITE_TESTCTRL_PRNG_RESET   7
 
#define SQLITE_TESTCTRL_PRNG_RESTORE   6
 
#define SQLITE_TESTCTRL_PRNG_SAVE   5
 
#define SQLITE_TESTCTRL_RESERVE   14
 
#define SQLITE_TESTCTRL_SCRATCHMALLOC   17
 
#define SQLITE_TESTCTRL_SORTER_MMAP   24
 
#define SQLITE_TESTCTRL_VDBE_COVERAGE   21
 
#define SQLITE_TEXT   3
 
#define SQLITE_THREADS_IMPLEMENTED   1 /* Prevent the single-thread code below */
 
#define SQLITE_THREADSAFE   1 /* IMP: R-07272-22309 */
 
#define SQLITE_TOOBIG   18 /* String or BLOB exceeds size limit */
 
#define SQLITE_TRANSACTION   22 /* Operation NULL */
 
#define SQLITE_TRANSIENT   ((sqlite3_destructor_type)-1)
 
#define SQLITE_Transitive   0x0200 /* Transitive constraints */
 
#define SQLITE_UNIX_THREADS   1
 
#define SQLITE_UPDATE   23 /* Table Name Column Name */
 
#define SQLITE_USE_URI   0
 
#define SQLITE_UTF16   4 /* Use native byte order */
 
#define SQLITE_UTF16_ALIGNED   8 /* sqlite3_create_collation only */
 
#define SQLITE_UTF16BE   3 /* IMP: R-51971-34154 */
 
#define SQLITE_UTF16LE   2 /* IMP: R-03371-37637 */
 
#define SQLITE_UTF16NATIVE   (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE)
 
#define SQLITE_UTF8   1 /* IMP: R-37514-35566 */
 
#define SQLITE_Vacuum   0x10000000 /* Currently in a VACUUM */
 
#define SQLITE_VdbeAddopTrace   0x00001000 /* Trace sqlite3VdbeAddOp() calls */
 
#define SQLITE_VdbeEQP   0x08000000 /* Debug EXPLAIN QUERY PLAN */
 
#define SQLITE_VdbeListing   0x00000400 /* Debug listings of VDBE programs */
 
#define SQLITE_VdbeTrace   0x00000001 /* True to trace VDBE execution */
 
#define SQLITE_VERSION   "3.13.0"
 
#define SQLITE_VERSION_NUMBER   3013000
 
#define SQLITE_VTAB_CONSTRAINT_SUPPORT   1
 
#define SQLITE_WARNING   28 /* Warnings from sqlite3_log() */
 
#define SQLITE_WARNING_AUTOINDEX   (SQLITE_WARNING | (1<<8))
 
#define SQLITE_WITHIN(P, S, E)   (((uptr)(P)>=(uptr)(S))&&((uptr)(P)<(uptr)(E)))
 
#define SQLITE_WriteSchema   0x00000800 /* OK to update SQLITE_MASTER */
 
#define SQLITE_WSD
 
#define sqliteHashData(E)   ((E)->data)
 
#define sqliteHashFirst(H)   ((H)->first)
 
#define sqliteHashNext(E)   ((E)->next)
 
#define SRT_Coroutine   13 /* Generate a single row of result */
 
#define SRT_Discard   4 /* Do not save the results anywhere */
 
#define SRT_DistFifo   6 /* Like SRT_Fifo, but unique results only */
 
#define SRT_DistQueue   8 /* Like SRT_Queue, but unique results only */
 
#define SRT_EphemTab   12 /* Create transient tab and store like SRT_Table */
 
#define SRT_Except   2 /* Remove result from a UNION index */
 
#define SRT_Exists   3 /* Store 1 if the result is not empty */
 
#define SRT_Fifo   5 /* Store result as data with an automatic rowid */
 
#define SRT_Mem   10 /* Store result in a memory cell */
 
#define SRT_Output   9 /* Output each row of result */
 
#define SRT_Queue   7 /* Store result in an queue */
 
#define SRT_Set   11 /* Store results as keys in an index */
 
#define SRT_Table   14 /* Store result as data with an automatic rowid */
 
#define SRT_Union   1 /* Store result as keys in an index */
 
#define SRVAL(p)   ((void*)((SorterRecord*)(p) + 1))
 
#define STAT_GET_NDLT   4 /* "ndlt" column of stat[34] entry */
 
#define STAT_GET_NEQ   2 /* "neq" column of stat[34] entry */
 
#define STAT_GET_NLT   3 /* "nlt" column of stat[34] entry */
 
#define STAT_GET_ROWID   1 /* "rowid" column of stat[34] entry */
 
#define STAT_GET_STAT1   0 /* "stat" column of stat1 table */
 
#define STR_FUNCTION(zName, nArg, pArg, bNC, xFunc)
 
#define STRACCUM_NOMEM   1
 
#define STRACCUM_TOOBIG   2
 
#define Stringify(P, enc)
 
#define SWAP(TYPE, A, B)   {TYPE t=A; A=B; B=t;}
 
#define swapMixedEndianFloat(X)
 
#define TEMP_MASTER_NAME   "sqlite_temp_master"
 
#define TERM_ANDINFO   0x20 /* Need to free the WhereTerm.u.pAndInfo obj */
 
#define TERM_CODED   0x04 /* This term is already coded */
 
#define TERM_COPIED   0x08 /* Has a child */
 
#define TERM_DYNAMIC   0x01 /* Need to call sqlite3ExprDelete(db, pExpr) */
 
#define TERM_IS   0x800 /* Term.pExpr is an IS operator */
 
#define TERM_LIKE   0x400 /* The original LIKE operator */
 
#define TERM_LIKECOND   0x200 /* Conditionally this LIKE operator term */
 
#define TERM_LIKEOPT   0x100 /* Virtual terms from the LIKE optimization */
 
#define TERM_OR_OK   0x40 /* Used during OR-clause processing */
 
#define TERM_ORINFO   0x10 /* Need to free the WhereTerm.u.pOrInfo object */
 
#define TERM_VIRTUAL   0x02 /* Added by the optimizer. Do not code */
 
#define TERM_VNULL   0x00 /* Disabled if not using stat3 */
 
#define TESTBIT(V, I)   (V[I>>3]&(1<<(I&7)))!=0
 
#define testcase(X)
 
#define TESTONLY(X)
 
#define TF_Autoincrement   0x08 /* Integer primary key is autoincrement */
 
#define TF_Ephemeral   0x02 /* An ephemeral table */
 
#define TF_HasPrimaryKey   0x04 /* Table has a primary key */
 
#define TF_NoVisibleRowid   0x40 /* No user-visible "rowid" column */
 
#define TF_OOOHidden   0x80 /* Out-of-Order hidden columns */
 
#define TF_Readonly   0x01 /* Read-only system table */
 
#define TF_Virtual   0x10 /* Is a virtual table */
 
#define TF_WithoutRowid   0x20 /* No rowid. PRIMARY KEY is the key */
 
#define threadid   pthread_self()
 
#define THREE_BYTE_INT(x)   (65536*(i8)((x)[0])|((x)[1]<<8)|(x)[2])
 
#define TIMER_ELAPSED   ((sqlite_uint64)0)
 
#define TIMER_END
 
#define TIMER_START
 
#define TK_ABORT   57
 
#define TK_ACTION   58
 
#define TK_ADD   142
 
#define TK_AFTER   59
 
#define TK_AGG_COLUMN   154
 
#define TK_AGG_FUNCTION   153
 
#define TK_ALL   116
 
#define TK_ALTER   141
 
#define TK_ANALYZE   60
 
#define TK_AND   28
 
#define TK_ANY   96
 
#define TK_AS   24
 
#define TK_ASC   61
 
#define TK_ASTERISK   158
 
#define TK_ATTACH   62
 
#define TK_AUTOINCR   106
 
#define TK_BEFORE   63
 
#define TK_BEGIN   5
 
#define TK_BETWEEN   32
 
#define TK_BITAND   43
 
#define TK_BITNOT   54
 
#define TK_BITOR   44
 
#define TK_BLOB   134
 
#define TK_BY   64
 
#define TK_CASCADE   65
 
#define TK_CASE   136
 
#define TK_CAST   66
 
#define TK_CHECK   104
 
#define TK_COLLATE   53
 
#define TK_COLUMN   152
 
#define TK_COLUMNKW   67
 
#define TK_COMMA   26
 
#define TK_COMMIT   10
 
#define TK_CONCAT   52
 
#define TK_CONFLICT   68
 
#define TK_CONSTRAINT   99
 
#define TK_CREATE   17
 
#define TK_CTIME_KW   95
 
#define TK_DATABASE   69
 
#define TK_DEFAULT   100
 
#define TK_DEFERRABLE   112
 
#define TK_DEFERRED   7
 
#define TK_DELETE   109
 
#define TK_DESC   70
 
#define TK_DETACH   71
 
#define TK_DISTINCT   121
 
#define TK_DOT   122
 
#define TK_DROP   114
 
#define TK_EACH   72
 
#define TK_ELSE   139
 
#define TK_END   11
 
#define TK_END_OF_FILE   149
 
#define TK_EQ   37
 
#define TK_ESCAPE   42
 
#define TK_EXCEPT   117
 
#define TK_EXCLUSIVE   9
 
#define TK_EXISTS   20
 
#define TK_EXPLAIN   2
 
#define TK_FAIL   73
 
#define TK_FLOAT   133
 
#define TK_FOR   74
 
#define TK_FOREIGN   113
 
#define TK_FROM   123
 
#define TK_FUNCTION   151
 
#define TK_GE   41
 
#define TK_GROUP   127
 
#define TK_GT   38
 
#define TK_HAVING   128
 
#define TK_ID   55
 
#define TK_IF   18
 
#define TK_IGNORE   75
 
#define TK_ILLEGAL   161
 
#define TK_IMMEDIATE   8
 
#define TK_IN   33
 
#define TK_INDEX   140
 
#define TK_INDEXED   56
 
#define TK_INITIALLY   76
 
#define TK_INSERT   108
 
#define TK_INSTEAD   77
 
#define TK_INTEGER   132
 
#define TK_INTERSECT   118
 
#define TK_INTO   131
 
#define TK_IS   29
 
#define TK_ISNOT   148
 
#define TK_ISNULL   34
 
#define TK_JOIN   124
 
#define TK_JOIN_KW   98
 
#define TK_KEY   79
 
#define TK_LE   39
 
#define TK_LIKE_KW   31
 
#define TK_LIMIT   129
 
#define TK_LP   22
 
#define TK_LSHIFT   45
 
#define TK_LT   40
 
#define TK_MATCH   30
 
#define TK_MINUS   48
 
#define TK_NE   36
 
#define TK_NO   78
 
#define TK_NOT   19
 
#define TK_NOTNULL   35
 
#define TK_NULL   101
 
#define TK_OF   80
 
#define TK_OFFSET   81
 
#define TK_ON   107
 
#define TK_OR   27
 
#define TK_ORDER   126
 
#define TK_PLAN   4
 
#define TK_PLUS   47
 
#define TK_PRAGMA   82
 
#define TK_PRIMARY   102
 
#define TK_QUERY   3
 
#define TK_RAISE   83
 
#define TK_RECURSIVE   84
 
#define TK_REFERENCES   105
 
#define TK_REGISTER   157
 
#define TK_REINDEX   93
 
#define TK_RELEASE   14
 
#define TK_REM   51
 
#define TK_RENAME   94
 
#define TK_REPLACE   85
 
#define TK_RESTRICT   86
 
#define TK_ROLLBACK   12
 
#define TK_ROW   87
 
#define TK_RP   23
 
#define TK_RSHIFT   46
 
#define TK_SAVEPOINT   13
 
#define TK_SELECT   119
 
#define TK_SEMI   1
 
#define TK_SET   111
 
#define TK_SLASH   50
 
#define TK_SPACE   160
 
#define TK_SPAN   159
 
#define TK_STAR   49
 
#define TK_STRING   97
 
#define TK_TABLE   16
 
#define TK_TEMP   21
 
#define TK_THEN   138
 
#define TK_TO   15
 
#define TK_TO_BLOB   144
 
#define TK_TO_INT   146
 
#define TK_TO_NUMERIC   145
 
#define TK_TO_REAL   147
 
#define TK_TO_TEXT   143
 
#define TK_TRANSACTION   6
 
#define TK_TRIGGER   88
 
#define TK_UMINUS   155
 
#define TK_UNCLOSED_STRING   150
 
#define TK_UNION   115
 
#define TK_UNIQUE   103
 
#define TK_UPDATE   110
 
#define TK_UPLUS   156
 
#define TK_USING   125
 
#define TK_VACUUM   89
 
#define TK_VALUES   120
 
#define TK_VARIABLE   135
 
#define TK_VIEW   90
 
#define TK_VIRTUAL   91
 
#define TK_WHEN   137
 
#define TK_WHERE   130
 
#define TK_WITH   92
 
#define TK_WITHOUT   25
 
#define tkCREATE   4
 
#define tkEND   7
 
#define tkEXPLAIN   3
 
#define TKFLG_DONTFOLD   0x100 /* Omit constant folding optimizations */
 
#define TKFLG_MASK   0xff
 
#define tkOTHER   2
 
#define tkSEMI   0
 
#define tkTEMP   5
 
#define tkTRIGGER   6
 
#define tkWS   1
 
#define TOKEN   yyminor
 
#define TRACE(X)
 
#define TRACE_IDX_INPUTS(A)
 
#define TRACE_IDX_OUTPUTS(A)
 
#define TRANS_NONE   0
 
#define TRANS_READ   1
 
#define TRANS_WRITE   2
 
#define TRIGGER_AFTER   2
 
#define TRIGGER_BEFORE   1
 
#define TWO_BYTE_INT(x)   (256*(i8)((x)[0])|(x)[1])
 
#define TWOPOWER31   (((i64)1)<<31)
 
#define TWOPOWER32   (((i64)1)<<32)
 
#define UINT16_TYPE   unsigned short int
 
#define UINT32_TYPE   unsigned int
 
#define UINT8_TYPE   unsigned char
 
#define UNIX_SHM_BASE   ((22+SQLITE_SHM_NLOCK)*4) /* first lock byte */
 
#define UNIX_SHM_DMS   (UNIX_SHM_BASE+SQLITE_SHM_NLOCK) /* deadman switch */
 
#define unixDlClose   0
 
#define unixDlError   0
 
#define unixDlOpen   0
 
#define unixDlSym   0
 
#define UNIXFILE_DELETE   0x20 /* Delete on close */
 
#define UNIXFILE_DIRSYNC   0x08 /* Directory sync needed */
 
#define UNIXFILE_EXCL   0x01 /* Connections from one process only */
 
#define UNIXFILE_NOLOCK   0x80 /* Do no file locking */
 
#define UNIXFILE_PERSIST_WAL   0x04 /* Persistent WAL mode */
 
#define UNIXFILE_PSOW   0x10 /* SQLITE_IOCAP_POWERSAFE_OVERWRITE */
 
#define UNIXFILE_RDONLY   0x02 /* Connection is read only */
 
#define UNIXFILE_URI   0x40 /* Filename might have query parameters */
 
#define unixLogError(a, b, c)   unixLogErrorAtLine(a,b,c,__LINE__)
 
#define UNIXVFS(VFSNAME, FINDER)
 
#define UNKNOWN_LOCK   (EXCLUSIVE_LOCK+1)
 
#define unlikely(X)   (X)
 
#define UNUSED_PARAMETER(x)   (void)(x)
 
#define UNUSED_PARAMETER2(x, y)   UNUSED_PARAMETER(x),UNUSED_PARAMETER(y)
 
#define UPDATE_MAX_BLOBSIZE(P)
 
#define UpperToLower   sqlite3UpperToLower
 
#define USEFETCH(x)   0
 
#define Utf8Read(A)   (A[0]<0x80?*(A++):sqlite3Utf8Read(&A))
 
#define valueFromFunction(a, b, c, d, e, f)   SQLITE_OK
 
#define VDBE_DISPLAY_P4   1
 
#define VDBE_MAGIC_DEAD   0xb606c3c8 /* The VDBE has been deallocated */
 
#define VDBE_MAGIC_HALT   0x519c2973 /* VDBE has completed execution */
 
#define VDBE_MAGIC_INIT   0x26bceaa5 /* Building a VDBE program */
 
#define VDBE_MAGIC_RUN   0xbdf20da3 /* VDBE is ready to execute */
 
#define VDBE_OFFSET_LINENO(x)   0
 
#define vdbeAssertFieldCountWithinLimits(A, B, C)
 
#define VdbeBranchTaken(I, M)
 
#define VdbeComment(X)
 
#define VdbeCoverage(v)
 
#define VdbeCoverageAlwaysTaken(v)
 
#define VdbeCoverageIf(v, x)
 
#define VdbeCoverageNeverTaken(v)
 
#define VdbeFrameMem(p)   ((Mem *)&((u8 *)p)[ROUND8(sizeof(VdbeFrame))])
 
#define vdbeInvokeSqllog(x)
 
#define VdbeMemDynamic(X)   (((X)->flags&(MEM_Agg|MEM_Dyn|MEM_RowSet|MEM_Frame))!=0)
 
#define VdbeModuleComment(X)
 
#define VdbeNoopComment(X)
 
#define vdbeSorterBlockDebug(x, y, z)
 
#define vdbeSorterExtendFile(x, y, z)
 
#define vdbeSorterPopulateDebug(x, y)
 
#define vdbeSorterRewindDebug(y)
 
#define vdbeSorterWorkDebug(x, y)
 
#define vfsList   GLOBAL(sqlite3_vfs *, vfsList)
 
#define VFUNCTION(zName, nArg, iArg, bNC, xFunc)
 
#define VisibleRowid(X)   (((X)->tabFlags & TF_NoVisibleRowid)==0)
 
#define VVA_ONLY(X)
 
#define WAL_ALL_BUT_WRITE   1
 
#define WAL_CKPT_LOCK   1
 
#define WAL_EXCLUSIVE_MODE   1
 
#define WAL_FRAME_HDRSIZE   24
 
#define WAL_HDRSIZE   32
 
#define WAL_HEAPMEMORY_MODE   2
 
#define WAL_MAGIC   0x377f0682
 
#define WAL_MAX_VERSION   3007000
 
#define WAL_NORMAL_MODE   0
 
#define WAL_NREADER   (SQLITE_SHM_NLOCK-3)
 
#define WAL_RDONLY   1 /* The WAL file is readonly */
 
#define WAL_RDWR   0 /* Normal read/write connection */
 
#define WAL_READ_LOCK(I)   (3+(I))
 
#define WAL_RECOVER_LOCK   2
 
#define WAL_RETRY   (-1)
 
#define WAL_SAVEPOINT_NDATA   4
 
#define WAL_SHM_RDONLY   2 /* The SHM file is readonly */
 
#define WAL_SYNC_TRANSACTIONS   0x20 /* Sync at the end of each transaction */
 
#define WAL_WRITE_LOCK   0
 
#define walFrameOffset(iFrame, szPage)
 
#define WALINDEX_HDR_SIZE   (sizeof(WalIndexHdr)*2+sizeof(WalCkptInfo))
 
#define WALINDEX_LOCK_OFFSET   (sizeof(WalIndexHdr)*2+offsetof(WalCkptInfo,aLock))
 
#define WALINDEX_MAX_VERSION   3007000
 
#define WALINDEX_PGSZ
 
#define WALTRACE(X)
 
#define WHERE_AUTO_INDEX   0x00004000 /* Uses an ephemeral index */
 
#define WHERE_BOTH_LIMIT   0x00000030 /* Both x>EXPR and x<EXPR */
 
#define WHERE_BTM_LIMIT   0x00000020 /* x>EXPR or x>=EXPR constraint */
 
#define WHERE_COLUMN_EQ   0x00000001 /* x=EXPR */
 
#define WHERE_COLUMN_IN   0x00000004 /* x IN (...) */
 
#define WHERE_COLUMN_NULL   0x00000008 /* x IS NULL */
 
#define WHERE_COLUMN_RANGE   0x00000002 /* x<EXPR and/or x>EXPR */
 
#define WHERE_CONSTRAINT   0x0000000f /* Any of the WHERE_COLUMN_xxx values */
 
#define WHERE_DISTINCT_NOOP   0 /* DISTINCT keyword not used */
 
#define WHERE_DISTINCT_ORDERED   2 /* All duplicates are adjacent */
 
#define WHERE_DISTINCT_UNIQUE   1 /* No duplicates */
 
#define WHERE_DISTINCT_UNORDERED   3 /* Duplicates are scattered */
 
#define WHERE_DISTINCTBY   0x0200 /* pOrderby is really a DISTINCT clause */
 
#define WHERE_DUPLICATES_OK   0x0008 /* Ok to return a row more than once */
 
#define WHERE_FORCE_TABLE   0x0020 /* Do not use an index-only search */
 
#define WHERE_GROUPBY   0x0100 /* pOrderBy is really a GROUP BY */
 
#define WHERE_IDX_ONLY   0x00000040 /* Use index only - omit table */
 
#define WHERE_IN_ABLE   0x00000800 /* Able to support an IN operator */
 
#define WHERE_INDEXED   0x00000200 /* WhereLoop.u.btree.pIndex is valid */
 
#define WHERE_IPK   0x00000100 /* x is the INTEGER PRIMARY KEY */
 
#define WHERE_LOOP_XFER_SZ   offsetof(WhereLoop,nLSlot)
 
#define WHERE_MULTI_OR   0x00002000 /* OR using multiple indices */
 
#define WHERE_NO_AUTOINDEX   0x0080 /* Disallow automatic indexes */
 
#define WHERE_OMIT_OPEN_CLOSE   0x0010 /* Table cursors are already open */
 
#define WHERE_ONEPASS_DESIRED   0x0004 /* Want to do one-pass UPDATE/DELETE */
 
#define WHERE_ONEPASS_MULTIROW   0x2000 /* ONEPASS is ok with multiple rows */
 
#define WHERE_ONEROW   0x00001000 /* Selects no more than one row */
 
#define WHERE_ONETABLE_ONLY   0x0040 /* Only code the 1st table in pTabList */
 
#define WHERE_ORDERBY_MAX   0x0002 /* ORDER BY processing for max() func */
 
#define WHERE_ORDERBY_MIN   0x0001 /* ORDER BY processing for min() func */
 
#define WHERE_ORDERBY_NORMAL   0x0000 /* No-op */
 
#define WHERE_PARTIALIDX   0x00020000 /* The automatic index is partial */
 
#define WHERE_REOPEN_IDX   0x1000 /* Try to use OP_ReopenIdx */
 
#define WHERE_SEEK_TABLE   0x8000 /* Do not defer seeks on main table */
 
#define WHERE_SKIPSCAN   0x00008000 /* Uses the skip-scan algorithm */
 
#define WHERE_SORTBYGROUP   0x0800 /* Support sqlite3WhereIsSorted() */
 
#define WHERE_TOP_LIMIT   0x00000010 /* x<EXPR or x<=EXPR constraint */
 
#define WHERE_UNQ_WANTED   0x00010000 /* WHERE_ONEROW would have been helpful*/
 
#define WHERE_USE_LIMIT   0x4000 /* There is a constant LIMIT clause */
 
#define WHERE_VIRTUALTABLE   0x00000400 /* WhereLoop.u.vtab is valid */
 
#define WHERE_WANT_DISTINCT   0x0400 /* All output needs to be distinct */
 
#define WHERETRACE(K, X)
 
#define WO_ALL   0x1fff /* Mask of all possible WO_* values */
 
#define WO_AND   0x0400 /* Two or more AND-connected terms */
 
#define WO_EQ   0x0002
 
#define WO_EQUIV   0x0800 /* Of the form A==B, both columns */
 
#define WO_GE   (WO_EQ<<(TK_GE-TK_EQ))
 
#define WO_GT   (WO_EQ<<(TK_GT-TK_EQ))
 
#define WO_IN   0x0001
 
#define WO_IS   0x0080
 
#define WO_ISNULL   0x0100
 
#define WO_LE   (WO_EQ<<(TK_LE-TK_EQ))
 
#define WO_LT   (WO_EQ<<(TK_LT-TK_EQ))
 
#define WO_MATCH   0x0040
 
#define WO_NOOP   0x1000 /* This term does not restrict search space */
 
#define WO_OR   0x0200 /* Two or more OR-connected terms */
 
#define WO_SINGLE   0x01ff /* Mask of all non-compound WO_* values */
 
#define WRC_Abort   2 /* Abandon the tree walk */
 
#define WRC_Continue   0 /* Continue down into children */
 
#define WRC_Prune   1 /* Omit children but continue walking siblings */
 
#define WRITE_LOCK   2
 
#define WRITE_UTF16BE(zOut, c)
 
#define WRITE_UTF16LE(zOut, c)
 
#define WRITE_UTF8(zOut, c)
 
#define wsdAutoext   sqlite3Autoext
 
#define wsdAutoextInit
 
#define wsdHooks   sqlite3Hooks
 
#define wsdHooksInit
 
#define wsdPrng   sqlite3Prng
 
#define wsdStat   sqlite3Stat
 
#define wsdStatInit
 
#define XN_EXPR   (-2) /* Indexed column is an expression */
 
#define XN_ROWID   (-1) /* Indexed column is the rowid */
 
#define YY_ACCEPT_ACTION   1302
 
#define YY_ACTTAB_COUNT   (1501)
 
#define YY_ERROR_ACTION   1301
 
#define YY_MAX_REDUCE   1300
 
#define YY_MAX_SHIFT   439
 
#define YY_MAX_SHIFTREDUCE   974
 
#define YY_MIN_REDUCE   975
 
#define YY_MIN_SHIFTREDUCE   649
 
#define YY_NO_ACTION   1303
 
#define YY_REDUCE_COUNT   (314)
 
#define YY_REDUCE_MAX   (1237)
 
#define YY_REDUCE_MIN   (-129)
 
#define YY_REDUCE_USE_DFLT   (-130)
 
#define YY_SHIFT_COUNT   (439)
 
#define YY_SHIFT_MAX   (1482)
 
#define YY_SHIFT_MIN   (-94)
 
#define YY_SHIFT_USE_DFLT   (-95)
 
#define YYACTIONTYPE   unsigned short int
 
#define YYCODETYPE   unsigned char
 
#define YYFALLBACK   1
 
#define YYMALLOCARGTYPE   u64
 
#define YYNOCODE   251
 
#define YYNOERRORRECOVERY   1
 
#define YYNRULE   326
 
#define YYNSTATE   440
 
#define YYPARSEFREENEVERNULL   1
 
#define YYSTACKDEPTH   100
 
#define yytestcase(X)   testcase(X)
 
#define yyTraceShift(X, Y)
 
#define YYWILDCARD   96
 

Typedefs

typedef struct AggInfo AggInfo
 
typedef struct analysisInfo analysisInfo
 
typedef struct AuthContext AuthContext
 
typedef struct AutoincInfo AutoincInfo
 
typedef struct AuxData AuxData
 
typedef struct BenignMallocHooks BenignMallocHooks
 
typedef unsigned bft
 
typedef u64 Bitmask
 
typedef struct Bitvec Bitvec
 
typedef unsigned Bool
 
typedef struct BtCursor BtCursor
 
typedef struct BtLock BtLock
 
typedef struct Btree Btree
 
typedef struct BtShared BtShared
 
typedef struct BusyHandler BusyHandler
 
typedef struct CellArray CellArray
 
typedef struct CellInfo CellInfo
 
typedef struct CollSeq CollSeq
 
typedef struct Column Column
 
typedef struct CountCtx CountCtx
 
typedef struct DateTime DateTime
 
typedef struct Db Db
 
typedef struct DbFixer DbFixer
 
typedef struct PgHdr DbPage
 
typedef struct DistinctCtx DistinctCtx
 
typedef struct et_info et_info
 
typedef unsigned char etByte
 
typedef struct Explain Explain
 
typedef struct Expr Expr
 
typedef struct ExprList ExprList
 
typedef struct ExprSpan ExprSpan
 
typedef struct FileChunk FileChunk
 
typedef struct FilePoint FilePoint
 
typedef struct FKey FKey
 
typedef struct fts5_api fts5_api
 
typedef void(* fts5_extension_function) (const Fts5ExtensionApi *pApi, Fts5Context *pFts, sqlite3_context *pCtx, int nVal, sqlite3_value **apVal)
 
typedef struct fts5_tokenizer fts5_tokenizer
 
typedef struct Fts5Context Fts5Context
 
typedef struct Fts5ExtensionApi Fts5ExtensionApi
 
typedef struct Fts5PhraseIter Fts5PhraseIter
 
typedef struct Fts5Tokenizer Fts5Tokenizer
 
typedef struct FuncDef FuncDef
 
typedef struct FuncDefHash FuncDefHash
 
typedef struct FuncDestructor FuncDestructor
 
typedef struct Hash Hash
 
typedef struct HashElem HashElem
 
typedef u16 ht_slot
 
typedef INT16_TYPE i16
 
typedef sqlite_int64 i64
 
typedef INT8_TYPE i8
 
typedef struct IdList IdList
 
typedef struct Incrblob Incrblob
 
typedef struct IncrMerger IncrMerger
 
typedef struct Index Index
 
typedef struct IndexSample IndexSample
 
typedef struct IntegrityCk IntegrityCk
 
typedef struct KeyClass KeyClass
 
typedef struct KeyInfo KeyInfo
 
typedef INT16_TYPE LogEst
 
typedef struct Lookaside Lookaside
 
typedef struct LookasideSlot LookasideSlot
 
typedef struct Mem Mem
 
typedef struct MemJournal MemJournal
 
typedef struct MemPage MemPage
 
typedef struct MergeEngine MergeEngine
 
typedef struct Module Module
 
typedef struct NameContext NameContext
 
typedef struct VdbeOp Op
 
typedef struct Pager Pager
 
typedef struct PagerSavepoint PagerSavepoint
 
typedef struct Parse Parse
 
typedef struct PCache PCache
 
typedef struct PCache1 PCache1
 
typedef struct PgFreeslot PgFreeslot
 
typedef struct PgHdr PgHdr
 
typedef struct PgHdr1 PgHdr1
 
typedef u32 Pgno
 
typedef struct PGroup PGroup
 
typedef struct PmaReader PmaReader
 
typedef struct PmaWriter PmaWriter
 
typedef struct PreUpdate PreUpdate
 
typedef struct PrintfArguments PrintfArguments
 
typedef int(* RecordCompare) (int, const void *, UnpackedRecord *)
 
typedef struct RowSet RowSet
 
typedef struct Savepoint Savepoint
 
typedef struct ScanStatus ScanStatus
 
typedef struct Schema Schema
 
typedef struct ScratchFreeslot ScratchFreeslot
 
typedef struct Select Select
 
typedef struct SelectDest SelectDest
 
typedef struct SortCtx SortCtx
 
typedef int(* SorterCompare) (SortSubtask *, int *, const void *, int, const void *, int)
 
typedef struct SorterFile SorterFile
 
typedef struct SorterList SorterList
 
typedef struct SorterRecord SorterRecord
 
typedef struct SortSubtask SortSubtask
 
typedef struct sqlite3 sqlite3
 
typedef struct sqlite3_api_routines sqlite3_api_routines
 
typedef struct sqlite3_backup sqlite3_backup
 
typedef struct sqlite3_blob sqlite3_blob
 
typedef int(* sqlite3_callback) (void *, int, char **, char **)
 
typedef struct sqlite3_context sqlite3_context
 
typedef void(* sqlite3_destructor_type) (void *)
 
typedef struct sqlite3_file sqlite3_file
 
typedef struct sqlite3_index_info sqlite3_index_info
 
typedef sqlite_int64 sqlite3_int64
 
typedef struct sqlite3_io_methods sqlite3_io_methods
 
typedef struct sqlite3_mem_methods sqlite3_mem_methods
 
typedef struct sqlite3_module sqlite3_module
 
typedef struct sqlite3_mutex sqlite3_mutex
 
typedef struct sqlite3_mutex_methods sqlite3_mutex_methods
 
typedef struct sqlite3_pcache sqlite3_pcache
 
typedef struct sqlite3_pcache_methods sqlite3_pcache_methods
 
typedef struct sqlite3_pcache_methods2 sqlite3_pcache_methods2
 
typedef struct sqlite3_pcache_page sqlite3_pcache_page
 
typedef double sqlite3_rtree_dbl
 
typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry
 
typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info
 
typedef struct sqlite3_snapshot sqlite3_snapshot
 
typedef struct sqlite3_stmt sqlite3_stmt
 
typedef void(* sqlite3_syscall_ptr) (void)
 
typedef sqlite_uint64 sqlite3_uint64
 
typedef struct Mem sqlite3_value
 
typedef struct sqlite3_vfs sqlite3_vfs
 
typedef struct sqlite3_vtab sqlite3_vtab
 
typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor
 
typedef int(* sqlite3_xauth) (void *, int, const char *, const char *, const char *, const char *)
 
typedef struct sqlite3AutoExtList sqlite3AutoExtList
 
typedef struct sqlite3StatType sqlite3StatType
 
typedef sqlite3_int64 sqlite3StatValueType
 
typedef long long int sqlite_int64
 
typedef unsigned long long int sqlite_uint64
 
typedef struct SQLiteThread SQLiteThread
 
typedef struct SrcList SrcList
 
typedef struct Stat4Accum Stat4Accum
 
typedef struct Stat4Sample Stat4Sample
 
typedef struct StrAccum StrAccum
 
typedef struct SubProgram SubProgram
 
typedef struct SumCtx SumCtx
 
typedef struct Table Table
 
typedef struct TableLock TableLock
 
typedef struct TabResult TabResult
 
typedef struct Token Token
 
typedef struct TreeView TreeView
 
typedef struct Trigger Trigger
 
typedef struct TriggerPrg TriggerPrg
 
typedef struct TriggerStep TriggerStep
 
typedef u32 tRowcnt
 
typedef UINT16_TYPE u16
 
typedef UINT32_TYPE u32
 
typedef sqlite_uint64 u64
 
typedef UINT8_TYPE u8
 
typedef struct unixFile unixFile
 
typedef struct unixInodeInfo unixInodeInfo
 
typedef struct unixShm unixShm
 
typedef struct unixShmNode unixShmNode
 
typedef struct UnixUnusedFd UnixUnusedFd
 
typedef struct UnpackedRecord UnpackedRecord
 
typedef u64 uptr
 
typedef struct Vdbe Vdbe
 
typedef struct VdbeCursor VdbeCursor
 
typedef struct VdbeFrame VdbeFrame
 
typedef struct VdbeOp VdbeOp
 
typedef struct VdbeOpList VdbeOpList
 
typedef struct VdbeSorter VdbeSorter
 
typedef struct VtabCtx VtabCtx
 
typedef struct VTable VTable
 
typedef struct Wal Wal
 
typedef struct WalCkptInfo WalCkptInfo
 
typedef struct WalIndexHdr WalIndexHdr
 
typedef struct WalIterator WalIterator
 
typedef struct Walker Walker
 
typedef struct WalWriter WalWriter
 
typedef struct WhereAndInfo WhereAndInfo
 
typedef struct WhereClause WhereClause
 
typedef struct WhereInfo WhereInfo
 
typedef struct WhereLevel WhereLevel
 
typedef struct WhereLoop WhereLoop
 
typedef struct WhereLoopBuilder WhereLoopBuilder
 
typedef struct WhereMaskSet WhereMaskSet
 
typedef struct WhereOrCost WhereOrCost
 
typedef struct WhereOrInfo WhereOrInfo
 
typedef struct WhereOrSet WhereOrSet
 
typedef struct WherePath WherePath
 
typedef struct WhereScan WhereScan
 
typedef struct WhereTerm WhereTerm
 
typedef struct With With
 
typedef unsigned int yDbMask
 
typedef i16 ynVar
 
typedef struct yyParser yyParser
 
typedef struct yyStackEntry yyStackEntry
 

Functions

static void absFunc (sqlite3_context *context, int argc, sqlite3_value **argv)
 
static int accessPayload (BtCursor *pCur, u32 offset, u32 amt, unsigned char *pBuf, int eOp)
 
static const char * actionName (u8 action)
 
static int addAggInfoColumn (sqlite3 *db, AggInfo *pInfo)
 
static int addAggInfoFunc (sqlite3 *db, AggInfo *pInfo)
 
static void addArgumentToVtab (Parse *pParse)
 
static void addModuleArgument (sqlite3 *db, Table *pTable, char *zArg)
 
static int addToSavepointBitvecs (Pager *pPager, Pgno pgno)
 
static void addToVTrans (sqlite3 *db, VTable *pVTab)
 
static void addWhereTerm (Parse *pParse, SrcList *pSrc, int iLeft, int iColLeft, int iRight, int iColRight, int isOuterJoin, Expr **ppWhere)
 
static int allocateBtreePage (BtShared *, MemPage **, Pgno *, Pgno, u8)
 
static VdbeCursorallocateCursor (Vdbe *p, int iCur, int nField, int iDb, u8 eCurType)
 
static sqlite3_index_infoallocateIndexInfo (Parse *pParse, WhereClause *pWC, Bitmask mUnusable, struct SrcList_item *pSrc, ExprList *pOrderBy)
 
static int allocateSpace (MemPage *pPage, int nByte, int *pIdx)
 
static void allocateTempSpace (BtShared *pBt)
 
static voidallocSpace (struct ReusableSpace *p, void *pBuf, int nByte)
 
static SQLITE_NOINLINE VdbeallocVdbe (Parse *pParse)
 
static int allowedOp (int op)
 
static int allSpaces (const char *z, int n)
 
static int analysisLoader (void *pData, int argc, char **argv, char **NotUsed)
 
static int analyzeAggregate (Walker *pWalker, Expr *pExpr)
 
static int analyzeAggregatesInSelect (Walker *pWalker, Select *pSelect)
 
static void analyzeDatabase (Parse *pParse, int iDb)
 
static void analyzeOneTable (Parse *pParse, Table *pTab, Index *pOnlyIdx, int iStatCur, int iMem, int iTab)
 
static void analyzeTable (Parse *pParse, Table *pTab, Index *pOnlyIdx)
 
static SQLITE_NOINLINE int apiOomError (sqlite3 *db)
 
static void applyAffinity (Mem *pRec, char affinity, u8 enc)
 
static void applyNumericAffinity (Mem *pRec, int bTryForInt)
 
static void attachBackupObject (sqlite3_backup *p)
 
static void attachFunc (sqlite3_context *context, int NotUsed, sqlite3_value **argv)
 
static int autoIncBegin (Parse *pParse, int iDb, Table *pTab)
 
static SQLITE_NOINLINE void autoIncrementEnd (Parse *pParse)
 
static void autoIncStep (Parse *pParse, int memId, int regRowid)
 
static int autoVacuumCommit (BtShared *pBt)
 
static void avgFinalize (sqlite3_context *context)
 
static int backupOnePage (sqlite3_backup *p, Pgno iSrcPg, const u8 *zSrcData, int bUpdate)
 
static int backupTruncateFile (sqlite3_file *pFile, i64 iSize)
 
static SQLITE_NOINLINE void backupUpdate (sqlite3_backup *p, Pgno iPage, const u8 *aData)
 
static int balance (BtCursor *pCur)
 
static int balance_deeper (MemPage *pRoot, MemPage **ppChild)
 
static int balance_nonroot (MemPage *pParent, int iParentIdx, u8 *aOvflSpace, int isRoot, int bBulk)
 
static int balance_quick (MemPage *pParent, MemPage *pPage, u8 *pSpace)
 
static u8 binaryCompareP5 (Expr *pExpr1, Expr *pExpr2, int jumpIfNull)
 
static void binaryToUnaryIfNull (Parse *pParse, Expr *pY, Expr *pA, int op)
 
static int binCollFunc (void *padFlag, int nKey1, const void *pKey1, int nKey2, const void *pKey2)
 
static int bindText (sqlite3_stmt *pStmt, int i, const void *zData, int nData, void(*xDel)(void *), u8 encoding)
 
static int blobReadWrite (sqlite3_blob *pBlob, void *z, int n, int iOffset, int(*xCall)(BtCursor *, u32, u32, void *))
 
static int blobSeekToRow (Incrblob *p, sqlite3_int64 iRow, char **pzErr)
 
static void btreeClearHasContent (BtShared *pBt)
 
static int btreeCreateTable (Btree *p, int *piTable, int createTabFlags)
 
static int btreeCursor (Btree *p, int iTable, int wrFlag, struct KeyInfo *pKeyInfo, BtCursor *pCur)
 
static int btreeDropTable (Btree *p, Pgno iTable, int *piMoved)
 
static void btreeEndTransaction (Btree *p)
 
static int btreeGetHasContent (BtShared *pBt, Pgno pgno)
 
static int btreeGetPage (BtShared *pBt, Pgno pgno, MemPage **ppPage, int flags)
 
static int btreeGetUnusedPage (BtShared *pBt, Pgno pgno, MemPage **ppPage, int flags)
 
static void btreeHeapInsert (u32 *aHeap, u32 x)
 
static int btreeHeapPull (u32 *aHeap, u32 *pOut)
 
static int btreeInitPage (MemPage *pPage)
 
static int btreeInvokeBusyHandler (void *pArg)
 
static void SQLITE_NOINLINE btreeLockCarefully (Btree *p)
 
static int btreeMoveto (BtCursor *pCur, const void *pKey, i64 nKey, int bias, int *pRes)
 
static SQLITE_NOINLINE int btreeNext (BtCursor *pCur, int *pRes)
 
static Pgno btreePagecount (BtShared *pBt)
 
static MemPagebtreePageFromDbPage (DbPage *pDbPage, Pgno pgno, BtShared *pBt)
 
static MemPagebtreePageLookup (BtShared *pBt, Pgno pgno)
 
static void btreeParseCell (MemPage *pPage, int iCell, CellInfo *pInfo)
 
static SQLITE_NOINLINE void btreeParseCellAdjustSizeForOverflow (MemPage *pPage, u8 *pCell, CellInfo *pInfo)
 
static void btreeParseCellPtr (MemPage *pPage, u8 *pCell, CellInfo *pInfo)
 
static void btreeParseCellPtrIndex (MemPage *pPage, u8 *pCell, CellInfo *pInfo)
 
static void btreeParseCellPtrNoPayload (MemPage *pPage, u8 *pCell, CellInfo *pInfo)
 
static SQLITE_NOINLINE int btreePrevious (BtCursor *pCur, int *pRes)
 
static void btreeReleaseAllCursorPages (BtCursor *pCur)
 
static int btreeRestoreCursorPosition (BtCursor *pCur)
 
static int btreeSetHasContent (BtShared *pBt, Pgno pgno)
 
static u16 cachedCellSize (CellArray *p, int N)
 
static void cacheEntryClear (Parse *pParse, struct yColCache *p)
 
static void callCollNeeded (sqlite3 *db, int enc, const char *zName)
 
static void callFinaliser (sqlite3 *db, int offset)
 
static void callStatGet (Vdbe *v, int regStat4, int iParam, int regOut)
 
static int cannotBeFunction (Parse *pParse, struct SrcList_item *pFrom)
 
static void cdateFunc (sqlite3_context *context, int NotUsed, sqlite3_value **NotUsed2)
 
static u16 cellSizePtr (MemPage *pPage, u8 *pCell)
 
static u16 cellSizePtrNoPayload (MemPage *pPage, u8 *pCell)
 
static void changes (sqlite3_context *context, int NotUsed, sqlite3_value **NotUsed2)
 
static int changeTempStorage (Parse *pParse, const char *zStorageType)
 
static void charFunc (sqlite3_context *context, int argc, sqlite3_value **argv)
 
static void checkAppendMsg (IntegrityCk *pCheck, const char *zFormat,...)
 
static int checkColumnOverlap (IdList *pIdList, ExprList *pEList)
 
static int checkConstraintExprNode (Walker *pWalker, Expr *pExpr)
 
static int checkConstraintUnchanged (Expr *pExpr, int *aiChng, int chngRowid)
 
static int checkForMultiColumnSelectError (Parse *pParse, SelectDest *pDest, int nExpr)
 
static void checkList (IntegrityCk *pCheck, int isFreeList, int iPage, int N)
 
static void checkPtrmap (IntegrityCk *pCheck, Pgno iChild, u8 eType, Pgno iParent)
 
static int checkReadTransaction (sqlite3 *db, Btree *p)
 
static int checkRef (IntegrityCk *pCheck, Pgno iPage)
 
static int checkTreePage (IntegrityCk *pCheck, int iPage, i64 *piMinKey, i64 maxKey)
 
static void Cleanup (Vdbe *p)
 
static void clearAllSharedCacheTableLocks (Btree *p)
 
static int clearCell (MemPage *pPage, unsigned char *pCell, u16 *pnSize)
 
static int clearDatabasePage (BtShared *pBt, Pgno pgno, int freePageFlag, int *pnChange)
 
static void clearSelect (sqlite3 *db, Select *p, int bFree)
 
static void clearYMD_HMS_TZ (DateTime *p)
 
static void closeAllCursors (Vdbe *p)
 
static void closeCursorsInFrame (Vdbe *p)
 
static void closePendingFds (unixFile *pFile)
 
static int closeUnixFile (sqlite3_file *id)
 
static int codeAllEqualityTerms (Parse *pParse, WhereLevel *pLevel, int bRev, int nExtraReg, char **pzAff)
 
static void codeApplyAffinity (Parse *pParse, int base, int n, char *zAff)
 
static void codeAttach (Parse *pParse, int type, FuncDef const *pFunc, Expr *pAuthArg, Expr *pFilename, Expr *pDbname, Expr *pKey)
 
static int codeCompare (Parse *pParse, Expr *pLeft, Expr *pRight, int opcode, int in1, int in2, int dest, int jumpIfNull)
 
static void codeDeferredSeek (WhereInfo *pWInfo, Index *pIdx, int iCur, int iIdxCur)
 
static void codeDistinct (Parse *pParse, int iTab, int addrRepeat, int N, int iMem)
 
static int codeEqualityTerm (Parse *pParse, WhereTerm *pTerm, WhereLevel *pLevel, int iEq, int bRev, int iTarget)
 
static void codeInteger (Parse *pParse, Expr *pExpr, int negFlag, int iMem)
 
static void codeOffset (Vdbe *v, int iOffset, int iContinue)
 
static void codeReal (Vdbe *v, const char *z, int negateFlag, int iMem)
 
static TriggerPrgcodeRowTrigger (Parse *pParse, Trigger *pTrigger, Table *pTab, int orc