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 126 #define SQLITE_VERSION "3.24.0" 127 #define SQLITE_VERSION_NUMBER 3024000 128 #define SQLITE_SOURCE_ID "2018-06-04 19:24:41 c7ee0833225bfd8c5ec2f9bf62b97c4e04d03bd9566366d5221ac8fb199a87ca" 162 SQLITE_API SQLITE_EXTERN
const char sqlite3_version[];
163 SQLITE_API
const char *sqlite3_libversion(
void);
164 SQLITE_API
const char *sqlite3_sourceid(
void);
165 SQLITE_API
int sqlite3_libversion_number(
void);
189 #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS 190 SQLITE_API
int sqlite3_compileoption_used(
const char *zOptName);
191 SQLITE_API
const char *sqlite3_compileoption_get(
int N);
230 SQLITE_API
int sqlite3_threadsafe(
void);
246 typedef struct sqlite3 sqlite3;
264 #ifdef SQLITE_INT64_TYPE 265 typedef SQLITE_INT64_TYPE sqlite_int64;
266 # ifdef SQLITE_UINT64_TYPE 267 typedef SQLITE_UINT64_TYPE sqlite_uint64;
269 typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;
271 #elif defined(_MSC_VER) || defined(__BORLANDC__) 272 typedef __int64 sqlite_int64;
273 typedef unsigned __int64 sqlite_uint64;
275 typedef long long int sqlite_int64;
276 typedef unsigned long long int sqlite_uint64;
278 typedef sqlite_int64 sqlite3_int64;
279 typedef sqlite_uint64 sqlite3_uint64;
285 #ifdef SQLITE_OMIT_FLOATING_POINT 286 # define double sqlite3_int64 331 SQLITE_API
int sqlite3_close(sqlite3*);
332 SQLITE_API
int sqlite3_close_v2(sqlite3*);
339 typedef int (*sqlite3_callback)(
void*,int,
char**,
char**);
403 SQLITE_API
int sqlite3_exec(
406 int (*callback)(
void*,
int,
char**,
char**),
424 #define SQLITE_ERROR 1 425 #define SQLITE_INTERNAL 2 426 #define SQLITE_PERM 3 427 #define SQLITE_ABORT 4 428 #define SQLITE_BUSY 5 429 #define SQLITE_LOCKED 6 430 #define SQLITE_NOMEM 7 431 #define SQLITE_READONLY 8 432 #define SQLITE_INTERRUPT 9 433 #define SQLITE_IOERR 10 434 #define SQLITE_CORRUPT 11 435 #define SQLITE_NOTFOUND 12 436 #define SQLITE_FULL 13 437 #define SQLITE_CANTOPEN 14 438 #define SQLITE_PROTOCOL 15 439 #define SQLITE_EMPTY 16 440 #define SQLITE_SCHEMA 17 441 #define SQLITE_TOOBIG 18 442 #define SQLITE_CONSTRAINT 19 443 #define SQLITE_MISMATCH 20 444 #define SQLITE_MISUSE 21 445 #define SQLITE_NOLFS 22 446 #define SQLITE_AUTH 23 447 #define SQLITE_FORMAT 24 448 #define SQLITE_RANGE 25 449 #define SQLITE_NOTADB 26 450 #define SQLITE_NOTICE 27 451 #define SQLITE_WARNING 28 452 #define SQLITE_ROW 100 453 #define SQLITE_DONE 101 473 #define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8)) 474 #define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8)) 475 #define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) 476 #define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) 477 #define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) 478 #define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8)) 479 #define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8)) 480 #define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8)) 481 #define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8)) 482 #define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8)) 483 #define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8)) 484 #define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8)) 485 #define SQLITE_IOERR_BLOCKED (SQLITE_IOERR | (11<<8)) 486 #define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8)) 487 #define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8)) 488 #define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8)) 489 #define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) 490 #define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) 491 #define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) 492 #define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) 493 #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) 494 #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) 495 #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) 496 #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) 497 #define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8)) 498 #define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8)) 499 #define SQLITE_IOERR_GETTEMPPATH (SQLITE_IOERR | (25<<8)) 500 #define SQLITE_IOERR_CONVPATH (SQLITE_IOERR | (26<<8)) 501 #define SQLITE_IOERR_VNODE (SQLITE_IOERR | (27<<8)) 502 #define SQLITE_IOERR_AUTH (SQLITE_IOERR | (28<<8)) 503 #define SQLITE_IOERR_BEGIN_ATOMIC (SQLITE_IOERR | (29<<8)) 504 #define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8)) 505 #define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8)) 506 #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) 507 #define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8)) 508 #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) 509 #define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) 510 #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) 511 #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) 512 #define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8)) 513 #define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8)) 514 #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) 515 #define SQLITE_CORRUPT_SEQUENCE (SQLITE_CORRUPT | (2<<8)) 516 #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) 517 #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) 518 #define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8)) 519 #define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8)) 520 #define SQLITE_READONLY_CANTINIT (SQLITE_READONLY | (5<<8)) 521 #define SQLITE_READONLY_DIRECTORY (SQLITE_READONLY | (6<<8)) 522 #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) 523 #define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8)) 524 #define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8)) 525 #define SQLITE_CONSTRAINT_FOREIGNKEY (SQLITE_CONSTRAINT | (3<<8)) 526 #define SQLITE_CONSTRAINT_FUNCTION (SQLITE_CONSTRAINT | (4<<8)) 527 #define SQLITE_CONSTRAINT_NOTNULL (SQLITE_CONSTRAINT | (5<<8)) 528 #define SQLITE_CONSTRAINT_PRIMARYKEY (SQLITE_CONSTRAINT | (6<<8)) 529 #define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8)) 530 #define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8)) 531 #define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8)) 532 #define SQLITE_CONSTRAINT_ROWID (SQLITE_CONSTRAINT |(10<<8)) 533 #define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8)) 534 #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) 535 #define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) 536 #define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) 537 #define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8)) 546 #define SQLITE_OPEN_READONLY 0x00000001 547 #define SQLITE_OPEN_READWRITE 0x00000002 548 #define SQLITE_OPEN_CREATE 0x00000004 549 #define SQLITE_OPEN_DELETEONCLOSE 0x00000008 550 #define SQLITE_OPEN_EXCLUSIVE 0x00000010 551 #define SQLITE_OPEN_AUTOPROXY 0x00000020 552 #define SQLITE_OPEN_URI 0x00000040 553 #define SQLITE_OPEN_MEMORY 0x00000080 554 #define SQLITE_OPEN_MAIN_DB 0x00000100 555 #define SQLITE_OPEN_TEMP_DB 0x00000200 556 #define SQLITE_OPEN_TRANSIENT_DB 0x00000400 557 #define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 558 #define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 559 #define SQLITE_OPEN_SUBJOURNAL 0x00002000 560 #define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 561 #define SQLITE_OPEN_NOMUTEX 0x00008000 562 #define SQLITE_OPEN_FULLMUTEX 0x00010000 563 #define SQLITE_OPEN_SHAREDCACHE 0x00020000 564 #define SQLITE_OPEN_PRIVATECACHE 0x00040000 565 #define SQLITE_OPEN_WAL 0x00080000 602 #define SQLITE_IOCAP_ATOMIC 0x00000001 603 #define SQLITE_IOCAP_ATOMIC512 0x00000002 604 #define SQLITE_IOCAP_ATOMIC1K 0x00000004 605 #define SQLITE_IOCAP_ATOMIC2K 0x00000008 606 #define SQLITE_IOCAP_ATOMIC4K 0x00000010 607 #define SQLITE_IOCAP_ATOMIC8K 0x00000020 608 #define SQLITE_IOCAP_ATOMIC16K 0x00000040 609 #define SQLITE_IOCAP_ATOMIC32K 0x00000080 610 #define SQLITE_IOCAP_ATOMIC64K 0x00000100 611 #define SQLITE_IOCAP_SAFE_APPEND 0x00000200 612 #define SQLITE_IOCAP_SEQUENTIAL 0x00000400 613 #define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 614 #define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000 615 #define SQLITE_IOCAP_IMMUTABLE 0x00002000 616 #define SQLITE_IOCAP_BATCH_ATOMIC 0x00004000 625 #define SQLITE_LOCK_NONE 0 626 #define SQLITE_LOCK_SHARED 1 627 #define SQLITE_LOCK_RESERVED 2 628 #define SQLITE_LOCK_PENDING 3 629 #define SQLITE_LOCK_EXCLUSIVE 4 657 #define SQLITE_SYNC_NORMAL 0x00002 658 #define SQLITE_SYNC_FULL 0x00003 659 #define SQLITE_SYNC_DATAONLY 0x00010 672 typedef struct sqlite3_file sqlite3_file;
673 struct sqlite3_file {
674 const struct sqlite3_io_methods *pMethods;
771 typedef struct sqlite3_io_methods sqlite3_io_methods;
772 struct sqlite3_io_methods {
774 int (*xClose)(sqlite3_file*);
775 int (*xRead)(sqlite3_file*,
void*,
int iAmt, sqlite3_int64 iOfst);
776 int (*xWrite)(sqlite3_file*,
const void*,
int iAmt, sqlite3_int64 iOfst);
777 int (*xTruncate)(sqlite3_file*, sqlite3_int64 size);
778 int (*xSync)(sqlite3_file*,
int flags);
779 int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize);
780 int (*xLock)(sqlite3_file*, int);
781 int (*xUnlock)(sqlite3_file*, int);
782 int (*xCheckReservedLock)(sqlite3_file*,
int *pResOut);
783 int (*xFileControl)(sqlite3_file*,
int op,
void *pArg);
784 int (*xSectorSize)(sqlite3_file*);
785 int (*xDeviceCharacteristics)(sqlite3_file*);
787 int (*xShmMap)(sqlite3_file*,
int iPg,
int pgsz, int,
void volatile**);
788 int (*xShmLock)(sqlite3_file*,
int offset,
int n,
int flags);
789 void (*xShmBarrier)(sqlite3_file*);
790 int (*xShmUnmap)(sqlite3_file*,
int deleteFlag);
792 int (*xFetch)(sqlite3_file*, sqlite3_int64 iOfst,
int iAmt,
void **pp);
793 int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst,
void *p);
1077 #define SQLITE_FCNTL_LOCKSTATE 1 1078 #define SQLITE_FCNTL_GET_LOCKPROXYFILE 2 1079 #define SQLITE_FCNTL_SET_LOCKPROXYFILE 3 1080 #define SQLITE_FCNTL_LAST_ERRNO 4 1081 #define SQLITE_FCNTL_SIZE_HINT 5 1082 #define SQLITE_FCNTL_CHUNK_SIZE 6 1083 #define SQLITE_FCNTL_FILE_POINTER 7 1084 #define SQLITE_FCNTL_SYNC_OMITTED 8 1085 #define SQLITE_FCNTL_WIN32_AV_RETRY 9 1086 #define SQLITE_FCNTL_PERSIST_WAL 10 1087 #define SQLITE_FCNTL_OVERWRITE 11 1088 #define SQLITE_FCNTL_VFSNAME 12 1089 #define SQLITE_FCNTL_POWERSAFE_OVERWRITE 13 1090 #define SQLITE_FCNTL_PRAGMA 14 1091 #define SQLITE_FCNTL_BUSYHANDLER 15 1092 #define SQLITE_FCNTL_TEMPFILENAME 16 1093 #define SQLITE_FCNTL_MMAP_SIZE 18 1094 #define SQLITE_FCNTL_TRACE 19 1095 #define SQLITE_FCNTL_HAS_MOVED 20 1096 #define SQLITE_FCNTL_SYNC 21 1097 #define SQLITE_FCNTL_COMMIT_PHASETWO 22 1098 #define SQLITE_FCNTL_WIN32_SET_HANDLE 23 1099 #define SQLITE_FCNTL_WAL_BLOCK 24 1100 #define SQLITE_FCNTL_ZIPVFS 25 1101 #define SQLITE_FCNTL_RBU 26 1102 #define SQLITE_FCNTL_VFS_POINTER 27 1103 #define SQLITE_FCNTL_JOURNAL_POINTER 28 1104 #define SQLITE_FCNTL_WIN32_GET_HANDLE 29 1105 #define SQLITE_FCNTL_PDB 30 1106 #define SQLITE_FCNTL_BEGIN_ATOMIC_WRITE 31 1107 #define SQLITE_FCNTL_COMMIT_ATOMIC_WRITE 32 1108 #define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33 1109 #define SQLITE_FCNTL_LOCK_TIMEOUT 34 1112 #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE 1113 #define SQLITE_SET_LOCKPROXYFILE SQLITE_FCNTL_SET_LOCKPROXYFILE 1114 #define SQLITE_LAST_ERRNO SQLITE_FCNTL_LAST_ERRNO 1127 typedef struct sqlite3_mutex sqlite3_mutex;
1137 typedef struct sqlite3_api_routines sqlite3_api_routines;
1302 typedef struct sqlite3_vfs sqlite3_vfs;
1303 typedef void (*sqlite3_syscall_ptr)(void);
1304 struct sqlite3_vfs {
1311 int (*xOpen)(sqlite3_vfs*,
const char *zName, sqlite3_file*,
1312 int flags,
int *pOutFlags);
1313 int (*xDelete)(sqlite3_vfs*,
const char *zName,
int syncDir);
1314 int (*xAccess)(sqlite3_vfs*,
const char *zName,
int flags,
int *pResOut);
1315 int (*xFullPathname)(sqlite3_vfs*,
const char *zName,
int nOut,
char *zOut);
1316 void *(*xDlOpen)(sqlite3_vfs*,
const char *zFilename);
1317 void (*xDlError)(sqlite3_vfs*,
int nByte,
char *zErrMsg);
1318 void (*(*xDlSym)(sqlite3_vfs*,
void*,
const char *zSymbol))(void);
1319 void (*xDlClose)(sqlite3_vfs*,
void*);
1320 int (*xRandomness)(sqlite3_vfs*,
int nByte,
char *zOut);
1321 int (*xSleep)(sqlite3_vfs*,
int microseconds);
1322 int (*xCurrentTime)(sqlite3_vfs*,
double*);
1323 int (*xGetLastError)(sqlite3_vfs*, int,
char *);
1328 int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*);
1333 int (*xSetSystemCall)(sqlite3_vfs*,
const char *zName, sqlite3_syscall_ptr);
1334 sqlite3_syscall_ptr (*xGetSystemCall)(sqlite3_vfs*,
const char *zName);
1335 const char *(*xNextSystemCall)(sqlite3_vfs*,
const char *zName);
1363 #define SQLITE_ACCESS_EXISTS 0 1364 #define SQLITE_ACCESS_READWRITE 1 1365 #define SQLITE_ACCESS_READ 2 1389 #define SQLITE_SHM_UNLOCK 1 1390 #define SQLITE_SHM_LOCK 2 1391 #define SQLITE_SHM_SHARED 4 1392 #define SQLITE_SHM_EXCLUSIVE 8 1402 #define SQLITE_SHM_NLOCK 8 1480 SQLITE_API
int sqlite3_initialize(
void);
1481 SQLITE_API
int sqlite3_shutdown(
void);
1482 SQLITE_API
int sqlite3_os_init(
void);
1483 SQLITE_API
int sqlite3_os_end(
void);
1516 SQLITE_API
int sqlite3_config(
int, ...);
1535 SQLITE_API
int sqlite3_db_config(sqlite3*,
int op, ...);
1600 typedef struct sqlite3_mem_methods sqlite3_mem_methods;
1601 struct sqlite3_mem_methods {
1602 void *(*xMalloc)(int);
1603 void (*xFree)(
void*);
1604 void *(*xRealloc)(
void*,int);
1605 int (*xSize)(
void*);
1606 int (*xRoundup)(int);
1607 int (*xInit)(
void*);
1608 void (*xShutdown)(
void*);
1953 #define SQLITE_CONFIG_SINGLETHREAD 1 1954 #define SQLITE_CONFIG_MULTITHREAD 2 1955 #define SQLITE_CONFIG_SERIALIZED 3 1956 #define SQLITE_CONFIG_MALLOC 4 1957 #define SQLITE_CONFIG_GETMALLOC 5 1958 #define SQLITE_CONFIG_SCRATCH 6 1959 #define SQLITE_CONFIG_PAGECACHE 7 1960 #define SQLITE_CONFIG_HEAP 8 1961 #define SQLITE_CONFIG_MEMSTATUS 9 1962 #define SQLITE_CONFIG_MUTEX 10 1963 #define SQLITE_CONFIG_GETMUTEX 11 1965 #define SQLITE_CONFIG_LOOKASIDE 13 1966 #define SQLITE_CONFIG_PCACHE 14 1967 #define SQLITE_CONFIG_GETPCACHE 15 1968 #define SQLITE_CONFIG_LOG 16 1969 #define SQLITE_CONFIG_URI 17 1970 #define SQLITE_CONFIG_PCACHE2 18 1971 #define SQLITE_CONFIG_GETPCACHE2 19 1972 #define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 1973 #define SQLITE_CONFIG_SQLLOG 21 1974 #define SQLITE_CONFIG_MMAP_SIZE 22 1975 #define SQLITE_CONFIG_WIN32_HEAPSIZE 23 1976 #define SQLITE_CONFIG_PCACHE_HDRSZ 24 1977 #define SQLITE_CONFIG_PMASZ 25 1978 #define SQLITE_CONFIG_STMTJRNL_SPILL 26 1979 #define SQLITE_CONFIG_SMALL_MALLOC 27 1980 #define SQLITE_CONFIG_SORTERREF_SIZE 28 2134 #define SQLITE_DBCONFIG_MAINDBNAME 1000 2135 #define SQLITE_DBCONFIG_LOOKASIDE 1001 2136 #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 2137 #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 2138 #define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 2139 #define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 2140 #define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 2141 #define SQLITE_DBCONFIG_ENABLE_QPSG 1007 2142 #define SQLITE_DBCONFIG_TRIGGER_EQP 1008 2143 #define SQLITE_DBCONFIG_RESET_DATABASE 1009 2144 #define SQLITE_DBCONFIG_MAX 1009 2154 SQLITE_API
int sqlite3_extended_result_codes(sqlite3*,
int onoff);
2216 SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
2226 SQLITE_API
void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);
2279 SQLITE_API
int sqlite3_changes(sqlite3*);
2303 SQLITE_API
int sqlite3_total_changes(sqlite3*);
2340 SQLITE_API
void sqlite3_interrupt(sqlite3*);
2375 SQLITE_API
int sqlite3_complete(
const char *sql);
2376 SQLITE_API
int sqlite3_complete16(
const void *sql);
2437 SQLITE_API
int sqlite3_busy_handler(sqlite3*,
int(*)(
void*,
int),
void*);
2460 SQLITE_API
int sqlite3_busy_timeout(sqlite3*,
int ms);
2535 SQLITE_API
int sqlite3_get_table(
2543 SQLITE_API
void sqlite3_free_table(
char **result);
2585 SQLITE_API
char *sqlite3_mprintf(
const char*,...);
2586 SQLITE_API
char *sqlite3_vmprintf(
const char*, va_list);
2587 SQLITE_API
char *sqlite3_snprintf(
int,
char*,
const char*, ...);
2588 SQLITE_API
char *sqlite3_vsnprintf(
int,
char*,
const char*, va_list);
2678 SQLITE_API
void *sqlite3_malloc(
int);
2679 SQLITE_API
void *sqlite3_malloc64(sqlite3_uint64);
2680 SQLITE_API
void *sqlite3_realloc(
void*,
int);
2681 SQLITE_API
void *sqlite3_realloc64(
void*, sqlite3_uint64);
2682 SQLITE_API
void sqlite3_free(
void*);
2683 SQLITE_API sqlite3_uint64 sqlite3_msize(
void*);
2708 SQLITE_API sqlite3_int64 sqlite3_memory_used(
void);
2709 SQLITE_API sqlite3_int64 sqlite3_memory_highwater(
int resetFlag);
2732 SQLITE_API
void sqlite3_randomness(
int N,
void *P);
2823 SQLITE_API
int sqlite3_set_authorizer(
2825 int (*xAuth)(
void*,
int,
const char*,
const char*,
const char*,
const char*),
2841 #define SQLITE_DENY 1 2842 #define SQLITE_IGNORE 2 2864 #define SQLITE_CREATE_INDEX 1 2865 #define SQLITE_CREATE_TABLE 2 2866 #define SQLITE_CREATE_TEMP_INDEX 3 2867 #define SQLITE_CREATE_TEMP_TABLE 4 2868 #define SQLITE_CREATE_TEMP_TRIGGER 5 2869 #define SQLITE_CREATE_TEMP_VIEW 6 2870 #define SQLITE_CREATE_TRIGGER 7 2871 #define SQLITE_CREATE_VIEW 8 2872 #define SQLITE_DELETE 9 2873 #define SQLITE_DROP_INDEX 10 2874 #define SQLITE_DROP_TABLE 11 2875 #define SQLITE_DROP_TEMP_INDEX 12 2876 #define SQLITE_DROP_TEMP_TABLE 13 2877 #define SQLITE_DROP_TEMP_TRIGGER 14 2878 #define SQLITE_DROP_TEMP_VIEW 15 2879 #define SQLITE_DROP_TRIGGER 16 2880 #define SQLITE_DROP_VIEW 17 2881 #define SQLITE_INSERT 18 2882 #define SQLITE_PRAGMA 19 2883 #define SQLITE_READ 20 2884 #define SQLITE_SELECT 21 2885 #define SQLITE_TRANSACTION 22 2886 #define SQLITE_UPDATE 23 2887 #define SQLITE_ATTACH 24 2888 #define SQLITE_DETACH 25 2889 #define SQLITE_ALTER_TABLE 26 2890 #define SQLITE_REINDEX 27 2891 #define SQLITE_ANALYZE 28 2892 #define SQLITE_CREATE_VTABLE 29 2893 #define SQLITE_DROP_VTABLE 30 2894 #define SQLITE_FUNCTION 31 2895 #define SQLITE_SAVEPOINT 32 2896 #define SQLITE_COPY 0 2897 #define SQLITE_RECURSIVE 33 2931 SQLITE_API SQLITE_DEPRECATED
void *sqlite3_trace(sqlite3*,
2932 void(*xTrace)(
void*,
const char*),
void*);
2933 SQLITE_API SQLITE_DEPRECATED
void *sqlite3_profile(sqlite3*,
2934 void(*xProfile)(
void*,
const char*,sqlite3_uint64),
void*);
2988 #define SQLITE_TRACE_STMT 0x01 2989 #define SQLITE_TRACE_PROFILE 0x02 2990 #define SQLITE_TRACE_ROW 0x04 2991 #define SQLITE_TRACE_CLOSE 0x08 3022 SQLITE_API
int sqlite3_trace_v2(
3025 int(*xCallback)(
unsigned,
void*,
void*,
void*),
3061 SQLITE_API
void sqlite3_progress_handler(sqlite3*,
int,
int(*)(
void*),
void*);
3290 SQLITE_API
int sqlite3_open(
3291 const char *filename,
3294 SQLITE_API
int sqlite3_open16(
3295 const void *filename,
3298 SQLITE_API
int sqlite3_open_v2(
3299 const char *filename,
3344 SQLITE_API
const char *sqlite3_uri_parameter(
const char *zFilename,
const char *zParam);
3345 SQLITE_API
int sqlite3_uri_boolean(
const char *zFile,
const char *zParam,
int bDefault);
3346 SQLITE_API sqlite3_int64 sqlite3_uri_int64(
const char*,
const char*, sqlite3_int64);
3390 SQLITE_API
int sqlite3_errcode(sqlite3 *db);
3391 SQLITE_API
int sqlite3_extended_errcode(sqlite3 *db);
3392 SQLITE_API
const char *sqlite3_errmsg(sqlite3*);
3393 SQLITE_API
const void *sqlite3_errmsg16(sqlite3*);
3394 SQLITE_API
const char *sqlite3_errstr(
int);
3420 typedef struct sqlite3_stmt sqlite3_stmt;
3462 SQLITE_API
int sqlite3_limit(sqlite3*,
int id,
int newVal);
3520 #define SQLITE_LIMIT_LENGTH 0 3521 #define SQLITE_LIMIT_SQL_LENGTH 1 3522 #define SQLITE_LIMIT_COLUMN 2 3523 #define SQLITE_LIMIT_EXPR_DEPTH 3 3524 #define SQLITE_LIMIT_COMPOUND_SELECT 4 3525 #define SQLITE_LIMIT_VDBE_OP 5 3526 #define SQLITE_LIMIT_FUNCTION_ARG 6 3527 #define SQLITE_LIMIT_ATTACHED 7 3528 #define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 3529 #define SQLITE_LIMIT_VARIABLE_NUMBER 9 3530 #define SQLITE_LIMIT_TRIGGER_DEPTH 10 3531 #define SQLITE_LIMIT_WORKER_THREADS 11 3555 #define SQLITE_PREPARE_PERSISTENT 0x01 3657 SQLITE_API
int sqlite3_prepare(
3661 sqlite3_stmt **ppStmt,
3664 SQLITE_API
int sqlite3_prepare_v2(
3668 sqlite3_stmt **ppStmt,
3671 SQLITE_API
int sqlite3_prepare_v3(
3675 unsigned int prepFlags,
3676 sqlite3_stmt **ppStmt,
3679 SQLITE_API
int sqlite3_prepare16(
3683 sqlite3_stmt **ppStmt,
3686 SQLITE_API
int sqlite3_prepare16_v2(
3690 sqlite3_stmt **ppStmt,
3693 SQLITE_API
int sqlite3_prepare16_v3(
3697 unsigned int prepFlags,
3698 sqlite3_stmt **ppStmt,
3734 SQLITE_API
const char *sqlite3_sql(sqlite3_stmt *pStmt);
3735 SQLITE_API
char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);
3771 SQLITE_API
int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
3792 SQLITE_API
int sqlite3_stmt_busy(sqlite3_stmt*);
3834 typedef struct sqlite3_value sqlite3_value;
3848 typedef struct sqlite3_context sqlite3_context;
3966 SQLITE_API
int sqlite3_bind_blob(sqlite3_stmt*,
int,
const void*,
int n,
void(*)(
void*));
3967 SQLITE_API
int sqlite3_bind_blob64(sqlite3_stmt*,
int,
const void*, sqlite3_uint64,
3969 SQLITE_API
int sqlite3_bind_double(sqlite3_stmt*,
int,
double);
3970 SQLITE_API
int sqlite3_bind_int(sqlite3_stmt*,
int,
int);
3971 SQLITE_API
int sqlite3_bind_int64(sqlite3_stmt*,
int, sqlite3_int64);
3972 SQLITE_API
int sqlite3_bind_null(sqlite3_stmt*,
int);
3973 SQLITE_API
int sqlite3_bind_text(sqlite3_stmt*,
int,
const char*,
int,
void(*)(
void*));
3974 SQLITE_API
int sqlite3_bind_text16(sqlite3_stmt*,
int,
const void*,
int,
void(*)(
void*));
3975 SQLITE_API
int sqlite3_bind_text64(sqlite3_stmt*,
int,
const char*, sqlite3_uint64,
3976 void(*)(
void*),
unsigned char encoding);
3977 SQLITE_API
int sqlite3_bind_value(sqlite3_stmt*,
int,
const sqlite3_value*);
3978 SQLITE_API
int sqlite3_bind_pointer(sqlite3_stmt*,
int,
void*,
const char*,
void(*)(
void*));
3979 SQLITE_API
int sqlite3_bind_zeroblob(sqlite3_stmt*,
int,
int n);
3980 SQLITE_API
int sqlite3_bind_zeroblob64(sqlite3_stmt*,
int, sqlite3_uint64);
4001 SQLITE_API
int sqlite3_bind_parameter_count(sqlite3_stmt*);
4029 SQLITE_API
const char *sqlite3_bind_parameter_name(sqlite3_stmt*,
int);
4047 SQLITE_API
int sqlite3_bind_parameter_index(sqlite3_stmt*,
const char *zName);
4057 SQLITE_API
int sqlite3_clear_bindings(sqlite3_stmt*);
4073 SQLITE_API
int sqlite3_column_count(sqlite3_stmt *pStmt);
4102 SQLITE_API
const char *sqlite3_column_name(sqlite3_stmt*,
int N);
4103 SQLITE_API
const void *sqlite3_column_name16(sqlite3_stmt*,
int N);
4151 SQLITE_API
const char *sqlite3_column_database_name(sqlite3_stmt*,
int);
4152 SQLITE_API
const void *sqlite3_column_database_name16(sqlite3_stmt*,
int);
4153 SQLITE_API
const char *sqlite3_column_table_name(sqlite3_stmt*,
int);
4154 SQLITE_API
const void *sqlite3_column_table_name16(sqlite3_stmt*,
int);
4155 SQLITE_API
const char *sqlite3_column_origin_name(sqlite3_stmt*,
int);
4156 SQLITE_API
const void *sqlite3_column_origin_name16(sqlite3_stmt*,
int);
4188 SQLITE_API
const char *sqlite3_column_decltype(sqlite3_stmt*,
int);
4189 SQLITE_API
const void *sqlite3_column_decltype16(sqlite3_stmt*,
int);
4273 SQLITE_API
int sqlite3_step(sqlite3_stmt*);
4294 SQLITE_API
int sqlite3_data_count(sqlite3_stmt *pStmt);
4317 #define SQLITE_INTEGER 1 4318 #define SQLITE_FLOAT 2 4319 #define SQLITE_BLOB 4 4320 #define SQLITE_NULL 5 4324 # define SQLITE_TEXT 3 4326 #define SQLITE3_TEXT 3 4523 SQLITE_API
const void *sqlite3_column_blob(sqlite3_stmt*,
int iCol);
4524 SQLITE_API
double sqlite3_column_double(sqlite3_stmt*,
int iCol);
4525 SQLITE_API
int sqlite3_column_int(sqlite3_stmt*,
int iCol);
4526 SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*,
int iCol);
4527 SQLITE_API
const unsigned char *sqlite3_column_text(sqlite3_stmt*,
int iCol);
4528 SQLITE_API
const void *sqlite3_column_text16(sqlite3_stmt*,
int iCol);
4529 SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*,
int iCol);
4530 SQLITE_API
int sqlite3_column_bytes(sqlite3_stmt*,
int iCol);
4531 SQLITE_API
int sqlite3_column_bytes16(sqlite3_stmt*,
int iCol);
4532 SQLITE_API
int sqlite3_column_type(sqlite3_stmt*,
int iCol);
4560 SQLITE_API
int sqlite3_finalize(sqlite3_stmt *pStmt);
4587 SQLITE_API
int sqlite3_reset(sqlite3_stmt *pStmt);
4687 SQLITE_API
int sqlite3_create_function(
4689 const char *zFunctionName,
4693 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
4694 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
4695 void (*xFinal)(sqlite3_context*)
4697 SQLITE_API
int sqlite3_create_function16(
4699 const void *zFunctionName,
4703 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
4704 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
4705 void (*xFinal)(sqlite3_context*)
4707 SQLITE_API
int sqlite3_create_function_v2(
4709 const char *zFunctionName,
4713 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
4714 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
4715 void (*xFinal)(sqlite3_context*),
4716 void(*xDestroy)(
void*)
4725 #define SQLITE_UTF8 1 4726 #define SQLITE_UTF16LE 2 4727 #define SQLITE_UTF16BE 3 4728 #define SQLITE_UTF16 4 4729 #define SQLITE_ANY 5 4730 #define SQLITE_UTF16_ALIGNED 8 4740 #define SQLITE_DETERMINISTIC 0x800 4752 #ifndef SQLITE_OMIT_DEPRECATED 4753 SQLITE_API SQLITE_DEPRECATED
int sqlite3_aggregate_count(sqlite3_context*);
4754 SQLITE_API SQLITE_DEPRECATED
int sqlite3_expired(sqlite3_stmt*);
4755 SQLITE_API SQLITE_DEPRECATED
int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
4756 SQLITE_API SQLITE_DEPRECATED
int sqlite3_global_recover(
void);
4757 SQLITE_API SQLITE_DEPRECATED
void sqlite3_thread_cleanup(
void);
4758 SQLITE_API SQLITE_DEPRECATED
int sqlite3_memory_alarm(
void(*)(
void*,sqlite3_int64,
int),
4759 void*,sqlite3_int64);
4861 SQLITE_API
const void *sqlite3_value_blob(sqlite3_value*);
4862 SQLITE_API
double sqlite3_value_double(sqlite3_value*);
4863 SQLITE_API
int sqlite3_value_int(sqlite3_value*);
4864 SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
4865 SQLITE_API
void *sqlite3_value_pointer(sqlite3_value*,
const char*);
4866 SQLITE_API
const unsigned char *sqlite3_value_text(sqlite3_value*);
4867 SQLITE_API
const void *sqlite3_value_text16(sqlite3_value*);
4868 SQLITE_API
const void *sqlite3_value_text16le(sqlite3_value*);
4869 SQLITE_API
const void *sqlite3_value_text16be(sqlite3_value*);
4870 SQLITE_API
int sqlite3_value_bytes(sqlite3_value*);
4871 SQLITE_API
int sqlite3_value_bytes16(sqlite3_value*);
4872 SQLITE_API
int sqlite3_value_type(sqlite3_value*);
4873 SQLITE_API
int sqlite3_value_numeric_type(sqlite3_value*);
4874 SQLITE_API
int sqlite3_value_nochange(sqlite3_value*);
4886 SQLITE_API
unsigned int sqlite3_value_subtype(sqlite3_value*);
4902 SQLITE_API sqlite3_value *sqlite3_value_dup(
const sqlite3_value*);
4903 SQLITE_API
void sqlite3_value_free(sqlite3_value*);
4948 SQLITE_API
void *sqlite3_aggregate_context(sqlite3_context*,
int nBytes);
4963 SQLITE_API
void *sqlite3_user_data(sqlite3_context*);
4975 SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
5034 SQLITE_API
void *sqlite3_get_auxdata(sqlite3_context*,
int N);
5035 SQLITE_API
void sqlite3_set_auxdata(sqlite3_context*,
int N,
void*,
void (*)(
void*));
5052 typedef void (*sqlite3_destructor_type)(
void*);
5053 #define SQLITE_STATIC ((sqlite3_destructor_type)0) 5054 #define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) 5182 SQLITE_API
void sqlite3_result_blob(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5183 SQLITE_API
void sqlite3_result_blob64(sqlite3_context*,
const void*,
5184 sqlite3_uint64,
void(*)(
void*));
5185 SQLITE_API
void sqlite3_result_double(sqlite3_context*,
double);
5186 SQLITE_API
void sqlite3_result_error(sqlite3_context*,
const char*,
int);
5187 SQLITE_API
void sqlite3_result_error16(sqlite3_context*,
const void*,
int);
5188 SQLITE_API
void sqlite3_result_error_toobig(sqlite3_context*);
5189 SQLITE_API
void sqlite3_result_error_nomem(sqlite3_context*);
5190 SQLITE_API
void sqlite3_result_error_code(sqlite3_context*,
int);
5191 SQLITE_API
void sqlite3_result_int(sqlite3_context*,
int);
5192 SQLITE_API
void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
5193 SQLITE_API
void sqlite3_result_null(sqlite3_context*);
5194 SQLITE_API
void sqlite3_result_text(sqlite3_context*,
const char*,
int,
void(*)(
void*));
5195 SQLITE_API
void sqlite3_result_text64(sqlite3_context*,
const char*,sqlite3_uint64,
5196 void(*)(
void*),
unsigned char encoding);
5197 SQLITE_API
void sqlite3_result_text16(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5198 SQLITE_API
void sqlite3_result_text16le(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5199 SQLITE_API
void sqlite3_result_text16be(sqlite3_context*,
const void*,
int,
void(*)(
void*));
5200 SQLITE_API
void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
5201 SQLITE_API
void sqlite3_result_pointer(sqlite3_context*,
void*,
const char*,
void(*)(
void*));
5202 SQLITE_API
void sqlite3_result_zeroblob(sqlite3_context*,
int n);
5203 SQLITE_API
int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);
5218 SQLITE_API
void sqlite3_result_subtype(sqlite3_context*,
unsigned int);
5300 SQLITE_API
int sqlite3_create_collation(
5305 int(*xCompare)(
void*,
int,
const void*,
int,
const void*)
5307 SQLITE_API
int sqlite3_create_collation_v2(
5312 int(*xCompare)(
void*,
int,
const void*,
int,
const void*),
5313 void(*xDestroy)(
void*)
5315 SQLITE_API
int sqlite3_create_collation16(
5320 int(*xCompare)(
void*,
int,
const void*,
int,
const void*)
5350 SQLITE_API
int sqlite3_collation_needed(
5353 void(*)(
void*,sqlite3*,
int eTextRep,
const char*)
5355 SQLITE_API
int sqlite3_collation_needed16(
5358 void(*)(
void*,sqlite3*,
int eTextRep,
const void*)
5361 #ifdef SQLITE_HAS_CODEC 5369 SQLITE_API
int sqlite3_key(
5371 const void *pKey,
int nKey
5373 SQLITE_API
int sqlite3_key_v2(
5375 const char *zDbName,
5376 const void *pKey,
int nKey
5387 SQLITE_API
int sqlite3_rekey(
5389 const void *pKey,
int nKey
5391 SQLITE_API
int sqlite3_rekey_v2(
5393 const char *zDbName,
5394 const void *pKey,
int nKey
5401 SQLITE_API
void sqlite3_activate_see(
5402 const char *zPassPhrase
5406 #ifdef SQLITE_ENABLE_CEROD 5411 SQLITE_API
void sqlite3_activate_cerod(
5412 const char *zPassPhrase
5433 SQLITE_API
int sqlite3_sleep(
int);
5491 SQLITE_API SQLITE_EXTERN
char *sqlite3_temp_directory;
5528 SQLITE_API SQLITE_EXTERN
char *sqlite3_data_directory;
5549 SQLITE_API
int sqlite3_win32_set_directory(
5553 SQLITE_API
int sqlite3_win32_set_directory8(
unsigned long type,
const char *zValue);
5554 SQLITE_API
int sqlite3_win32_set_directory16(
unsigned long type,
const void *zValue);
5562 #define SQLITE_WIN32_DATA_DIRECTORY_TYPE 1 5563 #define SQLITE_WIN32_TEMP_DIRECTORY_TYPE 2 5587 SQLITE_API
int sqlite3_get_autocommit(sqlite3*);
5600 SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
5617 SQLITE_API
const char *sqlite3_db_filename(sqlite3 *db,
const char *zDbName);
5627 SQLITE_API
int sqlite3_db_readonly(sqlite3 *db,
const char *zDbName);
5643 SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
5692 SQLITE_API
void *sqlite3_commit_hook(sqlite3*,
int(*)(
void*),
void*);
5693 SQLITE_API
void *sqlite3_rollback_hook(sqlite3*,
void(*)(
void *),
void*);
5744 SQLITE_API
void *sqlite3_update_hook(
5746 void(*)(
void *,
int ,
char const *,
char const *,sqlite3_int64),
5785 SQLITE_API
int sqlite3_enable_shared_cache(
int);
5801 SQLITE_API
int sqlite3_release_memory(
int);
5815 SQLITE_API
int sqlite3_db_release_memory(sqlite3*);
5868 SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
5879 SQLITE_API SQLITE_DEPRECATED
void sqlite3_soft_heap_limit(
int N);
5951 SQLITE_API
int sqlite3_table_column_metadata(
5953 const char *zDbName,
5954 const char *zTableName,
5955 const char *zColumnName,
5956 char const **pzDataType,
5957 char const **pzCollSeq,
6007 SQLITE_API
int sqlite3_load_extension(
6039 SQLITE_API
int sqlite3_enable_load_extension(sqlite3 *db,
int onoff);
6077 SQLITE_API
int sqlite3_auto_extension(
void(*xEntryPoint)(
void));
6089 SQLITE_API
int sqlite3_cancel_auto_extension(
void(*xEntryPoint)(
void));
6097 SQLITE_API
void sqlite3_reset_auto_extension(
void);
6111 typedef struct sqlite3_vtab sqlite3_vtab;
6112 typedef struct sqlite3_index_info sqlite3_index_info;
6113 typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor;
6114 typedef struct sqlite3_module sqlite3_module;
6132 struct sqlite3_module {
6134 int (*xCreate)(sqlite3*,
void *pAux,
6135 int argc,
const char *
const*argv,
6136 sqlite3_vtab **ppVTab,
char**);
6137 int (*xConnect)(sqlite3*,
void *pAux,
6138 int argc,
const char *
const*argv,
6139 sqlite3_vtab **ppVTab,
char**);
6140 int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
6141 int (*xDisconnect)(sqlite3_vtab *pVTab);
6142 int (*xDestroy)(sqlite3_vtab *pVTab);
6143 int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
6144 int (*xClose)(sqlite3_vtab_cursor*);
6145 int (*xFilter)(sqlite3_vtab_cursor*,
int idxNum,
const char *idxStr,
6146 int argc, sqlite3_value **argv);
6147 int (*xNext)(sqlite3_vtab_cursor*);
6148 int (*xEof)(sqlite3_vtab_cursor*);
6149 int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int);
6150 int (*xRowid)(sqlite3_vtab_cursor*, sqlite3_int64 *pRowid);
6151 int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *);
6152 int (*xBegin)(sqlite3_vtab *pVTab);
6153 int (*xSync)(sqlite3_vtab *pVTab);
6154 int (*xCommit)(sqlite3_vtab *pVTab);
6155 int (*xRollback)(sqlite3_vtab *pVTab);
6156 int (*xFindFunction)(sqlite3_vtab *pVtab,
int nArg,
const char *zName,
6157 void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
6159 int (*xRename)(sqlite3_vtab *pVtab,
const char *zNew);
6162 int (*xSavepoint)(sqlite3_vtab *pVTab, int);
6163 int (*xRelease)(sqlite3_vtab *pVTab, int);
6164 int (*xRollbackTo)(sqlite3_vtab *pVTab, int);
6263 struct sqlite3_index_info {
6266 struct sqlite3_index_constraint {
6269 unsigned char usable;
6273 struct sqlite3_index_orderby {
6278 struct sqlite3_index_constraint_usage {
6281 } *aConstraintUsage;
6284 int needToFreeIdxStr;
6285 int orderByConsumed;
6286 double estimatedCost;
6288 sqlite3_int64 estimatedRows;
6292 sqlite3_uint64 colUsed;
6302 #define SQLITE_INDEX_SCAN_UNIQUE 1 6312 #define SQLITE_INDEX_CONSTRAINT_EQ 2 6313 #define SQLITE_INDEX_CONSTRAINT_GT 4 6314 #define SQLITE_INDEX_CONSTRAINT_LE 8 6315 #define SQLITE_INDEX_CONSTRAINT_LT 16 6316 #define SQLITE_INDEX_CONSTRAINT_GE 32 6317 #define SQLITE_INDEX_CONSTRAINT_MATCH 64 6318 #define SQLITE_INDEX_CONSTRAINT_LIKE 65 6319 #define SQLITE_INDEX_CONSTRAINT_GLOB 66 6320 #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 6321 #define SQLITE_INDEX_CONSTRAINT_NE 68 6322 #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 6323 #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 6324 #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 6325 #define SQLITE_INDEX_CONSTRAINT_IS 72 6353 SQLITE_API
int sqlite3_create_module(
6356 const sqlite3_module *p,
6359 SQLITE_API
int sqlite3_create_module_v2(
6362 const sqlite3_module *p,
6364 void(*xDestroy)(
void*)
6385 struct sqlite3_vtab {
6386 const sqlite3_module *pModule;
6409 struct sqlite3_vtab_cursor {
6410 sqlite3_vtab *pVtab;
6422 SQLITE_API
int sqlite3_declare_vtab(sqlite3*,
const char *zSQL);
6441 SQLITE_API
int sqlite3_overload_function(sqlite3*,
const char *zFuncName,
int nArg);
6465 typedef struct sqlite3_blob sqlite3_blob;
6550 SQLITE_API
int sqlite3_blob_open(
6554 const char *zColumn,
6557 sqlite3_blob **ppBlob
6583 SQLITE_API
int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
6606 SQLITE_API
int sqlite3_blob_close(sqlite3_blob *);
6622 SQLITE_API
int sqlite3_blob_bytes(sqlite3_blob *);
6651 SQLITE_API
int sqlite3_blob_read(sqlite3_blob *,
void *Z,
int N,
int iOffset);
6693 SQLITE_API
int sqlite3_blob_write(sqlite3_blob *,
const void *z,
int n,
int iOffset);
6724 SQLITE_API sqlite3_vfs *sqlite3_vfs_find(
const char *zVfsName);
6725 SQLITE_API
int sqlite3_vfs_register(sqlite3_vfs*,
int makeDflt);
6726 SQLITE_API
int sqlite3_vfs_unregister(sqlite3_vfs*);
6842 SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(
int);
6843 SQLITE_API
void sqlite3_mutex_free(sqlite3_mutex*);
6844 SQLITE_API
void sqlite3_mutex_enter(sqlite3_mutex*);
6845 SQLITE_API
int sqlite3_mutex_try(sqlite3_mutex*);
6846 SQLITE_API
void sqlite3_mutex_leave(sqlite3_mutex*);
6913 typedef struct sqlite3_mutex_methods sqlite3_mutex_methods;
6914 struct sqlite3_mutex_methods {
6915 int (*xMutexInit)(void);
6916 int (*xMutexEnd)(void);
6917 sqlite3_mutex *(*xMutexAlloc)(int);
6918 void (*xMutexFree)(sqlite3_mutex *);
6919 void (*xMutexEnter)(sqlite3_mutex *);
6920 int (*xMutexTry)(sqlite3_mutex *);
6921 void (*xMutexLeave)(sqlite3_mutex *);
6922 int (*xMutexHeld)(sqlite3_mutex *);
6923 int (*xMutexNotheld)(sqlite3_mutex *);
6956 SQLITE_API
int sqlite3_mutex_held(sqlite3_mutex*);
6957 SQLITE_API
int sqlite3_mutex_notheld(sqlite3_mutex*);
6970 #define SQLITE_MUTEX_FAST 0 6971 #define SQLITE_MUTEX_RECURSIVE 1 6972 #define SQLITE_MUTEX_STATIC_MASTER 2 6973 #define SQLITE_MUTEX_STATIC_MEM 3 6974 #define SQLITE_MUTEX_STATIC_MEM2 4 6975 #define SQLITE_MUTEX_STATIC_OPEN 4 6976 #define SQLITE_MUTEX_STATIC_PRNG 5 6977 #define SQLITE_MUTEX_STATIC_LRU 6 6978 #define SQLITE_MUTEX_STATIC_LRU2 7 6979 #define SQLITE_MUTEX_STATIC_PMEM 7 6980 #define SQLITE_MUTEX_STATIC_APP1 8 6981 #define SQLITE_MUTEX_STATIC_APP2 9 6982 #define SQLITE_MUTEX_STATIC_APP3 10 6983 #define SQLITE_MUTEX_STATIC_VFS1 11 6984 #define SQLITE_MUTEX_STATIC_VFS2 12 6985 #define SQLITE_MUTEX_STATIC_VFS3 13 6997 SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
7032 SQLITE_API
int sqlite3_file_control(sqlite3*,
const char *zDbName,
int op,
void*);
7051 SQLITE_API
int sqlite3_test_control(
int op, ...);
7064 #define SQLITE_TESTCTRL_FIRST 5 7065 #define SQLITE_TESTCTRL_PRNG_SAVE 5 7066 #define SQLITE_TESTCTRL_PRNG_RESTORE 6 7067 #define SQLITE_TESTCTRL_PRNG_RESET 7 7068 #define SQLITE_TESTCTRL_BITVEC_TEST 8 7069 #define SQLITE_TESTCTRL_FAULT_INSTALL 9 7070 #define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10 7071 #define SQLITE_TESTCTRL_PENDING_BYTE 11 7072 #define SQLITE_TESTCTRL_ASSERT 12 7073 #define SQLITE_TESTCTRL_ALWAYS 13 7074 #define SQLITE_TESTCTRL_RESERVE 14 7075 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 7076 #define SQLITE_TESTCTRL_ISKEYWORD 16 7077 #define SQLITE_TESTCTRL_SCRATCHMALLOC 17 7078 #define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 7079 #define SQLITE_TESTCTRL_EXPLAIN_STMT 19 7080 #define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD 19 7081 #define SQLITE_TESTCTRL_NEVER_CORRUPT 20 7082 #define SQLITE_TESTCTRL_VDBE_COVERAGE 21 7083 #define SQLITE_TESTCTRL_BYTEORDER 22 7084 #define SQLITE_TESTCTRL_ISINIT 23 7085 #define SQLITE_TESTCTRL_SORTER_MMAP 24 7086 #define SQLITE_TESTCTRL_IMPOSTER 25 7087 #define SQLITE_TESTCTRL_PARSER_COVERAGE 26 7088 #define SQLITE_TESTCTRL_LAST 26 7137 SQLITE_API
int sqlite3_keyword_count(
void);
7138 SQLITE_API
int sqlite3_keyword_name(
int,
const char**,
int*);
7139 SQLITE_API
int sqlite3_keyword_check(
const char*,
int);
7157 typedef struct sqlite3_str sqlite3_str;
7184 SQLITE_API sqlite3_str *sqlite3_str_new(sqlite3*);
7199 SQLITE_API
char *sqlite3_str_finish(sqlite3_str*);
7233 SQLITE_API
void sqlite3_str_appendf(sqlite3_str*,
const char *zFormat, ...);
7234 SQLITE_API
void sqlite3_str_vappendf(sqlite3_str*,
const char *zFormat, va_list);
7235 SQLITE_API
void sqlite3_str_append(sqlite3_str*,
const char *zIn,
int N);
7236 SQLITE_API
void sqlite3_str_appendall(sqlite3_str*,
const char *zIn);
7237 SQLITE_API
void sqlite3_str_appendchar(sqlite3_str*,
int N,
char C);
7238 SQLITE_API
void sqlite3_str_reset(sqlite3_str*);
7269 SQLITE_API
int sqlite3_str_errcode(sqlite3_str*);
7270 SQLITE_API
int sqlite3_str_length(sqlite3_str*);
7271 SQLITE_API
char *sqlite3_str_value(sqlite3_str*);
7299 SQLITE_API
int sqlite3_status(
int op,
int *pCurrent,
int *pHighwater,
int resetFlag);
7300 SQLITE_API
int sqlite3_status64(
7302 sqlite3_int64 *pCurrent,
7303 sqlite3_int64 *pHighwater,
7375 #define SQLITE_STATUS_MEMORY_USED 0 7376 #define SQLITE_STATUS_PAGECACHE_USED 1 7377 #define SQLITE_STATUS_PAGECACHE_OVERFLOW 2 7378 #define SQLITE_STATUS_SCRATCH_USED 3 7379 #define SQLITE_STATUS_SCRATCH_OVERFLOW 4 7380 #define SQLITE_STATUS_MALLOC_SIZE 5 7381 #define SQLITE_STATUS_PARSER_STACK 6 7382 #define SQLITE_STATUS_PAGECACHE_SIZE 7 7383 #define SQLITE_STATUS_SCRATCH_SIZE 8 7384 #define SQLITE_STATUS_MALLOC_COUNT 9 7409 SQLITE_API
int sqlite3_db_status(sqlite3*,
int op,
int *pCur,
int *pHiwtr,
int resetFlg);
7522 #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 7523 #define SQLITE_DBSTATUS_CACHE_USED 1 7524 #define SQLITE_DBSTATUS_SCHEMA_USED 2 7525 #define SQLITE_DBSTATUS_STMT_USED 3 7526 #define SQLITE_DBSTATUS_LOOKASIDE_HIT 4 7527 #define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5 7528 #define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6 7529 #define SQLITE_DBSTATUS_CACHE_HIT 7 7530 #define SQLITE_DBSTATUS_CACHE_MISS 8 7531 #define SQLITE_DBSTATUS_CACHE_WRITE 9 7532 #define SQLITE_DBSTATUS_DEFERRED_FKS 10 7533 #define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 7534 #define SQLITE_DBSTATUS_CACHE_SPILL 12 7535 #define SQLITE_DBSTATUS_MAX 12 7562 SQLITE_API
int sqlite3_stmt_status(sqlite3_stmt*,
int op,
int resetFlg);
7619 #define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 7620 #define SQLITE_STMTSTATUS_SORT 2 7621 #define SQLITE_STMTSTATUS_AUTOINDEX 3 7622 #define SQLITE_STMTSTATUS_VM_STEP 4 7623 #define SQLITE_STMTSTATUS_REPREPARE 5 7624 #define SQLITE_STMTSTATUS_RUN 6 7625 #define SQLITE_STMTSTATUS_MEMUSED 99 7638 typedef struct sqlite3_pcache sqlite3_pcache;
7650 typedef struct sqlite3_pcache_page sqlite3_pcache_page;
7651 struct sqlite3_pcache_page {
7815 typedef struct sqlite3_pcache_methods2 sqlite3_pcache_methods2;
7816 struct sqlite3_pcache_methods2 {
7819 int (*xInit)(
void*);
7820 void (*xShutdown)(
void*);
7821 sqlite3_pcache *(*xCreate)(
int szPage,
int szExtra,
int bPurgeable);
7822 void (*xCachesize)(sqlite3_pcache*,
int nCachesize);
7823 int (*xPagecount)(sqlite3_pcache*);
7824 sqlite3_pcache_page *(*xFetch)(sqlite3_pcache*,
unsigned key,
int createFlag);
7825 void (*xUnpin)(sqlite3_pcache*, sqlite3_pcache_page*,
int discard);
7826 void (*xRekey)(sqlite3_pcache*, sqlite3_pcache_page*,
7827 unsigned oldKey,
unsigned newKey);
7828 void (*xTruncate)(sqlite3_pcache*,
unsigned iLimit);
7829 void (*xDestroy)(sqlite3_pcache*);
7830 void (*xShrink)(sqlite3_pcache*);
7838 typedef struct sqlite3_pcache_methods sqlite3_pcache_methods;
7839 struct sqlite3_pcache_methods {
7841 int (*xInit)(
void*);
7842 void (*xShutdown)(
void*);
7843 sqlite3_pcache *(*xCreate)(
int szPage,
int bPurgeable);
7844 void (*xCachesize)(sqlite3_pcache*,
int nCachesize);
7845 int (*xPagecount)(sqlite3_pcache*);
7846 void *(*xFetch)(sqlite3_pcache*,
unsigned key,
int createFlag);
7847 void (*xUnpin)(sqlite3_pcache*,
void*,
int discard);
7848 void (*xRekey)(sqlite3_pcache*,
void*,
unsigned oldKey,
unsigned newKey);
7849 void (*xTruncate)(sqlite3_pcache*,
unsigned iLimit);
7850 void (*xDestroy)(sqlite3_pcache*);
7864 typedef struct sqlite3_backup sqlite3_backup;
8052 SQLITE_API sqlite3_backup *sqlite3_backup_init(
8054 const char *zDestName,
8056 const char *zSourceName
8058 SQLITE_API
int sqlite3_backup_step(sqlite3_backup *p,
int nPage);
8059 SQLITE_API
int sqlite3_backup_finish(sqlite3_backup *p);
8060 SQLITE_API
int sqlite3_backup_remaining(sqlite3_backup *p);
8061 SQLITE_API
int sqlite3_backup_pagecount(sqlite3_backup *p);
8178 SQLITE_API
int sqlite3_unlock_notify(
8180 void (*xNotify)(
void **apArg,
int nArg),
8193 SQLITE_API
int sqlite3_stricmp(
const char *,
const char *);
8194 SQLITE_API
int sqlite3_strnicmp(
const char *,
const char *,
int);
8211 SQLITE_API
int sqlite3_strglob(
const char *zGlob,
const char *zStr);
8234 SQLITE_API
int sqlite3_strlike(
const char *zGlob,
const char *zStr,
unsigned int cEsc);
8257 SQLITE_API
void sqlite3_log(
int iErrCode,
const char *zFormat, ...);
8293 SQLITE_API
void *sqlite3_wal_hook(
8295 int(*)(
void *,sqlite3*,
const char*,
int),
8328 SQLITE_API
int sqlite3_wal_autocheckpoint(sqlite3 *db,
int N);
8350 SQLITE_API
int sqlite3_wal_checkpoint(sqlite3 *db,
const char *zDb);
8444 SQLITE_API
int sqlite3_wal_checkpoint_v2(
8461 #define SQLITE_CHECKPOINT_PASSIVE 0 8462 #define SQLITE_CHECKPOINT_FULL 1 8463 #define SQLITE_CHECKPOINT_RESTART 2 8464 #define SQLITE_CHECKPOINT_TRUNCATE 3 8480 SQLITE_API
int sqlite3_vtab_config(sqlite3*,
int op, ...);
8521 #define SQLITE_VTAB_CONSTRAINT_SUPPORT 1 8533 SQLITE_API
int sqlite3_vtab_on_conflict(sqlite3 *);
8552 SQLITE_API
int sqlite3_vtab_nochange(sqlite3_context*);
8567 SQLITE_API SQLITE_EXPERIMENTAL
const char *sqlite3_vtab_collation(sqlite3_index_info*,
int);
8581 #define SQLITE_ROLLBACK 1 8583 #define SQLITE_FAIL 3 8585 #define SQLITE_REPLACE 5 8634 #define SQLITE_SCANSTAT_NLOOP 0 8635 #define SQLITE_SCANSTAT_NVISIT 1 8636 #define SQLITE_SCANSTAT_EST 2 8637 #define SQLITE_SCANSTAT_NAME 3 8638 #define SQLITE_SCANSTAT_EXPLAIN 4 8639 #define SQLITE_SCANSTAT_SELECTID 5 8672 SQLITE_API
int sqlite3_stmt_scanstatus(
8673 sqlite3_stmt *pStmt,
8688 SQLITE_API
void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
8720 SQLITE_API
int sqlite3_db_cacheflush(sqlite3*);
8804 #if defined(SQLITE_ENABLE_PREUPDATE_HOOK) 8805 SQLITE_API
void *sqlite3_preupdate_hook(
8813 sqlite3_int64 iKey1,
8818 SQLITE_API
int sqlite3_preupdate_old(sqlite3 *,
int, sqlite3_value **);
8819 SQLITE_API
int sqlite3_preupdate_count(sqlite3 *);
8820 SQLITE_API
int sqlite3_preupdate_depth(sqlite3 *);
8821 SQLITE_API
int sqlite3_preupdate_new(sqlite3 *,
int, sqlite3_value **);
8834 SQLITE_API
int sqlite3_system_errno(sqlite3*);
8862 typedef struct sqlite3_snapshot {
8863 unsigned char hidden[48];
8909 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_get(
8911 const char *zSchema,
8912 sqlite3_snapshot **ppSnapshot
8947 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_open(
8949 const char *zSchema,
8950 sqlite3_snapshot *pSnapshot
8964 SQLITE_API SQLITE_EXPERIMENTAL
void sqlite3_snapshot_free(sqlite3_snapshot*);
8988 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_cmp(
8989 sqlite3_snapshot *p1,
8990 sqlite3_snapshot *p2
9013 SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_recover(sqlite3 *db,
const char *zDb);
9051 SQLITE_API
unsigned char *sqlite3_serialize(
9053 const char *zSchema,
9054 sqlite3_int64 *piSize,
9072 #define SQLITE_SERIALIZE_NOCOPY 0x001 9103 SQLITE_API
int sqlite3_deserialize(
9105 const char *zSchema,
9106 unsigned char *pData,
9108 sqlite3_int64 szBuf,
9133 #define SQLITE_DESERIALIZE_FREEONCLOSE 1 9134 #define SQLITE_DESERIALIZE_RESIZEABLE 2 9135 #define SQLITE_DESERIALIZE_READONLY 4 9141 #ifdef SQLITE_OMIT_FLOATING_POINT 9164 #ifndef _SQLITE3RTREE_H_ 9165 #define _SQLITE3RTREE_H_ 9172 typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;
9173 typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info;
9178 #ifdef SQLITE_RTREE_INT_ONLY 9179 typedef sqlite3_int64 sqlite3_rtree_dbl;
9181 typedef double sqlite3_rtree_dbl;
9190 SQLITE_API
int sqlite3_rtree_geometry_callback(
9193 int (*xGeom)(sqlite3_rtree_geometry*,
int, sqlite3_rtree_dbl*,
int*),
9202 struct sqlite3_rtree_geometry {
9205 sqlite3_rtree_dbl *aParam;
9207 void (*xDelUser)(
void *);
9216 SQLITE_API
int sqlite3_rtree_query_callback(
9218 const char *zQueryFunc,
9219 int (*xQueryFunc)(sqlite3_rtree_query_info*),
9221 void (*xDestructor)(
void*)
9234 struct sqlite3_rtree_query_info {
9237 sqlite3_rtree_dbl *aParam;
9239 void (*xDelUser)(
void*);
9240 sqlite3_rtree_dbl *aCoord;
9241 unsigned int *anQueue;
9245 sqlite3_int64 iRowid;
9246 sqlite3_rtree_dbl rParentScore;
9249 sqlite3_rtree_dbl rScore;
9251 sqlite3_value **apSqlParam;
9257 #define NOT_WITHIN 0 9258 #define PARTLY_WITHIN 1 9259 #define FULLY_WITHIN 2 9271 #if !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION) 9272 #define __SQLITESESSION_H_ 1 9288 typedef struct sqlite3_session sqlite3_session;
9296 typedef struct sqlite3_changeset_iter sqlite3_changeset_iter;
9329 SQLITE_API
int sqlite3session_create(
9332 sqlite3_session **ppSession
9348 SQLITE_API
void sqlite3session_delete(sqlite3_session *pSession);
9369 SQLITE_API
int sqlite3session_enable(sqlite3_session *pSession,
int bEnable);
9399 SQLITE_API
int sqlite3session_indirect(sqlite3_session *pSession,
int bIndirect);
9459 SQLITE_API
int sqlite3session_attach(
9460 sqlite3_session *pSession,
9474 SQLITE_API
void sqlite3session_table_filter(
9475 sqlite3_session *pSession,
9588 SQLITE_API
int sqlite3session_changeset(
9589 sqlite3_session *pSession,
9651 SQLITE_API
int sqlite3session_diff(
9652 sqlite3_session *pSession,
9653 const char *zFromDb,
9688 SQLITE_API
int sqlite3session_patchset(
9689 sqlite3_session *pSession,
9709 SQLITE_API
int sqlite3session_isempty(sqlite3_session *pSession);
9745 SQLITE_API
int sqlite3changeset_start(
9746 sqlite3_changeset_iter **pp,
9775 SQLITE_API
int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
9804 SQLITE_API
int sqlite3changeset_op(
9805 sqlite3_changeset_iter *pIter,
9838 SQLITE_API
int sqlite3changeset_pk(
9839 sqlite3_changeset_iter *pIter,
9840 unsigned char **pabPK,
9869 SQLITE_API
int sqlite3changeset_old(
9870 sqlite3_changeset_iter *pIter,
9872 sqlite3_value **ppValue
9903 SQLITE_API
int sqlite3changeset_new(
9904 sqlite3_changeset_iter *pIter,
9906 sqlite3_value **ppValue
9931 SQLITE_API
int sqlite3changeset_conflict(
9932 sqlite3_changeset_iter *pIter,
9934 sqlite3_value **ppValue
9948 SQLITE_API
int sqlite3changeset_fk_conflicts(
9949 sqlite3_changeset_iter *pIter,
9984 SQLITE_API
int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter);
10014 SQLITE_API
int sqlite3changeset_invert(
10015 int nIn,
const void *pIn,
10016 int *pnOut,
void **ppOut
10045 SQLITE_API
int sqlite3changeset_concat(
10061 typedef struct sqlite3_changegroup sqlite3_changegroup;
10099 SQLITE_API
int sqlite3changegroup_new(sqlite3_changegroup **pp);
10177 SQLITE_API
int sqlite3changegroup_add(sqlite3_changegroup*,
int nData,
void *pData);
10204 SQLITE_API
int sqlite3changegroup_output(
10205 sqlite3_changegroup*,
10214 SQLITE_API
void sqlite3changegroup_delete(sqlite3_changegroup*);
10374 SQLITE_API
int sqlite3changeset_apply(
10385 sqlite3_changeset_iter *p
10389 SQLITE_API
int sqlite3changeset_apply_v2(
10400 sqlite3_changeset_iter *p
10403 void **ppRebase,
int *pnRebase,
10423 #define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001 10480 #define SQLITE_CHANGESET_DATA 1 10481 #define SQLITE_CHANGESET_NOTFOUND 2 10482 #define SQLITE_CHANGESET_CONFLICT 3 10483 #define SQLITE_CHANGESET_CONSTRAINT 4 10484 #define SQLITE_CHANGESET_FOREIGN_KEY 5 10517 #define SQLITE_CHANGESET_OMIT 0 10518 #define SQLITE_CHANGESET_REPLACE 1 10519 #define SQLITE_CHANGESET_ABORT 2 10619 typedef struct sqlite3_rebaser sqlite3_rebaser;
10630 SQLITE_API
int sqlite3rebaser_create(sqlite3_rebaser **ppNew);
10641 SQLITE_API
int sqlite3rebaser_configure(
10643 int nRebase,
const void *pRebase
10660 SQLITE_API
int sqlite3rebaser_rebase(
10662 int nIn,
const void *pIn,
10663 int *pnOut,
void **ppOut
10674 SQLITE_API
void sqlite3rebaser_delete(sqlite3_rebaser *p);
10766 SQLITE_API
int sqlite3changeset_apply_strm(
10768 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10777 sqlite3_changeset_iter *p
10781 SQLITE_API
int sqlite3changeset_apply_v2_strm(
10783 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10792 sqlite3_changeset_iter *p
10795 void **ppRebase,
int *pnRebase,
10798 SQLITE_API
int sqlite3changeset_concat_strm(
10799 int (*xInputA)(
void *pIn,
void *pData,
int *pnData),
10801 int (*xInputB)(
void *pIn,
void *pData,
int *pnData),
10803 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10806 SQLITE_API
int sqlite3changeset_invert_strm(
10807 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10809 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10812 SQLITE_API
int sqlite3changeset_start_strm(
10813 sqlite3_changeset_iter **pp,
10814 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10817 SQLITE_API
int sqlite3session_changeset_strm(
10818 sqlite3_session *pSession,
10819 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10822 SQLITE_API
int sqlite3session_patchset_strm(
10823 sqlite3_session *pSession,
10824 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10827 SQLITE_API
int sqlite3changegroup_add_strm(sqlite3_changegroup*,
10828 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10831 SQLITE_API
int sqlite3changegroup_output_strm(sqlite3_changegroup*,
10832 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10835 SQLITE_API
int sqlite3rebaser_rebase_strm(
10836 sqlite3_rebaser *pRebaser,
10837 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
10839 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
10890 typedef struct Fts5ExtensionApi Fts5ExtensionApi;
10891 typedef struct Fts5Context Fts5Context;
10892 typedef struct Fts5PhraseIter Fts5PhraseIter;
10894 typedef void (*fts5_extension_function)(
10895 const Fts5ExtensionApi *pApi,
10897 sqlite3_context *pCtx,
10899 sqlite3_value **apVal
10902 struct Fts5PhraseIter {
10903 const unsigned char *a;
10904 const unsigned char *b;
11122 struct Fts5ExtensionApi {
11125 void *(*xUserData)(Fts5Context*);
11127 int (*xColumnCount)(Fts5Context*);
11128 int (*xRowCount)(Fts5Context*, sqlite3_int64 *pnRow);
11129 int (*xColumnTotalSize)(Fts5Context*,
int iCol, sqlite3_int64 *pnToken);
11131 int (*xTokenize)(Fts5Context*,
11132 const char *pText,
int nText,
11134 int (*xToken)(
void*, int,
const char*, int, int, int)
11137 int (*xPhraseCount)(Fts5Context*);
11138 int (*xPhraseSize)(Fts5Context*,
int iPhrase);
11140 int (*xInstCount)(Fts5Context*,
int *pnInst);
11141 int (*xInst)(Fts5Context*,
int iIdx,
int *piPhrase,
int *piCol,
int *piOff);
11143 sqlite3_int64 (*xRowid)(Fts5Context*);
11144 int (*xColumnText)(Fts5Context*,
int iCol,
const char **pz,
int *pn);
11145 int (*xColumnSize)(Fts5Context*,
int iCol,
int *pnToken);
11147 int (*xQueryPhrase)(Fts5Context*,
int iPhrase,
void *pUserData,
11148 int(*)(
const Fts5ExtensionApi*,Fts5Context*,
void*)
11150 int (*xSetAuxdata)(Fts5Context*,
void *pAux, void(*xDelete)(
void*));
11151 void *(*xGetAuxdata)(Fts5Context*,
int bClear);
11153 int (*xPhraseFirst)(Fts5Context*,
int iPhrase, Fts5PhraseIter*,
int*,
int*);
11154 void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*,
int *piCol,
int *piOff);
11156 int (*xPhraseFirstColumn)(Fts5Context*,
int iPhrase, Fts5PhraseIter*,
int*);
11157 void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*,
int *piCol);
11356 typedef struct Fts5Tokenizer Fts5Tokenizer;
11357 typedef struct fts5_tokenizer fts5_tokenizer;
11358 struct fts5_tokenizer {
11359 int (*xCreate)(
void*,
const char **azArg,
int nArg, Fts5Tokenizer **ppOut);
11360 void (*xDelete)(Fts5Tokenizer*);
11361 int (*xTokenize)(Fts5Tokenizer*,
11364 const char *pText,
int nText,
11368 const char *pToken,
11377 #define FTS5_TOKENIZE_QUERY 0x0001 11378 #define FTS5_TOKENIZE_PREFIX 0x0002 11379 #define FTS5_TOKENIZE_DOCUMENT 0x0004 11380 #define FTS5_TOKENIZE_AUX 0x0008 11384 #define FTS5_TOKEN_COLOCATED 0x0001 11393 typedef struct fts5_api fts5_api;
11398 int (*xCreateTokenizer)(
11402 fts5_tokenizer *pTokenizer,
11403 void (*xDestroy)(
void*)
11407 int (*xFindTokenizer)(
11411 fts5_tokenizer *pTokenizer
11415 int (*xCreateFunction)(
11419 fts5_extension_function xFunction,
11420 void (*xDestroy)(
void*)