Lines Matching defs:const

495 SQLITE_API const char sqlite3_version[] = SQLITE_VERSION;
496 SQLITE_API const char *sqlite3_libversion(void);
497 SQLITE_API const char *sqlite3_sourceid(void);
523 SQLITE_API int sqlite3_compileoption_used(const char *zOptName);
524 SQLITE_API const char *sqlite3_compileoption_get(int N);
737 const char *sql, /* SQL to be evaluated */
1038 const struct sqlite3_io_methods *pMethods; /* Methods for an open file */
1147 int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst);
1587 ** xOpen method of a [VFS]. It may be cast to (const char*) and treated
1601 typedef const char *sqlite3_filename;
1779 const char *zName; /* Name of this virtual file system */
1783 int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir);
1784 int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut);
1785 int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut);
1786 void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename);
1788 void (*(*xDlSym)(sqlite3_vfs*,void*, const char *zSymbol))(void);
1803 int (*xSetSystemCall)(sqlite3_vfs*, const char *zName, sqlite3_syscall_ptr);
1804 sqlite3_syscall_ptr (*xGetSystemCall)(sqlite3_vfs*, const char *zName);
1805 const char *(*xNextSystemCall)(sqlite3_vfs*, const char *zName);
2287 ** function with a call signature of void(*)(void*,int,const char*),
2340 ** be a pointer to a function of type void(*)(void*,sqlite3*,const char*, int).
2747 #define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
3026 SQLITE_API int sqlite3_complete(const char *sql);
3027 SQLITE_API int sqlite3_complete16(const void *sql);
3188 const char *zSql, /* SQL to be evaluated */
3236 SQLITE_API char *sqlite3_mprintf(const char*,...);
3237 SQLITE_API char *sqlite3_vmprintf(const char*, va_list);
3238 SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...);
3239 SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
3463 int (*xAuth)(void*,int,const char*,const char*,const char*,const char*),
3570 void(*xTrace)(void*,const char*), void*);
3572 void(*xProfile)(void*,const char*,sqlite3_uint64), void*);
3975 const char *filename, /* Database filename (UTF-8) */
3979 const void *filename, /* Database filename (UTF-16) */
3983 const char *filename, /* Database filename (UTF-8) */
3986 const char *zVfs /* Name of VFS module to use */
4055 SQLITE_API const char *sqlite3_uri_parameter(sqlite3_filename z, const char *zParam);
4056 SQLITE_API int sqlite3_uri_boolean(sqlite3_filename z, const char *zParam, int bDefault);
4057 SQLITE_API sqlite3_int64 sqlite3_uri_int64(sqlite3_filename, const char*, sqlite3_int64);
4058 SQLITE_API const char *sqlite3_uri_key(sqlite3_filename z, int N);
4087 SQLITE_API const char *sqlite3_filename_database(sqlite3_filename);
4088 SQLITE_API const char *sqlite3_filename_journal(sqlite3_filename);
4089 SQLITE_API const char *sqlite3_filename_wal(sqlite3_filename);
4108 SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*);
4156 const char *zDatabase,
4157 const char *zJournal,
4158 const char *zWal,
4160 const char **azParam
4226 SQLITE_API const char *sqlite3_errmsg(sqlite3*);
4227 SQLITE_API const void *sqlite3_errmsg16(sqlite3*);
4228 SQLITE_API const char *sqlite3_errstr(int);
4509 const char *zSql, /* SQL statement, UTF-8 encoded */
4512 const char **pzTail /* OUT: Pointer to unused portion of zSql */
4516 const char *zSql, /* SQL statement, UTF-8 encoded */
4519 const char **pzTail /* OUT: Pointer to unused portion of zSql */
4523 const char *zSql, /* SQL statement, UTF-8 encoded */
4527 const char **pzTail /* OUT: Pointer to unused portion of zSql */
4531 const void *zSql, /* SQL statement, UTF-16 encoded */
4534 const void **pzTail /* OUT: Pointer to unused portion of zSql */
4538 const void *zSql, /* SQL statement, UTF-16 encoded */
4541 const void **pzTail /* OUT: Pointer to unused portion of zSql */
4545 const void *zSql, /* SQL statement, UTF-16 encoded */
4549 const void **pzTail /* OUT: Pointer to unused portion of zSql */
4593 SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt);
4596 SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt);
4879 SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
4880 SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64,
4886 SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*));
4887 SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*));
4888 SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64,
4890 SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*);
4891 SQLITE_API int sqlite3_bind_pointer(sqlite3_stmt*, int, void*, const char*,void(*)(void*));
4942 SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int);
4960 SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName);
5015 SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N);
5016 SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N);
5060 SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int);
5061 SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int);
5062 SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int);
5063 SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int);
5064 SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int);
5065 SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int);
5097 SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int);
5098 SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
5185 SQLITE_API int sqlite3_set_droptable_handle(sqlite3*, void (*xFunc)(sqlite3*,const char*,const char*));
5453 SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);
5457 SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
5458 SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol);
5644 const char *zFunctionName,
5654 const void *zFunctionName,
5664 const char *zFunctionName,
5675 const char *zFunctionName,
5927 SQLITE_API const void *sqlite3_value_blob(sqlite3_value*);
5931 SQLITE_API void *sqlite3_value_pointer(sqlite3_value*, const char*);
5932 SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*);
5933 SQLITE_API const void *sqlite3_value_text16(sqlite3_value*);
5934 SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*);
5935 SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*);
5971 SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value*);
6272 SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*));
6273 SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*,
6276 SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int);
6277 SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int);
6284 SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*));
6285 SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64,
6287 SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*));
6288 SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*));
6289 SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*));
6291 SQLITE_API void sqlite3_result_pointer(sqlite3_context*, void*,const char*,void(*)(void*));
6393 const char *zName,
6396 int(*xCompare)(void*,int,const void*,int,const void*)
6400 const char *zName,
6403 int(*xCompare)(void*,int,const void*,int,const void*),
6408 const void *zName,
6411 int(*xCompare)(void*,int,const void*,int,const void*)
6444 void(*)(void*,sqlite3*,int eTextRep,const char*)
6449 void(*)(void*,sqlite3*,int eTextRep,const void*)
6462 const void *pKey, int nKey /* The key */
6466 const char *zDbName, /* Name of the database */
6467 const void *pKey, int nKey /* The key */
6480 const void *pKey, int nKey /* The new key */
6484 const char *zDbName, /* Name of the database */
6485 const void *pKey, int nKey /* The new key */
6496 const char *zPassPhrase /* Activation phrase */
6637 SQLITE_API int sqlite3_win32_set_directory8(unsigned long type, const char *zValue);
6638 SQLITE_API int sqlite3_win32_set_directory16(unsigned long type, const void *zValue);
6706 SQLITE_API const char *sqlite3_db_name(sqlite3 *db, int N);
6738 SQLITE_API sqlite3_filename sqlite3_db_filename(sqlite3 *db, const char *zDbName);
6748 SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName);
6766 SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
6916 **   const char *zSchema,
6927 unsigned int(*)(void*,const char*,unsigned int,unsigned int,unsigned int),
6984 void(*)(void *,int ,char const *,char const *,sqlite3_int64),
7179 ** <tr><td> 5th <td> const char* <td> Data type
7180 ** <tr><td> 6th <td> const char* <td> Name of default collation sequence
7214 const char *zDbName, /* Database name or NULL */
7215 const char *zTableName, /* Table name */
7216 const char *zColumnName, /* Column name */
7217 char const **pzDataType, /* OUTPUT: Declared data type */
7218 char const **pzCollSeq, /* OUTPUT: Collation sequence name */
7270 const char *zFile, /* Name of the shared library containing extension */
7271 const char *zProc, /* Entry point. Derived from zFile if 0 */
7318 ** &nbsp; const char **pzErrMsg,
7319 ** &nbsp; const struct sqlite3_api_routines *pThunk
7396 int argc, const char *const*argv,
7399 int argc, const char *const*argv,
7406 int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
7417 int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,
7420 int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
7428 int (*xShadowName)(const char*);
7664 const char *zName, /* Name of the module */
7665 const sqlite3_module *p, /* Methods for the module */
7670 const char *zName, /* Name of the module */
7671 const sqlite3_module *p, /* Methods for the module */
7690 const char **azKeep /* Except, do not remove the ones named here */
7712 const sqlite3_module *pModule; /* The module for this virtual table */
7748 SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
7767 SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
7878 const char *zDb,
7879 const char *zTable,
7880 const char *zColumn,
8019 SQLITE_API int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
8050 SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
8370 SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
8484 SQLITE_API int sqlite3_keyword_name(int,const char**,int*);
8485 SQLITE_API int sqlite3_keyword_check(const char*,int);
8579 SQLITE_API void sqlite3_str_appendf(sqlite3_str*, const char *zFormat, ...);
8580 SQLITE_API void sqlite3_str_vappendf(sqlite3_str*, const char *zFormat, va_list);
8581 SQLITE_API void sqlite3_str_append(sqlite3_str*, const char *zIn, int N);
8582 SQLITE_API void sqlite3_str_appendall(sqlite3_str*, const char *zIn);
9412 const char *zDestName, /* Destination database name */
9414 const char *zSourceName /* Source database name */
9551 SQLITE_API int sqlite3_stricmp(const char *, const char *);
9552 SQLITE_API int sqlite3_strnicmp(const char *, const char *, int);
9569 SQLITE_API int sqlite3_strglob(const char *zGlob, const char *zStr);
9592 SQLITE_API int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc);
9615 SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);
9654 int(*)(void *,sqlite3*,const char*,int),
9709 SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
9805 const char *zDb, /* Name of attached database (or NULL) */
9934 int (*xPutString)(void *pCtx, int addedRows, int column, const char* text, int len);
9937 int (*xPutBlob)(void *pCtx, int addedRows, int column, const void* blob, int len);
10003 SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
10290 ** <dd>^The "const char *" variable pointed to by the V parameter will be set
10295 ** <dd>^The "const char *" variable pointed to by the V parameter will be set
10495 char const *zDb, /* Database name */
10496 char const *zName, /* Table name */
10591 const char *zSchema,
10640 const char *zSchema,
10710 SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb);
10750 const char *zSchema, /* Which DB to serialize. ex: "main", "temp", ... */
10806 const char *zSchema, /* Which DB to reopen with the deserialization */
10893 const char *zGeom,
10919 const char *zQueryFunc,
11032 const char *zDb, /* Name of db (e.g. "main") */
11194 const char *zTab /* Table name */
11211 const char *zTab /* Table name */
11402 const char *zFromDb,
11403 const char *zTbl,
11594 const char **pzTab, /* OUT: Pointer to table name */
11803 int nIn, const void *pIn, /* Input changeset */
12168 const char *zTab /* Table name */
12183 const char *zTab /* Table name */
12437 int nRebase, const void *pRebase
12456 int nIn, const void *pIn,
12542 ** &nbsp; int (*xOutput)(void *pOut, const void *pData, int nData),
12566 const char *zTab /* Table name */
12581 const char *zTab /* Table name */
12597 int (*xOutput)(void *pOut, const void *pData, int nData),
12603 int (*xOutput)(void *pOut, const void *pData, int nData),
12619 int (*xOutput)(void *pOut, const void *pData, int nData),
12624 int (*xOutput)(void *pOut, const void *pData, int nData),
12632 int (*xOutput)(void *pOut, const void *pData, int nData),
12639 int (*xOutput)(void *pOut, const void *pData, int nData),
12734 const Fts5ExtensionApi *pApi, /* API offered by current FTS version */
12742 const unsigned char *a;
12743 const unsigned char *b;
12967 const char *pText, int nText, /* Text to tokenize */
12969 int (*xToken)(void*, int, const char*, int, int, int) /* Callback */
12979 int (*xColumnText)(Fts5Context*, int iCol, const char **pz, int *pn);
12983 int(*)(const Fts5ExtensionApi*,Fts5Context*,void*)
13194 int (*xCreate)(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut);
13199 const char *pText, int nText,
13203 const char *pToken, /* Pointer to buffer containing token */
13235 const char *zName,
13244 const char *zName,
13252 const char *zName,
13949 const char *pKey; /* Key associated with this element */
13956 SQLITE_PRIVATE void *sqlite3HashInsert(Hash*, const char *pKey, void *pData);
13957 SQLITE_PRIVATE void *sqlite3HashFind(const Hash*, const char *pKey);
14190 # define memcpy(D,S,N) {char*xxd=(char*)(D);const char*xxs=(const char*)(S);\
14501 const int sqlite3one = 1;
14503 extern const int sqlite3one;
14715 #define SQLITE_WSD const
15115 SQLITE_PRIVATE int sqlite3OsWrite(sqlite3_file*, const void*, int amt, i64 offset);
15140 SQLITE_PRIVATE int sqlite3OsOpen(sqlite3_vfs *, const char *, sqlite3_file*, int, int *);
15141 SQLITE_PRIVATE int sqlite3OsDelete(sqlite3_vfs *, const char *, int);
15142 SQLITE_PRIVATE int sqlite3OsAccess(sqlite3_vfs *, const char *, int, int *pResOut);
15143 SQLITE_PRIVATE int sqlite3OsFullPathname(sqlite3_vfs *, const char *, int, char *);
15145 SQLITE_PRIVATE void *sqlite3OsDlOpen(sqlite3_vfs *, const char *);
15147 SQLITE_PRIVATE void (*sqlite3OsDlSym(sqlite3_vfs *, void *, const char *))(void);
15159 SQLITE_PRIVATE int sqlite3OsOpenMalloc(sqlite3_vfs *, const char *, sqlite3_file **, int,int*);
15287 const char*,
15335 SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne(Pager*,const char *zSuper, int);
15337 SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager, const char *zSuper);
15382 SQLITE_PRIVATE const char *sqlite3PagerFilename(const Pager*, int);
15386 SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager*);
15469 const char *zFilename, /* Name of database file to open */
15504 SQLITE_PRIVATE int sqlite3BtreeCommitPhaseOne(Btree*, const char*);
15528 SQLITE_PRIVATE const char *sqlite3BtreeGetFilename(Btree *);
15529 SQLITE_PRIVATE const char *sqlite3BtreeGetJournalname(Btree *);
15727 const void *pKey; /* Key content for indexes. NULL for tables */
15729 const void *pData; /* Data for tables. */
15736 SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const BtreePayload *pPayload,
15750 SQLITE_PRIVATE const void *sqlite3BtreePayloadFetch(BtCursor*, u32 *pAmt);
16262 SQLITE_PRIVATE int sqlite3VdbeLoadString(Vdbe*,int,const char*);
16263 SQLITE_PRIVATE void sqlite3VdbeMultiLoad(Vdbe*,int,const char*,...);
16265 SQLITE_PRIVATE int sqlite3VdbeAddOp4(Vdbe*,int,int,int,int,const char *zP4,int);
16266 SQLITE_PRIVATE int sqlite3VdbeAddOp4Dup8(Vdbe*,int,int,int,int,const u8*,int);
16268 SQLITE_PRIVATE int sqlite3VdbeAddFunctionCall(Parse*,int,int,int,int,const FuncDef*,int);
16284 SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp,int iLineno);
16286 SQLITE_PRIVATE void sqlite3VdbeExplain(Parse*,u8,const char*,...);
16299 SQLITE_PRIVATE void sqlite3ExplainBreakpoint(const char*,const char*);
16319 SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe*, int addr, const char *zP4, int N);
16340 SQLITE_PRIVATE int sqlite3VdbeSetColName(Vdbe*, int, int, const char *, void(*)(void*));
16344 SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe*, const char *z, int n, u8);
16346 SQLITE_PRIVATE void sqlite3VdbeAddDblquoteStr(sqlite3*,Vdbe*,const char*);
16347 SQLITE_PRIVATE int sqlite3VdbeUsesDoubleQuotedString(Vdbe*,const char*);
16354 SQLITE_PRIVATE char *sqlite3VdbeExpandSql(Vdbe*, const char*);
16356 SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*);
16357 SQLITE_PRIVATE int sqlite3BlobCompare(const Mem*, const Mem*);
16359 SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(KeyInfo*,int,const void*,UnpackedRecord*);
16360 SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*);
16361 SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip(int, const void *, UnpackedRecord *, int);
16364 typedef int (*RecordCompare)(int,const void*,UnpackedRecord*);
16383 SQLITE_PRIVATE void sqlite3VdbeComment(Vdbe*, const char*, ...);
16385 SQLITE_PRIVATE void sqlite3VdbeNoopComment(Vdbe*, const char*, ...);
16465 SQLITE_PRIVATE void sqlite3VdbeScanStatus(Vdbe*, int, int, int, LogEst, const char*);
16969 SQLITE_PRIVATE int sqlite3UserAuthTable(const char*);
16970 SQLITE_PRIVATE int sqlite3UserAuthCheckLogin(sqlite3*,const char*,u8*);
16980 typedef int (*sqlite3_xauth)(void*,int,const char*,const char*,const char*,
16981 const char*, const char*);
16983 typedef int (*sqlite3_xauth)(void*,int,const char*,const char*,const char*,
16984 const char*);
17005 typedef void (*sqlite3_xDropTableHandle)(sqlite3*, const char*, const char*);
17054 const char **azInit; /* "type", "name", and "tbl_name" columns */
17064 void (*xLegacy)(void*,const char*); /* mTrace==SQLITE_TRACE_LEGACY */
17069 void (*xProfile)(void*,const char*,u64); /* Profiling function */
17077 void (*xUpdateCallback)(void*,int, const char*,const char*,sqlite_int64);
17080 unsigned int (*xAutovacPages)(void*,const char*,u32,u32,u32);
17085 void*,sqlite3*,int,char const*,char const*,sqlite3_int64,sqlite3_int64
17090 int (*xWalCallback)(void *, sqlite3 *, const char *, int);
17093 void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*);
17094 void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*);
17316 const char *zName; /* SQL name of the function. */
17541 const sqlite3_module *pModule; /* Callback pointers */
17542 const char *zName; /* Name passed to create_module() */
17635 int (*xCmp)(void*,int, const void*, int, const void*);
18094 const char **azColl; /* Array of collation sequence names for index */
18175 const char *z; /* Text of the token. Not NULL-terminated! */
19075 const char *zIdxName; /* Name of index, used only for bytecode comments */
19198 const char *zTail; /* All SQL text past the last semicolon parsed */
19204 const char *zAuthContext; /* The 6th parameter to db->xAuth callbacks */
19257 const char *zAuthContext; /* Put saved Parse.zAuthContext here */
19506 void (*xLog)(void*,int,const char*); /* Function for logging */
19509 void(*xSqllog)(void*,sqlite3*,const char*, int);
19526 int (*xAltLocaltime)(const void*,void*); /* Alternative localtime() routine */
19595 const char *zDb; /* Make sure all objects are contained in this database */
19596 const char *zType; /* Type of the container - used for error messages */
19597 const Token *pName; /* Name of the container - used for error messages */
19638 const char *zCteErr; /* Error message for circular references */
19755 SQLITE_PRIVATE int sqlite3WindowCompare(const Parse*, const Window*, const Window*, int);
19788 SQLITE_PRIVATE int sqlite3ReportError(int iErr, int lineno, const char *zType);
19866 SQLITE_PRIVATE int sqlite3StrICmp(const char*,const char*);
19867 SQLITE_PRIVATE int sqlite3Strlen30(const char*);
19879 SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3*,const char*);
19880 SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3*,const char*, u64);
19881 SQLITE_PRIVATE char *sqlite3DbSpanDup(sqlite3*,const char*,const char*);
19888 SQLITE_PRIVATE int sqlite3MallocSize(const void*);
19889 SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3*, const void*);
19924 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys5(void);
19928 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys3(void);
19933 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void);
19934 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3NoopMutex(void);
19981 SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3*,const char*, ...);
19982 SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3*,const char*, va_list);
19984 SQLITE_PRIVATE void sqlite3DebugPrintf(const char*, ...);
19987 SQLITE_PRIVATE void *sqlite3TestTextToPtr(const char*);
19991 SQLITE_PRIVATE void sqlite3TreeViewLine(TreeView*, const char *zFormat, ...);
19992 SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView*, const Expr*, u8);
19993 SQLITE_PRIVATE void sqlite3TreeViewBareExprList(TreeView*, const ExprList*, const char*);
19994 SQLITE_PRIVATE void sqlite3TreeViewExprList(TreeView*, const ExprList*, u8, const char*);
19995 SQLITE_PRIVATE void sqlite3TreeViewBareIdList(TreeView*, const IdList*, const char*);
19996 SQLITE_PRIVATE void sqlite3TreeViewIdList(TreeView*, const IdList*, u8, const char*);
19997 SQLITE_PRIVATE void sqlite3TreeViewColumnList(TreeView*, const Column*, int, u8);
19998 SQLITE_PRIVATE void sqlite3TreeViewSrcList(TreeView*, const SrcList*);
19999 SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView*, const Select*, u8);
20000 SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView*, const With*, u8);
20001 SQLITE_PRIVATE void sqlite3TreeViewUpsert(TreeView*, const Upsert*, u8);
20003 SQLITE_PRIVATE void sqlite3TreeViewDelete(const With*, const SrcList*, const Expr*,
20004 const ExprList*,const Expr*, const Trigger*);
20005 SQLITE_PRIVATE void sqlite3TreeViewInsert(const With*, const SrcList*,
20006 const IdList*, const Select*, const ExprList*,
20007 int, const Upsert*, const Trigger*);
20008 SQLITE_PRIVATE void sqlite3TreeViewUpdate(const With*, const SrcList*, const ExprList*,
20009 const Expr*, int, const ExprList*, const Expr*,
20010 const Upsert*, const Trigger*);
20013 SQLITE_PRIVATE void sqlite3TreeViewTriggerStep(TreeView*, const TriggerStep*, u8, u8);
20014 SQLITE_PRIVATE void sqlite3TreeViewTrigger(TreeView*, const Trigger*, u8, u8);
20017 SQLITE_PRIVATE void sqlite3TreeViewWindow(TreeView*, const Window*, u8);
20018 SQLITE_PRIVATE void sqlite3TreeViewWinFunc(TreeView*, const Window*, u8);
20020 SQLITE_PRIVATE void sqlite3ShowExpr(const Expr*);
20021 SQLITE_PRIVATE void sqlite3ShowExprList(const ExprList*);
20022 SQLITE_PRIVATE void sqlite3ShowIdList(const IdList*);
20023 SQLITE_PRIVATE void sqlite3ShowSrcList(const SrcList*);
20024 SQLITE_PRIVATE void sqlite3ShowSelect(const Select*);
20025 SQLITE_PRIVATE void sqlite3ShowWith(const With*);
20026 SQLITE_PRIVATE void sqlite3ShowUpsert(const Upsert*);
20028 SQLITE_PRIVATE void sqlite3ShowTriggerStep(const TriggerStep*);
20029 SQLITE_PRIVATE void sqlite3ShowTriggerStepList(const TriggerStep*);
20030 SQLITE_PRIVATE void sqlite3ShowTrigger(const Trigger*);
20031 SQLITE_PRIVATE void sqlite3ShowTriggerList(const Trigger*);
20034 SQLITE_PRIVATE void sqlite3ShowWindow(const Window*);
20035 SQLITE_PRIVATE void sqlite3ShowWinFunc(const Window*);
20039 SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*);
20040 SQLITE_PRIVATE void sqlite3ErrorMsg(Parse*, const char*, ...);
20046 SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char*, int);
20047 SQLITE_PRIVATE int sqlite3RunParser(Parse*, const char*);
20057 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(sqlite3*,int,const Token*,int);
20058 SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*);
20064 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, const Token*, int);
20065 SQLITE_PRIVATE void sqlite3ExprFunctionUsable(Parse*,const Expr*,const FuncDef*);
20074 SQLITE_PRIVATE void sqlite3ExprListSetName(Parse*,ExprList*,const Token*,int);
20075 SQLITE_PRIVATE void sqlite3ExprListSetSpan(Parse*,ExprList*,const char*,const char*);
20077 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList*);
20084 SQLITE_PRIVATE Module *sqlite3PragmaVtabRegister(sqlite3*,const char *zName);
20092 SQLITE_PRIVATE void sqlite3ColumnSetColl(sqlite3*,Column*,const char*zColl);
20093 SQLITE_PRIVATE const char *sqlite3ColumnColl(Column*);
20118 SQLITE_PRIVATE void sqlite3AddCheckConstraint(Parse*, Expr*, const char*, const char*);
20119 SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse*,Expr*,const char*,const char*);
20124 SQLITE_PRIVATE int sqlite3ParseUri(const char*,const char*,unsigned int*,
20127 SQLITE_PRIVATE int sqlite3CodecQueryParameters(sqlite3*,const char*,const char*);
20131 SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3*,const char*);
20185 SQLITE_PRIVATE int sqlite3IdListIndex(IdList*,const char*);
20213 SQLITE_PRIVATE void sqlite3CodeChangeCount(Vdbe*,int,const char*);
20254 SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3*,const char*, const char*);
20257 SQLITE_PRIVATE Table *sqlite3LocateTable(Parse*,u32 flags,const char*, const char*);
20258 SQLITE_PRIVATE const char *sqlite3PreferredTableName(const char*);
20260 SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3*,const char*, const char*);
20261 SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3*,int,const char*);
20262 SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3*,int,const char*);
20265 SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3*, const Token*);
20266 SQLITE_PRIVATE int sqlite3ExprCompare(const Parse*,const Expr*,const Expr*, int);
20268 SQLITE_PRIVATE int sqlite3ExprListCompare(const ExprList*,const ExprList*, int);
20269 SQLITE_PRIVATE int sqlite3ExprImpliesExpr(const Parse*,const Expr*,const Expr*, int);
20283 SQLITE_PRIVATE void sqlite3CodeVerifyNamedSchema(Parse*, const char *zDb);
20289 SQLITE_PRIVATE u32 sqlite3IsTrueOrFalse(const char*);
20291 SQLITE_PRIVATE int sqlite3ExprTruthValue(const Expr*);
20297 SQLITE_PRIVATE int sqlite3ExprIsTableConstraint(Expr*,const SrcItem*);
20301 SQLITE_PRIVATE int sqlite3ExprIsInteger(const Expr*, int*);
20302 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr*);
20303 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char);
20304 SQLITE_PRIVATE int sqlite3IsRowid(const char*);
20326 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3*,const Expr*,int);
20327 SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3*,const ExprList*,int);
20328 SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3*,const SrcList*,int);
20329 SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3*,const IdList*);
20330 SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3*,const Select*,int);
20331 SQLITE_PRIVATE FuncDef *sqlite3FunctionSearch(int,const char*);
20333 SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,u8,u8);
20365 const char*,const char*);
20368 const char*,const char*);
20370 Expr*, u8, const char*,const char*);
20372 const char*,const char*);
20374 SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*);
20394 SQLITE_PRIVATE int sqlite3ColumnIndex(Table *pTab, const char *zCol);
20401 SQLITE_PRIVATE int sqlite3AuthCheck(Parse*,int, const char*, const char*, const char*);
20402 SQLITE_PRIVATE void sqlite3AuthContextPush(Parse*, AuthContext*, const char*);
20404 SQLITE_PRIVATE int sqlite3AuthReadCol(Parse*, const char *, const char *, int);
20411 SQLITE_PRIVATE int sqlite3DbIsNamed(sqlite3 *db, int iDb, const char *zName);
20414 SQLITE_PRIVATE void sqlite3FixInit(DbFixer*, Parse*, int, const char*, const Token*);
20422 SQLITE_PRIVATE int sqlite3AtoF(const char *z, double*, int, u8);
20423 SQLITE_PRIVATE int sqlite3GetInt32(const char *, int*);
20424 SQLITE_PRIVATE int sqlite3GetUInt32(const char*, u32*);
20425 SQLITE_PRIVATE int sqlite3Atoi(const char*);
20427 SQLITE_PRIVATE int sqlite3Utf16ByteLen(const void *pData, int nChar);
20429 SQLITE_PRIVATE int sqlite3Utf8CharLen(const char *pData, int nByte);
20430 SQLITE_PRIVATE u32 sqlite3Utf8Read(const u8**);
20435 SQLITE_PRIVATE VList *sqlite3VListAdd(sqlite3*,VList*,const char*,int,int);
20436 SQLITE_PRIVATE const char *sqlite3VListNumToName(VList*,int);
20437 SQLITE_PRIVATE int sqlite3VListNameToNum(VList*,const char*,int);
20445 SQLITE_PRIVATE u8 sqlite3GetVarint(const unsigned char *, u64 *);
20446 SQLITE_PRIVATE u8 sqlite3GetVarint32(const unsigned char *, u32 *);
20465 SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(sqlite3*, Index*);
20466 SQLITE_PRIVATE char *sqlite3TableAffinityStr(sqlite3*,const Table*);
20468 SQLITE_PRIVATE char sqlite3CompareAffinity(const Expr *pExpr, char aff2);
20469 SQLITE_PRIVATE int sqlite3IndexAffinityOk(const Expr *pExpr, char idx_affinity);
20470 SQLITE_PRIVATE char sqlite3TableColumnAffinity(const Table*,int);
20471 SQLITE_PRIVATE char sqlite3ExprAffinity(const Expr *pExpr);
20472 SQLITE_PRIVATE int sqlite3Atoi64(const char*, i64*, int, u8);
20473 SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char*, i64*);
20474 SQLITE_PRIVATE void sqlite3ErrorWithMsg(sqlite3*, int, const char*,...);
20478 SQLITE_PRIVATE void *sqlite3HexToBlob(sqlite3*, const char *z, int n);
20483 SQLITE_PRIVATE const char *sqlite3ErrName(int);
20490 SQLITE_PRIVATE const char *sqlite3ErrStr(int);
20492 SQLITE_PRIVATE CollSeq *sqlite3FindCollSeq(sqlite3*,u8 enc, const char*,int);
20493 SQLITE_PRIVATE int sqlite3IsBinary(const CollSeq*);
20494 SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char*zName);
20496 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, const Expr *pExpr);
20497 SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, const Expr *pExpr);
20498 SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse*,const Expr*,const Expr*);
20499 SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken(const Parse *pParse, Expr*, const Token*, int);
20500 SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(const Parse*,Expr*,const char*);
20505 SQLITE_PRIVATE int sqlite3CheckObjectName(Parse*, const char*,const char*,const char*);
20512 SQLITE_PRIVATE void sqlite3FileSuffix3(const char*, char*);
20516 SQLITE_PRIVATE u8 sqlite3GetBoolean(const char *z,u8);
20518 SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value*, u8);
20520 SQLITE_PRIVATE void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8,
20529 SQLITE_PRIVATE char *sqlite3Utf16to8(sqlite3 *, const void*, int, u8);
20531 SQLITE_PRIVATE int sqlite3ValueFromExpr(sqlite3 *, const Expr *, u8, u8, sqlite3_value **);
20534 SQLITE_PRIVATE const unsigned char sqlite3OpcodeProperty[];
20535 SQLITE_PRIVATE const char sqlite3StrBINARY[];
20536 SQLITE_PRIVATE const unsigned char sqlite3StdTypeLen[];
20537 SQLITE_PRIVATE const char sqlite3StdTypeAffinity[];
20538 SQLITE_PRIVATE const char *sqlite3StdType[];
20539 SQLITE_PRIVATE const unsigned char sqlite3UpperToLower[];
20540 SQLITE_PRIVATE const unsigned char *sqlite3aLTb;
20541 SQLITE_PRIVATE const unsigned char *sqlite3aEQb;
20542 SQLITE_PRIVATE const unsigned char *sqlite3aGTb;
20543 SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[];
20558 SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *, int *);
20559 SQLITE_PRIVATE void sqlite3NestedParse(Parse*, const char*, ...);
20567 const struct ExprList_item*,
20568 const char*,
20569 const char*,
20570 const char*
20573 SQLITE_PRIVATE u8 sqlite3StrIHash(const char*);
20578 SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy(Parse*, Select*, ExprList*, const char*);
20582 SQLITE_PRIVATE void sqlite3AlterDropColumn(Parse*, SrcList*, const Token*);
20583 SQLITE_PRIVATE const void *sqlite3RenameTokenMap(Parse*, const void*, const Token*);
20584 SQLITE_PRIVATE void sqlite3RenameTokenRemap(Parse*, const void *pTo, const void *pFrom);
20587 SQLITE_PRIVATE CollSeq *sqlite3GetCollSeq(Parse*, u8, CollSeq *, const char*);
20588 SQLITE_PRIVATE char sqlite3AffinityType(const char*, Column*);
20592 SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *, const char *);
20606 SQLITE_PRIVATE const char *sqlite3SelectOpName(int);
20612 SQLITE_PRIVATE int sqlite3CreateFunc(sqlite3 *, const char *, int, int, void *,
20633 SQLITE_PRIVATE void sqlite3RecordErrorByteOffset(sqlite3*,const char*);
20634 SQLITE_PRIVATE void sqlite3RecordErrorOffsetOfExpr(sqlite3*,const Expr*);
20637 SQLITE_PRIVATE void sqlite3BackupUpdate(sqlite3_backup *, Pgno, const u8 *);
20650 SQLITE_PRIVATE int sqlite3Stat4Column(sqlite3*, const void*, int, int, sqlite3_value**);
20675 SQLITE_PRIVATE void sqlite3TableLock(Parse *, int, Pgno, u8, const char *);
20711 const char*,
20712 const sqlite3_module*,
20720 SQLITE_PRIVATE int sqlite3ShadowTableName(sqlite3 *db, const char *zName);
20721 SQLITE_PRIVATE int sqlite3IsShadowTableOf(sqlite3*,Table*,const char*);
20735 SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3*, int, const char *, char **);
20737 SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3*, int, const char *);
20746 SQLITE_PRIVATE int sqlite3VdbeParameterIndex(Vdbe*, const char*, int);
20752 SQLITE_PRIVATE char *sqlite3Normalize(Vdbe*, const char*);
20755 SQLITE_PRIVATE void sqlite3ExprListCheckLength(Parse*, ExprList*, const char*);
20756 SQLITE_PRIVATE CollSeq *sqlite3ExprCompareCollSeq(Parse*,const Expr*);
20757 SQLITE_PRIVATE CollSeq *sqlite3BinaryCompareCollSeq(Parse *, const Expr*, const Expr*);
20758 SQLITE_PRIVATE int sqlite3TempInMemory(const sqlite3*);
20759 SQLITE_PRIVATE const char *sqlite3JournalModename(int);
20762 SQLITE_PRIVATE int sqlite3WalDefaultHook(void*,sqlite3*,const char*,int);
20862 SQLITE_PRIVATE int sqlite3JournalOpen(sqlite3_vfs *, const char *, sqlite3_file *, int, int);
20874 SQLITE_PRIVATE int sqlite3SelectExprHeight(const Select *);
20881 SQLITE_PRIVATE u32 sqlite3Get4byte(const u8*);
20909 SQLITE_API SQLITE_EXTERN void (SQLITE_CDECL *sqlite3IoTrace)(const char*,...);
20945 SQLITE_PRIVATE int sqlite3MemdebugHasType(const void*,u8);
20946 SQLITE_PRIVATE int sqlite3MemdebugNoType(const void*,u8);
20971 SQLITE_PRIVATE int sqlite3ExprVectorSize(const Expr *pExpr);
20972 SQLITE_PRIVATE int sqlite3ExprIsVector(const Expr *pExpr);
20978 SQLITE_PRIVATE const char **sqlite3CompileOptions(int *pnOpt);
21244 static const char * const sqlite3azCompileOpt[] = {
21977 SQLITE_PRIVATE const char **sqlite3CompileOptions(int *pnOpt){
21979 return (const char**)sqlite3azCompileOpt;
22009 SQLITE_PRIVATE const unsigned char sqlite3UpperToLower[] = {
22071 SQLITE_PRIVATE const unsigned char *sqlite3aLTb = &sqlite3UpperToLower[256-OP_Ne];
22072 SQLITE_PRIVATE const unsigned char *sqlite3aEQb = &sqlite3UpperToLower[256+6-OP_Ne];
22073 SQLITE_PRIVATE const unsigned char *sqlite3aGTb = &sqlite3UpperToLower[256+12-OP_Ne];
22103 SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = {
22352 SQLITE_PRIVATE const unsigned char sqlite3OpcodeProperty[] = OPFLG_INITIALIZER;
22357 SQLITE_PRIVATE const char sqlite3StrBINARY[] = "BINARY";
22371 SQLITE_PRIVATE const unsigned char sqlite3StdTypeLen[] = { 3, 4, 3, 7, 4, 4 };
22372 SQLITE_PRIVATE const char sqlite3StdTypeAffinity[] = {
22380 SQLITE_PRIVATE const char *sqlite3StdType[] = {
22532 const u8 *aRow; /* Data for the current row, if all on one page */
22621 const char *zPType; /* Pointer type when MEM_Term|MEM_Subtype|MEM_Null */
22958 SQLITE_PRIVATE const u8 sqlite3SmallTypeSizes[];
22964 SQLITE_PRIVATE void sqlite3VdbeError(Vdbe*, const char *, ...);
22979 SQLITE_PRIVATE void sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*);
22982 int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *);
22991 SQLITE_PRIVATE char *sqlite3VdbeDisplayComment(sqlite3*,const Op*,const char*);
22999 SQLITE_PRIVATE int sqlite3VdbeMemCopy(Mem*, const Mem*);
23000 SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem*, const Mem*, int);
23003 SQLITE_PRIVATE int sqlite3VdbeMemSetStr(Mem*, const char*, i64, u8, void(*)(void*));
23010 SQLITE_PRIVATE void sqlite3VdbeMemSetPointer(Mem*, void*, const char*, void(*)(void*));
23019 SQLITE_PRIVATE int sqlite3VdbeMemIsRowSet(const Mem*);
23025 SQLITE_PRIVATE i64 sqlite3VdbeIntValue(const Mem*);
23042 SQLITE_PRIVATE const char *sqlite3OpcodeName(int);
23055 Vdbe*,VdbeCursor*,int,const char*,Table*,i64,int,int);
23062 SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *, Mem *);
23063 SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *, const VdbeCursor *);
23064 SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *, int *);
23065 SQLITE_PRIVATE int sqlite3VdbeSorterWrite(const VdbeCursor *, Mem *);
23066 SQLITE_PRIVATE int sqlite3VdbeSorterCompare(const VdbeCursor *, Mem *, int, int *);
23139 static const char statMutex[] = {
23563 struct tm *__cdecl localtime(const time_t *);
23613 static int getDigits(const char *zDate, const char *zFormat, ...){
23616 static const u16 aMx[] = { 12, 14, 24, 31, 59, 9999 };
23667 static int parseTimezone(const char *zDate, DateTime *p){
23703 static int parseHhMmSs(const char *zDate, DateTime *p){
23804 static int parseYyyyMmDd(const char *zDate, DateTime *p){
23884 const char *zDate,
24030 && 0==sqlite3GlobalConfig.xAltLocaltime((const void*)t,(void*)pTm)
24047 return sqlite3GlobalConfig.xAltLocaltime((const void*)t,(void*)pTm);
24127 static const struct {
24167 const char *z, /* The text of the modifier */
24359 const char *z2 = z;
24447 const unsigned char *z;
24654 const char *zFmt;
24659 zFmt = (const char*)sqlite3_value_text(argv[0]);
24955 SQLITE_PRIVATE int sqlite3OsWrite(sqlite3_file *id, const void *pBuf, int amt, i64 offset){
25080 const char *zPath,
25096 SQLITE_PRIVATE int sqlite3OsDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){
25103 const char *zPath,
25112 const char *zPath,
25121 SQLITE_PRIVATE void *sqlite3OsDlOpen(sqlite3_vfs *pVfs, const char *zPath){
25129 SQLITE_PRIVATE void (*sqlite3OsDlSym(sqlite3_vfs *pVfs, void *pHdle, const char *zSym))(void){
25173 const char *zFile,
25225 SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfs){
25449 static const sqlite3_mem_methods defaultMethods = {
25743 static const sqlite3_mem_methods defaultMethods = {
25794 extern void backtrace_symbols_fd(void*const*,int,int);
25911 static struct MemBlockHdr *sqlite3MemsysGetHeader(const void *pAllocation){
26124 static const sqlite3_mem_methods defaultMethods = {
26158 SQLITE_PRIVATE int sqlite3MemdebugHasType(const void *p, u8 eType){
26180 SQLITE_PRIVATE int sqlite3MemdebugNoType(const void *p, u8 eType){
26212 SQLITE_PRIVATE void sqlite3MemdebugSettitle(const char *zTitle){
26235 SQLITE_PRIVATE void sqlite3MemdebugDump(const char *zFilename){
26879 SQLITE_PRIVATE void sqlite3Memsys3Dump(const char *zFilename){
26963 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys3(void){
26964 static const sqlite3_mem_methods mempoolMethods = {
27508 SQLITE_PRIVATE void sqlite3Memsys5Dump(const char *zFilename){
27551 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys5(void){
27552 static const sqlite3_mem_methods memsys5Methods = {
27634 static SQLITE_WSD const sqlite3_mutex_methods *pGlobalMutexMethods;
27751 sqlite3_mutex_methods const *multiThreadedCheckMutex(void){
27752 static const sqlite3_mutex_methods sMutex = {
27795 sqlite3_mutex_methods const *pFrom;
27984 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3NoopMutex(void){
27985 static const sqlite3_mutex_methods sMutex = {
28120 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3NoopMutex(void){
28121 static const sqlite3_mutex_methods sMutex = {
28143 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){
28523 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){
28524 static const sqlite3_mutex_methods sMutex = {
29018 SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){
29019 static const sqlite3_mutex_methods sMutex = {
29376 static int isLookaside(sqlite3 *db, const void *p){
29387 SQLITE_PRIVATE int sqlite3MallocSize(const void *p){
29391 static int lookasideMallocSize(sqlite3 *db, const void *p){
29398 SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, const void *p){
29804 SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3 *db, const char *z){
29817 SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3 *db, const char *z, u64 n){
29835 SQLITE_PRIVATE char *sqlite3DbSpanDup(sqlite3 *db, const char *zStart, const char *zEnd){
29846 SQLITE_PRIVATE void sqlite3SetString(char **pz, sqlite3 *db, const char *zNew){
30009 static const char aDigits[] = "0123456789ABCDEF0123456789abcdef";
30010 static const char aPrefix[] = "-x0\000X0";
30011 static const et_info fmtinfo[] = {
30048 static const double arRound[] = {
30154 const char *fmt, /* Format string */
30176 const et_info *infop; /* Pointer to the appropriate info structure */
30415 static const char zOrd[] = "thstndrd";
30424 const char *cset = &aDigits[infop->charset];
30452 const char *pre;
30796 sqlite3_str_appendall(pAccum, (const char*)pExpr->u.zToken);
30804 sqlite3_str_append(pAccum, (const char*)pToken->z, pToken->n);
30874 SQLITE_PRIVATE void sqlite3RecordErrorByteOffset(sqlite3 *db, const char *z){
30875 const Parse *pParse;
30876 const char *zText;
30877 const char *zEnd;
30895 SQLITE_PRIVATE void sqlite3RecordErrorOffsetOfExpr(sqlite3 *db, const Expr *pExpr){
30978 static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){
30990 SQLITE_API void sqlite3_str_append(sqlite3_str *p, const char *z, int N){
31007 SQLITE_API void sqlite3_str_appendall(sqlite3_str *p, const char *z){
31149 SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3 *db, const char *zFormat, va_list ap){
31169 SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3 *db, const char *zFormat, ...){
31182 SQLITE_API char *sqlite3_vmprintf(const char *zFormat, va_list ap){
31206 SQLITE_API char *sqlite3_mprintf(const char *zFormat, ...){
31231 SQLITE_API char *sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_list ap){
31246 SQLITE_API char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){
31269 static void renderLogMsg(int iErrCode, const char *zFormat, va_list ap){
31282 SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...){
31297 SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){
31308 extern void SQLITE_OS_TRACE_PROC(const char *zBuf, int nBuf);
31323 SQLITE_API void sqlite3_str_appendf(StrAccum *p, const char *zFormat, ...){
31388 SQLITE_PRIVATE void sqlite3TreeViewLine(TreeView *p, const char *zFormat, ...){
31415 static void sqlite3TreeViewItem(TreeView *p, const char *zLabel,u8 moreFollows){
31425 const Column *aCol,
31447 const char *z = aCol[i].zCnName;
31470 SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 moreToFollow){
31484 const struct Cte *pCte = &pWith->a[i];
31516 SQLITE_PRIVATE void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){
31520 const SrcItem *pItem = &pSrc->a[i];
31579 SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){
31678 const char *zOp = "UNION";
31732 SQLITE_PRIVATE void sqlite3TreeViewWindow(TreeView *pView, const Window *pWin, u8 more){
31763 const char *zFrmType = "ROWS";
31775 const char *zExclude;
31798 SQLITE_PRIVATE void sqlite3TreeViewWinFunc(TreeView *pView, const Window *pWin, u8 more){
31811 SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){
31812 const char *zBinOp = 0; /* Binary operator */
31813 const char *zUniOp = 0; /* Unary operator */
31962 const char *azOp[] = {
32017 const char *zOp2;
32087 const Expr *pX, *pY, *pZ;
32120 const char *zType = "unk";
32197 const ExprList *pList,
32198 const char *zLabel
32245 const ExprList *pList,
32247 const char *zLabel
32259 const IdList *pList,
32260 const char *zLabel
32295 const IdList *pList,
32297 const char *zLabel
32309 const Upsert *pUpsert,
32339 const With *pWith,
32340 const SrcList *pTabList,
32341 const Expr *pWhere,
32342 const ExprList *pOrderBy,
32343 const Expr *pLimit,
32344 const Trigger *pTrigger
32395 const With *pWith,
32396 const SrcList *pTabList,
32397 const IdList *pColumnList,
32398 const Select *pSelect,
32399 const ExprList *pExprList,
32401 const Upsert *pUpsert,
32402 const Trigger *pTrigger
32406 const char *zLabel = "INSERT";
32465 const With *pWith,
32466 const SrcList *pTabList,
32467 const ExprList *pChanges,
32468 const Expr *pWhere,
32470 const ExprList *pOrderBy,
32471 const Expr *pLimit,
32472 const Upsert *pUpsert,
32473 const Trigger *pTrigger
32477 const char *zLabel = "UPDATE";
32543 const TriggerStep *pStep,
32566 const Trigger *pTrigger,
32599 SQLITE_PRIVATE void sqlite3ShowExpr(const Expr *p){ sqlite3TreeViewExpr(0,p,0); }
32600 SQLITE_PRIVATE void sqlite3ShowExprList(const ExprList *p){ sqlite3TreeViewExprList(0,p,0,0);}
32601 SQLITE_PRIVATE void sqlite3ShowIdList(const IdList *p){ sqlite3TreeViewIdList(0,p,0,0); }
32602 SQLITE_PRIVATE void sqlite3ShowSrcList(const SrcList *p){ sqlite3TreeViewSrcList(0,p); }
32603 SQLITE_PRIVATE void sqlite3ShowSelect(const Select *p){ sqlite3TreeViewSelect(0,p,0); }
32604 SQLITE_PRIVATE void sqlite3ShowWith(const With *p){ sqlite3TreeViewWith(0,p,0); }
32605 SQLITE_PRIVATE void sqlite3ShowUpsert(const Upsert *p){ sqlite3TreeViewUpsert(0,p,0); }
32607 SQLITE_PRIVATE void sqlite3ShowTriggerStep(const TriggerStep *p){
32610 SQLITE_PRIVATE void sqlite3ShowTriggerStepList(const TriggerStep *p){
32613 SQLITE_PRIVATE void sqlite3ShowTrigger(const Trigger *p){ sqlite3TreeViewTrigger(0,p,0,0); }
32614 SQLITE_PRIVATE void sqlite3ShowTriggerList(const Trigger *p){ sqlite3TreeViewTrigger(0,p,0,1);}
32617 SQLITE_PRIVATE void sqlite3ShowWindow(const Window *p){ sqlite3TreeViewWindow(0,p,0); }
32618 SQLITE_PRIVATE void sqlite3ShowWinFunc(const Window *p){ sqlite3TreeViewWinFunc(0,p,0); }
32663 static void chacha_block(u32 *out, const u32 *in){
32723 static const u32 chacha20_init[] = {
33106 SQLITE_PRIVATE const int sqlite3one = 1;
33113 static const unsigned char sqlite3Utf8Trans1[] = {
33208 const unsigned char **pz /* Pointer to string from which to read char */
33476 SQLITE_PRIVATE int sqlite3Utf8CharLen(const char *zIn, int nByte){
33478 const u8 *z = (const u8*)zIn;
33479 const u8 *zTerm;
33483 zTerm = (const u8*)(-1);
33512 c = sqlite3Utf8Read((const u8**)&zIn);
33530 SQLITE_PRIVATE char *sqlite3Utf16to8(sqlite3 *db, const void *z, int nByte, u8 enc){
33551 SQLITE_PRIVATE int sqlite3Utf16ByteLen(const void *zIn, int nChar){
33553 unsigned char const *z = zIn;
33563 return (int)(z-(unsigned char const *)zIn)
33587 c = sqlite3Utf8Read((const u8**)&z);
33678 SQLITE_PRIVATE int sqlite3Strlen30(const char *z){
33761 SQLITE_PRIVATE void sqlite3ErrorWithMsg(sqlite3 *db, int err_code, const char *zFormat, ...){
33787 SQLITE_PRIVATE void sqlite3ErrorMsg(Parse *pParse, const char *zFormat, ...){
33915 SQLITE_API int sqlite3_stricmp(const char *zLeft, const char *zRight){
33923 SQLITE_PRIVATE int sqlite3StrICmp(const char *zLeft, const char *zRight){
33942 SQLITE_API int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){
33958 SQLITE_PRIVATE u8 sqlite3StrIHash(const char *z){
33976 static const LONGDOUBLE_TYPE x[] = {
34039 SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 enc){
34042 const char *zEnd;
34271 static int compare2pow63(const char *zNum, int incr){
34275 const char *pow63 = "922337203685477580";
34304 SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc){
34312 const char *zStart;
34313 const char *zEnd = zNum + length;
34407 SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char *z, i64 *pOut){
34437 SQLITE_PRIVATE int sqlite3GetInt32(const char *zNum, int *pValue){
34496 SQLITE_PRIVATE int sqlite3Atoi(const char *z){
34508 SQLITE_PRIVATE int sqlite3GetUInt32(const char *z, u32 *pI){
34603 SQLITE_PRIVATE u8 sqlite3GetVarint(const unsigned char *p, u64 *v){
34764 SQLITE_PRIVATE u8 sqlite3GetVarint32(const unsigned char *p, u32 *v){
34896 SQLITE_PRIVATE u32 sqlite3Get4byte(const u8 *p){
34956 SQLITE_PRIVATE void *sqlite3HexToBlob(sqlite3 *db, const char *z, int n){
34977 static void logBadConnection(const char *zType){
35120 SQLITE_PRIVATE void sqlite3FileSuffix3(const char *zBaseFilename, char *z){
35140 static const unsigned char x[] = {
35252 const char *zName, /* Name of symbol to add */
35287 SQLITE_PRIVATE const char *sqlite3VListNumToName(VList *pIn, int iVal){
35303 SQLITE_PRIVATE int sqlite3VListNameToNum(VList *pIn, const char *zName, int nName){
35309 const char *z = (const char*)&pIn[i+2];
35372 static unsigned int strHash(const char *z){
35465 const Hash *pH, /* The pH to be searched */
35466 const char *pKey, /* The key we are searching for */
35534 SQLITE_PRIVATE void *sqlite3HashFind(const Hash *pH, const char *pKey){
35554 SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, void *data){
35600 SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){
35601 static const char *const azName[] = {
35844 const char *zClass; /* Storage class */
35858 static int kvvfsWriteDb(sqlite3_file*,const void*,int iAmt, sqlite3_int64);
35859 static int kvvfsWriteJrnl(sqlite3_file*,const void*,int iAmt, sqlite3_int64);
35877 static int kvvfsOpen(sqlite3_vfs*, const char *, sqlite3_file*, int , int *);
35878 static int kvvfsDelete(sqlite3_vfs*, const char *zName, int syncDir);
35879 static int kvvfsAccess(sqlite3_vfs*, const char *zName, int flags, int *);
35880 static int kvvfsFullPathname(sqlite3_vfs*, const char *zName, int, char *zOut);
35881 static void *kvvfsDlOpen(sqlite3_vfs*, const char *zFilename);
35964 static int kvstorageWrite(const char*, const char *zKey, const char *zData);
35965 static int kvstorageDelete(const char*, const char *zKey);
35966 static int kvstorageRead(const char*, const char *zKey, char *zBuf, int nBuf);
35974 const char *zClass,
35975 const char *zKeyIn,
35989 const char *zClass,
35990 const char *zKey,
35991 const char *zData
36013 static int kvstorageDelete(const char *zClass, const char *zKey){
36035 const char *zClass,
36036 const char *zKey,
36089 int (*xRead)(const char *zClass, const char *zKey, char *zBuf, int nBuf);
36090 int (*xWrite)(const char *zClass, const char *zKey, const char *zData);
36091 int (*xDelete)(const char *zClass, const char *zKey);
36092 const int nKeySize;
36098 ** it cannot be const, but in native builds it should be so that
36106 const
36139 static int kvvfsEncode(const char *aData, int nData, char *aOut){
36141 const unsigned char *a = (const unsigned char*)aData;
36166 static const signed char kvvfsHexValue[256] = {
36192 static int kvvfsDecode(const char *a, char *aOut, int nOut){
36195 const unsigned char *aIn = (const unsigned char*)a;
36239 const char *zTxt, /* Text encoding. Zero-terminated */
36388 const void *zBuf,
36416 const void *zBuf,
36605 const char *zName,
36644 static int kvvfsDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){
36660 const char *zPath,
36691 const char *zPath,
36710 static void *kvvfsDlOpen(sqlite3_vfs *pVfs, const char *zPath){
36743 static const sqlite3_int64 unixEpoch = 24405875*(sqlite3_int64)8640000;
36990 sqlite3_io_methods const *pMethod; /* Always the first entry */
36999 const char *zPath; /* Name of the file */
37157 ** open(const char*,int,mode_t). Others use open(const char*,int,...).
37163 static int posixOpen(const char *zFile, int flags, int mode){
37190 static int openDirectory(const char*, int*);
37200 const char *zName; /* Name of the system call */
37205 #define osOpen ((int(*)(const char*,int,int))aSyscall[0].pCurrent)
37211 #define osAccess ((int(*)(const char*,int))aSyscall[2].pCurrent)
37217 #define osStat ((int(*)(const char*,struct stat*))aSyscall[4].pCurrent)
37257 #define osWrite ((ssize_t(*)(int,const void*,size_t))aSyscall[11].pCurrent)
37264 #define osPwrite ((ssize_t(*)(int,const void*,size_t,off_t))\
37272 #define osPwrite64 ((ssize_t(*)(int,const void*,size_t,off64_t))\
37286 #define osUnlink ((int(*)(const char*))aSyscall[16].pCurrent)
37289 #define osOpenDirectory ((int(*)(const char*,int*))aSyscall[17].pCurrent)
37292 #define osMkdir ((int(*)(const char*,mode_t))aSyscall[18].pCurrent)
37295 #define osRmdir ((int(*)(const char*))aSyscall[19].pCurrent)
37344 #define osReadlink ((ssize_t(*)(const char*,char*,size_t))aSyscall[26].pCurrent)
37351 #define osLstat ((int(*)(const char*,struct stat*))aSyscall[27].pCurrent)
37389 const char *zName, /* Name of system call to override */
37432 const char *zName
37449 static const char *unixNextSystemCall(sqlite3_vfs *p, const char *zName){
37490 static int robust_open(const char *z, int f, mode_t m){
37577 static const char *azFileLock(int eFileLock){
37784 static struct vxworksFileId *vxworksFindFileId(const char *zAbsoluteName){
38042 const char *zFunc, /* Name of OS function that failed */
38043 const char *zPath, /* File path associated with error */
39074 reserved = osAccess((const char*)pFile->lockingContext, 0)==0;
39612 const char *dbPath; /* Name of the open file */
39634 const char *path, /* Name of the file to be locked or unlocked */
40251 const void *pBuf, /* Copy data from this buffer to the file */
40294 static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
40305 const void *pBuf,
40552 static int openDirectory(const char *zFilename, int *pFd){
41503 const char *zBasePath = pDbFd->zPath;
41690 static const int pgsz = 4096;
41698 const char *zFile = pShmNode->zFilename;
42049 const char *zErr = "mmap";
42071 const int szSyspage = osGetpagesize();
42274 static const sqlite3_io_methods METHOD = { \
42295 static const sqlite3_io_methods *FINDER##Impl(const char *z, unixFile *p){ \
42299 static const sqlite3_io_methods *(*const FINDER)(const char*,unixFile *p) \
42425 static const sqlite3_io_methods *autolockIoFinderImpl(
42426 const char *filePath, /* name of the database file */
42429 static const struct Mapping {
42430 const char *zFilesystem; /* Filesystem type name */
42431 const sqlite3_io_methods *pMethods; /* Appropriate locking method */
42478 static const sqlite3_io_methods
42479 *(*const autolockIoFinder)(const char*,unixFile*) = autolockIoFinderImpl;
42489 static const sqlite3_io_methods *vxworksIoFinderImpl(
42490 const char *filePath, /* name of the database file */
42514 static const sqlite3_io_methods
42515 *(*const vxworksIoFinder)(const char*,unixFile*) = vxworksIoFinderImpl;
42522 typedef const sqlite3_io_methods *(*finder_type)(const char*,unixFile*);
42539 const char *zFilename, /* Name of the file being opened */
42542 const sqlite3_io_methods *pLockingStyle;
42710 static const char *azTempDirs[] = {
42731 static const char *unixTempFileDir(void){
42734 const char *zDir = sqlite3_temp_directory;
42756 const char *zDir;
42795 static int proxyTransformUnixFile(unixFile*, const char*);
42814 static UnixUnusedFd *findReusableFd(const char *zPath, int flags){
42865 const char *zFile, /* File name */
42904 const char *zPath, /* Path of file (possibly) being created */
42953 const char *z = sqlite3_uri_parameter(zPath, "modeof");
42985 const char *zPath, /* Pathname of file to be opened */
43024 const char *zName = zPath;
43267 const char *zPath, /* Name of file to be deleted */
43315 const char *zPath, /* Path of the file to examine */
43342 static int unixBackupDir(const char *z, int *pJ){
43361 const char *zPath, /* Input path */
43431 const char *zPath, /* Possibly relative input path */
43441 const char *zIn = zPath; /* Input path for each iteration of loop */
43520 static void *unixDlOpen(sqlite3_vfs *NotUsed, const char *zFilename){
43533 const char *zErr;
43542 static void (*unixDlSym(sqlite3_vfs *NotUsed, void *p, const char*zSym))(void){
43550 ** parameters void* and const char* and returning a pointer to a function.
43560 void (*(*x)(void*,const char*))(void);
43562 x = (void(*(*)(void*,const char*))(void))dlsym;
43668 static const sqlite3_int64 unixEpoch = 24405875*(sqlite3_int64)8640000;
43898 sqlite3_io_methods const *pOldMethod; /* Original I/O methods for close */
43906 static int proxyGetLockPath(const char *dbPath, char *lPath, size_t maxLen){
43950 static int proxyCreateLockPath(const char *lockPath){
43991 const char *path, /* path for the new unixFile */
44082 extern int gethostuuid(uuid_t id, const struct timespec *wait);
44564 static int switchLockProxyPath(unixFile *pFile, const char *path) {
44631 static int proxyTransformUnixFile(unixFile *pFile, const char *path) {
44726 *(const char **)pArg = pCtx->lockProxyPath;
44728 *(const char **)pArg = ":auto: (not held)";
44731 *(const char **)pArg = NULL;
44739 if( pArg==NULL || (const char *)pArg==0 ){
44751 const char *proxyPath = (const char *)pArg;
44986 ** array cannot be const.
45337 const sqlite3_io_methods *pMethod; /*** Must be first ***/
45347 const char *zPath; /* Full pathname of this file */
45371 const sqlite3_io_methods *pMethod; /* The file I/O methods to use. */
45539 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetWin32(void);
45579 const char *zName; /* Name of the system call */
46241 const char *zName, /* Name of system call to override */
46284 const char *zName
46301 static const char *winNextSystemCall(sqlite3_vfs *p, const char *zName){
46409 SQLITE_API void sqlite3_win32_write_debug(const char *zBuf, int nBuf){
46725 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetWin32(void){
46726 static const sqlite3_mem_methods winMemMethods = {
46749 static LPWSTR winUtf8ToUnicode(const char *zText){
46802 static LPWSTR winMbcsToUnicode(const char *zText, int useAnsi){
46858 static char *winMbcsToUtf8(const char *zText, int useAnsi){
46876 static char *winUtf8ToMbcs(const char *zText, int useAnsi){
46892 SQLITE_API LPWSTR sqlite3_win32_utf8_to_unicode(const char *zText){
46924 SQLITE_API char *sqlite3_win32_mbcs_to_utf8(const char *zText){
46940 SQLITE_API char *sqlite3_win32_mbcs_to_utf8_v2(const char *zText, int useAnsi){
46956 SQLITE_API char *sqlite3_win32_utf8_to_mbcs(const char *zText){
46972 SQLITE_API char *sqlite3_win32_utf8_to_mbcs_v2(const char *zText, int useAnsi){
46991 const char *zValue /* New value for directory being set or reset */
47035 const void *zValue /* New value for directory being set or reset */
47161 const char *zFunc, /* Name of OS function that failed */
47162 const char *zPath, /* File path associated with error */
47277 struct tm *__cdecl localtime(const time_t *t)
47324 static int winceCreateLock(const char *zFilename, winFile *pFile){
47875 const void *pBuf, /* The bytes to be written */
48584 static int winIsDir(const void *);
48585 static BOOL winIsLongPathPrefix(const char *);
48586 static BOOL winIsDriveLetterAndColon(const char *);
48905 static int winOpen(sqlite3_vfs*,const char*,sqlite3_file*,int,int*);
48906 static int winDelete(sqlite3_vfs *,const char*,int);
49671 static const sqlite3_io_methods winIoMethod = {
49697 static const sqlite3_io_methods winIoNolockMethod = {
49744 static char *winConvertToUtf8Filename(const void *zFilename){
49765 static void *winConvertFromUtf8Filename(const char *zFilename){
49868 static const char *azDirs[] = {
49881 const char *zDir = 0;
50051 static int winIsDir(const void *zConverted){
50078 const char *zFilename, /* Name of file to check */
50088 const char *zName, /* Name of the file (UTF-8) */
50105 const char *zUtf8Name = zName; /* Filename in UTF-8 encoding */
50411 const char *zFilename, /* Name of file to delete */
50519 const char *zFilename, /* Name of file to check */
50596 const char *zPathname
50607 const char *zPathname
50619 const char *zPathname
50656 const char *zRelative, /* Possibly relative input path */
50835 const char *zRelative, /* Possibly relative input path */
50853 static void *winDlOpen(sqlite3_vfs *pVfs, const char *zFilename){
50898 static void (*winDlSym(sqlite3_vfs *pVfs,void *pH,const char *zSym))(void){
51030 static const sqlite3_int64 winFiletimeEpoch = 23058135*(sqlite3_int64)8640000;
51032 static const sqlite3_int64 unixEpoch = 24405875*(sqlite3_int64)8640000;
51035 static const sqlite3_int64 max32BitValue =
51378 static int memdbWrite(sqlite3_file*,const void*,int iAmt, sqlite3_int64 iOfst);
51394 static int memdbOpen(sqlite3_vfs*, const char *, sqlite3_file*, int , int *);
51395 /* static int memdbDelete(sqlite3_vfs*, const char *zName, int syncDir); */
51396 static int memdbAccess(sqlite3_vfs*, const char *zName, int flags, int *);
51397 static int memdbFullPathname(sqlite3_vfs*, const char *zName, int, char *zOut);
51398 static void *memdbDlOpen(sqlite3_vfs*, const char *zFilename);
51400 static void (*memdbDlSym(sqlite3_vfs *pVfs, void *p, const char*zSym))(void);
51433 static const sqlite3_io_methods memdb_io_methods = {
51567 const void *z,
51815 const char *zName,
51899 static int memdbDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){
51912 const char *zPath,
51930 const char *zPath,
51942 static void *memdbDlOpen(sqlite3_vfs *pVfs, const char *zPath){
51958 static void (*memdbDlSym(sqlite3_vfs *pVfs, void *p, const char *zSym))(void){
52005 static MemFile *memdbFromDbSchema(sqlite3 *db, const char *zSchema){
52023 const char *zSchema, /* Which database within the connection */
52104 const char *zSchema, /* Which DB to reopen with the deserialization */
54729 static const sqlite3_pcache_methods2 defaultMethods = {
55404 SQLITE_PRIVATE int sqlite3WalOpen(sqlite3_vfs*, sqlite3_file*, const char *, int, i64, Wal**);
56255 static const unsigned char aJournalMagic[] = {
56903 const i64 iLimit = pPager->journalSizeLimit; /* Local cache of jsl */
56909 static const char zeroHdr[28] = {0};
57191 static int writeSuperJournal(Pager *pPager, const char *zSuper){
57700 static u32 pager_cksum(Pager *pPager, const u8 *aData){
57793 const int jrnlEnc = (isMainJrnl || pPager->subjInMemory==0);
58047 static int pager_delsuper(Pager *pPager, const char *zSuper){
58067 const int flags = (SQLITE_OPEN_READONLY|SQLITE_OPEN_SUPER_JOURNAL);
59802 const int iDc = sqlite3OsDeviceCharacteristics(pPager->fd);
59838 static const u8 zerobyte = 0;
60025 const int flags = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE
60246 const char *zFilename, /* Name of the database file to open */
60269 const char *zUri = 0; /* URI args to copy */
60297 const char *z;
60615 SQLITE_API sqlite3_file *sqlite3_database_file_object(const char *zName){
60657 sqlite3_vfs * const pVfs = pPager->pVfs;
60849 sqlite3_vfs * const pVfs = pPager->pVfs;
61173 const int bMmapOk = (pgno>1
61340 sqlite3_vfs * const pVfs = pPager->pVfs; /* Local cache of vfs pointer */
61874 const void *zBuf;
61885 const void *pCopy = (const void *)&((const char *)zBuf)[24];
61907 SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager, const char *zSuper){
61974 const char *zSuper, /* If not NULL, the super-journal name */
62588 SQLITE_PRIVATE const char *sqlite3PagerFilename(const Pager *pPager, int nullIfMemDb){
62589 static const char zFake[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
62624 SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager *pPager){
63088 const sqlite3_io_methods *pMethods = pPager->fd->pMethods;
63890 const char *zWalName; /* Name of WAL file */
64093 const u32 *aIn, /* Initial checksum value input */
64158 const int nCksum = offsetof(WalIndexHdr, aCksum);
64165 memcpy((void*)&aHdr[1], (const void*)&pWal->hdr, sizeof(WalIndexHdr));
64167 memcpy((void*)&aHdr[0], (const void*)&pWal->hdr, sizeof(WalIndexHdr));
64269 static const char *walLockName(int lockIdx){
64837 const char *zWalName, /* Name of the WAL file */
65005 const u32 *aContent, /* Pages in wal - keys for the sort */
65062 const u32 *aContent, /* Pages in wal */
65072 const int nList = *pnList; /* Size of input list */
65364 static int checkHeaderValid(Pager *pager, u8 *zBuf, const char *logStr);
66933 const int szPage = pWal->szPage;/* Database page size */
67443 static const u32 aZero[4] = { 0, 0, 0, 0 };
68268 const char *zPfx; /* Error message prefix */
68616 static const char zMagicHeader[] = SQLITE_FILE_HEADER;
68720 static int checkHeaderValid(Pager *pager, u8 *zBuf, const char *logStr){
68726 if( zBuf && strncmp((const char *)zBuf, zMagicHeader, 16)!=0 ){
69432 const void *pKey, /* Packed key if the btree is an index */
70248 const int hdr = pPg->hdrOffset; /* Offset to page header */
70249 u8 * const aData = pPg->aData; /* Page data */
70320 const int hdr = pPage->hdrOffset; /* Local cache of pPage->hdrOffset */
70321 u8 * const data = pPage->aData; /* Local cache of pPage->aData */
71072 const char *zFilename, /* Name of the file containing the BTree database */
71086 const int isTempDb = zFilename==0 || zFilename[0]==0;
71092 const int isMemdb = 0;
71094 const int isMemdb = (zFilename && strcmp(zFilename, ":memory:")==0)
72785 SQLITE_PRIVATE int sqlite3BtreeCommitPhaseOne(Btree *p, const char *zSuperJrnl){
73593 unsigned char * const pBufStart = pBuf; /* Start of original out buffer */
73634 const u32 ovflSize = pBt->usableSize - 4; /* Bytes content per ovfl page */
73840 static const void *fetchPayload(
73879 SQLITE_PRIVATE const void *sqlite3BtreePayloadFetch(BtCursor *pCur, u32 *pAmt){
74566 u8 * const pCellBody = pCell - pPage->childPtrSize;
74567 const int nOverrun = 18; /* Size of the overrun padding */
75442 const BtreePayload *pX, /* Payload with which to construct the cell */
75446 const u8 *pSrc;
75925 const int hdr = pPg->hdrOffset; /* Offset of header on pPg */
75926 u8 * const aData = pPg->aData; /* Pointer to data for pPg */
75927 const int usableSize = pPg->pBt->usableSize;
75928 u8 * const pEnd = &aData[usableSize];
76080 u8 * const aData = pPg->aData;
76081 u8 * const pEnd = &aData[pPg->pBt->usableSize];
76082 u8 * const pStart = &aData[pPg->hdrOffset + 8 + pPg->childPtrSize];
76140 u8 * const aData = pPg->aData;
76141 const int hdr = pPg->hdrOffset;
76263 BtShared *const pBt = pPage->pBt; /* B-Tree Database */
76419 BtShared * const pBt = pFrom->pBt;
76420 u8 * const aFrom = pFrom->aData;
76421 u8 * const aTo = pTo->aData;
76422 int const iFromHdr = pFrom->hdrOffset;
76423 int const iToHdr = ((pTo->pgno==1) ? 100 : 0);
77418 MemPage * const pParent = pCur->apPage[iPage-1];
77419 int const iIdx = pCur->aiIdx[iPage-1];
77509 const BtreePayload *pX, /* Source of data to write */
77549 static int btreeOverwriteCell(BtCursor *pCur, const BtreePayload *pX){
77630 const BtreePayload *pX, /* Content of the row to be inserted */
77946 const u8 *aIn; /* Pointer to next input buffer */
78005 aIn = (const u8*)sqlite3PagerGetData(pPageIn);
78795 const char *zFormat,
79054 const char *saved_zPfx = pCheck->zPfx;
79461 SQLITE_PRIVATE const char *sqlite3BtreeGetFilename(Btree *p){
79474 SQLITE_PRIVATE const char *sqlite3BtreeGetJournalname(Btree *p){
79828 static Btree *findBtree(sqlite3 *pErrorDb, sqlite3 *pDb, const char *zDb){
79888 const char *zDestDb, /* Name of database within pDestDb */
79890 const char *zSrcDb /* Name of database within pSrcDb */
79975 const u8 *zSrcData, /* Source database page data */
79978 Pager * const pDestPager = sqlite3BtreePager(p->pDest);
79979 const int nSrcPgsz = sqlite3BtreeGetPageSize(p->pSrc);
79981 const int nCopy = MIN(nSrcPgsz, nDestPgsz);
79982 const i64 iEnd = (i64)iSrcPg*(i64)nSrcPgsz;
80035 const u8 *zIn = &zSrcData[iOff%nSrcPgsz];
80108 Pager * const pSrcPager = sqlite3BtreePager(p->pSrc); /* Source pager */
80109 Pager * const pDestPager = sqlite3BtreePager(p->pDest); /* Dest pager */
80165 const Pgno iSrcPg = p->iNext; /* Source page number */
80244 const i64 iSize = (i64)pgszSrc * (i64)nSrcPage;
80245 sqlite3_file * const pFile = sqlite3PagerFile(pDestPager);
80287 const Pgno iSrcPg = (Pgno)((iOff/pgszSrc)+1);
80438 const u8 *aData
80460 SQLITE_PRIVATE void sqlite3BackupUpdate(sqlite3_backup *pBackup, Pgno iPage, const u8 *aData){
80969 const int nByte = 32;
81139 static const i64 maxInt = LARGEST_INT64;
81140 static const i64 minInt = SMALLEST_INT64;
81163 static SQLITE_NOINLINE i64 memIntValue(const Mem *pMem){
81168 SQLITE_PRIVATE i64 sqlite3VdbeIntValue(const Mem *pMem){
81490 const char *zPType,
81521 SQLITE_PRIVATE int sqlite3VdbeMemIsRowSet(const Mem *pMem){
81608 static SQLITE_NOINLINE void vdbeClrCopy(Mem *pTo, const Mem *pFrom, int eType){
81613 SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem *pTo, const Mem *pFrom, int srcType){
81629 SQLITE_PRIVATE int sqlite3VdbeMemCopy(Mem *pTo, const Mem *pFrom){
81687 const char *z, /* String pointer */
81850 static SQLITE_NOINLINE const void *valueToText(sqlite3_value* pVal, u8 enc){
81893 SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){
82006 const Expr *p, /* The expression to evaluate */
82104 const Expr *pExpr, /* The expression to evaluate */
82114 const char *zNeg = "";
82259 const Expr *pExpr, /* The expression to evaluate */
82425 const void *pRec, /* Pointer to buffer containing record */
82489 const void *z, /* Text of the new string */
82593 SQLITE_PRIVATE void sqlite3VdbeError(Vdbe *p, const char *zFormat, ...){
82604 SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe *p, const char *z, int n, u8 prepFlags){
82618 SQLITE_PRIVATE void sqlite3VdbeAddDblquoteStr(sqlite3 *db, Vdbe *p, const char *z){
82639 const char *zId /* The double-quoted identifier, already dequoted */
82833 SQLITE_PRIVATE int sqlite3VdbeLoadString(Vdbe *p, int iDest, const char *zStr){
82848 SQLITE_PRIVATE void sqlite3VdbeMultiLoad(Vdbe *p, int iDest, const char *zTypes, ...){
82855 const char *z = va_arg(ap, const char*);
82877 const char *zP4, /* The P4 operand */
82901 const FuncDef *pFunc, /* The function to be invoked */
82939 const u8 *zP4, /* The P4 operand */
82964 SQLITE_PRIVATE void sqlite3ExplainBreakpoint(const char *z1, const char *z2){
82976 SQLITE_PRIVATE void sqlite3VdbeExplain(Parse *pParse, u8 bPush, const char *zFmt, ...){
83598 VdbeOpList const *aOp, /* The opcodes to be added */
83649 const char *zName /* Name of table or index being scanned */
83928 const char *zP4,
83944 SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe *p, int addr, const char *zP4, int n){
83967 ** that was cast to a (const char *). */
84023 static void vdbeVComment(Vdbe *p, const char *zFormat, va_list ap){
84032 SQLITE_PRIVATE void sqlite3VdbeComment(Vdbe *p, const char *zFormat, ...){
84040 SQLITE_PRIVATE void sqlite3VdbeNoopComment(Vdbe *p, const char *zFormat, ...){
84097 static int translateP(char c, const Op *pOp){
84120 const Op *pOp, /* The opcode to be commented */
84121 const char *zP4 /* Previously obtained value for P4 */
84123 const char *zOpName;
84124 const char *zSynopsis;
84209 const char *zOp = 0;
84296 const char *zColl = pColl ? pColl->zName : "";
84313 static const char *const encnames[] = {"?", "8", "16LE", "16BE"};
84484 static const char *zFormat1 = "%4d %-13s %4d %4d %4d %-13s %.2X %s\n";
84869 const char *z = 0;
84873 const VdbeOp *pOp = &p->aOp[0];
85062 static const char * const azColName[] = {
85156 const sqlite3_module *pModule = pVCur->pVtab->pModule;
85271 const char *zName, /* Pointer to buffer containing name */
85330 static const u8 aMJNeeded[] = {
85408 char const *zMainFile = sqlite3BtreeGetFilename(db->aDb[0].pBt);
85462 char const *zFile = sqlite3BtreeGetJournalname(pBt);
85592 sqlite3 *const db = p->db;
85595 const int iSavepoint = p->iStatement-1;
86332 SQLITE_PRIVATE const u8 sqlite3SmallTypeSizes[128] = {
86436 const unsigned char *buf, /* Buffer to deserialize from */
86458 static const u64 t1 = ((u64)0x3ff00000)<<32;
86459 static const double r1 = 1.0;
86471 const unsigned char *buf, /* Buffer to deserialize from */
86553 static const u16 aFlag[] = { MEM_Blob|MEM_Ephem, MEM_Str|MEM_Ephem };
86599 const void *pKey, /* The binary record */
86602 const unsigned char *aKey = (const unsigned char *)pKey;
86652 int nKey1, const void *pKey1, /* Left key */
86653 const UnpackedRecord *pPKey2, /* Right key */
86661 const unsigned char *aKey1 = (const unsigned char *)pKey1;
86764 int nKey, const void *pKey, /* The record to verify */
86765 const KeyInfo *pKeyInfo /* Compare size with this KeyInfo */
86771 const unsigned char *aKey = (const unsigned char*)pKey;
86794 const Mem *pMem1,
86795 const Mem *pMem2,
86796 const CollSeq *pColl,
86805 const void *v1, *v2;
86830 static int isAllZero(const char *z, int n){
86843 SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3BlobCompare(const Mem *pB1, const Mem *pB2){
86909 SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){
87008 static i64 vdbeRecordDecodeInt(u32 serial_type, const u8 *aKey){
87064 int nKey1, const void *pKey1, /* Left key */
87075 const unsigned char *aKey1 = (const unsigned char *)pKey1;
87212 if( !isAllZero((const char*)&aKey1[d1],nStr) ){
87274 int nKey1, const void *pKey1, /* Left key */
87291 int nKey1, const void *pKey1, /* Left key */
87294 const u8 *aKey = &((const u8*)pKey1)[*(const u8*)pKey1 & 0x3F];
87295 int serial_type = ((const u8*)pKey1)[1];
87386 int nKey1, const void *pKey1, /* Left key */
87389 const u8 *aKey1 = (const u8*)pKey1;
87726 const VdbeOp *pOp;
87732 const char *zContext;
87801 const char *zDb, /* Database name */
87810 const char *zTbl = pTab->zName;
87811 static const u8 fakeSortOrder = 0;
88036 SQLITE_API const void *sqlite3_value_blob(sqlite3_value *pVal){
88068 SQLITE_API void *sqlite3_value_pointer(sqlite3_value *pVal, const char *zPType){
88081 SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value *pVal){
88082 return (const unsigned char *)sqlite3ValueText(pVal, SQLITE_UTF8);
88085 SQLITE_API const void *sqlite3_value_text16(sqlite3_value* pVal){
88088 SQLITE_API const void *sqlite3_value_text16be(sqlite3_value *pVal){
88091 SQLITE_API const void *sqlite3_value_text16le(sqlite3_value *pVal){
88100 static const u8 aType[] = {
88199 SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value *pOrig){
88243 const char *z, /* String pointer */
88267 const void *p, /* Value to destroy */
88284 const void *z,
88294 const void *z,
88310 SQLITE_API void sqlite3_result_error(sqlite3_context *pCtx, const char *z, int n){
88316 SQLITE_API void sqlite3_result_error16(sqlite3_context *pCtx, const void *z, int n){
88337 const char *zPType,
88354 const char *z,
88363 const char *z,
88380 const void *z,
88389 const void *z,
88398 const void *z,
88646 SQLITE_API int sqlite3_set_droptable_handle(sqlite3 *db, void (*xFunc)(sqlite3*, const char*, const char*)){
88690 const char *zErr = (const char *)sqlite3_value_text(db->pErr);
89024 static const Mem *columnNullValue(void){
89034 static const Mem nullMem
89119 SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt *pStmt, int i){
89120 const void *val;
89154 SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt *pStmt, int i){
89155 const unsigned char *val = sqlite3_value_text( columnMem(pStmt,i) );
89169 SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt *pStmt, int i){
89170 const void *val = sqlite3_value_text16( columnMem(pStmt,i) );
89197 static const void *columnName(
89203 const void *ret;
89246 SQLITE_API const char *sqlite3_column_name(sqlite3_stmt *pStmt, int N){
89250 SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt *pStmt, int N){
89269 SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt *pStmt, int N){
89273 SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){
89285 SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){
89289 SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N){
89299 SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt *pStmt, int N){
89303 SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){
89313 SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt *pStmt, int N){
89317 SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt *pStmt, int N){
89384 const void *zData, /* Pointer to the data to be bound */
89420 const void *zData,
89432 const void *zData,
89475 const char *zPTtype,
89492 const char *zData,
89501 const char *zData,
89514 const void *zData,
89521 SQLITE_API int sqlite3_bind_value(sqlite3_stmt *pStmt, int i, const sqlite3_value *pValue){
89599 SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt *pStmt, int i){
89610 SQLITE_PRIVATE int sqlite3VdbeParameterIndex(Vdbe *p, const char *zName, int nName){
89614 SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){
89759 SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt){
89778 const char *zSql = sqlite3_sql(pStmt);
89793 SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt){
89814 const void *pKey
90039 *(const char**)pOut = pScan->zName;
90044 *(const char**)pOut = p->aOp[ pScan->addrExplain ].p4.z;
90046 *(const char**)pOut = 0;
90104 static int findNextHostParameter(const char *zSql, int *pnToken){
90149 const char *zRawSql /* Raw text of the SQL statement */
90167 const char *zStart = zRawSql;
90771 static const char *const encnames[] = {"(X)", "(8)", "(16LE)", "(16BE)"};
91002 static u64 filterHash(const Mem *aMem, const Op *pOp){
91008 const Mem *p = &aMem[i];
91024 static const char *vdbeMemTypeName(Mem *pMem){
91025 static const char *azTypes[] = {
91510 static const char * const azType[] = { "NOT NULL", "UNIQUE", "CHECK",
92694 const KeyInfo *pKeyInfo;
92809 static const unsigned char and_logic[] = { 0, 0, 0, 0, 1, 2, 0, 2, 2 };
92812 static const unsigned char or_logic[] = { 0, 1, 2, 1, 1, 1, 2, 1, 2 };
93015 static const unsigned char aMask[] = {
93179 const u8 *zData; /* Part of the record being decoded */
93180 const u8 *zHdr; /* Next unparsed byte of the header */
93181 const u8 *zEndHdr; /* Pointer to first byte after the header */
93398 static const u16 aFlag[] = { MEM_Blob, MEM_Str|MEM_Term };
93438 sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest);
93572 const char *zAffinity; /* The affinity to be applied */
94704 static const int vfsFlags =
95902 const char *zDb; /* database name - used by the update hook */
96044 const char *zDb;
96296 const sqlite3_module *pModule;
97165 const char *zSchema;
98057 const char *zFilename; /* Name of database file for pPager */
98271 const char *z = pOp->p4.z;
98309 const char *zTab; /* Name of the virtual table */
98319 zTab = (const char*)sqlite3_value_text(&sMem);
98357 const sqlite3_module *pModule;
98440 const sqlite3_module *pModule;
98499 const sqlite3_module *pModule;
98551 const sqlite3_module *pModule;
98649 const sqlite3_module *pModule;
99181 const char *zTrace = p->zSql;
99381 const char *zDb, /* The attached database containing the blob */
99382 const char *zTable, /* The table containing the blob */
99383 const char *zColumn, /* The column containing the blob */
99465 const char *zFault = 0;
99522 static const int iLn = VDBE_OFFSET_LINENO(2);
99523 static const VdbeOpList openBlob[] = {
99717 SQLITE_API int sqlite3_blob_write(sqlite3_blob *pBlob, const void *z, int n, int iOffset){
100070 typedef int (*SorterCompare)(SortSubtask*,int*,const void*,int,const void*,int);
100536 const void *pKey1, int nKey1, /* Left side of comparison */
100537 const void *pKey2, int nKey2 /* Right side of comparison */
100563 const void *pKey1, int nKey1, /* Left side of comparison */
100564 const void *pKey2, int nKey2 /* Right side of comparison */
100582 const void *pKey1, int nKey1, /* Left side of comparison */
100583 const void *pKey2, int nKey2 /* Right side of comparison */
100585 const u8 * const p1 = (const u8 * const)pKey1;
100586 const u8 * const p2 = (const u8 * const)pKey2;
100587 const u8 * const v1 = &p1[ p1[0] ]; /* Pointer to value 1 */
100588 const u8 * const v2 = &p2[ p2[0] ]; /* Pointer to value 2 */
100624 const void *pKey1, int nKey1, /* Left side of comparison */
100625 const void *pKey2, int nKey2 /* Right side of comparison */
100627 const u8 * const p1 = (const u8 * const)pKey1;
100628 const u8 * const p2 = (const u8 * const)pKey2;
100629 const int s1 = p1[1]; /* Left hand serial type */
100630 const int s2 = p2[1]; /* Right hand serial type */
100631 const u8 * const v1 = &p1[ p1[0] ]; /* Pointer to value 1 */
100632 const u8 * const v2 = &p2[ p2[0] ]; /* Pointer to value 2 */
100640 static const u8 aLen[] = {0, 1, 2, 3, 4, 6, 8, 0, 0, 0 };
100641 const u8 n = aLen[s1];
100846 static void vdbeSorterWorkDebug(SortSubtask *pTask, const char *zEvent){
100852 static void vdbeSorterRewindDebug(const char *zEvent){
100860 const char *zEvent
100870 const char *zEvent
101544 const VdbeCursor *pCsr, /* Sorter cursor */
101557 getVarint32NR((const u8*)&pVal->z[1], t);
102358 SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *pCsr, int *pbEof){
102410 SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *db, const VdbeCursor *pCsr){
102449 const VdbeSorter *pSorter, /* Sorter object */
102475 SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *pCsr, Mem *pOut){
102509 const VdbeCursor *pCsr, /* Sorter cursor */
102586 const char *zType; /* tables_used.type */
102587 const char *zSchema; /* tables_used.schema */
102588 const char *zName; /* tables_used.name */
102598 int argc, const char *const*argv,
102605 const char *azSchema[2] = {
102860 int idxNum, const char *idxStr,
102873 const char *zSql = (const char*)sqlite3_value_text(argv[0]);
103041 const sqlite3_io_methods *pMethod; /* Parent class. MUST BE FIRST */
103051 const char *zJournal; /* Name of the journal file */
103161 const void *zBuf, /* Take data to be written from here */
103291 static const struct sqlite3_io_methods MemJournalMethods = {
103327 const char *zName, /* Name of the journal file */
103352 pJfd->pMethods = (const sqlite3_io_methods*)&MemJournalMethods;
103789 const struct ExprList_item *pItem,
103790 const char *zCol,
103791 const char *zTab,
103792 const char *zDb
103795 const char *zSpan;
103909 const char *zDb, /* Name of the database containing table, or NULL */
103910 const char *zTab, /* Name of table containing column, or NULL */
103911 const char *zCol, /* Name of the column. */
104033 const char *zTabName;
104346 const char *zErr;
104473 ** const char *zMsg, // Type of error
104485 const char *zMsg, /* Type of error */
104489 const char *zIn = "partial index WHERE clauses";
104623 const char *zColumn;
104624 const char *zTable;
104625 const char *zDb;
104669 const char *zId; /* The function name. */
104780 const char *zType;
104999 const char *zCol;
105080 const char *zType, /* "ORDER" or "GROUP" */
105223 const char *zType /* "ORDER" or "GROUP" */
105301 const char *zType /* Either "ORDER" or "GROUP", as appropriate */
105433 const char *zSavedContext = pParse->zAuthContext;
105837 SQLITE_PRIVATE char sqlite3TableColumnAffinity(const Table *pTab, int iCol){
105858 SQLITE_PRIVATE char sqlite3ExprAffinity(const Expr *pExpr){
105911 const Parse *pParse, /* Parsing context */
105913 const Token *pCollName, /* Name of collating sequence */
105927 const Parse *pParse, /* Parsing context */
105929 const char *zC /* The collating sequence name */
105982 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, const Expr *pExpr){
105985 const Expr *p = pExpr;
105994 const char *zColl = sqlite3ColumnColl(&p->y.pTab->aCol[j]);
106052 SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, const Expr *pExpr){
106062 SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse *pParse, const Expr *pE1, const Expr *pE2){
106073 SQLITE_PRIVATE char sqlite3CompareAffinity(const Expr *pExpr, char aff2){
106095 static char comparisonAffinity(const Expr *pExpr){
106118 SQLITE_PRIVATE int sqlite3IndexAffinityOk(const Expr *pExpr, char idx_affinity){
106134 const Expr *pExpr1, /* Left operand */
106135 const Expr *pExpr2, /* Right operand */
106157 const Expr *pLeft,
106158 const Expr *pRight
106183 SQLITE_PRIVATE CollSeq *sqlite3ExprCompareCollSeq(Parse *pParse, const Expr *p){
106230 SQLITE_PRIVATE int sqlite3ExprIsVector(const Expr *pExpr){
106240 SQLITE_PRIVATE int sqlite3ExprVectorSize(const Expr *pExpr){
106543 static void heightOfExpr(const Expr *p, int *pnHeight){
106550 static void heightOfExprList(const ExprList *p, int *pnHeight){
106558 static void heightOfSelect(const Select *pSelect, int *pnHeight){
106559 const Select *p;
106612 SQLITE_PRIVATE int sqlite3SelectExprHeight(const Select *p){
106654 const Token *pToken, /* Token argument. Might be NULL */
106702 const char *zToken /* Token argument. Might be NULL */
106883 const Token *pToken, /* Name of the function */
106923 const Expr *pExpr, /* The function invocation */
106924 const FuncDef *pDef /* The function being invoked */
106962 const char *z;
107118 static int exprStructSize(const Expr *p){
107158 static int dupedExprStructSize(const Expr *p, int flags){
107188 static int dupedExprNodeSize(const Expr *p, int flags){
107209 static int dupedExprSize(const Expr *p, int flags){
107228 static Expr *exprDup(sqlite3 *db, const Expr *p, int dupFlags, u8 **pzBuffer){
107255 const unsigned nStructSize = dupedExprStructSize(p, dupFlags);
107256 const int nNewSize = nStructSize & 0xfff;
107410 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3 *db, const Expr *p, int flags){
107414 SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, const ExprList *p, int flags){
107417 const struct ExprList_item *pOldItem;
107466 SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3 *db, const SrcList *p, int flags){
107478 const SrcItem *pOldItem = &p->a[i];
107514 SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, const IdList *p){
107526 const struct IdList_item *pOldItem = &p->a[i];
107532 SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, const Select *pDup, int flags){
107536 const Select *p;
107581 SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, const Select *p, int flags){
107603 static const struct ExprList_item zeroItem = {0};
107777 const Token *pName, /* Name to be added */
107795 sqlite3RenameTokenMap(pParse, (const void*)pItem->zEName, pName);
107812 const char *zStart, /* Start of the span */
107813 const char *zEnd /* End of the span */
107834 const char *zObject
107867 SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){
107900 SQLITE_PRIVATE u32 sqlite3IsTrueOrFalse(const char *zIn){
107929 SQLITE_PRIVATE int sqlite3ExprTruthValue(const Expr *pExpr){
108139 SQLITE_PRIVATE int sqlite3ExprIsTableConstraint(Expr *pExpr, const SrcItem *pSrc){
108261 SQLITE_PRIVATE int sqlite3ExprIsInteger(const Expr *p, int *pValue){
108307 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
108344 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){
108380 SQLITE_PRIVATE int sqlite3IsRowid(const char *z){
108395 static Select *isCandidateForInOpt(const Expr *pX){
108779 static char *exprINAffinity(Parse *pParse, const Expr *pExpr){
108813 const char *zFmt = "sub-select returns %d columns - expected %d";
109486 static void codeReal(Vdbe *v, const char *z, int negateFlag, int iMem){
109514 const char *z = pExpr->u.zToken;
109839 const char *azAff[] = { "blob", "text", "numeric", "integer", "real" };
109980 static const char zAff[] = "B\000C\000D\000E";
110078 const char *z;
110097 const char *z = sqlite3VListNumToName(pParse->pVList, pExpr->iColumn);
110265 const char *zId; /* The function name */
111344 const Parse *pParse,
111345 const Expr *pVar,
111346 const Expr *pExpr
111400 const Parse *pParse,
111401 const Expr *pA,
111402 const Expr *pB,
111501 SQLITE_PRIVATE int sqlite3ExprListCompare(const ExprList *pA, const ExprList *pB, int iTab){
111534 const Parse *pParse,/* Parsing context */
111535 const Expr *p, /* The expression to be checked */
111536 const Expr *pNN, /* The expression that is NOT NULL */
111631 const Parse *pParse,
111632 const Expr *pE1,
111633 const Expr *pE2,
112381 const char *zDb, /* Name of db to verify schema of */
112383 const char *zWhen, /* "when" part of error message */
112416 static void renameFixQuotes(Parse *pParse, const char *zDb, int bTemp){
112461 const char *zTabName; /* Original name of the table */
112603 sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB);
112621 const char *zDb, /* Schema holding the table */
112622 const char *zTab, /* Table to check for empty */
112623 const char *zErr /* Error message text */
112643 const char *zDb; /* Database name */
112644 const char *zTab; /* Table name */
112888 const char *zType = 0;
112928 const char *zDb; /* Name of schema containing the table */
113023 const void *p; /* Parse tree element created by token t */
113038 const char *zOld; /* Old column name */
113065 static void renameTokenCheckAll(Parse *pParse, const void *pPtr){
113069 const RenameToken *p;
113095 SQLITE_PRIVATE const void *sqlite3RenameTokenMap(
113097 const void *pPtr,
113098 const Token *pToken
113121 SQLITE_PRIVATE void sqlite3RenameTokenRemap(Parse *pParse, const void *pTo, const void *pFrom){
113137 sqlite3RenameTokenRemap(pParse, 0, (const void*)pExpr);
113139 sqlite3RenameTokenRemap(pParse, 0, (const void*)&pExpr->y.pTab);
113185 const IdList *pIdList
113190 sqlite3RenameTokenRemap(pParse, 0, (const void*)pIdList->a[ii].zName);
113289 const void *pPtr
113383 const char *zWhen,
113388 const char *zT = (const char*)sqlite3_value_text(pType);
113389 const char *zN = (const char*)sqlite3_value_text(pObject);
113409 const ExprList *pEList,
113410 const char *zOld
113415 const char *zName = pEList->a[i].zEName;
113420 renameTokenFind(pParse, pCtx, (const void*)zName);
113434 const IdList *pIdList,
113435 const char *zOld
113440 const char *zName = pIdList->a[i].zName;
113442 renameTokenFind(pParse, pCtx, (const void*)zName);
113455 const char *zDb, /* Name of schema SQL belongs to */
113457 const char *zSql, /* SQL to parse */
113509 const char *zSql, /* SQL statement to edit */
113510 const char *zNew, /* New token text */
113556 const char *zReplace;
113794 const char *zSql = (const char*)sqlite3_value_text(argv[0]);
113795 const char *zDb = (const char*)sqlite3_value_text(argv[3]);
113796 const char *zTable = (const char*)sqlite3_value_text(argv[4]);
113798 const char *zNew = (const char*)sqlite3_value_text(argv[6]);
113801 const char *zOld;
114018 const char *zDb = (const char*)sqlite3_value_text(argv[0]);
114019 const char *zInput = (const char*)sqlite3_value_text(argv[3]);
114020 const char *zOld = (const char*)sqlite3_value_text(argv[4]);
114021 const char *zNew = (const char*)sqlite3_value_text(argv[5]);
114166 renameTokenFind(pWalker->pParse, pWalker->u.pRename, (const void*)pExpr);
114204 char const *zDb = (const char*)sqlite3_value_text(argv[0]);
114205 char const *zInput = (const char*)sqlite3_value_text(argv[1]);
114317 char const *zDb = (const char*)sqlite3_value_text(argv[0]);
114318 char const *zInput = (const char*)sqlite3_value_text(argv[1]);
114321 char const *zWhen = (const char*)sqlite3_value_text(argv[5]);
114393 const char *zSql = (const char*)sqlite3_value_text(argv[1]);
114395 const char *zDb = db->aDb[iSchema].zDbSName;
114400 const char *zEnd;
114422 zEnd = (const char*)pEnd->t.z;
114425 zEnd = (const char*)&zSql[pTab->u.tab.addColOffset];
114451 SQLITE_PRIVATE void sqlite3AlterDropColumn(Parse *pParse, SrcList *pSrc, const Token *pName){
114455 const char *zDb; /* Database containing pTab ("main" etc.) */
114776 const char *zWhere, /* Delete entries for this table or index */
114777 const char *zWhereType /* Either "tbl" or "idx" */
114779 static const struct {
114780 const char *zName;
114781 const char *zCols;
114798 const int nToOpen = OptimizationEnabled(db,SQLITE_Stat4) ? 2 : 1;
114800 const int nToOpen = 1;
114812 const char *zTab = aTable[i].zName;
114924 static void sampleSetRowid(sqlite3 *db, StatSample *p, int n, const u8 *pData){
115092 static const FuncDef statInitFuncdef = {
115382 static const FuncDef statPushFuncdef = {
115522 static const FuncDef statGetFuncdef = {
115658 const char *zIdxName; /* Name of the index */
116061 const char *zDatabase;
116146 const char *z;
116291 const char *zName,
116292 const char *zDb
116316 const char *zSql1, /* SQL statement 1 (see above) */
116317 const char *zSql2, /* SQL statement 2 (see above) */
116318 const char *zDb /* Database name (e.g. "main") */
116435 static int loadStat4(sqlite3 *db, const char *zDb){
116437 const Table *pStat4;
116479 const Table *pStat1;
116598 SQLITE_PRIVATE int sqlite3DbIsNamed(sqlite3 *db, int iDb, const char *zName){
116628 const char *zName;
116629 const char *zFile;
116639 zFile = (const char *)sqlite3_value_text(argv[0]);
116640 zName = (const char *)sqlite3_value_text(argv[1]);
116749 extern int sqlite3CodecAttach(sqlite3*, int, const void*, int);
116853 const char *zName = (const char *)sqlite3_value_text(argv[0]);
116913 FuncDef const *pFunc,/* FuncDef wrapper for detachFunc() or attachFunc() */
116983 static const FuncDef detach_func = {
117003 static const FuncDef attach_func = {
117089 const char *zType, /* "view", "trigger", or "index" */
117090 const Token *pName /* Name of the view, trigger, or index */
117258 int (*xAuth)(void*,int,const char*,const char*,const char*,const char*),
117292 const char *zTab, /* Table name */
117293 const char *zCol, /* Column name */
117333 const char *zCol; /* Name of the column of the table */
117386 const char *zArg1,
117387 const char *zArg2,
117388 const char *zArg3
117435 const char *zContext
117493 const char *zLockName; /* Name of the table */
117511 const char *zName /* Name of the table to be locked */
117547 const char *zName /* Name of the table to be locked */
117759 SQLITE_PRIVATE void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){
117795 SQLITE_PRIVATE int sqlite3UserAuthTable(const char *zTable){
117812 SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3 *db, const char *zName, const char *zDatabase){
117893 const char *zName, /* Name of the table we are looking for */
117894 const char *zDbase /* Name of the database. Might be NULL */
117931 const char *zMsg = flags & LOCATE_VIEW ? "no such view" : "no such table";
117958 const char *zDb;
117973 SQLITE_PRIVATE const char *sqlite3PreferredTableName(const char *zName){
117997 SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const char *zDb){
118037 SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3 *db, int iDb, const char *zIdxName){
118194 const char *zColl
118216 SQLITE_PRIVATE const char *sqlite3ColumnColl(Column *pCol){
118217 const char *z;
118341 SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3 *db, int iDb, const char *zTabName){
118385 SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3 *db, const Token *pName){
118388 zName = sqlite3DbStrNDup(db, (const char*)pName->z, pName->n);
118415 SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *db, const char *zName){
118517 const char *zName, /* Name of the object to check */
118518 const char *zType, /* Type of this object */
118519 const char *zTblName /* Parent table name for triggers and indexes */
118731 static const u8 aCode[] = {
118810 static const char nullRow[] = { 6, 0, 0, 0, 0, 0 };
119127 SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, Column *pCol){
119130 const char *zChar = 0;
119207 const char *zStart, /* Start of the default value text */
119208 const char *zEnd /* First character past end of defaut value text */
119334 const char *zCName;
119384 const char *zStart, /* Opening "(" */
119385 const char *zEnd /* Closing ")" */
119532 static int identLength(const char *z){
119611 static const char * const azType[] = {
119619 const char *zType;
119658 pIdx->azColl = (const char**)zExtra;
119678 const Column *pTabCol;
119693 const Column *aCol = pIdx->pTable->aCol;
119706 static int hasColumn(const i16 *aiCol, int nCol, int x){
119968 SQLITE_PRIVATE int sqlite3IsShadowTableOf(sqlite3 *db, Table *pTab, const char *zName){
120027 SQLITE_PRIVATE int sqlite3ShadowTableName(sqlite3 *db, const char *zName){
120442 const char *z;
120803 const char *zType, /* "idx" or "tbl" */
120804 const char *zName /* Name of index or table */
120807 const char *zDbName = pParse->db->aDb[iDb].zDbSName;
120967 const char *zTab = SCHEMA_TABLE(iDb);
120968 const char *zDb = db->aDb[iDb].zDbSName;
120969 const char *zArg2 = 0;
121329 p->azColl = (const char**)pExtra; pExtra += ROUND8(sizeof(char*)*nCol);
121553 const char *zDb = pDb->zDbSName;
121650 const char *zColl; /* Collation sequence name */
121781 const char *z1;
121782 const char *z2;
121988 static const LogEst aVal[] = { 33, 32, 30, 28, 26 };
122065 const char *zDb = db->aDb[iDb].zDbSName;
122066 const char *zTab = SCHEMA_TABLE(iDb);
122184 SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){
122647 static const char * const az[] = { "BEGIN", "RELEASE", "ROLLBACK" };
122667 static const int flags =
122718 SQLITE_PRIVATE void sqlite3CodeVerifyNamedSchema(Parse *pParse, const char *zDb){
122869 static int collationMatch(const char *zColl, Index *pIndex){
122873 const char *z = pIndex->azColl[i];
122888 static void reindexTable(Parse *pParse, Table *pTab, char const *zColl){
122909 static void reindexDatabases(Parse *pParse, char const *zColl){
122944 const char *zDb; /* Name of the database */
123015 const char *zColl = pIdx->azColl[i];
123178 static void callCollNeeded(sqlite3 *db, int enc, const char *zName){
123188 char const *zExternal;
123211 static const u8 aEnc[] = { SQLITE_UTF16BE, SQLITE_UTF16LE, SQLITE_UTF8 };
123236 const char *zName = pColl->zName;
123264 const char *zName, /* Name of the collating sequence */
123317 const char *zName, /* Name of the collating sequence. Might be NULL */
123363 const char *zName /* Collating sequence name */
123410 SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char *zName){
123491 const char *zFunc /* Name of function */
123513 const char *zName = aDef[i].zName;
123553 const char *zName, /* Name of the function. zero-terminated */
123614 pBest->zName = (const char*)&pBest[1];
123747 SQLITE_PRIVATE void sqlite3CodeChangeCount(Vdbe *v, int regCounter, const char *zColName){
123924 const char *zName = pTab->aCol[pPk->aiColumn[0]].zCnName;
124319 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
124800 static const char *azType[] = { "integer", "real", "text", "blob", "null" };
124847 const unsigned char *z = sqlite3_value_text(argv[0]);
124848 const unsigned char *z0;
124928 const unsigned char *zHaystack;
124929 const unsigned char *zNeedle;
124998 const char *zFormat;
125002 if( argc>=1 && (zFormat = (const char*)sqlite3_value_text(argv[0]))!=0 ){
125032 const unsigned char *z;
125033 const unsigned char *z2;
125186 const char *z2;
125205 const char *z2;
125355 static const struct compareInfo globInfo = { '*', '?', '[', 0 };
125358 static const struct compareInfo likeInfoNorm = { '%', '_', 0, 1 };
125361 static const struct compareInfo likeInfoAlt = { '%', '_', 0, 0 };
125409 const u8 *zPattern, /* The glob pattern */
125410 const u8 *zString, /* The string to compare against the glob */
125411 const struct compareInfo *pInfo, /* Information about how to do the compare */
125418 const u8 *zEscaped = 0; /* One past the last escaped input char */
125471 zString += strcspn((const char*)zString, zStop);
125541 SQLITE_API int sqlite3_strglob(const char *zGlobPattern, const char *zString){
125555 SQLITE_API int sqlite3_strlike(const char *zPattern, const char *zStr, unsigned int esc){
125592 const unsigned char *zA, *zB;
125625 const unsigned char *zEsc = sqlite3_value_text(argv[2]);
125727 const char *zOptName;
125734 if( (zOptName = (const char*)sqlite3_value_text(argv[0]))!=0 ){
125764 static const char hexdigits[] = {
125782 const char *zVal;
125800 char const *zBlob = sqlite3_value_blob(pValue);
125820 const unsigned char *zArg = sqlite3_value_text(pValue);
125866 const unsigned char *z = sqlite3_value_text(argv[0]);
125923 const unsigned char *pBlob;
125973 const unsigned char *zStr; /* The input string A */
125974 const unsigned char *zPattern; /* The pattern string B */
125975 const unsigned char *zRep; /* The replacement string C */
126066 const unsigned char *zIn; /* Input string */
126067 const unsigned char *zCharSet; /* Set of characters to trim */
126083 static const unsigned lenOne[] = { 1 };
126084 static unsigned char * const azOne[] = { (u8*)" " };
126092 const unsigned char *z;
126180 const u8 *zIn;
126182 static const unsigned char iCode[] = {
126228 const char *zFile = (const char *)sqlite3_value_text(argv[0]);
126229 const char *zProc;
126242 zProc = (const char *)sqlite3_value_text(argv[1]);
126493 const char *zVal;
126495 const char *zSep;
126626 const char *zText = sqlite3_str_value(pAccum);
127378 const char *zDfltColl; /* Def. collation for column */
127603 const char *zColl;
127712 const char *zCol; /* Name of column in child table */
128022 const char *zDb; /* Name of database containing pTab */
128350 char const *zFrom; /* Name of child table */
128576 const char *z = (p ? pFKey->pNextTo->zTo : pFKey->zTo);
128675 SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(sqlite3 *db, Index *pIdx){
128720 SQLITE_PRIVATE char *sqlite3TableAffinityStr(sqlite3 *db, const Table *pTab){
129069 static const int iLn = VDBE_OFFSET_LINENO(2);
129070 static const VdbeOpList autoInc[] = {
129136 static const int iLn = VDBE_OFFSET_LINENO(2);
129137 static const VdbeOpList autoIncEnd[] = {
129935 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
131020 const char *zP4;
131720 const char *zColl = pSrcIdx->azColl[i];
131795 const char *zSql, /* The SQL to be executed */
131801 const char *zLeftover; /* Tail of unprocessed SQL */
131838 azCols = sqlite3DbMallocRaw(db, (2*nCol+1)*sizeof(const char*));
131962 int (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*));
131968 int (*bind_parameter_index)(sqlite3_stmt*,const char*zName);
131969 const char * (*bind_parameter_name)(sqlite3_stmt*,int);
131970 int (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*));
131971 int (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*));
131972 int (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*);
131978 int eTextRep,const char*));
131980 int eTextRep,const void*));
131981 const void * (*column_blob)(sqlite3_stmt*,int iCol);
131985 const char * (*column_database_name)(sqlite3_stmt*,int);
131986 const void * (*column_database_name16)(sqlite3_stmt*,int);
131987 const char * (*column_decltype)(sqlite3_stmt*,int i);
131988 const void * (*column_decltype16)(sqlite3_stmt*,int);
131992 const char * (*column_name)(sqlite3_stmt*,int);
131993 const void * (*column_name16)(sqlite3_stmt*,int);
131994 const char * (*column_origin_name)(sqlite3_stmt*,int);
131995 const void * (*column_origin_name16)(sqlite3_stmt*,int);
131996 const char * (*column_table_name)(sqlite3_stmt*,int);
131997 const void * (*column_table_name16)(sqlite3_stmt*,int);
131998 const unsigned char * (*column_text)(sqlite3_stmt*,int iCol);
131999 const void * (*column_text16)(sqlite3_stmt*,int iCol);
132003 int (*complete)(const char*sql);
132004 int (*complete16)(const void*sql);
132005 int (*create_collation)(sqlite3*,const char*,int,void*,
132006 int(*)(void*,int,const void*,int,const void*));
132007 int (*create_collation16)(sqlite3*,const void*,int,void*,
132008 int(*)(void*,int,const void*,int,const void*));
132009 int (*create_function)(sqlite3*,const char*,int,int,void*,
132013 int (*create_function16)(sqlite3*,const void*,int,int,void*,
132017 int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*);
132020 int (*declare_vtab)(sqlite3*,const char*);
132023 const char * (*errmsg)(sqlite3*);
132024 const void * (*errmsg16)(sqlite3*);
132025 int (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**);
132032 int (*get_table)(sqlite3*,const char*,char***,int*,int*,char**);
132036 const char * (*libversion)(void);
132039 char * (*mprintf)(const char*,...);
132040 int (*open)(const char*,sqlite3**);
132041 int (*open16)(const void*,sqlite3**);
132042 int (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**);
132043 int (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**);
132044 void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void*);
132048 void (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*));
132050 void (*result_error)(sqlite3_context*,const char*,int);
132051 void (*result_error16)(sqlite3_context*,const void*,int);
132055 void (*result_text)(sqlite3_context*,const char*,int,void(*)(void*));
132056 void (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*));
132057 void (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*));
132058 void (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*));
132061 int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*,
132062 const char*,const char*),void*);
132064 char * (*xsnprintf)(int,char*,const char*,...);
132066 int (*table_column_metadata)(sqlite3*,const char*,const char*,const char*,
132067 char const**,char const**,int*,int*,int*);
132070 void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*);
132072 void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*,
132075 const void * (*value_blob)(sqlite3_value*);
132082 const unsigned char * (*value_text)(sqlite3_value*);
132083 const void * (*value_text16)(sqlite3_value*);
132084 const void * (*value_text16be)(sqlite3_value*);
132085 const void * (*value_text16le)(sqlite3_value*);
132087 char *(*vmprintf)(const char*,va_list);
132089 int (*overload_function)(sqlite3*, const char *zFuncName, int nArg);
132091 int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**);
132092 int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**);
132095 int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*,
132101 int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64,
132104 int (*blob_write)(sqlite3_blob*,const void*,int,int);
132105 int (*create_collation_v2)(sqlite3*,const char*,int,void*,
132106 int(*)(void*,int,const void*,int,const void*),
132108 int (*file_control)(sqlite3*,const char*,int,void*);
132116 int (*open_v2)(const char*,sqlite3**,int,const char*);
132122 sqlite3_vfs *(*vfs_find)(const char*);
132134 const char *(*sql)(sqlite3_stmt*);
132137 sqlite3_backup *(*backup_init)(sqlite3*,const char*,sqlite3*,const char*);
132141 const char *(*compileoption_get)(int);
132142 int (*compileoption_used)(const char*);
132143 int (*create_function_v2)(sqlite3*,const char*,int,int,void*,
132152 void (*log)(int,const char*,...);
132154 const char *(*sourceid)(void);
132156 int (*strnicmp)(const char*,const char*,int);
132159 int (*wal_checkpoint)(sqlite3*,const char*);
132160 void *(*wal_hook)(sqlite3*,int(*)(void*,sqlite3*,const char*,int),void*);
132166 const char *(*db_filename)(sqlite3*,const char*);
132167 int (*db_readonly)(sqlite3*,const char*);
132169 const char *(*errstr)(int);
132172 int (*stricmp)(const char*,const char*);
132173 int (*uri_boolean)(const char*,const char*,int);
132174 sqlite3_int64 (*uri_int64)(const char*,const char*,sqlite3_int64);
132175 const char *(*uri_parameter)(const char*,const char*);
132176 char *(*xvsnprintf)(int,char*,const char*,va_list);
132177 int (*wal_checkpoint_v2)(sqlite3*,const char*,int,int*,int*);
132180 int (*bind_blob64)(sqlite3_stmt*,int,const void*,sqlite3_uint64,
132182 int (*bind_text64)(sqlite3_stmt*,int,const char*,sqlite3_uint64,
132185 int (*load_extension)(sqlite3*,const char*,const char*,char**);
132190 void (*result_blob64)(sqlite3_context*,const void*,sqlite3_uint64,
132192 void (*result_text64)(sqlite3_context*,const char*,sqlite3_uint64,
132194 int (*strglob)(const char*,const char*);
132196 sqlite3_value *(*value_dup)(const sqlite3_value*);
132205 int (*strlike)(const char*,const char*,unsigned int);
132215 int (*prepare_v3)(sqlite3*,const char*,int,unsigned int,
132216 sqlite3_stmt**,const char**);
132217 int (*prepare16_v3)(sqlite3*,const void*,int,unsigned int,
132218 sqlite3_stmt**,const void**);
132219 int (*bind_pointer)(sqlite3_stmt*,int,void*,const char*,void(*)(void*));
132220 void (*result_pointer)(sqlite3_context*,void*,const char*,void(*)(void*));
132221 void *(*value_pointer)(sqlite3_value*,const char*);
132224 const char *(*vtab_collation)(sqlite3_index_info*,int);
132227 int (*keyword_name)(int,const char**,int*);
132228 int (*keyword_check)(const char*,int);
132231 void (*str_appendf)(sqlite3_str*, const char *zFormat, ...);
132232 void (*str_vappendf)(sqlite3_str*, const char *zFormat, va_list);
132233 void (*str_append)(sqlite3_str*, const char *zIn, int N);
132234 void (*str_appendall)(sqlite3_str*, const char *zIn);
132241 int (*create_window_function)(sqlite3*,const char*,int,int,void*,
132248 const char *(*normalized_sql)(sqlite3_stmt*);
132253 int (*drop_modules)(sqlite3*,const char**);
132256 const char *(*uri_key)(const char*,int);
132257 const char *(*filename_database)(const char*);
132258 const char *(*filename_journal)(const char*);
132259 const char *(*filename_wal)(const char*);
132261 const char *(*create_filename)(const char*,const char*,const char*,
132262 int,const char**);
132263 void (*free_filename)(const char*);
132264 sqlite3_file *(*database_file_object)(const char*);
132266 int (*txn_state)(sqlite3*,const char*);
132272 unsigned int(*)(void*,const char*,unsigned int,unsigned int,unsigned int),
132282 int (*deserialize)(sqlite3*,const char*,unsigned char*,
132284 unsigned char *(*serialize)(sqlite3*,const char *,sqlite3_int64*,
132286 const char *(*db_name)(sqlite3*,int);
132290 int (*set_droptable_handle)(sqlite3*,void(*)(sqlite3*,const char*,const char*));
132300 const sqlite3_api_routines *pThunk /* Extension API function pointers. */
132624 # define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api=0;
132627 extern const sqlite3_api_routines *sqlite3_api;
132756 static const sqlite3_api_routines sqlite3Apis = {
133038 (sqlite3_value*(*)(const sqlite3_value*))sqlite3_value_dup,
133171 const char *zFile, /* Name of the shared library containing extension */
133172 const char *zProc, /* Entry point. Use "sqlite3_extension_init" if 0 */
133179 const char *zEntry;
133187 static const char *azEndings[] = {
133322 const char *zFile, /* Name of the shared library containing extension */
133323 const char *zProc, /* Entry point. Use "sqlite3_extension_init" if 0 */
133508 const sqlite3_api_routines *pThunk = 0;
133510 const sqlite3_api_routines *pThunk = &sqlite3Apis;
133635 static const char *const pragCName[] = {
133701 const char *const zName; /* Name of pragma */
133708 static const PragmaName aPragmaName[] = {
134282 static u8 getSafetyLevel(const char *z, int omitFull, u8 dflt){
134284 static const char zText[] = "onoffalseyestruextrafull";
134285 static const u8 iOffset[] = {0, 1, 2, 4, 9, 12, 15, 20};
134286 static const u8 iLength[] = {2, 2, 3, 5, 3, 4, 5, 4};
134287 static const u8 iValue[] = {1, 0, 0, 0, 1, 1, 3, 2};
134307 SQLITE_PRIVATE u8 sqlite3GetBoolean(const char *z, u8 dflt){
134320 static int getLockingMode(const char *z){
134335 static int getAutoVacuum(const char *z){
134351 static int getTempStore(const char *z){
134393 static int changeTempStorage(Parse *pParse, const char *zStorageType){
134410 const PragmaName *pPragma /* The pragma */
134428 sqlite3VdbeAddOp4Dup8(v, OP_Int64, 0, 1, 0, (const u8*)&value, P4_INT64);
134437 const char *zValue /* Value to be returned */
134440 sqlite3VdbeLoadString(v, 1, (const char*)zValue);
134479 static const char *actionName(u8 action){
134480 const char *zName;
134499 SQLITE_PRIVATE const char *sqlite3JournalModename(int eMode){
134500 static char * const azModeName[] = {
134521 static const PragmaName *pragmaLocate(const char *zName){
134557 const char *zType;
134558 static const char *azEnc[] = { 0, "utf8", "utf16le", "utf16be" };
134628 const char *zDb = 0; /* The database name */
134636 const PragmaName *pPragma; /* The pragma */
134640 extern int sqlite3CodecPragma(sqlite3*, int, Parse *, const char *, const char *);
134763 static const int iLn = VDBE_OFFSET_LINENO(2);
134764 static const VdbeOpList getCacheSize[] = {
134897 const char *zRet = "normal";
134952 const char *zMode;
135032 static const int iLn = VDBE_OFFSET_LINENO(2);
135033 static const VdbeOpList setMeta6[] = {
135432 const Expr *pColExpr;
135525 const char *zType;
135631 const char *azOrigin[] = { "c", "u", "pk" };
136280 static const int iLn = VDBE_OFFSET_LINENO(2);
136281 static const VdbeOpList endCode[] = {
136330 static const struct EncName {
136344 const struct EncName *pEnc;
136413 static const VdbeOpList setCookie[] = {
136433 static const VdbeOpList readCookie[] = {
136460 const char *zOpt;
136741 static const char *const azLockName[] = {
136748 const char *zState = "unknown";
136777 const char *zKey = zRight;
136839 const PragmaName *pName; /* Name of the pragma */
136856 int argc, const char *const*argv,
136860 const PragmaName *pPragma = (const PragmaName*)pAux;
136930 const struct sqlite3_index_constraint *pConstraint;
137015 int idxNum, const char *idxStr,
137030 const char *zText = (const char*)sqlite3_value_text(argv[i]);
137096 static const sqlite3_module pragmaVtabModule = {
137128 SQLITE_PRIVATE Module *sqlite3PragmaVtabRegister(sqlite3 *db, const char *zName){
137129 const PragmaName *pName;
137168 const char *zExtra /* Error information */
137176 static const char *azAlterType[] = {
137191 const char *zObj = azObj[1] ? azObj[1] : "?";
137215 const char *zSql, /* UTF-8 encoded SQL statement. */
137220 const char **pzTail /* OUT: End of parsed string */
137285 db->init.azInit = (const char**)argv;
137348 char const *azArg[6];
137351 const char *zSchemaTabName;
137822 const char *zSql, /* UTF-8 encoded SQL statement. */
137827 const char **pzTail /* OUT: End of parsed string */
137883 const char *zDb = db->aDb[i].zDbSName;
137967 const char *zSql, /* UTF-8 encoded SQL statement. */
137972 const char **pzTail /* OUT: End of parsed string */
138015 const char *zSql;
138053 const char *zSql, /* UTF-8 encoded SQL statement. */
138056 const char **pzTail /* OUT: End of parsed string */
138065 const char *zSql, /* UTF-8 encoded SQL statement. */
138068 const char **pzTail /* OUT: End of parsed string */
138083 const char *zSql, /* UTF-8 encoded SQL statement. */
138087 const char **pzTail /* OUT: End of parsed string */
138111 const void *zSql, /* UTF-16 encoded SQL statement. */
138115 const void **pzTail /* OUT: End of parsed string */
138122 const char *zTail8 = 0;
138134 const char *z = (const char*)zSql;
138169 const void *zSql, /* UTF-16 encoded SQL statement. */
138172 const void **pzTail /* OUT: End of parsed string */
138181 const void *zSql, /* UTF-16 encoded SQL statement. */
138184 const void **pzTail /* OUT: End of parsed string */
138193 const void *zSql, /* UTF-16 encoded SQL statement. */
138197 const void **pzTail /* OUT: End of parsed string */
138470 static const char zKeyText[] = "naturaleftouterightfullinnercross";
138471 static const struct {
138508 const char *zSp1 = " ";
138509 const char *zSp2 = " ";
138523 SQLITE_PRIVATE int sqlite3ColumnIndex(Table *pTab, const char *zCol){
138563 const char *zCol, /* Name of the column we are looking for */
138791 static const Token tkCoalesce = { "coalesce", 8 };
139125 sqlite3VdbeChangeP4(v, -1, (const char *)pColl, P4_COLLSEQ);
139815 SQLITE_PRIVATE const char *sqlite3SelectOpName(int id){
139837 static void explainTempTable(Parse *pParse, const char *zUsage){
140103 static const char *columnTypeImpl(
140109 const char **pzOrigDb,
140110 const char **pzOrigTab,
140111 const char **pzOrigCol
140114 char const *zType = 0;
140117 char const *zOrigDb = 0;
140118 char const *zOrigTab = 0;
140119 char const *zOrigCol = 0;
140268 const char *zType;
140270 const char *zOrigDb = 0;
140271 const char *zOrigTab = 0;
140272 const char *zOrigCol = 0;
140384 const char *z = pEList->a[i].zEName;
140552 const char *zType;
142482 const char *zSavedAuthContext = pParse->zAuthContext;
142960 const Expr *pE2 = pConst->apExpr[i*2];
143407 const char *zFunc; /* Name of aggregate function pFunc */
143629 const char *zName = pItem->zName;
143934 const char *zName, /* Name we are looking for */
144164 const char *zSchemaName = 0; /* Schema name for this data source */
144193 const char *zUName = pUsing->a[ii].zName;
145204 const char *zSavedAuthContext;
145977 const int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema);
145978 const int iCsr = pParse->nTab++; /* Cursor to scan b-tree */
146279 const char *zSql, /* The SQL to be executed */
146596 const char *zDb = db->aDb[iTabDb].zDbSName;
146597 const char *zDbTrig = isTemp ? db->aDb[1].zDbSName : zDb;
146777 static char *triggerSpanDup(sqlite3 *db, const char *zStart, const char *zEnd){
146794 const char *zStart, /* Start of SQL text */
146795 const char *zEnd /* End of SQL text */
146819 const char *zStart, /* Start of SQL text */
146820 const char *zEnd /* End of SQL text */
146855 const char *zStart, /* Start of SQL text */
146856 const char *zEnd /* End of SQL text */
146900 const char *zStart, /* Start of SQL text */
146901 const char *zEnd /* End of SQL text */
146937 const char *zStart, /* Start of SQL text */
146938 const char *zEnd /* End of SQL text */
146981 const char *zDb;
146982 const char *zName;
147041 const char *zDb = db->aDb[iDb].zDbSName;
147042 const char *zTab = SCHEMA_TABLE(iDb);
147066 SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3 *db, int iDb, const char *zName){
147478 static const char *onErrorText(int onError){
147680 (const char *)pPrg->pProgram, P4_SUBPROGRAM);
147812 const int op = pChanges ? TK_UPDATE : TK_DELETE;
149038 const char *pVTab = (const char*)sqlite3GetVTable(db, pTab);
149542 static int execSql(sqlite3 *db, char **pzErrMsg, const char *zSql){
149550 const char *zSubSql = (const char*)sqlite3_column_text(pStmt,0);
149572 static int execSqlF(sqlite3 *db, char **pzErrMsg, const char *zSql, ...){
149672 const char *zDbMain; /* Schema name of database to vacuum */
149673 const char *zOut; /* Name of output file */
149690 zOut = (const char*)sqlite3_value_text(pOut);
149862 static const unsigned char aCopy[] = {
149977 const char *zName, /* Name assigned to this module */
149978 const sqlite3_module *pModule, /* The definition of the module */
150025 const char *zName, /* Name assigned to this module */
150026 const sqlite3_module *pModule, /* The definition of the module */
150046 const char *zName, /* Name assigned to this module */
150047 const sqlite3_module *pModule, /* The definition of the module */
150061 const char *zName, /* Name assigned to this module */
150062 const sqlite3_module *pModule, /* The definition of the module */
150076 SQLITE_API int sqlite3_drop_modules(sqlite3 *db, const char** azNames){
150373 const char *z = (const char*)pParse->sArg.z;
150450 const char *zName = pTab->zName;
150497 int (*xConstruct)(sqlite3*,void*,int,const char*const*,sqlite3_vtab**,char**),
150503 const char *const*azArg;
150511 azArg = (const char *const*)pTab->u.vtab.azArg;
150570 const char *zFormat = "vtable constructor did not declare schema: %s";
150631 const char *zMod;
150646 const char *zModule = pTab->u.vtab.azArg[0];
150666 const int ARRAY_INCR = 5;
150702 SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3 *db, int iDb, const char *zTab, char **pzErr){
150706 const char *zMod;
150743 SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){
150837 SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab){
150955 const sqlite3_module *pModule;
151022 const sqlite3_module *pMod = pVTab->pMod->pModule;
151117 pNew->zName = (const char*)&pNew[1];
151166 const sqlite3_module *pModule = pMod->pModule;
151223 static const unsigned char aMap[] = {
151626 const char *zCollName; /* Required collating sequence, if not NULL */
151833 const Parse *pParse, /* Parse context */
151834 const WhereInfo *pWInfo, /* WHERE clause */
151835 const WhereLevel *pLevel /* Bloom filter on this level */
151954 static const char *explainIndexColumnName(Index *pIdx, int i){
151975 const char *zOp /* Name of the operator */
152022 const char *z = explainIndexColumnName(pIndex, i);
152080 const char *zFmt = 0;
152107 const Table *pTab = pItem->pTab;
152108 const char *zRowid = pTab->iPKey>=0 ? pTab->aCol[pTab->iPKey].zCnName:
152111 const char *zRowid = "rowid";
152163 const Parse *pParse, /* Parse context */
152164 const WhereInfo *pWInfo, /* WHERE clause */
152165 const WhereLevel *pLevel /* Bloom filter on this level */
152182 const Table *pTab = pItem->pTab;
152190 const char *z = explainIndexColumnName(pLoop->u.btree.pIndex, i);
152219 const char *zObj = 0;
153041 (const char*)pExpr, P4_EXPR);
153132 const ExprList *pList;
153516 const u8 aMoveOp[] = {
153627 static const u8 aStartOp[] = {
153637 static const u8 aEndOp[] = {
154347 static const u8 aStep[] = { OP_Next, OP_Prev };
154348 static const u8 aStart[] = { OP_Rewind, OP_Last };
154876 const u8 *z = 0; /* String on RHS of LIKE operator */
155056 static const struct Op2 {
155057 const char *zOp;
155928 static const u8 ops[] = {TK_GE, TK_LE};
156020 const char *zCollSeqName; /* Name of collating sequence */
156021 const u16 wtFlags = TERM_LIKEOPT | TERM_VIRTUAL | TERM_DYNAMIC;
157047 ** the form "X <op> <const-expr>" exist. If no terms with a constant RHS
157092 const char *zColl = pIdx->azColl[iCol];
157310 const WhereTerm *pTerm, /* WHERE clause term to check */
157311 const SrcItem *pSrc /* Table we are trying to access */
157340 const WhereTerm *pTerm, /* WHERE clause term to check */
157341 const SrcItem *pSrc, /* Table we are trying to access */
157342 const Bitmask notReady /* Tables in outer loops of the join */
157372 const WhereClause *pWC, /* The WHERE clause */
157373 const SrcItem *pSrc, /* The FROM clause term to get the next index */
157374 const Bitmask notReady, /* Mask of cursors that are not available */
157613 const WhereTerm *pTerm; /* For looping over WHERE clause terms */
157614 const WhereTerm *pWCEnd; /* Last WHERE clause term */
157626 const SrcItem *pItem;
157627 const Table *pTab;
157689 const SrcItem *pTabItem;
157735 const Table *pTab;
157803 const char *zColl; /* The collating sequence name */
158702 const char *zName;
158868 const WhereLoop *pX, /* First WhereLoop to compare */
158869 const WhereLoop *pY /* Compare against this WhereLoop */
158905 static void whereLoopAdjustCost(const WhereLoop *p, WhereLoop *pTemplate){
158948 const WhereLoop *pTemplate
159824 const Index *pIdx; /* The index of interest */
159825 const i16 *aiColumn; /* Columns contained in the index */
160414 SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info *pIdxInfo, int iCons){
160416 const char *zRet = 0;
160706 WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc;
160707 WhereTerm * const pOrWCEnd = &pOrWC->a[pOrWC->nTerm];
161261 static const char *wherePathName(WherePath *pPath, int nLoop, WhereLoop *pLast){
161855 static const char zLabel[] = "0123456789abcdefghijklmnopqrstuvwyxz"
161977 const WhereInfo *pWInfo
161987 const unsigned int reqFlags = (WHERE_SELFCULL|WHERE_COLUMN_EQ);
162553 const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
162597 (const u8*)&pTabItem->colUsed, P4_INT64);
163674 static const char row_numberName[] = "row_number";
163675 static const char dense_rankName[] = "dense_rank";
163676 static const char rankName[] = "rank";
163677 static const char percent_rankName[] = "percent_rank";
163678 static const char cume_distName[] = "cume_dist";
163679 static const char ntileName[] = "ntile";
163680 static const char last_valueName[] = "last_value";
163681 static const char nth_valueName[] = "nth_value";
163682 static const char first_valueName[] = "first_value";
163683 static const char leadName[] = "lead";
163684 static const char lagName[] = "lag";
163757 static Window *windowFind(Parse *pParse, Window *pList, const char *zName){
163821 const char *zFunc;
164406 const char *zErr = 0;
164481 const Parse *pParse,
164482 const Window *p1,
164483 const Window *p2,
164602 static const char *azErr[] = {
164649 const ExprList *pList;
164867 sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ);
166726 const char* yy522;
166824 static const YYACTIONTYPE yy_action[] = {
167036 static const YYCODETYPE yy_lookahead[] = {
167270 static const unsigned short int yy_shift_ofst[] = {
167333 static const short yy_reduce_ofst[] = {
167376 static const YYACTIONTYPE yy_default[] = {
167453 static const YYCODETYPE yyFallback[] = {
167726 static const char *const yyTokenName[] = {
168052 static const char *const yyRuleName[] = {
168902 static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
168963 static const YYCODETYPE yyRuleInfoLhs[] = {
169373 static const signed char yyRuleInfoNRhs[] = {
171739 static const unsigned char aiClass[] = {
171794 const unsigned char ebcdicToAscii[] = {
171855 static const char zKWText[666] = {
171895 static const unsigned char aKWHash[127] = {
171910 static const unsigned char aKWNext[147] = {
171925 static const unsigned char aKWLen[147] = {
171941 static const unsigned short int aKWOffset[147] = {
171956 static const unsigned char aKWCode[147] = {
172120 static int keywordCode(const char *z, int n, int *pType){
172122 const char *zKW;
172294 SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char *z, int n){
172300 SQLITE_API int sqlite3_keyword_name(int i,const char **pzName,int *pnName){
172307 SQLITE_API int sqlite3_keyword_check(const char *zName, int nName){
172308 return TK_ID!=sqlite3KeywordCode((const u8*)zName, nName);
172335 SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[] = {
172361 static int getToken(const unsigned char **pz){
172362 const unsigned char *z = *pz;
172410 static int analyzeWindowKeyword(const unsigned char *z){
172418 static int analyzeOverKeyword(const unsigned char *z, int lastToken){
172425 static int analyzeFilterKeyword(const unsigned char *z, int lastToken){
172437 SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){
172731 SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql){
172816 tokenType = analyzeWindowKeyword((const u8*)&zSql[6]);
172819 tokenType = analyzeOverKeyword((const u8*)&zSql[4], lastTokenParsed);
172822 tokenType = analyzeFilterKeyword((const u8*)&zSql[6], lastTokenParsed);
172903 const char *zSql /* The original SQL string */
173050 SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[];
173124 SQLITE_API int sqlite3_complete(const char *zSql){
173132 static const u8 trans[8][8] = {
173148 static const u8 trans[3][3] = {
173289 SQLITE_API int sqlite3_complete16(const void *zSql){
173291 char const *zSql8;
173468 static int (*const sqlite3BuiltinExtensions[])(sqlite3*) = {
173509 SQLITE_API const char sqlite3_version[] = SQLITE_VERSION;
173515 SQLITE_API const char *sqlite3_libversion(void){ return sqlite3_version; }
173523 /* SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } */
173555 SQLITE_API void (SQLITE_CDECL *sqlite3IoTrace)(const char*, ...) = 0;
173766 int SQLITE_EXTRA_INIT(const char*);
174031 ** sqlite3GlobalConfig.xLog = va_arg(ap, void(*)(void*,int,const char*));
174033 typedef void(*LOGFUNC_t)(void*,int,const char*);
174064 typedef void(*SQLLOGFUNC_t)(void*, sqlite3*, const char*, int);
174366 static const struct {
174424 int nKey1, const void *pKey1,
174425 int nKey2, const void *pKey2
174447 int nKey1, const void *pKey1,
174448 int nKey2, const void *pKey2
174450 const u8 *pK1 = (const u8*)pKey1;
174451 const u8 *pK2 = (const u8*)pKey2;
174460 SQLITE_PRIVATE int sqlite3IsBinary(const CollSeq *p){
174476 int nKey1, const void *pKey1,
174477 int nKey2, const void *pKey2
174480 (const char *)pKey1, (const char *)pKey2, (nKey1<nKey2)?nKey1:nKey2);
174686 SQLITE_API int sqlite3_txn_state(sqlite3 *db, const char *zSchema){
174906 SQLITE_PRIVATE const char *sqlite3ErrName(int rc){
174907 const char *zName = 0;
175017 SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){
175018 static const char* const aMsg[] = {
175053 const char *zErr = "unknown error";
175094 static const u8 delays[] =
175096 static const u8 totals[] =
175245 const char *zFunctionName,
175379 const char *zFunc,
175430 const char *zFunc,
175443 const char *zFunc,
175457 const char *zFunc,
175474 const void *zFunctionName,
175513 const char *zName = (const char*)sqlite3_user_data(context);
175536 const char *zName,
175567 SQLITE_API void *sqlite3_trace(sqlite3 *db, void(*xTrace)(void*,const char*), void *pArg){
175620 void (*xProfile)(void*,const char*,sqlite_uint64),
175675 void (*xCallback)(void*,int,char const *,char const *,sqlite_int64),
175727 void*,sqlite3*,int,char const*,char const*,sqlite3_int64,sqlite3_int64),
175746 unsigned int (*xCallback)(void*,const char*,u32,u32,u32),
175778 const char *zDb, /* Database */
175824 int(*xCallback)(void *, sqlite3*, const char*, int),
175851 const char *zDb, /* Name of attached database (or NULL) */
175913 SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb){
175986 SQLITE_PRIVATE int sqlite3TempInMemory(const sqlite3 *db){
176007 SQLITE_API const char *sqlite3_errmsg(sqlite3 *db){
176008 const char *z;
176048 SQLITE_API const void *sqlite3_errmsg16(sqlite3 *db){
176049 static const u16 outOfMem[] = {
176052 static const u16 misuse[] = {
176058 const void *z;
176117 SQLITE_API const char *sqlite3_errstr(int rc){
176127 const char *zName,
176130 int(*xCompare)(void*,int,const void*,int,const void*),
176202 static const int aHardLimit[] = {
176338 const char *zDefaultVfs, /* VFS to use if no "vfs=xxx" query option */
176339 const char *zUri, /* Nul-terminated URI to parse */
176347 const char *zVfs = zDefaultVfs;
176480 const char *z;
176519 const char *z = aMode[i].z;
176574 static const char *uriParameter(const char *zFilename, const char *zParam){
176593 const char *zDb, /* Which schema is being created/attached */
176594 const char *zUri /* URI filename */
176596 const char *zKey;
176628 const char *zFilename, /* Database filename UTF-8 encoded */
176631 const char *zVfs /* Name of the VFS to use */
176991 const char *zFilename,
176998 const char *filename, /* Database filename (UTF-8) */
177001 const char *zVfs /* Name of VFS module to use */
177011 const void *zFilename,
177014 char const *zFilename8; /* zFilename encoded in UTF-8 instead of UTF-16 */
177051 const char *zName,
177054 int(*xCompare)(void*,int,const void*,int,const void*)
177064 const char *zName,
177067 int(*xCompare)(void*,int,const void*,int,const void*),
177089 const void *zName,
177092 int(*xCompare)(void*,int,const void*,int,const void*)
177120 void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*)
177141 void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*)
177192 SQLITE_PRIVATE int sqlite3ReportError(int iErr, int lineno, const char *zType){
177246 const char *zDbName, /* Database name or NULL */
177247 const char *zTableName, /* Table name */
177248 const char *zColumnName, /* Column name */
177249 char const **pzDataType, /* OUTPUT: Declared data type */
177250 char const **pzCollSeq, /* OUTPUT: Collation sequence name */
177260 char const *zDataType = 0;
177261 char const *zCollSeq = 0;
177391 SQLITE_API int sqlite3_file_control(sqlite3 *db, const char *zDbName, int op, void *pArg){
177697 ** int xAlt(const time_t*, struct tm*);
177705 typedef int(*sqlite3LocaltimeType)(const void*,void*);
177816 iDb = sqlite3FindDbName(db, va_arg(ap,const char*));
177964 static const char *databaseName(const char *zName){
177975 static char *appendText(char *p, const char *z){
177990 SQLITE_API const char *sqlite3_create_filename(
177991 const char *zDatabase,
177992 const char *zJournal,
177993 const char *zWal,
177995 const char **azParam
178026 SQLITE_API void sqlite3_free_filename(const char *p){
178044 SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam){
178053 SQLITE_API const char *sqlite3_uri_key(const char *zFilename, int N){
178067 SQLITE_API int sqlite3_uri_boolean(const char *zFilename, const char *zParam, int bDflt){
178068 const char *z = sqlite3_uri_parameter(zFilename, zParam);
178077 const char *zFilename, /* Filename as passed to xOpen */
178078 const char *zParam, /* URI parameter sought */
178081 const char *z = sqlite3_uri_parameter(zFilename, zParam);
178099 SQLITE_API const char *sqlite3_filename_database(const char *zFilename){
178103 SQLITE_API const char *sqlite3_filename_journal(const char *zFilename){
178113 SQLITE_API const char *sqlite3_filename_wal(const char *zFilename){
178126 SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3 *db, const char *zDbName){
178135 SQLITE_API const char *sqlite3_db_name(sqlite3 *db, int N){
178153 SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName){
178169 SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName){
178188 const char *zDb,
178224 const char *zDb,
178278 SQLITE_API int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb){
178322 SQLITE_API int sqlite3_compileoption_used(const char *zOptName){
178325 const char **azCompileOpt;
178355 SQLITE_API const char *sqlite3_compileoption_get(int N){
178357 const char **azCompileOpt;
179118 const char *const*argv, /* Tokenizer argument strings */
179135 const char *pInput, int nBytes, /* Input buffer */
179171 const char **ppToken, int *pnBytes, /* OUT: Normalized text for token */
179188 const sqlite3_tokenizer_module *pModule; /* The module for this tokenizer */
179281 SQLITE_PRIVATE void *sqlite3Fts3HashInsert(Fts3Hash*, const void *pKey, int nKey, void *pData);
179282 SQLITE_PRIVATE void *sqlite3Fts3HashFind(const Fts3Hash*, const void *pKey, int nKey);
179284 SQLITE_PRIVATE Fts3HashElem *sqlite3Fts3HashFindElem(const Fts3Hash *, const void *, int);
179513 const char *zDb; /* logical database name */
179514 const char *zName; /* virtual table name */
179775 sqlite3_int64, sqlite3_int64, const char *, int, Fts3SegReader**);
179777 Fts3Table*,int,const char*,int,int,Fts3SegReader**);
179811 int, int, int, const char *, int, int, int, Fts3MultiSegReader *);
179823 const char *zTerm;
179859 SQLITE_PRIVATE void sqlite3Fts3ErrMsg(char**,const char*,...);
179861 SQLITE_PRIVATE int sqlite3Fts3GetVarint(const char *, sqlite_int64 *);
179862 SQLITE_PRIVATE int sqlite3Fts3GetVarintU(const char *, sqlite_uint64 *);
179863 SQLITE_PRIVATE int sqlite3Fts3GetVarintBounded(const char*,const char*,sqlite3_int64*);
179864 SQLITE_PRIVATE int sqlite3Fts3GetVarint32(const char *, int *);
179872 SQLITE_PRIVATE int sqlite3Fts3ReadInt(const char *z, int *pnOut);
179875 SQLITE_PRIVATE const char *sqlite3Fts3NextToken(const char *, int *);
179876 SQLITE_PRIVATE int sqlite3Fts3InitHashTable(sqlite3 *, Fts3Hash *, const char *);
179877 SQLITE_PRIVATE int sqlite3Fts3InitTokenizer(Fts3Hash *pHash, const char *,
179884 SQLITE_PRIVATE void sqlite3Fts3Snippet(sqlite3_context *, Fts3Cursor *, const char *,
179885 const char *, const char *, int, int
179887 SQLITE_PRIVATE void sqlite3Fts3Matchinfo(sqlite3_context *, Fts3Cursor *, const char *);
179892 char **, int, int, int, const char *, int, Fts3Expr **, char **
179901 SQLITE_PRIVATE int sqlite3Fts3OpenTokenizer(sqlite3_tokenizer *, int, const char *, int,
179911 Fts3Table*, Fts3MultiSegReader*, int, const char*, int);
179961 Fts3Cursor *, const char *, int, int, Fts3MultiSegReader **);
179991 v = (v & mask1) | ( (*(const unsigned char*)(ptr++)) << shift ); \
179997 SQLITE_PRIVATE int sqlite3Fts3GetVarintU(const char *pBuf, sqlite_uint64 *v){
179998 const unsigned char *p = (const unsigned char*)pBuf;
179999 const unsigned char *pStart = p;
180024 SQLITE_PRIVATE int sqlite3Fts3GetVarint(const char *pBuf, sqlite_int64 *v){
180035 const char *pBuf,
180036 const char *pEnd,
180039 const unsigned char *p = (const unsigned char*)pBuf;
180040 const unsigned char *pStart = p;
180041 const unsigned char *pX = (const unsigned char*)pEnd;
180058 SQLITE_PRIVATE int sqlite3Fts3GetVarint32(const char *p, int *pi){
180059 const unsigned char *ptr = (const unsigned char*)p;
180199 SQLITE_PRIVATE void sqlite3Fts3ErrMsg(char **pzErr, const char *zFormat, ...){
180217 const char *zFormat, /* Format string for SQL */
180240 const char *zDb = p->zDb; /* Name of database (e.g. "main", "temp") */
180280 const char *zLanguageid;
180335 const char *zLanguageid = p->zLanguageid;
180429 const char *z,
180434 const char *zCsr = z;
180456 const char *zFormat, /* Printf format string to append */
180486 static char *fts3QuoteId(char const *zInput){
180528 static char *fts3ReadExprList(Fts3Table *p, const char *zFunc, int *pRc){
180585 static char *fts3WriteExprList(Fts3Table *p, const char *zFunc, int *pRc){
180612 SQLITE_PRIVATE int sqlite3Fts3ReadInt(const char *z, int *pnOut){
180636 static int fts3GobbleInt(const char **pp, int *pnOut){
180637 const int MAX_NPREFIX = 10000000;
180670 const char *zParam, /* ABC in prefix=ABC parameter to parse */
180678 const char *p;
180693 const char *p = zParam;
180740 const char *zDb, /* Name of db (i.e. "main", "temp" etc.) */
180741 const char *zTbl, /* Name of content table */
180742 const char ***pazCol, /* OUT: Malloc'd array of column names */
180763 const char **azCol; /* Output array */
180773 const char *zCol = sqlite3_column_name(pStmt, i);
180778 azCol = (const char **)sqlite3_malloc64(sizeof(char *) * nCol + nStr);
180784 const char *zCol = sqlite3_column_name(pStmt, i);
180818 const char * const *argv, /* xCreate/xConnect argument array */
180834 const char **aCol; /* Array of column names */
180859 nByte = sizeof(const char *) * (argc-2);
180860 aCol = (const char **)sqlite3_malloc64(nByte);
180885 char const *z = argv[i];
180901 const char *zOpt;
181136 char const *zMiss = (zCompress==0 ? "compress" : "uncompress");
181201 const char * const *argv, /* xCreate/xConnect argument array */
181211 const char * const *argv, /* xCreate/xConnect argument array */
181529 const char *zTerm, /* Term to select leaves for */
181531 const char *zNode, /* Buffer containing segment interior node */
181537 const char *zCsr = zNode; /* Cursor to iterate through node */
181538 const char *zEnd = &zCsr[nNode];/* End of interior node buffer */
181656 const char *zTerm, /* Term to select leaves for */
181658 const char *zNode, /* Buffer containing segment interior node */
182612 const char *zTerm, /* Term to query for */
182649 char const *zRoot = sqlite3_column_blob(pStmt, 4);
182686 const char *zTerm, /* Term to query for */
182716 const char *zTerm, /* Term to scan doclist of */
182740 const char *zTerm, /* Term to query for */
182942 const char *idxStr, /* Unused */
182993 const char *zQuery = (const char *)sqlite3_value_text(pCons);
183180 const u32 nMinMerge = 64; /* Minimum amount of incr-merge work to do */
183327 const char *zFunc, /* Function name */
183353 const char *zStart = "<b>";
183354 const char *zEnd = "</b>";
183355 const char *zEllipsis = "<b>...</b>";
183376 case 4: zEllipsis = (const char*)sqlite3_value_text(apVal[3]);
183378 case 3: zEnd = (const char*)sqlite3_value_text(apVal[2]);
183380 case 2: zStart = (const char*)sqlite3_value_text(apVal[1]);
183462 const char *zArg = 0;
183464 zArg = (const char *)sqlite3_value_text(apVal[1]);
183477 const char *zName, /* Name of SQL function */
183482 const char *zName;
183512 const char *zName /* New name of table */
183613 static int fts3ShadowName(const char *zName){
183614 static const char *azName[] = {
183624 static const sqlite3_module fts3Module = {
183675 SQLITE_PRIVATE void sqlite3Fts3SimpleTokenizerModule(sqlite3_tokenizer_module const**ppModule);
183676 SQLITE_PRIVATE void sqlite3Fts3PorterTokenizerModule(sqlite3_tokenizer_module const**ppModule);
183678 SQLITE_PRIVATE void sqlite3Fts3UnicodeTokenizer(sqlite3_tokenizer_module const**ppModule);
183681 SQLITE_PRIVATE void sqlite3Fts3IcuTokenizerModule(sqlite3_tokenizer_module const**ppModule);
183693 const sqlite3_tokenizer_module *pSimple = 0;
183694 const sqlite3_tokenizer_module *pPorter = 0;
183696 const sqlite3_tokenizer_module *pUnicode = 0;
183700 const sqlite3_tokenizer_module *pIcu = 0;
184594 const char *pEnd;
184595 const char *a;
185750 const sqlite3_api_routines *pApi
185821 const char * const *argv, /* xCreate/xConnect argument array */
185825 char const *zDb; /* Name of database (e.g. "main") */
185826 char const *zFts3; /* Name of fts3 table */
186128 const char *idxStr, /* Unused */
186180 const unsigned char *zStr = sqlite3_value_text(apVal[0]);
186284 static const sqlite3_module fts3aux_module = {
186415 const char **azCol; /* Array of column names for fts3 table */
186453 const char *z,
186457 sqlite3_tokenizer_module const *pModule = pTokenizer->pModule;
186481 static int fts3ExprParse(ParseContext *, const char *, int, Fts3Expr **, int *);
186498 const char *z, int n, /* Input string */
186503 sqlite3_tokenizer_module const *pModule = pTokenizer->pModule;
186518 const char *zToken;
186596 const char *zInput, int nInput, /* Input string */
186600 sqlite3_tokenizer_module const *pModule = pTokenizer->pModule;
186607 const int nSpace = sizeof(Fts3Expr) + sizeof(Fts3Phrase);
186634 const char *zByte;
186714 const char *z, int n, /* Input string */
186718 static const struct Fts3Keyword {
186735 const char *zInput = z;
186753 const struct Fts3Keyword *pKey = &aKeyword[ii];
186845 const char *zStr = pParse->azCol[ii];
186933 const char *z, int n, /* Text of MATCH query */
186941 const char *zIn = z;
187287 const char *z, int n, /* Text of MATCH query */
187297 sParse.azCol = (const char **)azCol;
187350 const char *z, int n, /* Text of MATCH query */
187507 const char *zExpr;
187514 const char *zTokenizer = 0;
187524 zTokenizer = (const char*)sqlite3_value_text(argv[0]);
187536 zExpr = (const char *)sqlite3_value_text(argv[1]);
187712 static int fts3StrHash(const void *pKey, int nKey){
187713 const char *z = (const char *)pKey;
187722 static int fts3StrCompare(const void *pKey1, int n1, const void *pKey2, int n2){
187724 return strncmp((const char*)pKey1,(const char*)pKey2,n1);
187730 static int fts3BinHash(const void *pKey, int nKey){
187732 const char *z = (const char *)pKey;
187738 static int fts3BinCompare(const void *pKey1, int n1, const void *pKey2, int n2){
187753 ** with types "const void*" and "int" and returns an "int".
187755 static int (*ftsHashFunction(int keyClass))(const void*,int){
187770 static int (*ftsCompareFunction(int keyClass))(const void*,int,const void*,int){
187814 int (*xHash)(const void*,int); /* The hash function */
187836 const Fts3Hash *pH, /* The pH to be searched */
187837 const void *pKey, /* The key we are searching for */
187843 int (*xCompare)(const void*,int,const void*,int); /* comparison function */
187898 const Fts3Hash *pH,
187899 const void *pKey,
187903 int (*xHash)(const void*,int); /* The hash function */
187918 SQLITE_PRIVATE void *sqlite3Fts3HashFind(const Fts3Hash *pH, const void *pKey, int nKey){
187942 const void *pKey, /* The key */
187950 int (*xHash)(const void*,int); /* The hash function */
188048 const char *zInput; /* input we are tokenizing */
188061 int argc, const char * const *argv,
188092 const char *zInput, int nInput, /* String to be tokenized */
188132 static const char cType[] = {
188150 static int isVowel(const char*);
188151 static int isConsonant(const char *z){
188160 static int isVowel(const char *z){
188189 static int m_gt_0(const char *z){
188199 static int m_eq_1(const char *z){
188213 static int m_gt_1(const char *z){
188227 static int hasVowel(const char *z){
188238 static int doubleConsonant(const char *z){
188250 static int star_oh(const char *z){
188272 const char *zFrom, /* If the ending matches this... (Reversed) */
188273 const char *zTo, /* ... change the ending to this (not reversed) */
188274 int (*xCond)(const char*) /* Condition that must be true */
188295 static void copy_stemmer(const char *zIn, int nIn, char *zOut, int *pnOut){
188342 static void porter_stemmer(const char *zIn, int nIn, char *zOut, int *pnOut){
188581 static const char porterIdChar[] = {
188597 const char **pzToken, /* OUT: *pzToken is the token text */
188604 const char *z = c->zInput;
188643 static const sqlite3_tokenizer_module porterTokenizerModule = {
188658 sqlite3_tokenizer_module const**ppModule
188737 const unsigned char *zName;
188781 static const char isFtsIdChar[] = {
188794 SQLITE_PRIVATE const char *sqlite3Fts3NextToken(const char *zStr, int *pn){
188795 const char *z1;
188796 const char *z2 = 0;
188833 const char *zArg, /* Tokenizer name */
188861 char const **aArg = 0;
188866 char const **aNew = (const char **)sqlite3_realloc64((void *)aArg, nNew);
188937 const char *zErr = 0;
188939 const char *zName;
188941 const char *zInput;
188944 const char *azArg[64];
188946 const char *zToken;
188961 zName = (const char *)sqlite3_value_text(argv[0]);
188963 zInput = (const char *)sqlite3_value_text(argv[argc-1]);
188979 azArg[i-1] = (const char *)sqlite3_value_text(argv[i]);
189022 const sqlite3_tokenizer_module *p
189026 const char zSql[] = "SELECT fts3_tokenizer(?, ?)";
189045 const sqlite3_tokenizer_module **pp
189049 const char zSql[] = "SELECT fts3_tokenizer(?)";
189069 SQLITE_PRIVATE void sqlite3Fts3SimpleTokenizerModule(sqlite3_tokenizer_module const**ppModule);
189095 const sqlite3_tokenizer_module *p1;
189096 const sqlite3_tokenizer_module *p2;
189146 const char *zName
189150 const int any = SQLITE_UTF8|SQLITE_DIRECTONLY;
189231 const char *pInput; /* input we are tokenizing */
189251 int argc, const char * const *argv,
189304 const char *pInput, int nBytes, /* String to be tokenized */
189348 const char **ppToken, /* OUT: *ppToken is the token text */
189403 static const sqlite3_tokenizer_module simpleTokenizerModule = {
189418 sqlite3_tokenizer_module const**ppModule
189481 const sqlite3_tokenizer_module *pMod;
189493 const char *zToken; /* Current 'token' value */
189505 const char *zName,
189506 const sqlite3_tokenizer_module **pp,
189536 const char * const *argv, /* Input array */
189588 const char * const *argv, /* xCreate/xConnect argument array */
189593 const sqlite3_tokenizer_module *pMod = 0;
189606 const char *zModule;
189617 const char * const *azArg = 0;
189618 if( nDequote>1 ) azArg = (const char * const *)&azDequote[1];
189762 const char *idxStr, /* Unused */
189774 const char *zByte = (const char *)sqlite3_value_text(apVal[0]);
189850 static const sqlite3_module fts3tok_module = {
190180 const char *azSql[] = {
190642 const char *zToken,
190678 const char *zText, /* Text of document to be inserted */
190688 char const *zToken;
190692 sqlite3_tokenizer_module const *pModule = pTokenizer->pModule;
190695 const char**,int*,int*,int*,int*);
190817 const char *zText = (const char *)sqlite3_value_text(apVal[i]);
190973 const char *zText = (const char *)sqlite3_column_text(pSelect, i);
191507 const char *zRoot, /* Buffer containing root node */
191555 const void *lhs,
191556 const void *rhs
191593 const char *zTerm, /* Term to search for */
191755 const char *zTerm, /* Term to compare to */
191895 const char *zPrev, /* Buffer containing previous term */
191897 const char *zNext, /* Buffer containing next term */
191914 const char *zTerm, /* Pointer to buffer containing term */
192125 const char *zTerm, /* Pointer to buffer containing term */
192127 const char *aDoclist, /* Pointer to buffer containing doclist */
192641 const char *zTerm, /* Term searched for (or NULL) */
192683 const char *zTerm, /* Term to iterate through a doclist for */
192977 const unsigned char *zText = sqlite3_column_text(pStmt, iCol);
193260 const char *zBuf, /* The BLOB containing the varints */
193338 const int nStat = p->nColumn+2;
193482 const char *z = (const char *) sqlite3_column_text(pStmt, iCol+1);
193619 const char *aNode;
193626 const char *aDoclist; /* Pointer to doclist */
193716 static int nodeReaderInit(NodeReader *p, const char *aNode, int nNode){
193745 const char *zTerm, /* Term to write to internal node */
193849 const char *zTerm, /* New term to write */
193851 const char *aDoclist, /* Doclist (or NULL) to write */
193902 const char *zTerm = pCsr->zTerm;
193904 const char *aDoclist = pCsr->aDoclist;
194074 const char *zLhs, int nLhs, /* LHS of comparison */
194075 const char *zRhs, int nRhs /* RHS of comparison */
194138 const char *zKey, /* First key to write */
194150 const char *aRoot = 0; /* Pointer to %_segdir.root buffer */
194495 const char *aNode, /* Current node image */
194498 const char *zTerm, /* Omit all terms smaller than this */
194556 const char *zTerm, /* Remove terms smaller than this */
194573 const char *aRoot = sqlite3_column_blob(pFetch, 4);
194671 const char *zTerm = pSeg->zTerm;
194723 const char *aHint = sqlite3_column_blob(pSelect, 0);
194771 const int nHint = pHint->n;
194812 const int nAlloc = sizeof(*pCsr) + sizeof(*pFilter) + sizeof(*pWriter);
194820 const i64 nMod = FTS3_SEGDIR_MAXLEVEL * p->nIndex;
194918 const char *zKey = pCsr->zTerm;
194976 static int fts3Getint(const char **pz){
194977 const char *z = *pz;
194995 const char *zParam /* Nul-terminated string containing "A,B" */
195000 const char *z = zParam;
195038 const char *zParam /* Nul-terminated string containing boolean */
195065 const char *zTerm, /* Pointer to buffer containing term */
195197 sqlite3_tokenizer_module const *pModule = p->pTokenizer->pModule;
195216 const char *zText = (const char *)sqlite3_column_text(pStmt, iCol+1);
195221 char const *zToken; /* Buffer containing token */
195305 const char *zVal = (const char *)sqlite3_value_text(pVal);
195389 sqlite3_tokenizer_module const *pModule = pT->pModule;
195396 const char *zText = (const char *)sqlite3_column_text(pCsr->pStmt, i+1);
195401 char const *zToken; /* Buffer containing token */
195839 static MatchinfoBuffer *fts3MIBufferNew(size_t nElem, const char *zMatchinfo){
196307 const char *zAppend, /* Pointer to data to append to buffer */
196361 const char *zDoc, /* Document text to extract snippet from */
196401 const char *ZDUMMY; int DUMMY1 = 0, DUMMY2 = 0, DUMMY3 = 0;
196428 const char *zOpen, /* String inserted before highlighted term */
196429 const char *zClose, /* String inserted after highlighted term */
196430 const char *zEllipsis, /* String inserted between snippets */
196435 const char *zDoc; /* Document text to extract snippet from */
196446 zDoc = (const char *)sqlite3_column_text(pCsr->pStmt, iCol);
196463 const char *ZDUMMY; /* Dummy argument used with tokenizer */
196747 const char **paLen,
196748 const char **ppEnd
196751 const char *a;
196752 const char *pEnd;
196938 const char *zArg /* Matchinfo format string */
196967 const char *a; /* Aggregate column length array */
196968 const char *pEnd; /* First byte past end of length array */
196993 const char *a = sqlite3_column_blob(pSelectDocsize, 0);
196994 const char *pEnd = a + sqlite3_column_bytes(pSelectDocsize, 0);
197059 const char *zArg /* Second argument to matchinfo() function */
197144 const char *zStart, /* Snippet start text - "<b>" */
197145 const char *zEnd, /* Snippet end text - "</b>" */
197146 const char *zEllipsis, /* Snippet ellipsis text - "<b>...</b>" */
197298 sqlite3_tokenizer_module const *pMod = pTab->pTokenizer->pModule;
197331 const char *ZDUMMY; /* Dummy argument used with xNext() */
197336 const char *zDoc;
197353 zDoc = (const char *)sqlite3_column_text(pCsr->pStmt, iCol+1);
197434 const char *zArg /* Second arg to matchinfo() function */
197437 const char *zFormat;
197493 static const unsigned char sqlite3Utf8Trans1[] = {
197550 const unsigned char *aInput; /* Input text being tokenized */
197592 const char *zIn, /* Array of characters to make exceptions */
197595 const unsigned char *z = (const unsigned char *)zIn;
197596 const unsigned char *zTerm = &z[nIn];
197620 z = (const unsigned char *)zIn;
197678 const char * const *azArg, /* Tokenizer creation arguments */
197691 const char *z = azArg[i];
197731 const char *aInput, /* Input string */
197743 pCsr->aInput = (const unsigned char *)aInput;
197746 pCsr->aInput = (const unsigned char*)"";
197775 const char **paToken, /* OUT: Token text */
197785 const unsigned char *z = &pCsr->aInput[pCsr->iOff];
197786 const unsigned char *zStart = z;
197787 const unsigned char *zEnd;
197788 const unsigned char *zTerm = &pCsr->aInput[pCsr->nInput];
197841 SQLITE_PRIVATE void sqlite3Fts3UnicodeTokenizer(sqlite3_tokenizer_module const **ppModule){
197842 static const sqlite3_tokenizer_module module = {
197900 static const unsigned int aEntry[] = {
197984 static const unsigned int aAscii[4] = {
198124 static const struct TableEntry {
198185 static const unsigned short aiOff[] = {
198205 const struct TableEntry *p;
198276 static const char jsonIsSpace[] = {
198338 static const char * const jsonType[] = {
198361 const char *zJContent; /* 1: Content for INT, REAL, and STRING */
198375 const char *zJson; /* Original JSON string */
198462 static void jsonAppendRaw(JsonString *p, const char *zIn, u32 N){
198471 static void jsonPrintf(int N, JsonString *p, const char *zFormat, ...){
198502 static void jsonAppendString(JsonString *p, const char *zIn, u32 N){
198507 unsigned char c = ((unsigned const char*)zIn)[i];
198513 static const char aSpecial[] = {
198556 const char *z = (const char*)sqlite3_value_text(pValue);
198562 const char *z = (const char*)sqlite3_value_text(pValue);
198757 static u32 jsonHexToInt4(const char *z){
198794 const char *z;
198824 const char *z;
198855 const char *z;
198931 static int jsonParseAddNode(JsonParse*,u32,u32,const char*);
198950 const char *zContent /* Content */
198977 const char *zContent /* Content */
198995 static int jsonIs4Hex(const char *z){
199015 const char *z = pParse->zJson;
199173 const char *zJson /* Input JSON text to be parsed */
199261 const char *zJson = (const char*)sqlite3_value_text(argv[0]);
199318 static int jsonLabelCompare(JsonNode *pNode, const char *zKey, u32 nKey){
199330 static JsonNode *jsonLookupAppend(JsonParse*,const char*,int*,const char**);
199344 const char *zPath, /* The path to search */
199346 const char **pzErr /* Make *pzErr point to any syntax error in zPath */
199349 const char *zKey;
199496 const char *zPath, /* Description of content to append */
199498 const char **pzErr /* Make this point to any syntax error */
199520 static char *jsonPathSyntaxError(const char *zErr){
199536 const char *zPath, /* The path to search */
199540 const char *zErr = 0;
199573 const char *zFuncName
199621 if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return;
199625 const char *zType;
199733 const char *zPath = (const char*)sqlite3_value_text(argv[1]);
199786 const char *zPath;
199795 zPath = (const char*)sqlite3_value_text(argv[1]);
199841 zPath = (const char*)sqlite3_value_text(argv[i]);
199883 const char *zKey;
199954 if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return;
199955 if( jsonParse(&y, ctx, (const char*)sqlite3_value_text(argv[1])) ){
199983 const char *z;
200000 z = (const char*)sqlite3_value_text(argv[i]);
200025 const char *zPath;
200029 if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return;
200032 zPath = (const char*)sqlite3_value_text(argv[i]);
200058 const char *zPath;
200066 if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return;
200069 zPath = (const char*)sqlite3_value_text(argv[i]);
200110 const char *zPath;
200120 if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return;
200123 zPath = (const char*)sqlite3_value_text(argv[i]);
200162 const char *zPath;
200168 zPath = (const char*)sqlite3_value_text(argv[1]);
200313 const char *z;
200325 z = (const char*)sqlite3_value_text(argv[0]);
200384 int argc, const char *const*argv,
200530 const char *z;
200663 const char *zRoot = p->zRoot;
200697 const struct sqlite3_index_constraint *pConstraint;
200750 int idxNum, const char *idxStr,
200754 const char *z;
200755 const char *zRoot = 0;
200762 z = (const char*)sqlite3_value_text(argv[0]);
200783 const char *zErr = 0;
200784 zRoot = (const char*)sqlite3_value_text(argv[1]);
200930 static const struct {
200931 const char *zName;
201011 SQLITE_PRIVATE int sqlite3GetToken(const unsigned char*,int*); /* In the SQLite core */
201918 sqlite3 *, void *, int, const char *const*, sqlite3_vtab **, char **, int
201927 int argc, const char *const*argv,
201940 int argc, const char *const*argv,
202347 const RtreeSearchPoint *pA,
202348 const RtreeSearchPoint *pB
202489 static void traceQueue(RtreeCursor *pCur, const char *zPrefix){
202780 int idxNum, const char *idxStr,
204142 const char *zCol = sqlite3_column_name(pStmt, 0);
204147 const char *zCol1 = sqlite3_column_name(pStmt, iCol);
204148 const char *zCol2 = sqlite3_column_name(pStmt, iCol+1);
204333 static int rtreeRename(sqlite3_vtab *pVtab, const char *zNewName){
204382 const char *zFmt = "SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'";
204415 static int rtreeShadowName(const char *zName){
204416 static const char *azName[] = {
204456 const char *zDb,
204457 const char *zPrefix,
204463 static const char *azSql[N_STATEMENT] = {
204480 const int f = SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_NO_VTAB;
204526 const char *zFormat;
204586 static int getIntFromStmt(sqlite3 *db, const char *zSql, int *piVal){
204659 static int rtreeTokenLength(const char *z){
204661 return sqlite3GetToken((const unsigned char*)z,&dummy);
204676 int argc, const char *const*argv, /* Parameters to CREATE TABLE statement */
204691 const char *aErrMsg[] = {
204732 const char *zArg = argv[ii];
204739 static const char *azFormat[] = {",%.*s REAL", ",%.*s INT"};
204886 const char *zDb; /* Database containing rtree table */
204887 const char *zTab; /* Name of rtree table */
204920 const char *zFmt, ... /* Format string and trailing args */
204947 static void rtreeCheckAppendMsg(RtreeCheck *pCheck, const char *zFmt, ...){
204995 const u8 *pNode = (const u8*)sqlite3_column_blob(pCheck->pGetNode, 0);
205033 const char *azSql[2] = {
205186 static void rtreeCheckCount(RtreeCheck *pCheck, const char *zTbl, i64 nExpect){
205212 const char *zDb, /* Name of db ("main", "temp" etc.) */
205213 const char *zTab, /* Name of rtree table to check */
205329 const char *zDb = (const char*)sqlite3_value_text(apArg[0]);
205330 const char *zTab;
205335 zTab = (const char*)sqlite3_value_text(apArg[1]);
205399 static const char geopolyIsSpace[] = {
205487 const unsigned char *z; /* Unparsed input */
205515 const unsigned char *z = p->z;
205553 (void)sqlite3AtoF((const char*)p->z, &r, j, SQLITE_UTF8);
205556 *pVal = (GeoCoord)atof((const char*)p->z);
205571 static GeoPoly *geopolyParseJson(const unsigned char *z, int *pRc){
205659 const unsigned char *a = sqlite3_value_blob(pVal);
205690 const unsigned char *zJson = sqlite3_value_text(pVal);
205774 const char *z = (const char*)sqlite3_value_text(argv[i]);
206574 int argc, const char *const*argv, /* Parameters to CREATE TABLE statement */
206658 int argc, const char *const*argv,
206671 int argc, const char *const*argv,
206694 const char *idxStr, /* Not Used */
207070 const char *zName,
207117 static const struct {
207121 const char *zName;
207136 static const struct {
207139 const char *zName;
207176 const int utf8 = SQLITE_UTF8;
207286 const char *zGeom, /* Name of the new SQL function */
207310 const char *zQueryFunc, /* Name of new SQL function */
207339 const sqlite3_api_routines *pApi
207408 const char *zName, /* Name of ICU function that failed */
207439 static const unsigned char icuUtf8Trans1[] = {
207472 const uint8_t *zPattern, /* LIKE pattern */
207473 const uint8_t *zString, /* The UTF-8 string to compare against */
207474 const UChar32 uEsc /* The escape character */
207476 static const uint32_t MATCH_ONE = (uint32_t)'_';
207477 static const uint32_t MATCH_ALL = (uint32_t)'%';
207564 const unsigned char *zA = sqlite3_value_text(argv[0]);
207565 const unsigned char *zB = sqlite3_value_text(argv[1]);
207582 const unsigned char *zE = sqlite3_value_text(argv[2]);
207630 const UChar *zString = sqlite3_value_text16(apArg[1]);
207643 const UChar *zPattern = sqlite3_value_text16(apArg[0]);
207711 const UChar *zInput; /* Pointer to input string */
207718 const char *zLocale = 0;
207723 zLocale = (const char *)sqlite3_value_text(apArg[1]);
207782 const void *zLeft,
207784 const void *zRight
207818 const char *zLocale; /* Locale identifier - (eg. "jp_JP") */
207819 const char *zName; /* SQL Collation sequence name (eg. "japanese") */
207825 zLocale = (const char *)sqlite3_value_text(apArg[0]);
207826 zName = (const char *)sqlite3_value_text(apArg[1]);
207853 static const struct IcuScalar {
207854 const char *zName; /* Function name */
207879 const struct IcuScalar *p = &scalars[i];
207897 const sqlite3_api_routines *pApi
207961 const char * const *argv, /* Tokenizer creation arguments */
208003 const char *zInput, /* Input string */
208010 const int32_t opt = U_FOLD_CASE_DEFAULT;
208086 const char **ppToken, /* OUT: *ppToken is the token text */
208149 static const sqlite3_tokenizer_module icuTokenizerModule = {
208163 sqlite3_tokenizer_module const**ppModule
208575 const char *zTarget,
208576 const char *zRbu,
208577 const char *zState
208618 const char *zTarget,
208619 const char *zState
208834 int (*xRename)(void *pArg, const char *zOld, const char *zNew)
208880 SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent);
208890 SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName);
209047 const char *zSpan;
209086 const char *zTbl; /* Name of target db table */
209087 const char *zDataTbl; /* Name of rbu db table (or null) */
209088 const char *zIdx; /* Name of target db index (or null) */
209200 const char *zVfsName; /* Name of automatically created rbu vfs */
209206 int (*xRename)(void*, const char*, const char*);
209267 const char *zWal; /* Wal filename for this main db file */
209296 static unsigned int rbuDeltaGetInt(const char **pz, int *pLen){
209297 static const signed char zValue[] = {
209324 static unsigned int rbuDeltaChecksum(const char *zIn, size_t N){
209325 const unsigned char *z = (const unsigned char *)zIn;
209378 const char *zSrc, /* The source or pattern file */
209380 const char *zDelta, /* Delta to apply to the pattern */
209463 static int rbuDeltaOutputSize(const char *zDelta, int lenDelta){
209490 const char *aDelta;
209492 const char *aOrig;
209502 aOrig = (const char*)sqlite3_value_blob(argv[0]);
209504 aDelta = (const char*)sqlite3_value_blob(argv[1]);
209542 const char *zSql
209698 pIter->zTbl = (const char*)sqlite3_column_text(pIter->pTblIter, 0);
209699 pIter->zDataTbl = (const char*)sqlite3_column_text(pIter->pTblIter,1);
209714 pIter->zIdx = (const char*)sqlite3_column_text(pIter->pIdxIter, 0);
209759 const char *zIn;
209762 zIn = (const char*)sqlite3_value_text(argv[0]);
209824 static char *rbuMPrintf(sqlite3rbu *p, const char *zFmt, ...){
209849 static int rbuMPrintfExec(sqlite3rbu *p, sqlite3 *db, const char *zFmt, ...){
209921 static char *rbuStrndup(const char *zStr, int *pRc){
209996 const char *zTab,
210036 const u8 *zOrig = sqlite3_column_text(aStmt[1], 3);
210037 const u8 *zIdx = sqlite3_column_text(aStmt[1], 1);
210093 const char *zIdx = (const char*)sqlite3_column_text(pList, 1);
210169 const char *zName = (const char*)sqlite3_column_name(pStmt, i);
210202 const char *zName = (const char*)sqlite3_column_text(pStmt, 1);
210215 const char *zType = (const char*)sqlite3_column_text(pStmt, 2);
210249 const char *zSep = "";
210252 const char *z = pIter->azTblCol[i];
210268 const char *zPre, /* Before each quoted column name */
210269 const char *zSeparator, /* Separator to use between columns */
210270 const char *zPost /* After each quoted column name */
210274 const char *zSep = "";
210279 const char *zCol = pIter->azTblCol[i];
210314 const char *zWrite /* Target table name prefix */
210342 const char *zVal = (const char*)sqlite3_column_text(pMax, 0);
210387 const char *zSep = "";
210396 const char *zCollate = (const char*)sqlite3_column_text(pXInfo, 4);
210397 const char *zCol;
210442 const char *zQuoted = (const char*)sqlite3_column_text(pSel, iCol);
210507 const char *zCom = ""; /* Set to ", " later on */
210508 const char *zAnd = ""; /* Set to " AND " later on */
210521 const char *zCollate = (const char*)sqlite3_column_text(pXInfo, 4);
210522 const char *zCol = 0;
210523 const char *zType;
210554 const char *zOrder = (bDesc ? " DESC" : "");
210607 const char *zObj
210611 const char *zS = "";
210615 const char *zCol = pIter->azTblCol[i];
210653 const char *zSep = "";
210666 const char *zSep = "";
210670 const char *zCol = pIter->azTblCol[i];
210712 const char *zMask
210721 const char *zSep = "";
210794 const char *zSep = "PRIMARY KEY(";
210802 const char *zOrig = (const char*)sqlite3_column_text(pXList,3);
210804 const char *zIdx = (const char*)sqlite3_column_text(pXList,1);
210818 const char *zCol = (const char*)sqlite3_column_text(pXInfo, 2);
210819 const char *zDesc = sqlite3_column_int(pXInfo, 3) ? " DESC" : "";
210853 const char *zIdx = 0; /* Name of PK index */
210855 const char *zComma = "";
210868 zIdx = (const char*)sqlite3_column_text(pQuery, 0);
210883 const char *zCollate = (const char*)sqlite3_column_text(pXInfo, 4);
210926 const char *zComma = "";
210932 const char *zPk = "";
210933 const char *zCol = pIter->azTblCol[iCol];
210934 const char *zColl = 0;
210982 const char *zCollist,
210983 const char *zRbuRowid
211134 const int tnum = pIter->iTnum;
211137 const char *zIdx = pIter->zIdx;
211146 const char *zTbl = pIter->zTbl;
211247 const char *zTbl = pIter->zTbl; /* Table this step applies to */
211248 const char *zWrite; /* Imposter table name */
211285 const char *zRbuRowid = "";
211334 const char *zRbuRowid = "";
211397 const char *zMask, /* rbu_control value ('x.x.') */
211444 const char *zPrefix = "";
211464 const char *zName,
211469 const int flags = SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_URI;
211594 const char *zFile = sqlite3_db_filename(p->dbRbu, "main");
211763 static void rbuFileSuffix3(const char *zBase, char *z){
211898 const u32 mReq = (1<<WAL_LOCK_WRITE)|(1<<WAL_LOCK_CKPT)|(1<<WAL_LOCK_READ0);
211978 const char *zUri = sqlite3_db_filename(db, 0);
211983 static LPWSTR rbuWinUtf8ToUnicode(const char *zFilename){
212014 const char *zBase = sqlite3_db_filename(p->dbMain, "main");
212015 const char *zMove = zBase;
212093 static int rbuStepType(sqlite3rbu *p, const char **pzMask){
212111 const unsigned char *z = sqlite3_column_text(p->objiter.pSelect, iCol);
212115 *pzMask = (const char*)z;
212136 static void assertColumnName(sqlite3_stmt *pStmt, int iCol, const char *zName){
212137 const char *zCol = sqlite3_column_name(pStmt, iCol);
212234 const char *zMask = 0;
212389 static void rbuCopyPragma(sqlite3rbu *p, const char *zPragma){
212424 const char *zSql = (const char*)sqlite3_column_text(pSql, 0);
212590 static int rbuStrCompare(const char *z1, const char *z2){
212779 const char *zTarget,
212780 const char *zRbu,
212781 const char *zState
212957 const char *zTarget,
212958 const char *zRbu,
212959 const char *zState
212969 const char *zTarget,
212970 const char *zState
213090 const int MAX_PROGRESS = 10000;
213176 const char *zBegin = rbuIsVacuum(p) ? "BEGIN" : "BEGIN IMMEDIATE";
213189 static int xDefaultRename(void *pArg, const char *zOld, const char *zNew){
213223 int (*xRename)(void *pArg, const char *zOld, const char *zNew)
213370 static rbu_file *rbuFindMaindb(rbu_vfs *pRbuVfs, const char *zWal, int bRbu){
213512 const void *zBuf,
213835 const char *zName,
213864 const char *zOpen = zName;
213931 static int rbuVfsDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){
213942 const char *zPath,
213990 const char *zPath,
214002 static void *rbuVfsDlOpen(sqlite3_vfs *pVfs, const char *zPath){
214023 const char *zSym
214075 SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName){
214089 SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent){
214143 pNew->base.zName = (const char*)(zSpace = (char*)&pNew[1]);
214252 static const char zDbstatSchema[] =
214343 int argc, const char *const*argv,
214738 const u8 *a = sqlite3PagerGetData(pDbPage);
214918 int idxNum, const char *idxStr,
214927 const char *zName = 0; /* Only provide analysis of this table */
214934 const char *zDbase = (const char*)sqlite3_value_text(argv[iArg++]);
214946 zName = (const char*)sqlite3_value_text(argv[iArg++]);
215156 int argc, const char *const*argv,
215306 int idxNum, const char *idxStr,
215320 const char *zSchema;
215322 zSchema = (const char*)sqlite3_value_text(argv[0]);
215404 const char *zSchema;
215423 zSchema = (const char*)sqlite3_value_text(argv[4]);
215444 const void *pData = sqlite3_value_blob(argv[3]);
215566 int (*xTableFilter)(void *pCtx, const char *zTab);
215640 const char **azCol; /* Column names */
216005 static unsigned int sessionHashAppendBlob(unsigned int h, int n, const u8 *z){
216068 const u8 *z;
216071 z = (const u8 *)sqlite3_value_text(pVal);
216073 z = (const u8 *)sqlite3_value_blob(pVal);
216413 const u8 *z;
216510 const char *zDb, /* Name of attached database (e.g. "main") */
216511 const char *zThis, /* Table name */
216513 const char **pzTab, /* OUT: Copy of zThis */
216514 const char ***pazCol, /* OUT: Array of column names for table */
216578 nByte += nDbCol * (sizeof(const char *) + sizeof(u8) + 1);
216598 const unsigned char *zName = sqlite3_column_text(pStmt, 1);
216614 *pazCol = (const char **)azCol;
216966 const char *zName,
217008 char const *zDb, /* Database name */
217009 char const *zName, /* Table name */
217113 const char *zDb1, const char *zDb2,
217114 const char *zTab,
217115 const char **azCol, u8 *abPK
217118 const char *zSep = "";
217136 const char *zDb1, const char *zDb2,
217137 const char *zTab,
217138 const char **azCol, u8 *abPK
217141 const char *zSep = "";
217167 const char *zDb1, /* Pick rows in this db only */
217168 const char *zDb2, /* But not in this one */
217169 const char *zTbl, /* Table name */
217170 const char *zExpr
217185 const char *zDb1,
217186 const char *zDb2,
217215 const char *zFrom,
217216 const char *zExpr
217254 const char *zFrom,
217255 const char *zTbl,
217258 const char *zDb = pSession->zDb;
217286 const char **azCol = 0;
217349 const char *zDb, /* Name of db (e.g. "main") */
217443 int(*xFilter)(void*, const char*),
217461 const char *zName /* Table name */
217605 const u8 *aBlob,
217625 const char *zStr,
217664 const char *zStr, /* String to quote, escape and append */
217670 const char *zIn = zStr;
217906 const char *zDb, /* Database name */
217907 const char *zTab, /* Table name */
217909 const char **azCol, /* Names of table columns */
217925 const char *zSep = "";
218058 int (*xOutput)(void *pOut, const void *pData, int nData),
218088 const char *zName = pTab->zName;
218091 const char **azCol = 0; /* Table columns */
218204 int (*xOutput)(void *pOut, const void *pData, int nData),
218216 int (*xOutput)(void *pOut, const void *pData, int nData),
218920 const char **pzTab, /* OUT: Pointer to table name */
219081 int (*xOutput)(void *pOut, const void *pData, int nData),
219240 const void *pChangeset, /* Input changeset */
219260 int (*xOutput)(void *pOut, const void *pData, int nData),
219291 const char **azCol; /* Array of column names */
219379 const char *zSep = "";
219484 const char *zTab, /* Table name */
219488 const char *zSep = "";
219549 const char *zTab, /* Table name */
219567 const char *zTab, /* Table name */
219595 static int sessionPrepare(sqlite3 *db, sqlite3_stmt **pp, const char *zSql){
219719 const char *zDummy; /* Unused */
219756 const char *zTab = pIter->zTab;
219831 const char *zDummy;
219925 const char *zDummy;
220110 const char *zTab,
220168 const char *zTab /* Table name */
220181 const char *zTab = 0; /* Name of current table */
220202 const char *zNew;
220242 sApply.azCol = (const char **)zTab;
220367 const char *zTab /* Table name */
220400 const char *zTab /* Table name */
220425 const char *zTab /* Table name */
220452 const char *zTab /* Table name */
220673 const char *zNew;
220787 int (*xOutput)(void *pOut, const void *pData, int nData),
220901 int (*xOutput)(void *pOut, const void *pData, int nData),
220954 int (*xOutput)(void *pOut, const void *pData, int nData),
221108 int (*xOutput)(void *pOut, const void *pData, int nData),
221125 const char *zTab = pIter->zTab;
221256 int nRebase, const void *pRebase
221273 int nIn, const void *pIn,
221294 int (*xOutput)(void *pOut, const void *pData, int nData),
221395 const Fts5ExtensionApi *pApi, /* API offered by current FTS version */
221403 const unsigned char *a;
221404 const unsigned char *b;
221628 const char *pText, int nText, /* Text to tokenize */
221630 int (*xToken)(void*, int, const char*, int, int, int) /* Callback */
221640 int (*xColumnText)(Fts5Context*, int iCol, const char **pz, int *pn);
221644 int(*)(const Fts5ExtensionApi*,Fts5Context*,void*)
221855 int (*xCreate)(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut);
221860 const char *pText, int nText,
221864 const char *pToken, /* Pointer to buffer containing token */
221896 const char *zName,
221905 const char *zName,
221913 const char *zName,
222164 Fts5Global*, sqlite3*, int, const char **, Fts5Config**, char**
222173 const char *pText, int nText, /* Text to tokenize */
222175 int (*xToken)(void*, int, const char*, int, int, int) /* Callback */
222184 static int sqlite3Fts5ConfigSetValue(Fts5Config*, const char*, sqlite3_value*, int*);
222186 static int sqlite3Fts5ConfigParseRank(const char*, char**, char**);
222208 static void sqlite3Fts5BufferAppendBlob(int*, Fts5Buffer*, u32, const u8*);
222209 static void sqlite3Fts5BufferAppendString(int *, Fts5Buffer*, const char*);
222212 static void sqlite3Fts5BufferSet(int*, Fts5Buffer*, int, const u8*);
222215 static char *sqlite3Fts5Mprintf(int *pRc, const char *zFmt, ...);
222230 static int sqlite3Fts5Get32(const u8*);
222238 const u8 *a; /* Position list to iterate through */
222249 const u8 *a, int n, /* Poslist buffer to iterate through */
222262 const u8 *a, int n, /* Buffer containing poslist */
222269 static char *sqlite3Fts5Strndup(int *pRc, const char *pIn, int nIn);
222278 static int sqlite3Fts5TermsetAdd(Fts5Termset*, int, const char*, int, int *pbPresent);
222295 const u8 *pData;
222330 const char *pTerm,
222340 const char *p,
222351 const char *pToken, int nToken, /* Token (or prefix) to query for */
222377 static const char *sqlite3Fts5IterTerm(Fts5IndexIter*, int*);
222398 const char *pToken, int nToken /* Token to add or remove to or from index */
222429 static int sqlite3Fts5IndexSetAverages(Fts5Index *p, const u8*, int);
222464 static int sqlite3Fts5GetVarint32(const unsigned char *p, u32 *v);
222466 static u8 sqlite3Fts5GetVarint(const unsigned char*, u64*);
222502 const char **azArg,
222533 const char *pToken, int nToken /* Token to add or remove to or from index */
222544 const char *pTerm, int nTerm, /* Query term */
222551 const char *pTerm, int nTerm /* Query prefix */
222556 const char **pzTerm, /* OUT: term (nul-terminated) */
222557 const u8 **ppDoclist, /* OUT: pointer to doclist */
222579 static int sqlite3Fts5StorageRename(Fts5Storage*, const char *zName);
222582 static int sqlite3Fts5CreateTable(Fts5Config*, const char*, const char*, int, char **);
222601 Fts5Storage *p, const char*, sqlite3_value*, int
222626 const char *p; /* Token text (not NULL terminated) */
222635 const char *zExpr,
222643 const char *zText,
222669 static int sqlite3Fts5ExprPoslist(Fts5Expr*, int, const u8 **);
222674 Fts5Config*, Fts5Expr*, Fts5PoslistPopulator*, int, const char*, int
222680 static int sqlite3Fts5ExprPhraseCollist(Fts5Expr *, int, const u8 **, int *);
222687 static void sqlite3Fts5ParseError(Fts5Parse *pParse, const char *zFmt, ...);
222755 int (*xCreate)(void*, const char**, int, Fts5Tokenizer**),
222779 static int sqlite3Fts5UnicodeCatParse(const char*, u8*);
223040 static const fts5YYACTIONTYPE fts5yy_action[] = {
223053 static const fts5YYCODETYPE fts5yy_lookahead[] = {
223071 static const unsigned char fts5yy_shift_ofst[] = {
223080 static const signed char fts5yy_reduce_ofst[] = {
223084 static const fts5YYACTIONTYPE fts5yy_default[] = {
223107 static const fts5YYCODETYPE fts5yyFallback[] = {
223195 static const char *const fts5yyTokenName[] = {
223229 static const char *const fts5yyRuleName[] = {
223638 static void fts5yyTraceShift(fts5yyParser *fts5yypParser, int fts5yyNewState, const char *zTag){
223699 static const fts5YYCODETYPE fts5yyRuleInfoLhs[] = {
223732 static const signed char fts5yyRuleInfoNRhs[] = {
224321 const Fts5ExtensionApi *pApi; /* API offered by current FTS version */
224368 const Fts5ExtensionApi *pApi,
224399 const char *zOpen; /* Opening highlight */
224400 const char *zClose; /* Closing highlight */
224401 const char *zIn; /* Input text */
224419 const char *z, int n
224434 const char *pToken, /* Buffer containing token */
224486 const Fts5ExtensionApi *pApi, /* API offered by current FTS version */
224497 const char *zErr = "wrong number of arguments to function highlight()";
224504 ctx.zOpen = (const char*)sqlite3_value_text(apVal[1]);
224505 ctx.zClose = (const char*)sqlite3_value_text(apVal[2]);
224519 sqlite3_result_text(pCtx, (const char*)ctx.zOut, -1, SQLITE_TRANSIENT);
224540 const char *zDoc; /* Document being tokenized */
224570 const char *pToken, /* Buffer containing token */
224601 const Fts5ExtensionApi *pApi, /* API offered by current FTS version */
224649 static const char *fts5ValueToText(sqlite3_value *pVal){
224650 const char *zRet = (const char*)sqlite3_value_text(pVal);
224658 const Fts5ExtensionApi *pApi, /* API offered by current FTS version */
224667 const char *zEllips; /* 4th argument to snippet() */
224681 const char *zErr = "wrong number of arguments to function snippet()";
224800 sqlite3_result_text(pCtx, (const char*)ctx.zOut, -1, SQLITE_TRANSIENT);
224828 const Fts5ExtensionApi *pApi,
224844 const Fts5ExtensionApi *pApi,
224917 const Fts5ExtensionApi *pApi, /* API offered by current FTS version */
224923 const double k1 = 1.2; /* Constant "k1" from BM25 formula */
224924 const double b = 0.75; /* Constant "b" from BM25 formula */
224974 const char *zFunc; /* Function name (nul-terminated) */
225051 static int sqlite3Fts5Get32(const u8 *aBuf){
225064 const u8 *pData
225081 const char *zStr
225084 sqlite3Fts5BufferAppendBlob(pRc, pBuf, nStr+1, (const u8*)zStr);
225117 static char *sqlite3Fts5Mprintf(int *pRc, const char *zFmt, ...){
225157 const u8 *pData
225164 const u8 *a, int n, /* Buffer containing poslist */
225214 const u8 *a, int n, /* Poslist buffer to iterate through */
225236 static const i64 colmask = ((i64)(0x7FFFFFFF)) << 32;
225279 static char *sqlite3Fts5Strndup(int *pRc, const char *pIn, int nIn){
225346 const char *pTerm, int nTerm,
225447 static const char *fts5ConfigSkipWhitespace(const char *pIn){
225448 const char *p = pIn;
225460 static const char *fts5ConfigSkipBareword(const char *pIn){
225461 const char *p = pIn;
225473 static const char *fts5ConfigSkipLiteral(const char *pIn){
225474 const char *p = pIn;
225606 const char *zName;
225612 const Fts5Enum *aEnum,
225613 const char *zEnum,
225643 const char *zCmd, /* Special command to parse */
225644 const char *zArg, /* Argument to parse */
225650 const int nByte = sizeof(int) * FTS5_MAX_PREFIX_INDEXES;
225651 const char *p;
225703 const char *p = (const char*)zArg;
225715 const char *p2 = fts5ConfigSkipWhitespace(p);
225734 (const char**)azArg, (int)nArg, pConfig,
225782 const Fts5Enum aDetail[] = {
225824 static const char *fts5ConfigGobbleWord(
225826 const char *zIn, /* Buffer to gobble string/bareword from */
225830 const char *zRet = 0;
225929 const char **azArg, /* Array of nArg CREATE VIRTUAL TABLE args */
225960 const char *zOrig = azArg[i];
225961 const char *z;
226013 const char *zTail = 0;
226083 const char *zSep = (i==0?"":", ");
226106 ** const char *pToken // Pointer to buffer containing token
226125 const char *pText, int nText, /* Text to tokenize */
226127 int (*xToken)(void*, int, const char*, int, int, int) /* Callback */
226141 static const char *fts5ConfigSkipArgs(const char *pIn){
226142 const char *p = pIn;
226169 const char *zIn, /* Input string */
226173 const char *p = zIn;
226174 const char *pRank;
226202 const char *pArgs;
226229 const char *zKey,
226299 const char *zIn = (const char*)sqlite3_value_text(pVal);
226322 const char *zSelect = "SELECT k, v FROM %Q.'%q_config'";
226344 const char *zK = (const char*)sqlite3_column_text(p, 0);
226506 static void sqlite3Fts5ParseError(Fts5Parse *pParse, const char *zFmt, ...){
226526 const char **pz, /* IN/OUT: Pointer into buffer */
226529 const char *z = *pz;
226551 const char *z2;
226569 const char *z2;
226595 const char *zExpr, /* Expression text */
226601 const char *z = zExpr;
226640 const int nByte = sizeof(Fts5ExprNode);
226673 Fts5Config *pConfig, int bGlob, int iCol, const char *zText, Fts5Expr **pp
226998 const u8 *a; /* Buffer containing position list */
227016 const u8 *a, int n, /* Buffer to read position list from */
227411 const int bDesc = pExpr->bDesc;
227965 const int SZALLOC = 8;
228035 const char *pToken, /* Buffer containing token */
228041 const int SZALLOC = 8;
228237 const char *zTerm = p->zTerm;
228821 static char *fts5PrintfAppend(char *zApp, const char *zFmt, ...){
228844 const char *zNearsetCmd,
228895 char const *zOp = 0;
228976 char const *zOp = 0;
229020 const char *zExpr = 0;
229026 const char **azConfig; /* Array of arguments for Fts5Config */
229027 const char *zNearsetCmd = "nearset";
229042 zNearsetCmd = (const char*)sqlite3_value_text(apVal[1]);
229047 azConfig = (const char**)sqlite3_malloc64(sizeof(char*) * nConfig);
229056 const char *z = (const char*)sqlite3_value_text(apVal[iArg]);
229060 zExpr = (const char*)sqlite3_value_text(apVal[0]);
229164 const char *z;
229214 static int sqlite3Fts5ExprPoslist(Fts5Expr *pExpr, int iPhrase, const u8 **pa){
229286 const char *pToken, /* Pointer to buffer containing token */
229323 const char *z, int n
229413 const u8 **ppCollist,
229584 static unsigned int fts5HashKey(int nSlot, const u8 *p, int n){
229593 static unsigned int fts5HashKey2(int nSlot, u8 b, const u8 *p, int n){
229691 const char *pToken, int nToken /* Token to add or remove to or from index */
229702 iHash = fts5HashKey2(pHash->nSlot, (u8)bByte, (const u8*)pToken, nToken);
229724 iHash = fts5HashKey2(pHash->nSlot, (u8)bByte, (const u8*)pToken, nToken);
229886 const char *pTerm, int nTerm, /* Query prefix, if any */
229889 const int nMergeSlot = 32;
229934 const char *pTerm, int nTerm, /* Query term */
229938 unsigned int iHash = fts5HashKey(pHash->nSlot, (const u8*)pTerm, nTerm);
229971 const char *pTerm, int nTerm /* Query prefix */
229987 const char **pzTerm, /* OUT: term (nul-terminated) */
229988 const u8 **ppDoclist, /* OUT: pointer to doclist */
229997 *ppDoclist = (const u8*)&zKey[nTerm+1];
230565 static u16 fts5GetU16(const u8 *aIn){
230590 const u8 *pRight, int nRight /* Right hand side of comparison */
230751 static void fts5DataWrite(Fts5Index *p, i64 iRowid, const u8 *pData, int nData){
230898 const u8 *pData, /* Buffer containing serialized structure */
231222 static void fts5PrintStructure(const char *zCaption, Fts5Structure *pStruct){
231625 static int fts5GetPoslistSize(const u8 *p, int *pnSz, int *pbDel){
231998 const u8 *pList = 0;
231999 const char *zTerm = 0;
232072 const u8 *pList = 0;
232073 const char *zTerm = 0;
232291 const u8 *pTerm, int nTerm /* Term to search for */
232294 const u8 *a = pIter->pLeaf->p;
232434 const u8 *pTerm, int nTerm, /* Term to seek to */
232517 const u8 *pTerm, int nTerm, /* Term to seek to */
232522 const u8 *z = 0;
232530 const u8 *pList = 0;
232532 p->rc = sqlite3Fts5HashScanInit(p->pHash, (const char*)pTerm, nTerm);
232533 sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
232534 n = (z ? (int)strlen((const char*)z) : 0);
232543 (const char*)pTerm, nTerm, (void**)&pLeaf, &nList
233014 const u8 *pChunk, int nChunk
233052 const u8 *pChunk, int nChunk
233075 const u8 *pChunk, int nChunk
233128 void (*xChunk)(Fts5Index*, void*, const u8*, int)
233222 const u8 *pPos, int nPos, /* Position list */
233226 const u8 *p = pPos;
233227 const u8 *aCopy = p;
233228 const u8 *pEnd = &p[nPos]; /* One byte past end of position list */
233392 const u8 *a = &pSeg->pLeaf->p[pSeg->iLeafOffset];
233456 const u8 *pTerm, int nTerm, /* Term to seek to (or NULL/0) */
233637 static const u8 *fts5MultiIterTerm(Fts5Iter *pIter, int *pn){
233724 static int fts5PrefixCompress(int nOld, const u8 *pOld, const u8 *pNew){
233816 const char *z = (pWriter->btterm.n>0?(const char*)pWriter->btterm.p:"");
233840 int nTerm, const u8 *pTerm /* First term on new page */
233944 static const u8 zero[] = { 0x00, 0x00, 0x00, 0x00 };
233992 int nTerm, const u8 *pTerm
234108 const u8 *aData,
234112 const u8 *a = aData;
234172 const int nBuffer = p->pConfig->pgsz + FTS5_DATA_PADDING;
234283 const u8 *pChunk, int nChunk
234309 const int flags = FTS5INDEX_QUERY_NOOUTPUT;
234362 const u8 *pTerm;
234526 const int nCrisis = p->pConfig->nCrisisMerge;
234557 static int fts5PoslistPrefix(const u8 *aBuf, int nMax){
234591 const int pgsz = p->pConfig->pgsz;
234614 const char *zTerm; /* Buffer containing term */
234615 const u8 *pDoclist; /* Pointer to doclist for this term */
234620 fts5WriteAppendTerm(p, &writer, (int)strlen(zTerm), (const u8*)zTerm);
234675 const u8 *pPoslist = &pDoclist[iOff];
235235 const int flags = FTS5INDEX_QUERY_SCAN
235248 const int f2 = FTS5INDEX_QUERY_SKIPEMPTY|FTS5INDEX_QUERY_NOOUTPUT;
235275 const u8 *pTerm = pSeg->term.p;
235397 fts5DataWrite(p, FTS5_AVERAGES_ROWID, (const u8*)"", 0);
235474 const char *p,
235500 static int fts5IndexCharlen(const char *pIn, int nIn){
235526 const char *pToken, int nToken /* Token to add or remove to or from index */
235541 const int nChar = pConfig->aPrefix[i];
235560 const char *pToken, int nToken, /* Token (or prefix) to query for */
235689 static const char *sqlite3Fts5IterTerm(Fts5IndexIter *pIndexIter, int *pn){
235691 const char *z = (const char*)fts5MultiIterTerm((Fts5Iter*)pIndexIter, &n);
235739 static int sqlite3Fts5IndexSetAverages(Fts5Index *p, const u8 *pData, int nData){
235802 const char *pTerm,
235862 const char *z, /* Index key to query for */
235903 static int fts5TestUtf8(const char *z, int n){
235937 const char *z, int n, /* Possibly new term to test */
235943 fts5BufferSet(&rc, pPrev, n, (const u8*)z);
235947 const char *zTerm = (const char*)&pPrev->p[1]; /* term sans prefix-byte */
235992 fts5BufferSet(&rc, pPrev, n, (const u8*)z);
236109 const char *zIdxTerm = (const char*)sqlite3_column_blob(pStmt, 1);
236244 const int flags = FTS5INDEX_QUERY_NOOUTPUT;
236295 fts5BufferAppendBlob(&p->rc, &poslist, 4, (const u8*)"\0\0\0\0");
236402 const u8 *pBlob, int nBlob
236429 const u8 *pBlob, int nBlob
236432 const char *zSpace = "";
236451 static int fts5DecodePoslist(int *pRc, Fts5Buffer *pBuf, const u8 *a, int n){
236471 static int fts5DecodeDoclist(int *pRc, Fts5Buffer *pBuf, const u8 *a, int n){
236514 const u8 *pData, int nData /* Data to decode list-of-rowids from */
236520 const char *zApp = "";
236551 const u8 *aBlob; int n; /* Record to decode */
236625 &rc, &s, " term=%.*s", term.n, (const char*)term.p
236659 sqlite3Fts5BufferSet(&rc, &s, 7, (const u8*)"corrupt");
236732 &rc, &s, " term=%.*s", term.n, (const char*)term.p
236743 sqlite3_result_text(pCtx, (const char*)s.p, s.n, SQLITE_TRANSIENT);
236760 const char *zArg;
236764 zArg = (const char*)sqlite3_value_text(apVal[0]);
236970 const u8 *aPoslist; /* Position lists for current row */
237189 const char * const *argv, /* xCreate/xConnect argument array */
237194 const char **azConfig = (const char**)argv;
237254 const char * const *argv, /* xCreate/xConnect argument array */
237264 const char * const *argv, /* xCreate/xConnect argument array */
237378 const int nCol = pConfig->nCol;
237637 const u8 *a;
237638 const u8 *aBlob;
237782 const char *zFmt,
237818 const char *zRank = pCsr->zRank;
237819 const char *zRankArgs = pCsr->zRankArgs;
237880 const char *zQuery
237883 const char *z = zQuery; /* Special query text */
237912 static Fts5Auxiliary *fts5FindAuxiliary(Fts5FullTable *pTab, const char *zName){
237929 const char *zRank = pCsr->zRank;
237930 const char *zRankArgs = pCsr->zRankArgs;
237982 const char *z = (const char*)sqlite3_value_text(pRank);
238036 const char *idxStr, /* Unused */
238086 const char *zText = (const char*)sqlite3_value_text(apVal[i]);
238115 const char *zText = (const char*)sqlite3_value_text(apVal[i]);
238322 static void fts5SetVtabError(Fts5FullTable *p, const char *zFormat, ...){
238347 const char *zCmd, /* Text inserted into table-name column */
238474 const char *z = (const char*)sqlite3_value_text(apVal[2+pConfig->nCol]);
238613 static int fts5CsrPoslist(Fts5Cursor*, int, const u8**, int*);
238643 const char *pText, int nText,
238645 int (*xToken)(void*, int, const char*, int, int, int)
238667 const char **pz,
238680 *pz = (const char*)sqlite3_column_text(pCsr->pStmt, iCol+1);
238690 const u8 **pa,
238705 int n; const char *z;
238758 const u8 *a;
238859 const char *pUnused, /* Buffer containing token */
238894 const char *z; int n;
239099 int(*)(const Fts5ExtensionApi*, Fts5Context*, void*)
239102 static const Fts5ExtensionApi sFts5Api = {
239132 int(*xCallback)(const Fts5ExtensionApi*, Fts5Context*, void*)
239254 const u8 *dummy;
239261 const u8 *pPoslist;
239272 const u8 *dummy;
239280 const u8 *pPoslist;
239355 const char *zName, /* Name of SQL function */
239379 const char *zName /* New name of table */
239430 const char *zName, /* Name of new function */
239469 const char *zName, /* Name of new function */
239504 const char *zName
239525 const char *zName, /* Name of new function */
239546 const char **azArg,
239631 static int fts5ShadowName(const char *zName){
239632 static const char *azName[] = {
239643 static const sqlite3_module fts5Mod = {
239731 const sqlite3_api_routines *pApi
239744 const sqlite3_api_routines *pApi
239827 const char *azStmt[] = {
239915 const char *zFormat,
239967 const char *zTail, /* Tail of table name e.g. "data", "config" */
239968 const char *zName /* New name of FTS5 table */
239978 static int sqlite3Fts5StorageRename(Fts5Storage *pStorage, const char *zName){
240000 const char *zPost, /* Shadow table to create (e.g. "content") */
240001 const char *zDefn, /* Columns etc. for shadow table */
240127 const char *pToken, /* Buffer containing token */
240173 const char *zText;
240178 zText = (const char*)sqlite3_column_text(pSeek, iCol);
240181 zText = (const char*)sqlite3_value_text(apVal[iCol-1]);
240382 const char *zText = (const char*)sqlite3_column_text(pScan, ctx.iCol+1);
240508 const char *zText = (const char*)sqlite3_value_text(apVal[ctx.iCol+2]);
240531 static int fts5StorageCount(Fts5Storage *p, const char *zSuffix, i64 *pnRow){
240576 const char *pToken, /* Buffer containing token */
240622 const int nChar = pCtx->pConfig->aPrefix[ii];
240686 const char *zText = (const char*)sqlite3_column_text(pScan, i+1);
240794 const u8 *aBlob, int nBlob /* Record to read varints from */
240825 const u8 *aBlob = sqlite3_column_blob(pLookup, 0);
240898 const char *z,
240967 const char *zArg,
240990 const char **azArg, int nArg,
241007 const char *zArg = azArg[i+1];
241029 static void asciiFold(char *aOut, const char *aIn, int nByte){
241045 const char *pText, int nText,
241046 int (*xToken)(void*, int, const char*, int nToken, int iStart, int iEnd)
241110 static const unsigned char sqlite3Utf8Trans1[] = {
241175 const char *z, /* Characters to treat as exceptions */
241187 const unsigned char *zCsr = (const unsigned char*)z;
241188 const unsigned char *zTerm = (const unsigned char*)&z[n];
241257 static int unicodeSetCategories(Unicode61Tokenizer *p, const char *zCat){
241258 const char *z = zCat;
241277 const char **azArg, int nArg,
241290 const char *zCat = "L* N* Co";
241313 const char *zArg = azArg[i+1];
241366 const char *pText, int nText,
241367 int (*xToken)(void*, int, const char*, int nToken, int iStart, int iEnd)
241379 const char *pEnd = &aFold[nFold-6];
241499 const char **azArg, int nArg,
241506 const char *zBase = "unicode61";
241521 const char **azArg2 = (nArg2 ? &azArg[1] : 0);
241536 int (*xToken)(void*, int, const char*, int, int, int);
241542 const char *zSuffix;
241545 const char *zOutput;
242102 const char *pToken,
242172 const char *pText, int nText,
242173 int (*xToken)(void*, int, const char*, int nToken, int iStart, int iEnd)
242205 const char **azArg,
242218 const char *zArg = azArg[i+1];
242245 const char *pText, int nText,
242246 int (*xToken)(void*, int, const char*, int, int, int)
242251 const unsigned char *zIn = (const unsigned char*)pText;
242252 const unsigned char *zEof = &zIn[nText];
242258 int iStart = zIn - (const unsigned char*)pText;
242259 const unsigned char *zNext;
242302 int (*xCreate)(void*, const char**, int, Fts5Tokenizer**),
242317 const char *zName;
242475 static const struct TableEntry {
242536 static const unsigned short aiOff[] = {
242556 const struct TableEntry *p;
242593 static int sqlite3Fts5UnicodeCatParse(const char *zCat, u8 *aArray){
243143 static int sqlite3Fts5GetVarint32(const unsigned char *p, u32 *v){
243221 static u8 sqlite3Fts5GetVarint(const unsigned char *p, u64 *v){
243568 static int fts5VocabTableType(const char *zType, char **pzErr, int *peType){
243637 const char * const *argv, /* xCreate/xConnect argument array */
243641 const char *azSchema[] = {
243658 const char *zDb = bDb ? argv[3] : argv[1];
243659 const char *zTab = bDb ? argv[4] : argv[3];
243660 const char *zType = bDb ? argv[5] : argv[4];
243699 const char * const *argv, /* xCreate/xConnect argument array */
243709 const char * const *argv, /* xCreate/xConnect argument array */
243889 const char *zTerm;
243900 sqlite3Fts5BufferSet(&rc, &pCsr->term, nTerm, (const u8*)zTerm);
243961 const char *zTerm;
243975 sqlite3Fts5BufferSet(&rc, &pCsr->term, nTerm, (const u8*)zTerm);
243983 const u8 *pPos; int nPos; /* Position list */
244068 const char *zUnused, /* Unused */
244079 const char *zTerm = 0;
244094 zTerm = (const char *)sqlite3_value_text(pEq);
244099 zTerm = (const char *)sqlite3_value_text(pGe);
244103 const char *zCopy = (const char *)sqlite3_value_text(pLe);
244156 pCtx, (const char*)pCsr->term.p, pCsr->term.n, SQLITE_TRANSIENT
244162 const char *z = pCsr->pFts5->pConfig->azCol[pCsr->iCol];
244191 const char *z = pCsr->pFts5->pConfig->azCol[ii];
244226 static const sqlite3_module fts5Vocab = {
244341 int argc, const char *const*argv,
244473 int idxNum, const char *idxStr,
244484 const char *zSql = sqlite3_sql(p);
244589 const sqlite3_api_routines *pApi
244603 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
244727 CODEC_STATIC void *opensslGetCipher(const char *cipherName){
244735 CODEC_STATIC const char *opensslGetCipherName(void *cipher){
244838 PKCS5_PBKDF2_HMAC((const char *)(password->buffer), password->bufferSize, salt->buffer, salt->bufferSize,
244841 PKCS5_PBKDF2_HMAC((const char *)(password->buffer), password->bufferSize, salt->buffer, salt->bufferSize,
244844 PKCS5_PBKDF2_HMAC((const char *)(password->buffer), password->bufferSize, salt->buffer, salt->bufferSize,
244860 CODEC_STATIC int sqlite3CodecIsHex(const unsigned char *buffer, int bufferSize){
244912 CODEC_STATIC int sqlite3CodecIsKeyInfoFormat(const unsigned char *input, int inputSize){
245131 CODEC_STATIC int sqlite3CodecSetCodecConstant(KeyContext *keyCtx, const char *cipherName){
245173 const char *cipherName;
245181 CODEC_STATIC void sqlite3CodecSetDefaultAttachCipher(const char *cipherName){
245194 CODEC_STATIC const char *sqlite3CodecGetDefaultAttachCipher(){
245195 const char *attachedCipher = CIPHER_NAME_AES_256_GCM;
245262 CODEC_STATIC int sqlite3CodecSetPassword(KeyContext *keyCtx, const void *zKey, int nKey){
245341 CODEC_STATIC int sqlite3CodecInitKeyContext(CodecContext *ctx, Btree *p, const void *zKey, int nKey, int attachFlag,
245344 CODEC_STATIC int sqlite3CodecInitKeyContext(CodecContext *ctx, Btree *p, const void *zKey, int nKey){
245411 CODEC_STATIC int sqlite3CodecInitContext(CodecContext *ctx, Btree *p, const void *zKey, int nKey, int nDb){
245414 CODEC_STATIC int sqlite3CodecInitContext(CodecContext *ctx, Btree *p, const void *zKey, int nKey){
245463 CODEC_STATIC int sqlite3CodecGetDbIndex(sqlite3 *db, const char *zDb){
245469 const char *zDbSName = db->aDb[nDbIndex].zDbSName;
245713 int sqlite3CodecAttach(sqlite3* db, int nDb, const void *pKey, int nKey){
245778 int sqlite3_key(sqlite3 *db, const void *pKey, int nKey){
245782 int sqlite3_key_v2(sqlite3 *db, const char *zDb, const void *pKey, int nKey){
245790 int sqlite3_rekey(sqlite3 *db, const void *pKey, int nKey){
245794 int sqlite3_rekey_v2(sqlite3 *db, const char *zDb, const void *pKey, int nKey){
245858 void sqlite3_activate_see(const char* zPassPhrase){
245862 CODEC_STATIC void sqlite3CodecReturnPragmaResult(Parse *parse, const char *label, const char *value){
245872 int sqlite3CodecPragma(sqlite3 *db, int iDb, Parse *parse, const char *zLeft, const char *zRight){
246056 CODEC_STATIC int sqlite3CodecExportMetadata(sqlite3 *db, const char *dbName, const char *metaName){
246084 CODEC_STATIC int sqlite3CodecBatchExportSql(sqlite3 *db, const char *sql, char **errMsg){
246103 const char *dbName = (const char*) sqlite3_value_text(argv[0]);
246227 const char *lock_type[DB_LOCK_NUM] = {"F_RDLCK", "F_WRLCK", "F_UNLCK"};
246237 const off_t start_list[DB_LOCK_NUM] = {PENDING_BYTE, RESERVED_BYTE, SHARED_FIRST};
246238 const off_t len_list[DB_LOCK_NUM] = {1, 1, SHARED_SIZE};
246239 const char *lock_name_list[DB_LOCK_NUM] = {"pending lock ", "reserved lock", "shared lock "};
246329 int (*key)(sqlite3*,const void*,int);
246330 int (*key_v2)(sqlite3*,const char*,const void*,int);
246331 int (*rekey)(sqlite3*,const void*,int);
246332 int (*rekey_v2)(sqlite3*,const char*,const void*,int);
246336 static const sqlite3_api_routines_hw sqlite3HwApis = {
246352 EXPORT_SYMBOLS const sqlite3_api_routines *sqlite3_export_symbols = &sqlite3Apis;
246353 EXPORT_SYMBOLS const sqlite3_api_routines_hw *sqlite3_export_hw_symbols = &sqlite3HwApis;