49 # define SQLITE_EXTERN extern 57 #ifndef SQLITE_APICALL 58 # define SQLITE_APICALL 60 #ifndef SQLITE_STDCALL 61 # define SQLITE_STDCALL SQLITE_APICALL 63 #ifndef SQLITE_CALLBACK 64 # define SQLITE_CALLBACK 67 # define SQLITE_SYSAPI 83 #define SQLITE_DEPRECATED 84 #define SQLITE_EXPERIMENTAL 90 # undef SQLITE_VERSION 92 #ifdef SQLITE_VERSION_NUMBER 93 # undef SQLITE_VERSION_NUMBER 124 #define SQLITE_VERSION "3.20.0" 125 #define SQLITE_VERSION_NUMBER 3020000 126 #define SQLITE_SOURCE_ID "2017-08-01 13:24:15 9501e22dfeebdcefa783575e47c60b514d7c2e0cad73b2a496c0bc4b680900a8" 158 SQLITE_API SQLITE_EXTERN
const char sqlite3_version[];
159 SQLITE_API
const char *sqlite3_libversion(
void);
160 SQLITE_API
const char *sqlite3_sourceid(
void);
161 SQLITE_API
int sqlite3_libversion_number(
void);
185 #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS 186 SQLITE_API
int sqlite3_compileoption_used(
const char *zOptName);
187 SQLITE_API
const char *sqlite3_compileoption_get(
int N);
226 SQLITE_API
int sqlite3_threadsafe(
void);
242 typedef struct sqlite3 sqlite3;
260 #ifdef SQLITE_INT64_TYPE 261 typedef SQLITE_INT64_TYPE sqlite_int64;
262 # ifdef SQLITE_UINT64_TYPE 263 typedef SQLITE_UINT64_TYPE sqlite_uint64;
265 typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;
267 #elif defined(_MSC_VER) || defined(__BORLANDC__) 268 typedef __int64 sqlite_int64;
269 typedef unsigned __int64 sqlite_uint64;
271 typedef long long int sqlite_int64;
272 typedef unsigned long long int sqlite_uint64;
274 typedef sqlite_int64 sqlite3_int64;
275 typedef sqlite_uint64 sqlite3_uint64;
281 #ifdef SQLITE_OMIT_FLOATING_POINT 282 # define double sqlite3_int64 327 SQLITE_API
int sqlite3_close(sqlite3*);
328 SQLITE_API
int sqlite3_close_v2(sqlite3*);
335 typedef int (*sqlite3_callback)(
void*,int,
char**,
char**);
399 SQLITE_API
int sqlite3_exec(
402 int (*callback)(
void*,
int,
char**,
char**),
420 #define SQLITE_ERROR 1 421 #define SQLITE_INTERNAL 2 422 #define SQLITE_PERM 3 423 #define SQLITE_ABORT 4 424 #define SQLITE_BUSY 5 425 #define SQLITE_LOCKED 6 426 #define SQLITE_NOMEM 7 427 #define SQLITE_READONLY 8 428 #define SQLITE_INTERRUPT 9 429 #define SQLITE_IOERR 10 430 #define SQLITE_CORRUPT 11 431 #define SQLITE_NOTFOUND 12 432 #define SQLITE_FULL 13 433 #define SQLITE_CANTOPEN 14 434 #define SQLITE_PROTOCOL 15 435 #define SQLITE_EMPTY 16 436 #define SQLITE_SCHEMA 17 437 #define SQLITE_TOOBIG 18 438 #define SQLITE_CONSTRAINT 19 439 #define SQLITE_MISMATCH 20 440 #define SQLITE_MISUSE 21 441 #define SQLITE_NOLFS 22 442 #define SQLITE_AUTH 23 443 #define SQLITE_FORMAT 24 444 #define SQLITE_RANGE 25 445 #define SQLITE_NOTADB 26 446 #define SQLITE_NOTICE 27 447 #define SQLITE_WARNING 28 448 #define SQLITE_ROW 100 449 #define SQLITE_DONE 101 469 #define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) 470 #define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) 471 #define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) 472 #define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8)) 473 #define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8)) 474 #define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8)) 475 #define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8)) 476 #define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8)) 477 #define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8)) 478 #define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8)) 479 #define SQLITE_IOERR_BLOCKED (SQLITE_IOERR | (11<<8)) 480 #define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8)) 481 #define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8)) 482 #define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8)) 483 #define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) 484 #define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) 485 #define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) 486 #define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) 487 #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) 488 #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) 489 #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) 490 #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) 491 #define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8)) 492 #define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8)) 493 #define SQLITE_IOERR_GETTEMPPATH (SQLITE_IOERR | (25<<8)) 494 #define SQLITE_IOERR_CONVPATH (SQLITE_IOERR | (26<<8)) 495 #define SQLITE_IOERR_VNODE (SQLITE_IOERR | (27<<8)) 496 #define SQLITE_IOERR_AUTH (SQLITE_IOERR | (28<<8)) 497 #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) 498 #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) 499 #define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) 500 #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) 501 #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) 502 #define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8)) 503 #define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8)) 504 #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) 505 #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) 506 #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) 507 #define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8)) 508 #define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8)) 509 #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) 510 #define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8)) 511 #define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8)) 512 #define SQLITE_CONSTRAINT_FOREIGNKEY (SQLITE_CONSTRAINT | (3<<8)) 513 #define SQLITE_CONSTRAINT_FUNCTION (SQLITE_CONSTRAINT | (4<<8)) 514 #define SQLITE_CONSTRAINT_NOTNULL (SQLITE_CONSTRAINT | (5<<8)) 515 #define SQLITE_CONSTRAINT_PRIMARYKEY (SQLITE_CONSTRAINT | (6<<8)) 516 #define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8)) 517 #define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8)) 518 #define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8)) 519 #define SQLITE_CONSTRAINT_ROWID (SQLITE_CONSTRAINT |(10<<8)) 520 #define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8)) 521 #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) 522 #define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) 523 #define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) 524 #define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8)) 533 #define SQLITE_OPEN_READONLY 0x00000001 534 #define SQLITE_OPEN_READWRITE 0x00000002 535 #define SQLITE_OPEN_CREATE 0x00000004 536 #define SQLITE_OPEN_DELETEONCLOSE 0x00000008 537 #define SQLITE_OPEN_EXCLUSIVE 0x00000010 538 #define SQLITE_OPEN_AUTOPROXY 0x00000020 539 #define SQLITE_OPEN_URI 0x00000040 540 #define SQLITE_OPEN_MEMORY 0x00000080 541 #define SQLITE_OPEN_MAIN_DB 0x00000100 542 #define SQLITE_OPEN_TEMP_DB 0x00000200 543 #define SQLITE_OPEN_TRANSIENT_DB 0x00000400 544 #define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 545 #define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 546 #define SQLITE_OPEN_SUBJOURNAL 0x00002000 547 #define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 548 #define SQLITE_OPEN_NOMUTEX 0x00008000 549 #define SQLITE_OPEN_FULLMUTEX 0x00010000 550 #define SQLITE_OPEN_SHAREDCACHE 0x00020000 551 #define SQLITE_OPEN_PRIVATECACHE 0x00040000 552 #define SQLITE_OPEN_WAL 0x00080000 584 #define SQLITE_IOCAP_ATOMIC 0x00000001 585 #define SQLITE_IOCAP_ATOMIC512 0x00000002 586 #define SQLITE_IOCAP_ATOMIC1K 0x00000004 587 #define SQLITE_IOCAP_ATOMIC2K 0x00000008 588 #define SQLITE_IOCAP_ATOMIC4K 0x00000010 589 #define SQLITE_IOCAP_ATOMIC8K 0x00000020 590 #define SQLITE_IOCAP_ATOMIC16K 0x00000040 591 #define SQLITE_IOCAP_ATOMIC32K 0x00000080 592 #define SQLITE_IOCAP_ATOMIC64K 0x00000100 593 #define SQLITE_IOCAP_SAFE_APPEND 0x00000200 594 #define SQLITE_IOCAP_SEQUENTIAL 0x00000400 595 #define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 596 #define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000 597 #define SQLITE_IOCAP_IMMUTABLE 0x00002000 606 #define SQLITE_LOCK_NONE 0 607 #define SQLITE_LOCK_SHARED 1 608 #define SQLITE_LOCK_RESERVED 2 609 #define SQLITE_LOCK_PENDING 3 610 #define SQLITE_LOCK_EXCLUSIVE 4 638 #define SQLITE_SYNC_NORMAL 0x00002 639 #define SQLITE_SYNC_FULL 0x00003 640 #define SQLITE_SYNC_DATAONLY 0x00010 653 typedef struct sqlite3_file sqlite3_file;
654 struct sqlite3_file {
655 const struct sqlite3_io_methods *pMethods;
751 typedef struct sqlite3_io_methods sqlite3_io_methods;
752 struct sqlite3_io_methods {
754 int (*xClose)(sqlite3_file*);
755 int (*xRead)(sqlite3_file*,
void*,
int iAmt, sqlite3_int64 iOfst);
756 int (*xWrite)(sqlite3_file*,
const void*,
int iAmt, sqlite3_int64 iOfst);
757 int (*xTruncate)(sqlite3_file*, sqlite3_int64 size);
758 int (*xSync)(sqlite3_file*,
int flags);
759 int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize);
760 int (*xLock)(sqlite3_file*, int);
761 int (*xUnlock)(sqlite3_file*, int);
762 int (*xCheckReservedLock)(sqlite3_file*,
int *pResOut);
763 int (*xFileControl)(sqlite3_file*,
int op,
void *pArg);
764 int (*xSectorSize)(sqlite3_file*);
765 int (*xDeviceCharacteristics)(sqlite3_file*);
767 int (*xShmMap)(sqlite3_file*,
int iPg,
int pgsz, int,
void volatile**);
768 int (*xShmLock)(sqlite3_file*,
int offset,
int n,
int flags);
769 void (*xShmBarrier)(sqlite3_file*);
770 int (*xShmUnmap)(sqlite3_file*,
int deleteFlag);
772 int (*xFetch)(sqlite3_file*, sqlite3_int64 iOfst,
int iAmt,
void **pp);
773 int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst,
void *p);
1017 #define SQLITE_FCNTL_LOCKSTATE 1 1018 #define SQLITE_FCNTL_GET_LOCKPROXYFILE 2 1019 #define SQLITE_FCNTL_SET_LOCKPROXYFILE 3 1020 #define SQLITE_FCNTL_LAST_ERRNO 4 1021 #define SQLITE_FCNTL_SIZE_HINT 5 1022 #define SQLITE_FCNTL_CHUNK_SIZE 6 1023 #define SQLITE_FCNTL_FILE_POINTER 7 1024 #define SQLITE_FCNTL_SYNC_OMITTED 8 1025 #define SQLITE_FCNTL_WIN32_AV_RETRY 9 1026 #define SQLITE_FCNTL_PERSIST_WAL 10 1027 #define SQLITE_FCNTL_OVERWRITE 11 1028 #define SQLITE_FCNTL_VFSNAME 12 1029 #define SQLITE_FCNTL_POWERSAFE_OVERWRITE 13 1030 #define SQLITE_FCNTL_PRAGMA 14 1031 #define SQLITE_FCNTL_BUSYHANDLER 15 1032 #define SQLITE_FCNTL_TEMPFILENAME 16 1033 #define SQLITE_FCNTL_MMAP_SIZE 18 1034 #define SQLITE_FCNTL_TRACE 19 1035 #define SQLITE_FCNTL_HAS_MOVED 20 1036 #define SQLITE_FCNTL_SYNC 21 1037 #define SQLITE_FCNTL_COMMIT_PHASETWO 22 1038 #define SQLITE_FCNTL_WIN32_SET_HANDLE 23 1039 #define SQLITE_FCNTL_WAL_BLOCK 24 1040 #define SQLITE_FCNTL_ZIPVFS 25 1041 #define SQLITE_FCNTL_RBU 26 1042 #define SQLITE_FCNTL_VFS_POINTER 27 1043 #define SQLITE_FCNTL_JOURNAL_POINTER 28 1044 #define SQLITE_FCNTL_WIN32_GET_HANDLE 29 1045 #define SQLITE_FCNTL_PDB 30 1048 #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE 1049 #define SQLITE_SET_LOCKPROXYFILE SQLITE_FCNTL_SET_LOCKPROXYFILE 1050 #define SQLITE_LAST_ERRNO SQLITE_FCNTL_LAST_ERRNO 1063 typedef struct sqlite3_mutex sqlite3_mutex;
1073 typedef struct sqlite3_api_routines sqlite3_api_routines;
1232 typedef struct sqlite3_vfs sqlite3_vfs;
1233 typedef void (*sqlite3_syscall_ptr)(void);
1234 struct sqlite3_vfs {
1241 int (*xOpen)(sqlite3_vfs*,
const char *zName, sqlite3_file*,
1242 int flags,
int *pOutFlags);
1243 int (*xDelete)(sqlite3_vfs*,
const char *zName,
int syncDir);
1244 int (*xAccess)(sqlite3_vfs*,
const char *zName,
int flags,
int *pResOut);
1245 int (*xFullPathname)(sqlite3_vfs*,
const char *zName,
int nOut,
char *zOut);
1246 void *(*xDlOpen)(sqlite3_vfs*,
const char *zFilename);
1247 void (*xDlError)(sqlite3_vfs*,
int nByte,
char *zErrMsg);
1248 void (*(*xDlSym)(sqlite3_vfs*,
void*,
const char *zSymbol))(void);
1249 void (*xDlClose)(sqlite3_vfs*,
void*);
1250 int (*xRandomness)(sqlite3_vfs*,
int nByte,
char *zOut);
1251 int (*xSleep)(sqlite3_vfs*,
int microseconds);
1252 int (*xCurrentTime)(sqlite3_vfs*,
double*);
1253 int (*xGetLastError)(sqlite3_vfs*, int,
char *);
1258 int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*);
1263 int (*xSetSystemCall)(sqlite3_vfs*,
const char *zName, sqlite3_syscall_ptr);
1264 sqlite3_syscall_ptr (*xGetSystemCall)(sqlite3_vfs*,
const char *zName);
1265 const char *(*xNextSystemCall)(sqlite3_vfs*,
const char *zName);
1293 #define SQLITE_ACCESS_EXISTS 0 1294 #define SQLITE_ACCESS_READWRITE 1 1295 #define SQLITE_ACCESS_READ 2 1319 #define SQLITE_SHM_UNLOCK 1 1320 #define SQLITE_SHM_LOCK 2 1321 #define SQLITE_SHM_SHARED 4 1322 #define SQLITE_SHM_EXCLUSIVE 8 1332 #define SQLITE_SHM_NLOCK 8 1410 SQLITE_API
int sqlite3_initialize(
void);
1411 SQLITE_API
int sqlite3_shutdown(
void);
1412 SQLITE_API
int sqlite3_os_init(
void);
1413 SQLITE_API
int sqlite3_os_end(
void);
1446 SQLITE_API
int sqlite3_config(
int, ...);
1465 SQLITE_API
int sqlite3_db_config(sqlite3*,
int op, ...);
1530 typedef struct sqlite3_mem_methods sqlite3_mem_methods;
1531 struct sqlite3_mem_methods {
1532 void *(*xMalloc)(int);
1533 void (*xFree)(
void*);
1534 void *(*xRealloc)(
void*,int);
1535 int (*xSize)(
void*);
1536 int (*xRoundup)(int);
1537 int (*xInit)(
void*);
1538 void (*xShutdown)(
void*);
1876 #define SQLITE_CONFIG_SINGLETHREAD 1 1877 #define SQLITE_CONFIG_MULTITHREAD 2 1878 #define SQLITE_CONFIG_SERIALIZED 3 1879 #define SQLITE_CONFIG_MALLOC 4 1880 #define SQLITE_CONFIG_GETMALLOC 5 1881 #define SQLITE_CONFIG_SCRATCH 6 1882 #define SQLITE_CONFIG_PAGECACHE 7 1883 #define SQLITE_CONFIG_HEAP 8 1884 #define SQLITE_CONFIG_MEMSTATUS 9 1885 #define SQLITE_CONFIG_MUTEX 10 1886 #define SQLITE_CONFIG_GETMUTEX 11 1888 #define SQLITE_CONFIG_LOOKASIDE 13 1889 #define SQLITE_CONFIG_PCACHE 14 1890 #define SQLITE_CONFIG_GETPCACHE 15 1891 #define SQLITE_CONFIG_LOG 16 1892 #define SQLITE_CONFIG_URI 17 1893 #define SQLITE_CONFIG_PCACHE2 18 1894 #define SQLITE_CONFIG_GETPCACHE2 19 1895 #define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 1896 #define SQLITE_CONFIG_SQLLOG 21 1897 #define SQLITE_CONFIG_MMAP_SIZE 22 1898 #define SQLITE_CONFIG_WIN32_HEAPSIZE 23 1899 #define SQLITE_CONFIG_PCACHE_HDRSZ 24 1900 #define SQLITE_CONFIG_PMASZ 25 1901 #define SQLITE_CONFIG_STMTJRNL_SPILL 26 2023 #define SQLITE_DBCONFIG_MAINDBNAME 1000 2024 #define SQLITE_DBCONFIG_LOOKASIDE 1001 2025 #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 2026 #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 2027 #define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 2028 #define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 2029 #define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 2030 #define SQLITE_DBCONFIG_ENABLE_QPSG 1007 2041 SQLITE_API
int sqlite3_extended_result_codes(sqlite3*,
int onoff);
2103 SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
2113 SQLITE_API
void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);
2166 SQLITE_API
int sqlite3_changes(sqlite3*);
2190 SQLITE_API
int sqlite3_total_changes(sqlite3*);
2227 SQLITE_API
void sqlite3_interrupt(sqlite3*);
2262 SQLITE_API
int sqlite3_complete(
const char *sql);
2263 SQLITE_API
int sqlite3_complete16(
const void *sql);
2324 SQLITE_API
int sqlite3_busy_handler(sqlite3*,
int(*)(
void*,
int),
void*);
2347 SQLITE_API
int sqlite3_busy_timeout(sqlite3*,
int ms);
2422 SQLITE_API
int sqlite3_get_table(
2430 SQLITE_API
void sqlite3_free_table(
char **result);
2536 SQLITE_API
char *sqlite3_mprintf(
const char*,...);
2537 SQLITE_API
char *sqlite3_vmprintf(
const char*, va_list);
2538 SQLITE_API
char *sqlite3_snprintf(
int,
char*,
const char*, ...);
2539 SQLITE_API
char *sqlite3_vsnprintf(
int,
char*,
const char*, va_list);
2629 SQLITE_API
void *sqlite3_malloc(
int);
2630 SQLITE_API
void *sqlite3_malloc64(sqlite3_uint64);
2631 SQLITE_API
void *sqlite3_realloc(
void*,
int);
2632 SQLITE_API
void *sqlite3_realloc64(
void*, sqlite3_uint64);
2633 SQLITE_API
void sqlite3_free(
void*);
2634 SQLITE_API sqlite3_uint64 sqlite3_msize(
void*);
2659 SQLITE_API sqlite3_int64 sqlite3_memory_used(
void);
2660 SQLITE_API sqlite3_int64 sqlite3_memory_highwater(
int resetFlag);
2683 SQLITE_API
void sqlite3_randomness(
int N,
void *P);
2774 SQLITE_API
int sqlite3_set_authorizer(
2776 int (*xAuth)(
void*,
int,
const char*,
const char*,
const char*,
const char*),
2792 #define SQLITE_DENY 1 2793 #define SQLITE_IGNORE 2 2815 #define SQLITE_CREATE_INDEX 1 2816 #define SQLITE_CREATE_TABLE 2 2817 #define SQLITE_CREATE_TEMP_INDEX 3 2818 #define SQLITE_CREATE_TEMP_TABLE 4 2819 #define SQLITE_CREATE_TEMP_TRIGGER 5 2820 #define SQLITE_CREATE_TEMP_VIEW 6 2821 #define SQLITE_CREATE_TRIGGER 7 2822 #define SQLITE_CREATE_VIEW 8 2823 #define SQLITE_DELETE 9 2824 #define SQLITE_DROP_INDEX 10 2825 #define SQLITE_DROP_TABLE 11 2826 #define SQLITE_DROP_TEMP_INDEX 12 2827 #define SQLITE_DROP_TEMP_TABLE 13 2828 #define SQLITE_DROP_TEMP_TRIGGER 14 2829 #define SQLITE_DROP_TEMP_VIEW 15 2830 #define SQLITE_DROP_TRIGGER 16 2831 #define SQLITE_DROP_VIEW 17 2832 #define SQLITE_INSERT 18 2833 #define SQLITE_PRAGMA 19 2834 #define SQLITE_READ 20 2835 #define SQLITE_SELECT 21 2836 #define SQLITE_TRANSACTION 22 2837 #define SQLITE_UPDATE 23 2838 #define SQLITE_ATTACH 24 2839 #define SQLITE_DETACH 25 2840 #define SQLITE_ALTER_TABLE 26 2841 #define SQLITE_REINDEX 27 2842 #define SQLITE_ANALYZE 28 2843 #define SQLITE_CREATE_VTABLE 29 2844 #define SQLITE_DROP_VTABLE 30 2845 #define SQLITE_FUNCTION 31 2846 #define SQLITE_SAVEPOINT 32 2847 #define SQLITE_COPY 0 2848 #define SQLITE_RECURSIVE 33 2882 SQLITE_API SQLITE_DEPRECATED
void *sqlite3_trace(sqlite3*,
2883 void(*xTrace)(
void*,
const char*),
void*);
2884 SQLITE_API SQLITE_DEPRECATED
void *sqlite3_profile(sqlite3*,
2885 void(*xProfile)(
void*,
const char*,sqlite3_uint64),
void*);
2939 #define SQLITE_TRACE_STMT 0x01 2940 #define SQLITE_TRACE_PROFILE 0x02 2941 #define SQLITE_TRACE_ROW 0x04 2942 #define SQLITE_TRACE_CLOSE 0x08 2973 SQLITE_API
int sqlite3_trace_v2(
2976 int(*xCallback)(
unsigned,
void*,
void*,
void*),
3012 SQLITE_API
void sqlite3_progress_handler(sqlite3*,
int,
int(*)(
void*),
void*);
3241 SQLITE_API
int sqlite3_open(
3242 const char *filename,
3245 SQLITE_API
int sqlite3_open16(
3246 const void *filename,
3249 SQLITE_API
int sqlite3_open_v2(
3250 const char *filename,
3295 SQLITE_API
const char *sqlite3_uri_parameter(
const char *zFilename,
const char *zParam);
3296 SQLITE_API
int sqlite3_uri_boolean(
const char *zFile,
const char *zParam,
int bDefault);
3297 SQLITE_API sqlite3_int64 sqlite3_uri_int64(
const char*,
const char*, sqlite3_int64);
3341 SQLITE_API
int sqlite3_errcode(sqlite3 *db);
3342 SQLITE_API
int sqlite3_extended_errcode(sqlite3 *db);
3343 SQLITE_API
const char *sqlite3_errmsg(sqlite3*);
3344 SQLITE_API
const void *sqlite3_errmsg16(sqlite3*);
3345 SQLITE_API
const char *sqlite3_errstr(
int);
3371 typedef struct sqlite3_stmt sqlite3_stmt;
3413 SQLITE_API
int sqlite3_limit(sqlite3*,
int id,
int newVal);
3471 #define SQLITE_LIMIT_LENGTH 0 3472 #define SQLITE_LIMIT_SQL_LENGTH 1 3473 #define SQLITE_LIMIT_COLUMN 2 3474 #define SQLITE_LIMIT_EXPR_DEPTH 3 3475 #define SQLITE_LIMIT_COMPOUND_SELECT 4 3476 #define SQLITE_LIMIT_VDBE_OP 5 3477 #define SQLITE_LIMIT_FUNCTION_ARG 6 3478 #define SQLITE_LIMIT_ATTACHED 7 3479 #define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 3480 #define SQLITE_LIMIT_VARIABLE_NUMBER 9 3481 #define SQLITE_LIMIT_TRIGGER_DEPTH 10 3482 #define SQLITE_LIMIT_WORKER_THREADS 11 3506 #define SQLITE_PREPARE_PERSISTENT 0x01 3608 SQLITE_API
int sqlite3_prepare(
3612 sqlite3_stmt **ppStmt,
3615 SQLITE_API
int sqlite3_prepare_v2(
3619 sqlite3_stmt **ppStmt,
3622 SQLITE_API
int sqlite3_prepare_v3(
3626 unsigned int prepFlags,
3627 sqlite3_stmt **ppStmt,
3630 SQLITE_API
int sqlite3_prepare16(
3634 sqlite3_stmt **ppStmt,
3637 SQLITE_API
int sqlite3_prepare16_v2(
3641 sqlite3_stmt **ppStmt,
3644 SQLITE_API
int sqlite3_prepare16_v3(
3648 unsigned int prepFlags,
3649 sqlite3_stmt **ppStmt,
3685 SQLITE_API
const char *sqlite3_sql(sqlite3_stmt *pStmt);
3686 SQLITE_API
char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);
3722 SQLITE_API
int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
3743 SQLITE_API
int sqlite3_stmt_busy(sqlite3_stmt*);
3784 typedef struct sqlite3_value sqlite3_value;
3798 typedef struct sqlite3_context sqlite3_context;
3916 SQLITE_API
int sqlite3_bind_blob(sqlite3_stmt*,
int,
const void*,
int n,
void(*)(
void*));
3917 SQLITE_API
int sqlite3_bind_blob64(sqlite3_stmt*,
int,
const void*, sqlite3_uint64,
3919 SQLITE_API
int sqlite3_bind_double(sqlite3_stmt*,
int,
double);
3920 SQLITE_API
int sqlite3_bind_int(sqlite3_stmt*,
int,
int);
3921 SQLITE_API
int sqlite3_bind_int64(sqlite3_stmt*,
int, sqlite3_int64);
3922 SQLITE_API
int sqlite3_bind_null(sqlite3_stmt*,
int);
3923 SQLITE_API
int sqlite3_bind_text(sqlite3_stmt*,
int,
const char*,
int,
void(*)(
void*));
3924 SQLITE_API
int sqlite3_bind_text16(sqlite3_stmt*,
int,
const void*,
int,
void(*)(
void*));
3925 SQLITE_API
int sqlite3_bind_text64(sqlite3_stmt*,
int,
const char*, sqlite3_uint64,
3926 void(*)(
void*),
unsigned char encoding);
3927 SQLITE_API
int sqlite3_bind_value(sqlite3_stmt*,
int,
const sqlite3_value*);
3928 SQLITE_API
int sqlite3_bind_pointer(sqlite3_stmt*,
int,
void*,
const char*,
void(*)(
void*));
3929 SQLITE_API
int sqlite3_bind_zeroblob(sqlite3_stmt*,
int,
int n);
3930 SQLITE_API
int sqlite3_bind_zeroblob64(sqlite3_stmt*,
int, sqlite3_uint64);
3951 SQLITE_API
int sqlite3_bind_parameter_count(sqlite3_stmt*);
3979 SQLITE_API
const char *sqlite3_bind_parameter_name(sqlite3_stmt*,
int);
3997 SQLITE_API
int sqlite3_bind_parameter_index(sqlite3_stmt*,
const char *zName);
4007 SQLITE_API
int sqlite3_clear_bindings(sqlite3_stmt*);
4023 SQLITE_API
int sqlite3_column_count(sqlite3_stmt *pStmt);
4052 SQLITE_API
const char *sqlite3_column_name(sqlite3_stmt*,
int N);
4053 SQLITE_API
const void *sqlite3_column_name16(sqlite3_stmt*,
int N);
4101 SQLITE_API
const char *sqlite3_column_database_name(sqlite3_stmt*,
int);
4102 SQLITE_API
const void *sqlite3_column_database_name16(sqlite3_stmt*,
int);
4103 SQLITE_API
const char *sqlite3_column_table_name(sqlite3_stmt*,
int);
4104 SQLITE_API
const void *sqlite3_column_table_name16(sqlite3_stmt*,
int);
4105 SQLITE_API
const char *sqlite3_column_origin_name(sqlite3_stmt*,
int);
4106 SQLITE_API
const void *sqlite3_column_origin_name16(sqlite3_stmt*,
int);
4138 SQLITE_API
const char *sqlite3_column_decltype(sqlite3_stmt*,
int);
4139 SQLITE_API
const void *sqlite3_column_decltype16(sqlite3_stmt*,
int);
4223 SQLITE_API
int sqlite3_step(sqlite3_stmt*);
4244 SQLITE_API
int sqlite3_data_count(sqlite3_stmt *pStmt);
4267 #define SQLITE_INTEGER 1 4268 #define SQLITE_FLOAT 2 4269 #define SQLITE_BLOB 4 4270 #define SQLITE_NULL 5 4274 # define SQLITE_TEXT 3 4276 #define SQLITE3_TEXT 3 4473 SQLITE_API
const void *sqlite3_column_blob(sqlite3_stmt*,
int iCol);
4474 SQLITE_API
double sqlite3_column_double(sqlite3_stmt*,
int iCol);
4475 SQLITE_API
int sqlite3_column_int(sqlite3_stmt*,
int iCol);
4476 SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*,
int iCol);
4477 SQLITE_API
const unsigned char *sqlite3_column_text(sqlite3_stmt*,
int iCol);
4478 SQLITE_API
const void *sqlite3_column_text16(sqlite3_stmt*,
int iCol);
4479 SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*,
int iCol);
4480 SQLITE_API
int sqlite3_column_bytes(sqlite3_stmt*,
int iCol);
4481 SQLITE_API
int sqlite3_column_bytes16(sqlite3_stmt*,
int iCol);
4482 SQLITE_API
int sqlite3_column_type(sqlite3_stmt*,
int iCol);
4510 SQLITE_API
int sqlite3_finalize(sqlite3_stmt *pStmt);
4537 SQLITE_API
int sqlite3_reset(sqlite3_stmt *pStmt);
4637 SQLITE_API
int sqlite3_create_function(
4639 const char *zFunctionName,
4643 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
4644 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
4645 void (*xFinal)(sqlite3_context*)
4647 SQLITE_API
int sqlite3_create_function16(
4649 const void *zFunctionName,
4653 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
4654 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
4655 void (*xFinal)(sqlite3_context*)
4657 SQLITE_API
int sqlite3_create_function_v2(
4659 const char *zFunctionName,
4663 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
4664 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
4665 void (*xFinal)(sqlite3_context*),
4666 void(*xDestroy)(
void*)
4675 #define SQLITE_UTF8 1 4676 #define SQLITE_UTF16LE 2 4677 #define SQLITE_UTF16BE 3 4678 #define SQLITE_UTF16 4 4679 #define SQLITE_ANY 5 4680 #define SQLITE_UTF16_ALIGNED 8 4690 #define SQLITE_DETERMINISTIC 0x800 4702 #ifndef SQLITE_OMIT_DEPRECATED 4703 SQLITE_API SQLITE_DEPRECATED
int sqlite3_aggregate_count(sqlite3_context*);
4704 SQLITE_API SQLITE_DEPRECATED
int sqlite3_expired(sqlite3_stmt*);
4705 SQLITE_API SQLITE_DEPRECATED
int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
4706 SQLITE_API SQLITE_DEPRECATED
int sqlite3_global_recover(
void);
4707 SQLITE_API SQLITE_DEPRECATED
void sqlite3_thread_cleanup(
void);
4708 SQLITE_API SQLITE_DEPRECATED
int sqlite3_memory_alarm(
void(*)(
void*,sqlite3_int64,
int),
4709 void*,sqlite3_int64);
4795 SQLITE_API
const void *sqlite3_value_blob(sqlite3_value*);
4796 SQLITE_API
double sqlite3_value_double(sqlite3_value*);
4797 SQLITE_API
int sqlite3_value_int(sqlite3_value*);
4798 SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
4799 SQLITE_API
void *sqlite3_value_pointer(sqlite3_value*,
const char*);
4800 SQLITE_API
const unsigned char *sqlite3_value_text(sqlite3_value*);
4801 SQLITE_API
const void *sqlite3_value_text16(sqlite3_value*);
4802 SQLITE_API
const void *sqlite3_value_text16le(sqlite3_value*);
4803 SQLITE_API
const void *sqlite3_value_text16be(sqlite3_value*);
4804 SQLITE_API
int sqlite3_value_bytes(sqlite3_value*);
4805 SQLITE_API
int sqlite3_value_bytes16(sqlite3_value*);
4806 SQLITE_API
int sqlite3_value_type(sqlite3_value*);
4807 SQLITE_API
int sqlite3_value_numeric_type(sqlite3_value*);
4819 SQLITE_API
unsigned int sqlite3_value_subtype(sqlite3_value*);
4835 SQLITE_API sqlite3_value *sqlite3_value_dup(
const sqlite3_value*);
4836 SQLITE_API
void sqlite3_value_free(sqlite3_value*);
4881 SQLITE_API
void *sqlite3_aggregate_context(sqlite3_context*,
int nBytes);
4896 SQLITE_API
void *sqlite3_user_data(sqlite3_context*);
4908 SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
4967 SQLITE_API
void *sqlite3_get_auxdata(sqlite3_context*,
int N);
4968 SQLITE_API
void sqlite3_set_auxdata(sqlite3_context*,
int N,
void*,
void (*)(
void*));
4985 typedef void (*sqlite3_destructor_type)(
void*);
4986 #define SQLITE_STATIC ((sqlite3_destructor_type)0) 4987 #define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) 5115 SQLITE_API
void sqlite3_result_blob(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5116 SQLITE_API
void sqlite3_result_blob64(sqlite3_context*,
const void*,
5117 sqlite3_uint64,
void(*)(
void*));
5118 SQLITE_API
void sqlite3_result_double(sqlite3_context*,
double);
5119 SQLITE_API
void sqlite3_result_error(sqlite3_context*,
const char*,
int);
5120 SQLITE_API
void sqlite3_result_error16(sqlite3_context*,
const void*,
int);
5121 SQLITE_API
void sqlite3_result_error_toobig(sqlite3_context*);
5122 SQLITE_API
void sqlite3_result_error_nomem(sqlite3_context*);
5123 SQLITE_API
void sqlite3_result_error_code(sqlite3_context*,
int);
5124 SQLITE_API
void sqlite3_result_int(sqlite3_context*,
int);
5125 SQLITE_API
void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
5126 SQLITE_API
void sqlite3_result_null(sqlite3_context*);
5127 SQLITE_API
void sqlite3_result_text(sqlite3_context*,
const char*,
int,
void(*)(
void*));
5128 SQLITE_API
void sqlite3_result_text64(sqlite3_context*,
const char*,sqlite3_uint64,
5129 void(*)(
void*),
unsigned char encoding);
5130 SQLITE_API
void sqlite3_result_text16(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5131 SQLITE_API
void sqlite3_result_text16le(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5132 SQLITE_API
void sqlite3_result_text16be(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5133 SQLITE_API
void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
5134 SQLITE_API
void sqlite3_result_pointer(sqlite3_context*,
void*,
const char*,
void(*)(
void*));
5135 SQLITE_API
void sqlite3_result_zeroblob(sqlite3_context*,
int n);
5136 SQLITE_API
int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);
5151 SQLITE_API
void sqlite3_result_subtype(sqlite3_context*,
unsigned int);
5233 SQLITE_API
int sqlite3_create_collation(
5238 int(*xCompare)(
void*,
int,
const void*,
int,
const void*)
5240 SQLITE_API
int sqlite3_create_collation_v2(
5245 int(*xCompare)(
void*,
int,
const void*,
int,
const void*),
5246 void(*xDestroy)(
void*)
5248 SQLITE_API
int sqlite3_create_collation16(
5253 int(*xCompare)(
void*,
int,
const void*,
int,
const void*)
5283 SQLITE_API
int sqlite3_collation_needed(
5286 void(*)(
void*,sqlite3*,
int eTextRep,
const char*)
5288 SQLITE_API
int sqlite3_collation_needed16(
5291 void(*)(
void*,sqlite3*,
int eTextRep,
const void*)
5294 #ifdef SQLITE_HAS_CODEC 5302 SQLITE_API
int sqlite3_key(
5304 const void *pKey,
int nKey
5306 SQLITE_API
int sqlite3_key_v2(
5308 const char *zDbName,
5309 const void *pKey,
int nKey
5320 SQLITE_API
int sqlite3_rekey(
5322 const void *pKey,
int nKey
5324 SQLITE_API
int sqlite3_rekey_v2(
5326 const char *zDbName,
5327 const void *pKey,
int nKey
5334 SQLITE_API
void sqlite3_activate_see(
5335 const char *zPassPhrase
5339 #ifdef SQLITE_ENABLE_CEROD 5344 SQLITE_API
void sqlite3_activate_cerod(
5345 const char *zPassPhrase
5366 SQLITE_API
int sqlite3_sleep(
int);
5424 SQLITE_API SQLITE_EXTERN
char *sqlite3_temp_directory;
5461 SQLITE_API SQLITE_EXTERN
char *sqlite3_data_directory;
5485 SQLITE_API
int sqlite3_get_autocommit(sqlite3*);
5498 SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
5515 SQLITE_API
const char *sqlite3_db_filename(sqlite3 *db,
const char *zDbName);
5525 SQLITE_API
int sqlite3_db_readonly(sqlite3 *db,
const char *zDbName);
5541 SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
5590 SQLITE_API
void *sqlite3_commit_hook(sqlite3*,
int(*)(
void*),
void*);
5591 SQLITE_API
void *sqlite3_rollback_hook(sqlite3*,
void(*)(
void *),
void*);
5642 SQLITE_API
void *sqlite3_update_hook(
5644 void(*)(
void *,
int ,
char const *,
char const *,sqlite3_int64),
5683 SQLITE_API
int sqlite3_enable_shared_cache(
int);
5699 SQLITE_API
int sqlite3_release_memory(
int);
5713 SQLITE_API
int sqlite3_db_release_memory(sqlite3*);
5766 SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
5777 SQLITE_API SQLITE_DEPRECATED
void sqlite3_soft_heap_limit(
int N);
5849 SQLITE_API
int sqlite3_table_column_metadata(
5851 const char *zDbName,
5852 const char *zTableName,
5853 const char *zColumnName,
5854 char const **pzDataType,
5855 char const **pzCollSeq,
5905 SQLITE_API
int sqlite3_load_extension(
5937 SQLITE_API
int sqlite3_enable_load_extension(sqlite3 *db,
int onoff);
5975 SQLITE_API
int sqlite3_auto_extension(
void(*xEntryPoint)(
void));
5987 SQLITE_API
int sqlite3_cancel_auto_extension(
void(*xEntryPoint)(
void));
5995 SQLITE_API
void sqlite3_reset_auto_extension(
void);
6009 typedef struct sqlite3_vtab sqlite3_vtab;
6010 typedef struct sqlite3_index_info sqlite3_index_info;
6011 typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor;
6012 typedef struct sqlite3_module sqlite3_module;
6030 struct sqlite3_module {
6032 int (*xCreate)(sqlite3*,
void *pAux,
6033 int argc,
const char *
const*argv,
6034 sqlite3_vtab **ppVTab,
char**);
6035 int (*xConnect)(sqlite3*,
void *pAux,
6036 int argc,
const char *
const*argv,
6037 sqlite3_vtab **ppVTab,
char**);
6038 int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
6039 int (*xDisconnect)(sqlite3_vtab *pVTab);
6040 int (*xDestroy)(sqlite3_vtab *pVTab);
6041 int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
6042 int (*xClose)(sqlite3_vtab_cursor*);
6043 int (*xFilter)(sqlite3_vtab_cursor*,
int idxNum,
const char *idxStr,
6044 int argc, sqlite3_value **argv);
6045 int (*xNext)(sqlite3_vtab_cursor*);
6046 int (*xEof)(sqlite3_vtab_cursor*);
6047 int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int);
6048 int (*xRowid)(sqlite3_vtab_cursor*, sqlite3_int64 *pRowid);
6049 int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *);
6050 int (*xBegin)(sqlite3_vtab *pVTab);
6051 int (*xSync)(sqlite3_vtab *pVTab);
6052 int (*xCommit)(sqlite3_vtab *pVTab);
6053 int (*xRollback)(sqlite3_vtab *pVTab);
6054 int (*xFindFunction)(sqlite3_vtab *pVtab,
int nArg,
const char *zName,
6055 void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
6057 int (*xRename)(sqlite3_vtab *pVtab,
const char *zNew);
6060 int (*xSavepoint)(sqlite3_vtab *pVTab, int);
6061 int (*xRelease)(sqlite3_vtab *pVTab, int);
6062 int (*xRollbackTo)(sqlite3_vtab *pVTab, int);
6161 struct sqlite3_index_info {
6164 struct sqlite3_index_constraint {
6167 unsigned char usable;
6171 struct sqlite3_index_orderby {
6176 struct sqlite3_index_constraint_usage {
6179 } *aConstraintUsage;
6182 int needToFreeIdxStr;
6183 int orderByConsumed;
6184 double estimatedCost;
6186 sqlite3_int64 estimatedRows;
6190 sqlite3_uint64 colUsed;
6196 #define SQLITE_INDEX_SCAN_UNIQUE 1 6206 #define SQLITE_INDEX_CONSTRAINT_EQ 2 6207 #define SQLITE_INDEX_CONSTRAINT_GT 4 6208 #define SQLITE_INDEX_CONSTRAINT_LE 8 6209 #define SQLITE_INDEX_CONSTRAINT_LT 16 6210 #define SQLITE_INDEX_CONSTRAINT_GE 32 6211 #define SQLITE_INDEX_CONSTRAINT_MATCH 64 6212 #define SQLITE_INDEX_CONSTRAINT_LIKE 65 6213 #define SQLITE_INDEX_CONSTRAINT_GLOB 66 6214 #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 6242 SQLITE_API
int sqlite3_create_module(
6245 const sqlite3_module *p,
6248 SQLITE_API
int sqlite3_create_module_v2(
6251 const sqlite3_module *p,
6253 void(*xDestroy)(
void*)
6274 struct sqlite3_vtab {
6275 const sqlite3_module *pModule;
6298 struct sqlite3_vtab_cursor {
6299 sqlite3_vtab *pVtab;
6311 SQLITE_API
int sqlite3_declare_vtab(sqlite3*,
const char *zSQL);
6330 SQLITE_API
int sqlite3_overload_function(sqlite3*,
const char *zFuncName,
int nArg);
6354 typedef struct sqlite3_blob sqlite3_blob;
6439 SQLITE_API
int sqlite3_blob_open(
6443 const char *zColumn,
6446 sqlite3_blob **ppBlob
6472 SQLITE_API
int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
6495 SQLITE_API
int sqlite3_blob_close(sqlite3_blob *);
6511 SQLITE_API
int sqlite3_blob_bytes(sqlite3_blob *);
6540 SQLITE_API
int sqlite3_blob_read(sqlite3_blob *,
void *Z,
int N,
int iOffset);
6582 SQLITE_API
int sqlite3_blob_write(sqlite3_blob *,
const void *z,
int n,
int iOffset);
6613 SQLITE_API sqlite3_vfs *sqlite3_vfs_find(
const char *zVfsName);
6614 SQLITE_API
int sqlite3_vfs_register(sqlite3_vfs*,
int makeDflt);
6615 SQLITE_API
int sqlite3_vfs_unregister(sqlite3_vfs*);
6731 SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(
int);
6732 SQLITE_API
void sqlite3_mutex_free(sqlite3_mutex*);
6733 SQLITE_API
void sqlite3_mutex_enter(sqlite3_mutex*);
6734 SQLITE_API
int sqlite3_mutex_try(sqlite3_mutex*);
6735 SQLITE_API
void sqlite3_mutex_leave(sqlite3_mutex*);
6802 typedef struct sqlite3_mutex_methods sqlite3_mutex_methods;
6803 struct sqlite3_mutex_methods {
6804 int (*xMutexInit)(void);
6805 int (*xMutexEnd)(void);
6806 sqlite3_mutex *(*xMutexAlloc)(int);
6807 void (*xMutexFree)(sqlite3_mutex *);
6808 void (*xMutexEnter)(sqlite3_mutex *);
6809 int (*xMutexTry)(sqlite3_mutex *);
6810 void (*xMutexLeave)(sqlite3_mutex *);
6811 int (*xMutexHeld)(sqlite3_mutex *);
6812 int (*xMutexNotheld)(sqlite3_mutex *);
6845 SQLITE_API
int sqlite3_mutex_held(sqlite3_mutex*);
6846 SQLITE_API
int sqlite3_mutex_notheld(sqlite3_mutex*);
6859 #define SQLITE_MUTEX_FAST 0 6860 #define SQLITE_MUTEX_RECURSIVE 1 6861 #define SQLITE_MUTEX_STATIC_MASTER 2 6862 #define SQLITE_MUTEX_STATIC_MEM 3 6863 #define SQLITE_MUTEX_STATIC_MEM2 4 6864 #define SQLITE_MUTEX_STATIC_OPEN 4 6865 #define SQLITE_MUTEX_STATIC_PRNG 5 6866 #define SQLITE_MUTEX_STATIC_LRU 6 6867 #define SQLITE_MUTEX_STATIC_LRU2 7 6868 #define SQLITE_MUTEX_STATIC_PMEM 7 6869 #define SQLITE_MUTEX_STATIC_APP1 8 6870 #define SQLITE_MUTEX_STATIC_APP2 9 6871 #define SQLITE_MUTEX_STATIC_APP3 10 6872 #define SQLITE_MUTEX_STATIC_VFS1 11 6873 #define SQLITE_MUTEX_STATIC_VFS2 12 6874 #define SQLITE_MUTEX_STATIC_VFS3 13 6886 SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
6921 SQLITE_API
int sqlite3_file_control(sqlite3*,
const char *zDbName,
int op,
void*);
6940 SQLITE_API
int sqlite3_test_control(
int op, ...);
6953 #define SQLITE_TESTCTRL_FIRST 5 6954 #define SQLITE_TESTCTRL_PRNG_SAVE 5 6955 #define SQLITE_TESTCTRL_PRNG_RESTORE 6 6956 #define SQLITE_TESTCTRL_PRNG_RESET 7 6957 #define SQLITE_TESTCTRL_BITVEC_TEST 8 6958 #define SQLITE_TESTCTRL_FAULT_INSTALL 9 6959 #define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10 6960 #define SQLITE_TESTCTRL_PENDING_BYTE 11 6961 #define SQLITE_TESTCTRL_ASSERT 12 6962 #define SQLITE_TESTCTRL_ALWAYS 13 6963 #define SQLITE_TESTCTRL_RESERVE 14 6964 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 6965 #define SQLITE_TESTCTRL_ISKEYWORD 16 6966 #define SQLITE_TESTCTRL_SCRATCHMALLOC 17 6967 #define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 6968 #define SQLITE_TESTCTRL_EXPLAIN_STMT 19 6969 #define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD 19 6970 #define SQLITE_TESTCTRL_NEVER_CORRUPT 20 6971 #define SQLITE_TESTCTRL_VDBE_COVERAGE 21 6972 #define SQLITE_TESTCTRL_BYTEORDER 22 6973 #define SQLITE_TESTCTRL_ISINIT 23 6974 #define SQLITE_TESTCTRL_SORTER_MMAP 24 6975 #define SQLITE_TESTCTRL_IMPOSTER 25 6976 #define SQLITE_TESTCTRL_LAST 25 7004 SQLITE_API
int sqlite3_status(
int op,
int *pCurrent,
int *pHighwater,
int resetFlag);
7005 SQLITE_API
int sqlite3_status64(
7007 sqlite3_int64 *pCurrent,
7008 sqlite3_int64 *pHighwater,
7096 #define SQLITE_STATUS_MEMORY_USED 0 7097 #define SQLITE_STATUS_PAGECACHE_USED 1 7098 #define SQLITE_STATUS_PAGECACHE_OVERFLOW 2 7099 #define SQLITE_STATUS_SCRATCH_USED 3 7100 #define SQLITE_STATUS_SCRATCH_OVERFLOW 4 7101 #define SQLITE_STATUS_MALLOC_SIZE 5 7102 #define SQLITE_STATUS_PARSER_STACK 6 7103 #define SQLITE_STATUS_PAGECACHE_SIZE 7 7104 #define SQLITE_STATUS_SCRATCH_SIZE 8 7105 #define SQLITE_STATUS_MALLOC_COUNT 9 7130 SQLITE_API
int sqlite3_db_status(sqlite3*,
int op,
int *pCur,
int *pHiwtr,
int resetFlg);
7234 #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 7235 #define SQLITE_DBSTATUS_CACHE_USED 1 7236 #define SQLITE_DBSTATUS_SCHEMA_USED 2 7237 #define SQLITE_DBSTATUS_STMT_USED 3 7238 #define SQLITE_DBSTATUS_LOOKASIDE_HIT 4 7239 #define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5 7240 #define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6 7241 #define SQLITE_DBSTATUS_CACHE_HIT 7 7242 #define SQLITE_DBSTATUS_CACHE_MISS 8 7243 #define SQLITE_DBSTATUS_CACHE_WRITE 9 7244 #define SQLITE_DBSTATUS_DEFERRED_FKS 10 7245 #define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 7246 #define SQLITE_DBSTATUS_MAX 11 7273 SQLITE_API
int sqlite3_stmt_status(sqlite3_stmt*,
int op,
int resetFlg);
7330 #define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 7331 #define SQLITE_STMTSTATUS_SORT 2 7332 #define SQLITE_STMTSTATUS_AUTOINDEX 3 7333 #define SQLITE_STMTSTATUS_VM_STEP 4 7334 #define SQLITE_STMTSTATUS_REPREPARE 5 7335 #define SQLITE_STMTSTATUS_RUN 6 7336 #define SQLITE_STMTSTATUS_MEMUSED 99 7349 typedef struct sqlite3_pcache sqlite3_pcache;
7361 typedef struct sqlite3_pcache_page sqlite3_pcache_page;
7362 struct sqlite3_pcache_page {
7526 typedef struct sqlite3_pcache_methods2 sqlite3_pcache_methods2;
7527 struct sqlite3_pcache_methods2 {
7530 int (*xInit)(
void*);
7531 void (*xShutdown)(
void*);
7532 sqlite3_pcache *(*xCreate)(
int szPage,
int szExtra,
int bPurgeable);
7533 void (*xCachesize)(sqlite3_pcache*,
int nCachesize);
7534 int (*xPagecount)(sqlite3_pcache*);
7535 sqlite3_pcache_page *(*xFetch)(sqlite3_pcache*,
unsigned key,
int createFlag);
7536 void (*xUnpin)(sqlite3_pcache*, sqlite3_pcache_page*,
int discard);
7537 void (*xRekey)(sqlite3_pcache*, sqlite3_pcache_page*,
7538 unsigned oldKey,
unsigned newKey);
7539 void (*xTruncate)(sqlite3_pcache*,
unsigned iLimit);
7540 void (*xDestroy)(sqlite3_pcache*);
7541 void (*xShrink)(sqlite3_pcache*);
7549 typedef struct sqlite3_pcache_methods sqlite3_pcache_methods;
7550 struct sqlite3_pcache_methods {
7552 int (*xInit)(
void*);
7553 void (*xShutdown)(
void*);
7554 sqlite3_pcache *(*xCreate)(
int szPage,
int bPurgeable);
7555 void (*xCachesize)(sqlite3_pcache*,
int nCachesize);
7556 int (*xPagecount)(sqlite3_pcache*);
7557 void *(*xFetch)(sqlite3_pcache*,
unsigned key,
int createFlag);
7558 void (*xUnpin)(sqlite3_pcache*,
void*,
int discard);
7559 void (*xRekey)(sqlite3_pcache*,
void*,
unsigned oldKey,
unsigned newKey);
7560 void (*xTruncate)(sqlite3_pcache*,
unsigned iLimit);
7561 void (*xDestroy)(sqlite3_pcache*);
7575 typedef struct sqlite3_backup sqlite3_backup;
7763 SQLITE_API sqlite3_backup *sqlite3_backup_init(
7765 const char *zDestName,
7767 const char *zSourceName
7769 SQLITE_API
int sqlite3_backup_step(sqlite3_backup *p,
int nPage);
7770 SQLITE_API
int sqlite3_backup_finish(sqlite3_backup *p);
7771 SQLITE_API
int sqlite3_backup_remaining(sqlite3_backup *p);
7772 SQLITE_API
int sqlite3_backup_pagecount(sqlite3_backup *p);
7889 SQLITE_API
int sqlite3_unlock_notify(
7891 void (*xNotify)(
void **apArg,
int nArg),
7904 SQLITE_API
int sqlite3_stricmp(
const char *,
const char *);
7905 SQLITE_API
int sqlite3_strnicmp(
const char *,
const char *,
int);
7922 SQLITE_API
int sqlite3_strglob(
const char *zGlob,
const char *zStr);
7945 SQLITE_API
int sqlite3_strlike(
const char *zGlob,
const char *zStr,
unsigned int cEsc);
7968 SQLITE_API
void sqlite3_log(
int iErrCode,
const char *zFormat, ...);
8004 SQLITE_API
void *sqlite3_wal_hook(
8006 int(*)(
void *,sqlite3*,
const char*,
int),
8039 SQLITE_API
int sqlite3_wal_autocheckpoint(sqlite3 *db,
int N);
8061 SQLITE_API
int sqlite3_wal_checkpoint(sqlite3 *db,
const char *zDb);
8155 SQLITE_API
int sqlite3_wal_checkpoint_v2(
8172 #define SQLITE_CHECKPOINT_PASSIVE 0 8173 #define SQLITE_CHECKPOINT_FULL 1 8174 #define SQLITE_CHECKPOINT_RESTART 2 8175 #define SQLITE_CHECKPOINT_TRUNCATE 3 8191 SQLITE_API
int sqlite3_vtab_config(sqlite3*,
int op, ...);
8232 #define SQLITE_VTAB_CONSTRAINT_SUPPORT 1 8244 SQLITE_API
int sqlite3_vtab_on_conflict(sqlite3 *);
8258 #define SQLITE_ROLLBACK 1 8260 #define SQLITE_FAIL 3 8262 #define SQLITE_REPLACE 5 8311 #define SQLITE_SCANSTAT_NLOOP 0 8312 #define SQLITE_SCANSTAT_NVISIT 1 8313 #define SQLITE_SCANSTAT_EST 2 8314 #define SQLITE_SCANSTAT_NAME 3 8315 #define SQLITE_SCANSTAT_EXPLAIN 4 8316 #define SQLITE_SCANSTAT_SELECTID 5 8349 SQLITE_API
int sqlite3_stmt_scanstatus(
8350 sqlite3_stmt *pStmt,
8365 SQLITE_API
void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
8397 SQLITE_API
int sqlite3_db_cacheflush(sqlite3*);
8481 #if defined(SQLITE_ENABLE_PREUPDATE_HOOK) 8482 SQLITE_API
void *sqlite3_preupdate_hook(
8490 sqlite3_int64 iKey1,
8495 SQLITE_API
int sqlite3_preupdate_old(sqlite3 *,
int, sqlite3_value **);
8496 SQLITE_API
int sqlite3_preupdate_count(sqlite3 *);
8497 SQLITE_API
int sqlite3_preupdate_depth(sqlite3 *);
8498 SQLITE_API
int sqlite3_preupdate_new(sqlite3 *,
int, sqlite3_value **);
8511 SQLITE_API
int sqlite3_system_errno(sqlite3*);
8539 typedef struct sqlite3_snapshot {
8540 unsigned char hidden[48];
8586 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_get(
8588 const char *zSchema,
8589 sqlite3_snapshot **ppSnapshot
8624 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_open(
8626 const char *zSchema,
8627 sqlite3_snapshot *pSnapshot
8641 SQLITE_API SQLITE_EXPERIMENTAL
void sqlite3_snapshot_free(sqlite3_snapshot*);
8665 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_cmp(
8666 sqlite3_snapshot *p1,
8667 sqlite3_snapshot *p2
8690 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_recover(sqlite3 *db,
const char *zDb);
8696 #ifdef SQLITE_OMIT_FLOATING_POINT 8719 #ifndef _SQLITE3RTREE_H_ 8720 #define _SQLITE3RTREE_H_ 8727 typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;
8728 typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info;
8733 #ifdef SQLITE_RTREE_INT_ONLY 8734 typedef sqlite3_int64 sqlite3_rtree_dbl;
8736 typedef double sqlite3_rtree_dbl;
8745 SQLITE_API
int sqlite3_rtree_geometry_callback(
8748 int (*xGeom)(sqlite3_rtree_geometry*,
int, sqlite3_rtree_dbl*,
int*),
8757 struct sqlite3_rtree_geometry {
8760 sqlite3_rtree_dbl *aParam;
8762 void (*xDelUser)(
void *);
8771 SQLITE_API
int sqlite3_rtree_query_callback(
8773 const char *zQueryFunc,
8774 int (*xQueryFunc)(sqlite3_rtree_query_info*),
8776 void (*xDestructor)(
void*)
8789 struct sqlite3_rtree_query_info {
8792 sqlite3_rtree_dbl *aParam;
8794 void (*xDelUser)(
void*);
8795 sqlite3_rtree_dbl *aCoord;
8796 unsigned int *anQueue;
8800 sqlite3_int64 iRowid;
8801 sqlite3_rtree_dbl rParentScore;
8804 sqlite3_rtree_dbl rScore;
8806 sqlite3_value **apSqlParam;
8812 #define NOT_WITHIN 0 8813 #define PARTLY_WITHIN 1 8814 #define FULLY_WITHIN 2 8826 #if !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION) 8827 #define __SQLITESESSION_H_ 1 8840 typedef struct sqlite3_session sqlite3_session;
8845 typedef struct sqlite3_changeset_iter sqlite3_changeset_iter;
8877 SQLITE_API
int sqlite3session_create(
8880 sqlite3_session **ppSession
8895 SQLITE_API
void sqlite3session_delete(sqlite3_session *pSession);
8915 SQLITE_API
int sqlite3session_enable(sqlite3_session *pSession,
int bEnable);
8944 SQLITE_API
int sqlite3session_indirect(sqlite3_session *pSession,
int bIndirect);
8974 SQLITE_API
int sqlite3session_attach(
8975 sqlite3_session *pSession,
8988 SQLITE_API
void sqlite3session_table_filter(
8989 sqlite3_session *pSession,
9101 SQLITE_API
int sqlite3session_changeset(
9102 sqlite3_session *pSession,
9163 SQLITE_API
int sqlite3session_diff(
9164 sqlite3_session *pSession,
9165 const char *zFromDb,
9199 SQLITE_API
int sqlite3session_patchset(
9200 sqlite3_session *pSession,
9220 SQLITE_API
int sqlite3session_isempty(sqlite3_session *pSession);
9255 SQLITE_API
int sqlite3changeset_start(
9256 sqlite3_changeset_iter **pp,
9284 SQLITE_API
int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
9312 SQLITE_API
int sqlite3changeset_op(
9313 sqlite3_changeset_iter *pIter,
9345 SQLITE_API
int sqlite3changeset_pk(
9346 sqlite3_changeset_iter *pIter,
9347 unsigned char **pabPK,
9375 SQLITE_API
int sqlite3changeset_old(
9376 sqlite3_changeset_iter *pIter,
9378 sqlite3_value **ppValue
9408 SQLITE_API
int sqlite3changeset_new(
9409 sqlite3_changeset_iter *pIter,
9411 sqlite3_value **ppValue
9435 SQLITE_API
int sqlite3changeset_conflict(
9436 sqlite3_changeset_iter *pIter,
9438 sqlite3_value **ppValue
9451 SQLITE_API
int sqlite3changeset_fk_conflicts(
9452 sqlite3_changeset_iter *pIter,
9484 SQLITE_API
int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter);
9514 SQLITE_API
int sqlite3changeset_invert(
9515 int nIn,
const void *pIn,
9516 int *pnOut,
void **ppOut
9543 SQLITE_API
int sqlite3changeset_concat(
9556 typedef struct sqlite3_changegroup sqlite3_changegroup;
9593 SQLITE_API
int sqlite3changegroup_new(sqlite3_changegroup **pp);
9670 SQLITE_API
int sqlite3changegroup_add(sqlite3_changegroup*,
int nData,
void *pData);
9696 SQLITE_API
int sqlite3changegroup_output(
9697 sqlite3_changegroup*,
9705 SQLITE_API
void sqlite3changegroup_delete(sqlite3_changegroup*);
9849 SQLITE_API
int sqlite3changeset_apply(
9860 sqlite3_changeset_iter *p
9920 #define SQLITE_CHANGESET_DATA 1 9921 #define SQLITE_CHANGESET_NOTFOUND 2 9922 #define SQLITE_CHANGESET_CONFLICT 3 9923 #define SQLITE_CHANGESET_CONSTRAINT 4 9924 #define SQLITE_CHANGESET_FOREIGN_KEY 5 9957 #define SQLITE_CHANGESET_OMIT 0 9958 #define SQLITE_CHANGESET_REPLACE 1 9959 #define SQLITE_CHANGESET_ABORT 2 10050 SQLITE_API
int sqlite3changeset_apply_strm(
10052 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10061 sqlite3_changeset_iter *p
10065 SQLITE_API
int sqlite3changeset_concat_strm(
10066 int (*xInputA)(
void *pIn,
void *pData,
int *pnData),
10068 int (*xInputB)(
void *pIn,
void *pData,
int *pnData),
10070 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10073 SQLITE_API
int sqlite3changeset_invert_strm(
10074 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10076 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10079 SQLITE_API
int sqlite3changeset_start_strm(
10080 sqlite3_changeset_iter **pp,
10081 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10084 SQLITE_API
int sqlite3session_changeset_strm(
10085 sqlite3_session *pSession,
10086 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10089 SQLITE_API
int sqlite3session_patchset_strm(
10090 sqlite3_session *pSession,
10091 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10094 SQLITE_API
int sqlite3changegroup_add_strm(sqlite3_changegroup*,
10095 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10098 SQLITE_API
int sqlite3changegroup_output_strm(sqlite3_changegroup*,
10099 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10150 typedef struct Fts5ExtensionApi Fts5ExtensionApi;
10151 typedef struct Fts5Context Fts5Context;
10152 typedef struct Fts5PhraseIter Fts5PhraseIter;
10154 typedef void (*fts5_extension_function)(
10155 const Fts5ExtensionApi *pApi,
10157 sqlite3_context *pCtx,
10159 sqlite3_value **apVal
10162 struct Fts5PhraseIter {
10163 const unsigned char *a;
10164 const unsigned char *b;
10382 struct Fts5ExtensionApi {
10385 void *(*xUserData)(Fts5Context*);
10387 int (*xColumnCount)(Fts5Context*);
10388 int (*xRowCount)(Fts5Context*, sqlite3_int64 *pnRow);
10389 int (*xColumnTotalSize)(Fts5Context*,
int iCol, sqlite3_int64 *pnToken);
10391 int (*xTokenize)(Fts5Context*,
10392 const char *pText,
int nText,
10394 int (*xToken)(
void*, int,
const char*, int, int, int)
10397 int (*xPhraseCount)(Fts5Context*);
10398 int (*xPhraseSize)(Fts5Context*,
int iPhrase);
10400 int (*xInstCount)(Fts5Context*,
int *pnInst);
10401 int (*xInst)(Fts5Context*,
int iIdx,
int *piPhrase,
int *piCol,
int *piOff);
10403 sqlite3_int64 (*xRowid)(Fts5Context*);
10404 int (*xColumnText)(Fts5Context*,
int iCol,
const char **pz,
int *pn);
10405 int (*xColumnSize)(Fts5Context*,
int iCol,
int *pnToken);
10407 int (*xQueryPhrase)(Fts5Context*,
int iPhrase,
void *pUserData,
10408 int(*)(
const Fts5ExtensionApi*,Fts5Context*,
void*)
10410 int (*xSetAuxdata)(Fts5Context*,
void *pAux, void(*xDelete)(
void*));
10411 void *(*xGetAuxdata)(Fts5Context*,
int bClear);
10413 int (*xPhraseFirst)(Fts5Context*,
int iPhrase, Fts5PhraseIter*,
int*,
int*);
10414 void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*,
int *piCol,
int *piOff);
10416 int (*xPhraseFirstColumn)(Fts5Context*,
int iPhrase, Fts5PhraseIter*,
int*);
10417 void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*,
int *piCol);
10616 typedef struct Fts5Tokenizer Fts5Tokenizer;
10617 typedef struct fts5_tokenizer fts5_tokenizer;
10618 struct fts5_tokenizer {
10619 int (*xCreate)(
void*,
const char **azArg,
int nArg, Fts5Tokenizer **ppOut);
10620 void (*xDelete)(Fts5Tokenizer*);
10621 int (*xTokenize)(Fts5Tokenizer*,
10624 const char *pText,
int nText,
10628 const char *pToken,
10637 #define FTS5_TOKENIZE_QUERY 0x0001 10638 #define FTS5_TOKENIZE_PREFIX 0x0002 10639 #define FTS5_TOKENIZE_DOCUMENT 0x0004 10640 #define FTS5_TOKENIZE_AUX 0x0008 10644 #define FTS5_TOKEN_COLOCATED 0x0001 10653 typedef struct fts5_api fts5_api;
10658 int (*xCreateTokenizer)(
10662 fts5_tokenizer *pTokenizer,
10663 void (*xDestroy)(
void*)
10667 int (*xFindTokenizer)(
10671 fts5_tokenizer *pTokenizer
10675 int (*xCreateFunction)(
10679 fts5_extension_function xFunction,
10680 void (*xDestroy)(
void*)