72# define SQLITE_EXTERN extern
81# define SQLITE_APICALL
84# define SQLITE_STDCALL SQLITE_APICALL
86#ifndef SQLITE_CALLBACK
87# define SQLITE_CALLBACK
106#define SQLITE_DEPRECATED
107#define SQLITE_EXPERIMENTAL
113# undef SQLITE_VERSION
115#ifdef SQLITE_VERSION_NUMBER
116# undef SQLITE_VERSION_NUMBER
149#define SQLITE_VERSION "3.47.2"
150#define SQLITE_VERSION_NUMBER 3047002
151#define SQLITE_SOURCE_ID "2024-12-07 20:39:59 46ac5c01d9108a533c035bff81018fd405a901cff29f191e966a26041fa6alt1"
185SQLITE_API SQLITE_EXTERN
const char sqlite3_version[];
186SQLITE_API
const char *sqlite3_libversion(
void);
187SQLITE_API
const char *sqlite3_sourceid(
void);
188SQLITE_API
int sqlite3_libversion_number(
void);
212#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS
213SQLITE_API
int sqlite3_compileoption_used(
const char *zOptName);
214SQLITE_API
const char *sqlite3_compileoption_get(
int N);
216# define sqlite3_compileoption_used(X) 0
217# define sqlite3_compileoption_get(X) ((void*)0)
256SQLITE_API
int sqlite3_threadsafe(
void);
272typedef struct sqlite3 sqlite3;
290#ifdef SQLITE_INT64_TYPE
291 typedef SQLITE_INT64_TYPE sqlite_int64;
292# ifdef SQLITE_UINT64_TYPE
293 typedef SQLITE_UINT64_TYPE sqlite_uint64;
295 typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;
297#elif defined(_MSC_VER) || defined(__BORLANDC__)
298 typedef __int64 sqlite_int64;
299 typedef unsigned __int64 sqlite_uint64;
301 typedef long long int sqlite_int64;
302 typedef unsigned long long int sqlite_uint64;
304typedef sqlite_int64 sqlite3_int64;
305typedef sqlite_uint64 sqlite3_uint64;
311#ifdef SQLITE_OMIT_FLOATING_POINT
312# define double sqlite3_int64
353SQLITE_API
int sqlite3_close(sqlite3*);
354SQLITE_API
int sqlite3_close_v2(sqlite3*);
361typedef int (*sqlite3_callback)(
void*,int,
char**,
char**);
427SQLITE_API
int sqlite3_exec(
430 int (*callback)(
void*,
int,
char**,
char**),
448#define SQLITE_ERROR 1
449#define SQLITE_INTERNAL 2
451#define SQLITE_ABORT 4
453#define SQLITE_LOCKED 6
454#define SQLITE_NOMEM 7
455#define SQLITE_READONLY 8
456#define SQLITE_INTERRUPT 9
457#define SQLITE_IOERR 10
458#define SQLITE_CORRUPT 11
459#define SQLITE_NOTFOUND 12
460#define SQLITE_FULL 13
461#define SQLITE_CANTOPEN 14
462#define SQLITE_PROTOCOL 15
463#define SQLITE_EMPTY 16
464#define SQLITE_SCHEMA 17
465#define SQLITE_TOOBIG 18
466#define SQLITE_CONSTRAINT 19
467#define SQLITE_MISMATCH 20
468#define SQLITE_MISUSE 21
469#define SQLITE_NOLFS 22
470#define SQLITE_AUTH 23
471#define SQLITE_FORMAT 24
472#define SQLITE_RANGE 25
473#define SQLITE_NOTADB 26
474#define SQLITE_NOTICE 27
475#define SQLITE_WARNING 28
476#define SQLITE_ROW 100
477#define SQLITE_DONE 101
497#define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8))
498#define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8))
499#define SQLITE_ERROR_SNAPSHOT (SQLITE_ERROR | (3<<8))
500#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8))
501#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8))
502#define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8))
503#define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8))
504#define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8))
505#define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8))
506#define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8))
507#define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8))
508#define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8))
509#define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8))
510#define SQLITE_IOERR_BLOCKED (SQLITE_IOERR | (11<<8))
511#define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8))
512#define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8))
513#define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8))
514#define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8))
515#define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8))
516#define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8))
517#define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8))
518#define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8))
519#define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8))
520#define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8))
521#define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8))
522#define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8))
523#define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8))
524#define SQLITE_IOERR_GETTEMPPATH (SQLITE_IOERR | (25<<8))
525#define SQLITE_IOERR_CONVPATH (SQLITE_IOERR | (26<<8))
526#define SQLITE_IOERR_VNODE (SQLITE_IOERR | (27<<8))
527#define SQLITE_IOERR_AUTH (SQLITE_IOERR | (28<<8))
528#define SQLITE_IOERR_BEGIN_ATOMIC (SQLITE_IOERR | (29<<8))
529#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8))
530#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8))
531#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
532#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8))
533#define SQLITE_IOERR_IN_PAGE (SQLITE_IOERR | (34<<8))
534#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
535#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
536#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
537#define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8))
538#define SQLITE_BUSY_TIMEOUT (SQLITE_BUSY | (3<<8))
539#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8))
540#define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8))
541#define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8))
542#define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8))
543#define SQLITE_CANTOPEN_DIRTYWAL (SQLITE_CANTOPEN | (5<<8))
544#define SQLITE_CANTOPEN_SYMLINK (SQLITE_CANTOPEN | (6<<8))
545#define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8))
546#define SQLITE_CORRUPT_SEQUENCE (SQLITE_CORRUPT | (2<<8))
547#define SQLITE_CORRUPT_INDEX (SQLITE_CORRUPT | (3<<8))
548#define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8))
549#define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8))
550#define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8))
551#define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8))
552#define SQLITE_READONLY_CANTINIT (SQLITE_READONLY | (5<<8))
553#define SQLITE_READONLY_DIRECTORY (SQLITE_READONLY | (6<<8))
554#define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8))
555#define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8))
556#define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8))
557#define SQLITE_CONSTRAINT_FOREIGNKEY (SQLITE_CONSTRAINT | (3<<8))
558#define SQLITE_CONSTRAINT_FUNCTION (SQLITE_CONSTRAINT | (4<<8))
559#define SQLITE_CONSTRAINT_NOTNULL (SQLITE_CONSTRAINT | (5<<8))
560#define SQLITE_CONSTRAINT_PRIMARYKEY (SQLITE_CONSTRAINT | (6<<8))
561#define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8))
562#define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8))
563#define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8))
564#define SQLITE_CONSTRAINT_ROWID (SQLITE_CONSTRAINT |(10<<8))
565#define SQLITE_CONSTRAINT_PINNED (SQLITE_CONSTRAINT |(11<<8))
566#define SQLITE_CONSTRAINT_DATATYPE (SQLITE_CONSTRAINT |(12<<8))
567#define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8))
568#define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8))
569#define SQLITE_NOTICE_RBU (SQLITE_NOTICE | (3<<8))
570#define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8))
571#define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8))
572#define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8))
573#define SQLITE_OK_SYMLINK (SQLITE_OK | (2<<8))
595#define SQLITE_OPEN_READONLY 0x00000001
596#define SQLITE_OPEN_READWRITE 0x00000002
597#define SQLITE_OPEN_CREATE 0x00000004
598#define SQLITE_OPEN_DELETEONCLOSE 0x00000008
599#define SQLITE_OPEN_EXCLUSIVE 0x00000010
600#define SQLITE_OPEN_AUTOPROXY 0x00000020
601#define SQLITE_OPEN_URI 0x00000040
602#define SQLITE_OPEN_MEMORY 0x00000080
603#define SQLITE_OPEN_MAIN_DB 0x00000100
604#define SQLITE_OPEN_TEMP_DB 0x00000200
605#define SQLITE_OPEN_TRANSIENT_DB 0x00000400
606#define SQLITE_OPEN_MAIN_JOURNAL 0x00000800
607#define SQLITE_OPEN_TEMP_JOURNAL 0x00001000
608#define SQLITE_OPEN_SUBJOURNAL 0x00002000
609#define SQLITE_OPEN_SUPER_JOURNAL 0x00004000
610#define SQLITE_OPEN_NOMUTEX 0x00008000
611#define SQLITE_OPEN_FULLMUTEX 0x00010000
612#define SQLITE_OPEN_SHAREDCACHE 0x00020000
613#define SQLITE_OPEN_PRIVATECACHE 0x00040000
614#define SQLITE_OPEN_WAL 0x00080000
615#define SQLITE_OPEN_NOFOLLOW 0x01000000
616#define SQLITE_OPEN_EXRESCODE 0x02000000
620#define SQLITE_OPEN_MASTER_JOURNAL 0x00004000
663#define SQLITE_IOCAP_ATOMIC 0x00000001
664#define SQLITE_IOCAP_ATOMIC512 0x00000002
665#define SQLITE_IOCAP_ATOMIC1K 0x00000004
666#define SQLITE_IOCAP_ATOMIC2K 0x00000008
667#define SQLITE_IOCAP_ATOMIC4K 0x00000010
668#define SQLITE_IOCAP_ATOMIC8K 0x00000020
669#define SQLITE_IOCAP_ATOMIC16K 0x00000040
670#define SQLITE_IOCAP_ATOMIC32K 0x00000080
671#define SQLITE_IOCAP_ATOMIC64K 0x00000100
672#define SQLITE_IOCAP_SAFE_APPEND 0x00000200
673#define SQLITE_IOCAP_SEQUENTIAL 0x00000400
674#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800
675#define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000
676#define SQLITE_IOCAP_IMMUTABLE 0x00002000
677#define SQLITE_IOCAP_BATCH_ATOMIC 0x00004000
678#define SQLITE_IOCAP_SUBPAGE_READ 0x00008000
691#define SQLITE_LOCK_NONE 0
692#define SQLITE_LOCK_SHARED 1
693#define SQLITE_LOCK_RESERVED 2
694#define SQLITE_LOCK_PENDING 3
695#define SQLITE_LOCK_EXCLUSIVE 4
723#define SQLITE_SYNC_NORMAL 0x00002
724#define SQLITE_SYNC_FULL 0x00003
725#define SQLITE_SYNC_DATAONLY 0x00010
849 int (*xRead)(
sqlite3_file*,
void*,
int iAmt, sqlite3_int64 iOfst);
850 int (*xWrite)(
sqlite3_file*,
const void*,
int iAmt, sqlite3_int64 iOfst);
861 int (*xShmMap)(
sqlite3_file*,
int iPg,
int pgsz, int,
void volatile**);
862 int (*xShmLock)(
sqlite3_file*,
int offset,
int n,
int flags);
866 int (*xFetch)(
sqlite3_file*, sqlite3_int64 iOfst,
int iAmt,
void **pp);
867 int (*xUnfetch)(
sqlite3_file*, sqlite3_int64 iOfst,
void *p);
1215#define SQLITE_FCNTL_LOCKSTATE 1
1216#define SQLITE_FCNTL_GET_LOCKPROXYFILE 2
1217#define SQLITE_FCNTL_SET_LOCKPROXYFILE 3
1218#define SQLITE_FCNTL_LAST_ERRNO 4
1219#define SQLITE_FCNTL_SIZE_HINT 5
1220#define SQLITE_FCNTL_CHUNK_SIZE 6
1221#define SQLITE_FCNTL_FILE_POINTER 7
1222#define SQLITE_FCNTL_SYNC_OMITTED 8
1223#define SQLITE_FCNTL_WIN32_AV_RETRY 9
1224#define SQLITE_FCNTL_PERSIST_WAL 10
1225#define SQLITE_FCNTL_OVERWRITE 11
1226#define SQLITE_FCNTL_VFSNAME 12
1227#define SQLITE_FCNTL_POWERSAFE_OVERWRITE 13
1228#define SQLITE_FCNTL_PRAGMA 14
1229#define SQLITE_FCNTL_BUSYHANDLER 15
1230#define SQLITE_FCNTL_TEMPFILENAME 16
1231#define SQLITE_FCNTL_MMAP_SIZE 18
1232#define SQLITE_FCNTL_TRACE 19
1233#define SQLITE_FCNTL_HAS_MOVED 20
1234#define SQLITE_FCNTL_SYNC 21
1235#define SQLITE_FCNTL_COMMIT_PHASETWO 22
1236#define SQLITE_FCNTL_WIN32_SET_HANDLE 23
1237#define SQLITE_FCNTL_WAL_BLOCK 24
1238#define SQLITE_FCNTL_ZIPVFS 25
1239#define SQLITE_FCNTL_RBU 26
1240#define SQLITE_FCNTL_VFS_POINTER 27
1241#define SQLITE_FCNTL_JOURNAL_POINTER 28
1242#define SQLITE_FCNTL_WIN32_GET_HANDLE 29
1243#define SQLITE_FCNTL_PDB 30
1244#define SQLITE_FCNTL_BEGIN_ATOMIC_WRITE 31
1245#define SQLITE_FCNTL_COMMIT_ATOMIC_WRITE 32
1246#define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33
1247#define SQLITE_FCNTL_LOCK_TIMEOUT 34
1248#define SQLITE_FCNTL_DATA_VERSION 35
1249#define SQLITE_FCNTL_SIZE_LIMIT 36
1250#define SQLITE_FCNTL_CKPT_DONE 37
1251#define SQLITE_FCNTL_RESERVE_BYTES 38
1252#define SQLITE_FCNTL_CKPT_START 39
1253#define SQLITE_FCNTL_EXTERNAL_READER 40
1254#define SQLITE_FCNTL_CKSM_FILE 41
1255#define SQLITE_FCNTL_RESET_CACHE 42
1258#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
1259#define SQLITE_SET_LOCKPROXYFILE SQLITE_FCNTL_SET_LOCKPROXYFILE
1260#define SQLITE_LAST_ERRNO SQLITE_FCNTL_LAST_ERRNO
1273typedef struct sqlite3_mutex sqlite3_mutex;
1283typedef struct sqlite3_api_routines sqlite3_api_routines;
1303typedef const char *sqlite3_filename;
1475typedef void (*sqlite3_syscall_ptr)(void);
1484 int flags,
int *pOutFlags);
1485 int (*xDelete)(
sqlite3_vfs*,
const char *zName,
int syncDir);
1486 int (*xAccess)(
sqlite3_vfs*,
const char *zName,
int flags,
int *pResOut);
1487 int (*xFullPathname)(
sqlite3_vfs*,
const char *zName,
int nOut,
char *zOut);
1488 void *(*xDlOpen)(
sqlite3_vfs*,
const char *zFilename);
1489 void (*xDlError)(
sqlite3_vfs*,
int nByte,
char *zErrMsg);
1490 void (*(*xDlSym)(
sqlite3_vfs*,
void*,
const char *zSymbol))(void);
1492 int (*xRandomness)(
sqlite3_vfs*,
int nByte,
char *zOut);
1500 int (*xCurrentTimeInt64)(
sqlite3_vfs*, sqlite3_int64*);
1505 int (*xSetSystemCall)(
sqlite3_vfs*,
const char *zName, sqlite3_syscall_ptr);
1506 sqlite3_syscall_ptr (*xGetSystemCall)(
sqlite3_vfs*,
const char *zName);
1507 const char *(*xNextSystemCall)(
sqlite3_vfs*,
const char *zName);
1535#define SQLITE_ACCESS_EXISTS 0
1536#define SQLITE_ACCESS_READWRITE 1
1537#define SQLITE_ACCESS_READ 2
1561#define SQLITE_SHM_UNLOCK 1
1562#define SQLITE_SHM_LOCK 2
1563#define SQLITE_SHM_SHARED 4
1564#define SQLITE_SHM_EXCLUSIVE 8
1574#define SQLITE_SHM_NLOCK 8
1652SQLITE_API
int sqlite3_initialize(
void);
1653SQLITE_API
int sqlite3_shutdown(
void);
1654SQLITE_API
int sqlite3_os_init(
void);
1655SQLITE_API
int sqlite3_os_end(
void);
1691SQLITE_API
int sqlite3_config(
int, ...);
1710SQLITE_API
int sqlite3_db_config(sqlite3*,
int op, ...);
1777 void *(*xMalloc)(int);
1778 void (*xFree)(
void*);
1779 void *(*xRealloc)(
void*,int);
1780 int (*xSize)(
void*);
1781 int (*xRoundup)(int);
1782 int (*xInit)(
void*);
1783 void (*xShutdown)(
void*);
2173#define SQLITE_CONFIG_SINGLETHREAD 1
2174#define SQLITE_CONFIG_MULTITHREAD 2
2175#define SQLITE_CONFIG_SERIALIZED 3
2176#define SQLITE_CONFIG_MALLOC 4
2177#define SQLITE_CONFIG_GETMALLOC 5
2178#define SQLITE_CONFIG_SCRATCH 6
2179#define SQLITE_CONFIG_PAGECACHE 7
2180#define SQLITE_CONFIG_HEAP 8
2181#define SQLITE_CONFIG_MEMSTATUS 9
2182#define SQLITE_CONFIG_MUTEX 10
2183#define SQLITE_CONFIG_GETMUTEX 11
2185#define SQLITE_CONFIG_LOOKASIDE 13
2186#define SQLITE_CONFIG_PCACHE 14
2187#define SQLITE_CONFIG_GETPCACHE 15
2188#define SQLITE_CONFIG_LOG 16
2189#define SQLITE_CONFIG_URI 17
2190#define SQLITE_CONFIG_PCACHE2 18
2191#define SQLITE_CONFIG_GETPCACHE2 19
2192#define SQLITE_CONFIG_COVERING_INDEX_SCAN 20
2193#define SQLITE_CONFIG_SQLLOG 21
2194#define SQLITE_CONFIG_MMAP_SIZE 22
2195#define SQLITE_CONFIG_WIN32_HEAPSIZE 23
2196#define SQLITE_CONFIG_PCACHE_HDRSZ 24
2197#define SQLITE_CONFIG_PMASZ 25
2198#define SQLITE_CONFIG_STMTJRNL_SPILL 26
2199#define SQLITE_CONFIG_SMALL_MALLOC 27
2200#define SQLITE_CONFIG_SORTERREF_SIZE 28
2201#define SQLITE_CONFIG_MEMDB_MAXSIZE 29
2202#define SQLITE_CONFIG_ROWID_IN_VIEW 30
2522#define SQLITE_DBCONFIG_MAINDBNAME 1000
2523#define SQLITE_DBCONFIG_LOOKASIDE 1001
2524#define SQLITE_DBCONFIG_ENABLE_FKEY 1002
2525#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003
2526#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004
2527#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005
2528#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006
2529#define SQLITE_DBCONFIG_ENABLE_QPSG 1007
2530#define SQLITE_DBCONFIG_TRIGGER_EQP 1008
2531#define SQLITE_DBCONFIG_RESET_DATABASE 1009
2532#define SQLITE_DBCONFIG_DEFENSIVE 1010
2533#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011
2534#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012
2535#define SQLITE_DBCONFIG_DQS_DML 1013
2536#define SQLITE_DBCONFIG_DQS_DDL 1014
2537#define SQLITE_DBCONFIG_ENABLE_VIEW 1015
2538#define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 1016
2539#define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017
2540#define SQLITE_DBCONFIG_STMT_SCANSTATUS 1018
2541#define SQLITE_DBCONFIG_REVERSE_SCANORDER 1019
2542#define SQLITE_DBCONFIG_MAX 1019
2552SQLITE_API
int sqlite3_extended_result_codes(sqlite3*,
int onoff);
2614SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
2624SQLITE_API
void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);
2685SQLITE_API
int sqlite3_changes(sqlite3*);
2686SQLITE_API sqlite3_int64 sqlite3_changes64(sqlite3*);
2727SQLITE_API
int sqlite3_total_changes(sqlite3*);
2728SQLITE_API sqlite3_int64 sqlite3_total_changes64(sqlite3*);
2769SQLITE_API
void sqlite3_interrupt(sqlite3*);
2770SQLITE_API
int sqlite3_is_interrupted(sqlite3*);
2805SQLITE_API
int sqlite3_complete(
const char *sql);
2806SQLITE_API
int sqlite3_complete16(
const void *sql);
2867SQLITE_API
int sqlite3_busy_handler(sqlite3*,
int(*)(
void*,
int),
void*);
2890SQLITE_API
int sqlite3_busy_timeout(sqlite3*,
int ms);
2965SQLITE_API
int sqlite3_get_table(
2973SQLITE_API
void sqlite3_free_table(
char **result);
3015SQLITE_API
char *sqlite3_mprintf(
const char*,...);
3016SQLITE_API
char *sqlite3_vmprintf(
const char*, va_list);
3017SQLITE_API
char *sqlite3_snprintf(
int,
char*,
const char*, ...);
3018SQLITE_API
char *sqlite3_vsnprintf(
int,
char*,
const char*, va_list);
3095SQLITE_API
void *sqlite3_malloc(
int);
3096SQLITE_API
void *sqlite3_malloc64(sqlite3_uint64);
3097SQLITE_API
void *sqlite3_realloc(
void*,
int);
3098SQLITE_API
void *sqlite3_realloc64(
void*, sqlite3_uint64);
3099SQLITE_API
void sqlite3_free(
void*);
3100SQLITE_API sqlite3_uint64 sqlite3_msize(
void*);
3125SQLITE_API sqlite3_int64 sqlite3_memory_used(
void);
3126SQLITE_API sqlite3_int64 sqlite3_memory_highwater(
int resetFlag);
3149SQLITE_API
void sqlite3_randomness(
int N,
void *P);
3240SQLITE_API
int sqlite3_set_authorizer(
3242 int (*xAuth)(
void*,
int,
const char*,
const char*,
const char*,
const char*),
3258#define SQLITE_DENY 1
3259#define SQLITE_IGNORE 2
3281#define SQLITE_CREATE_INDEX 1
3282#define SQLITE_CREATE_TABLE 2
3283#define SQLITE_CREATE_TEMP_INDEX 3
3284#define SQLITE_CREATE_TEMP_TABLE 4
3285#define SQLITE_CREATE_TEMP_TRIGGER 5
3286#define SQLITE_CREATE_TEMP_VIEW 6
3287#define SQLITE_CREATE_TRIGGER 7
3288#define SQLITE_CREATE_VIEW 8
3289#define SQLITE_DELETE 9
3290#define SQLITE_DROP_INDEX 10
3291#define SQLITE_DROP_TABLE 11
3292#define SQLITE_DROP_TEMP_INDEX 12
3293#define SQLITE_DROP_TEMP_TABLE 13
3294#define SQLITE_DROP_TEMP_TRIGGER 14
3295#define SQLITE_DROP_TEMP_VIEW 15
3296#define SQLITE_DROP_TRIGGER 16
3297#define SQLITE_DROP_VIEW 17
3298#define SQLITE_INSERT 18
3299#define SQLITE_PRAGMA 19
3300#define SQLITE_READ 20
3301#define SQLITE_SELECT 21
3302#define SQLITE_TRANSACTION 22
3303#define SQLITE_UPDATE 23
3304#define SQLITE_ATTACH 24
3305#define SQLITE_DETACH 25
3306#define SQLITE_ALTER_TABLE 26
3307#define SQLITE_REINDEX 27
3308#define SQLITE_ANALYZE 28
3309#define SQLITE_CREATE_VTABLE 29
3310#define SQLITE_DROP_VTABLE 30
3311#define SQLITE_FUNCTION 31
3312#define SQLITE_SAVEPOINT 32
3313#define SQLITE_COPY 0
3314#define SQLITE_RECURSIVE 33
3348SQLITE_API SQLITE_DEPRECATED
void *sqlite3_trace(sqlite3*,
3349 void(*xTrace)(
void*,
const char*),
void*);
3350SQLITE_API SQLITE_DEPRECATED
void *sqlite3_profile(sqlite3*,
3351 void(*xProfile)(
void*,
const char*,sqlite3_uint64),
void*);
3405#define SQLITE_TRACE_STMT 0x01
3406#define SQLITE_TRACE_PROFILE 0x02
3407#define SQLITE_TRACE_ROW 0x04
3408#define SQLITE_TRACE_CLOSE 0x08
3441SQLITE_API
int sqlite3_trace_v2(
3444 int(*xCallback)(
unsigned,
void*,
void*,
void*),
3487SQLITE_API
void sqlite3_progress_handler(sqlite3*,
int,
int(*)(
void*),
void*);
3767SQLITE_API
int sqlite3_open(
3768 const char *filename,
3771SQLITE_API
int sqlite3_open16(
3772 const void *filename,
3775SQLITE_API
int sqlite3_open_v2(
3776 const char *filename,
3848SQLITE_API
const char *sqlite3_uri_parameter(sqlite3_filename z,
const char *zParam);
3849SQLITE_API
int sqlite3_uri_boolean(sqlite3_filename z,
const char *zParam,
int bDefault);
3850SQLITE_API sqlite3_int64 sqlite3_uri_int64(sqlite3_filename,
const char*, sqlite3_int64);
3851SQLITE_API
const char *sqlite3_uri_key(sqlite3_filename z,
int N);
3880SQLITE_API
const char *sqlite3_filename_database(sqlite3_filename);
3881SQLITE_API
const char *sqlite3_filename_journal(sqlite3_filename);
3882SQLITE_API
const char *sqlite3_filename_wal(sqlite3_filename);
3901SQLITE_API
sqlite3_file *sqlite3_database_file_object(
const char*);
3948SQLITE_API sqlite3_filename sqlite3_create_filename(
3949 const char *zDatabase,
3950 const char *zJournal,
3953 const char **azParam
3955SQLITE_API
void sqlite3_free_filename(sqlite3_filename);
4020SQLITE_API
int sqlite3_errcode(sqlite3 *db);
4021SQLITE_API
int sqlite3_extended_errcode(sqlite3 *db);
4022SQLITE_API
const char *sqlite3_errmsg(sqlite3*);
4023SQLITE_API
const void *sqlite3_errmsg16(sqlite3*);
4024SQLITE_API
const char *sqlite3_errstr(
int);
4025SQLITE_API
int sqlite3_error_offset(sqlite3 *db);
4051typedef struct sqlite3_stmt sqlite3_stmt;
4093SQLITE_API
int sqlite3_limit(sqlite3*,
int id,
int newVal);
4151#define SQLITE_LIMIT_LENGTH 0
4152#define SQLITE_LIMIT_SQL_LENGTH 1
4153#define SQLITE_LIMIT_COLUMN 2
4154#define SQLITE_LIMIT_EXPR_DEPTH 3
4155#define SQLITE_LIMIT_COMPOUND_SELECT 4
4156#define SQLITE_LIMIT_VDBE_OP 5
4157#define SQLITE_LIMIT_FUNCTION_ARG 6
4158#define SQLITE_LIMIT_ATTACHED 7
4159#define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8
4160#define SQLITE_LIMIT_VARIABLE_NUMBER 9
4161#define SQLITE_LIMIT_TRIGGER_DEPTH 10
4162#define SQLITE_LIMIT_WORKER_THREADS 11
4199#define SQLITE_PREPARE_PERSISTENT 0x01
4200#define SQLITE_PREPARE_NORMALIZE 0x02
4201#define SQLITE_PREPARE_NO_VTAB 0x04
4307SQLITE_API
int sqlite3_prepare(
4311 sqlite3_stmt **ppStmt,
4314SQLITE_API
int sqlite3_prepare_v2(
4318 sqlite3_stmt **ppStmt,
4321SQLITE_API
int sqlite3_prepare_v3(
4325 unsigned int prepFlags,
4326 sqlite3_stmt **ppStmt,
4329SQLITE_API
int sqlite3_prepare16(
4333 sqlite3_stmt **ppStmt,
4336SQLITE_API
int sqlite3_prepare16_v2(
4340 sqlite3_stmt **ppStmt,
4343SQLITE_API
int sqlite3_prepare16_v3(
4347 unsigned int prepFlags,
4348 sqlite3_stmt **ppStmt,
4393SQLITE_API
const char *sqlite3_sql(sqlite3_stmt *pStmt);
4394SQLITE_API
char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);
4395#ifdef SQLITE_ENABLE_NORMALIZE
4396SQLITE_API
const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt);
4446SQLITE_API
int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
4458SQLITE_API
int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt);
4493SQLITE_API
int sqlite3_stmt_explain(sqlite3_stmt *pStmt,
int eMode);
4514SQLITE_API
int sqlite3_stmt_busy(sqlite3_stmt*);
4558typedef struct sqlite3_value sqlite3_value;
4572typedef struct sqlite3_context sqlite3_context;
4714SQLITE_API
int sqlite3_bind_blob(sqlite3_stmt*,
int,
const void*,
int n,
void(*)(
void*));
4715SQLITE_API
int sqlite3_bind_blob64(sqlite3_stmt*,
int,
const void*, sqlite3_uint64,
4717SQLITE_API
int sqlite3_bind_double(sqlite3_stmt*,
int,
double);
4718SQLITE_API
int sqlite3_bind_int(sqlite3_stmt*,
int,
int);
4719SQLITE_API
int sqlite3_bind_int64(sqlite3_stmt*,
int, sqlite3_int64);
4720SQLITE_API
int sqlite3_bind_null(sqlite3_stmt*,
int);
4721SQLITE_API
int sqlite3_bind_text(sqlite3_stmt*,
int,
const char*,
int,
void(*)(
void*));
4722SQLITE_API
int sqlite3_bind_text16(sqlite3_stmt*,
int,
const void*,
int,
void(*)(
void*));
4723SQLITE_API
int sqlite3_bind_text64(sqlite3_stmt*,
int,
const char*, sqlite3_uint64,
4724 void(*)(
void*),
unsigned char encoding);
4725SQLITE_API
int sqlite3_bind_value(sqlite3_stmt*,
int,
const sqlite3_value*);
4726SQLITE_API
int sqlite3_bind_pointer(sqlite3_stmt*,
int,
void*,
const char*,
void(*)(
void*));
4727SQLITE_API
int sqlite3_bind_zeroblob(sqlite3_stmt*,
int,
int n);
4728SQLITE_API
int sqlite3_bind_zeroblob64(sqlite3_stmt*,
int, sqlite3_uint64);
4749SQLITE_API
int sqlite3_bind_parameter_count(sqlite3_stmt*);
4777SQLITE_API
const char *sqlite3_bind_parameter_name(sqlite3_stmt*,
int);
4795SQLITE_API
int sqlite3_bind_parameter_index(sqlite3_stmt*,
const char *zName);
4805SQLITE_API
int sqlite3_clear_bindings(sqlite3_stmt*);
4821SQLITE_API
int sqlite3_column_count(sqlite3_stmt *pStmt);
4850SQLITE_API
const char *sqlite3_column_name(sqlite3_stmt*,
int N);
4851SQLITE_API
const void *sqlite3_column_name16(sqlite3_stmt*,
int N);
4895SQLITE_API
const char *sqlite3_column_database_name(sqlite3_stmt*,
int);
4896SQLITE_API
const void *sqlite3_column_database_name16(sqlite3_stmt*,
int);
4897SQLITE_API
const char *sqlite3_column_table_name(sqlite3_stmt*,
int);
4898SQLITE_API
const void *sqlite3_column_table_name16(sqlite3_stmt*,
int);
4899SQLITE_API
const char *sqlite3_column_origin_name(sqlite3_stmt*,
int);
4900SQLITE_API
const void *sqlite3_column_origin_name16(sqlite3_stmt*,
int);
4932SQLITE_API
const char *sqlite3_column_decltype(sqlite3_stmt*,
int);
4933SQLITE_API
const void *sqlite3_column_decltype16(sqlite3_stmt*,
int);
5017SQLITE_API
int sqlite3_step(sqlite3_stmt*);
5038SQLITE_API
int sqlite3_data_count(sqlite3_stmt *pStmt);
5061#define SQLITE_INTEGER 1
5062#define SQLITE_FLOAT 2
5063#define SQLITE_BLOB 4
5064#define SQLITE_NULL 5
5068# define SQLITE_TEXT 3
5070#define SQLITE3_TEXT 3
5285SQLITE_API
const void *sqlite3_column_blob(sqlite3_stmt*,
int iCol);
5286SQLITE_API
double sqlite3_column_double(sqlite3_stmt*,
int iCol);
5287SQLITE_API
int sqlite3_column_int(sqlite3_stmt*,
int iCol);
5288SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*,
int iCol);
5289SQLITE_API
const unsigned char *sqlite3_column_text(sqlite3_stmt*,
int iCol);
5290SQLITE_API
const void *sqlite3_column_text16(sqlite3_stmt*,
int iCol);
5291SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*,
int iCol);
5292SQLITE_API
int sqlite3_column_bytes(sqlite3_stmt*,
int iCol);
5293SQLITE_API
int sqlite3_column_bytes16(sqlite3_stmt*,
int iCol);
5294SQLITE_API
int sqlite3_column_type(sqlite3_stmt*,
int iCol);
5322SQLITE_API
int sqlite3_finalize(sqlite3_stmt *pStmt);
5361SQLITE_API
int sqlite3_reset(sqlite3_stmt *pStmt);
5487SQLITE_API
int sqlite3_create_function(
5489 const char *zFunctionName,
5493 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
5494 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
5495 void (*xFinal)(sqlite3_context*)
5497SQLITE_API
int sqlite3_create_function16(
5499 const void *zFunctionName,
5503 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
5504 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
5505 void (*xFinal)(sqlite3_context*)
5507SQLITE_API
int sqlite3_create_function_v2(
5509 const char *zFunctionName,
5513 void (*xFunc)(sqlite3_context*,
int,sqlite3_value**),
5514 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
5515 void (*xFinal)(sqlite3_context*),
5516 void(*xDestroy)(
void*)
5518SQLITE_API
int sqlite3_create_window_function(
5520 const char *zFunctionName,
5524 void (*xStep)(sqlite3_context*,
int,sqlite3_value**),
5525 void (*xFinal)(sqlite3_context*),
5526 void (*xValue)(sqlite3_context*),
5527 void (*xInverse)(sqlite3_context*,
int,sqlite3_value**),
5528 void(*xDestroy)(
void*)
5537#define SQLITE_UTF8 1
5538#define SQLITE_UTF16LE 2
5539#define SQLITE_UTF16BE 3
5540#define SQLITE_UTF16 4
5542#define SQLITE_UTF16_ALIGNED 8
5643#define SQLITE_DETERMINISTIC 0x000000800
5644#define SQLITE_DIRECTONLY 0x000080000
5645#define SQLITE_SUBTYPE 0x000100000
5646#define SQLITE_INNOCUOUS 0x000200000
5647#define SQLITE_RESULT_SUBTYPE 0x001000000
5648#define SQLITE_SELFORDER1 0x002000000
5660#ifndef SQLITE_OMIT_DEPRECATED
5661SQLITE_API SQLITE_DEPRECATED
int sqlite3_aggregate_count(sqlite3_context*);
5662SQLITE_API SQLITE_DEPRECATED
int sqlite3_expired(sqlite3_stmt*);
5663SQLITE_API SQLITE_DEPRECATED
int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
5664SQLITE_API SQLITE_DEPRECATED
int sqlite3_global_recover(
void);
5665SQLITE_API SQLITE_DEPRECATED
void sqlite3_thread_cleanup(
void);
5666SQLITE_API SQLITE_DEPRECATED
int sqlite3_memory_alarm(
void(*)(
void*,sqlite3_int64,
int),
5667 void*,sqlite3_int64);
5798SQLITE_API
const void *sqlite3_value_blob(sqlite3_value*);
5799SQLITE_API
double sqlite3_value_double(sqlite3_value*);
5800SQLITE_API
int sqlite3_value_int(sqlite3_value*);
5801SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
5802SQLITE_API
void *sqlite3_value_pointer(sqlite3_value*,
const char*);
5803SQLITE_API
const unsigned char *sqlite3_value_text(sqlite3_value*);
5804SQLITE_API
const void *sqlite3_value_text16(sqlite3_value*);
5805SQLITE_API
const void *sqlite3_value_text16le(sqlite3_value*);
5806SQLITE_API
const void *sqlite3_value_text16be(sqlite3_value*);
5807SQLITE_API
int sqlite3_value_bytes(sqlite3_value*);
5808SQLITE_API
int sqlite3_value_bytes16(sqlite3_value*);
5809SQLITE_API
int sqlite3_value_type(sqlite3_value*);
5810SQLITE_API
int sqlite3_value_numeric_type(sqlite3_value*);
5811SQLITE_API
int sqlite3_value_nochange(sqlite3_value*);
5812SQLITE_API
int sqlite3_value_frombind(sqlite3_value*);
5834SQLITE_API
int sqlite3_value_encoding(sqlite3_value*);
5852SQLITE_API
unsigned int sqlite3_value_subtype(sqlite3_value*);
5869SQLITE_API sqlite3_value *sqlite3_value_dup(
const sqlite3_value*);
5870SQLITE_API
void sqlite3_value_free(sqlite3_value*);
5915SQLITE_API
void *sqlite3_aggregate_context(sqlite3_context*,
int nBytes);
5930SQLITE_API
void *sqlite3_user_data(sqlite3_context*);
5942SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
6011SQLITE_API
void *sqlite3_get_auxdata(sqlite3_context*,
int N);
6012SQLITE_API
void sqlite3_set_auxdata(sqlite3_context*,
int N,
void*,
void (*)(
void*));
6067SQLITE_API
void *sqlite3_get_clientdata(sqlite3*,
const char*);
6068SQLITE_API
int sqlite3_set_clientdata(sqlite3*,
const char*,
void*,
void(*)(
void*));
6084typedef void (*sqlite3_destructor_type)(
void*);
6085#define SQLITE_STATIC ((sqlite3_destructor_type)0)
6086#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1)
6235SQLITE_API
void sqlite3_result_blob(sqlite3_context*,
const void*,
int,
void(*)(
void*));
6236SQLITE_API
void sqlite3_result_blob64(sqlite3_context*,
const void*,
6237 sqlite3_uint64,
void(*)(
void*));
6238SQLITE_API
void sqlite3_result_double(sqlite3_context*,
double);
6239SQLITE_API
void sqlite3_result_error(sqlite3_context*,
const char*,
int);
6240SQLITE_API
void sqlite3_result_error16(sqlite3_context*,
const void*,
int);
6241SQLITE_API
void sqlite3_result_error_toobig(sqlite3_context*);
6242SQLITE_API
void sqlite3_result_error_nomem(sqlite3_context*);
6243SQLITE_API
void sqlite3_result_error_code(sqlite3_context*,
int);
6244SQLITE_API
void sqlite3_result_int(sqlite3_context*,
int);
6245SQLITE_API
void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
6246SQLITE_API
void sqlite3_result_null(sqlite3_context*);
6247SQLITE_API
void sqlite3_result_text(sqlite3_context*,
const char*,
int,
void(*)(
void*));
6248SQLITE_API
void sqlite3_result_text64(sqlite3_context*,
const char*,sqlite3_uint64,
6249 void(*)(
void*),
unsigned char encoding);
6250SQLITE_API
void sqlite3_result_text16(sqlite3_context*,
const void*,
int,
void(*)(
void*));
6251SQLITE_API
void sqlite3_result_text16le(sqlite3_context*,
const void*,
int,
void(*)(
void*));
6252SQLITE_API
void sqlite3_result_text16be(sqlite3_context*,
const void*,
int,
void(*)(
void*));
6253SQLITE_API
void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
6254SQLITE_API
void sqlite3_result_pointer(sqlite3_context*,
void*,
const char*,
void(*)(
void*));
6255SQLITE_API
void sqlite3_result_zeroblob(sqlite3_context*,
int n);
6256SQLITE_API
int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);
6285SQLITE_API
void sqlite3_result_subtype(sqlite3_context*,
unsigned int);
6368SQLITE_API
int sqlite3_create_collation(
6373 int(*xCompare)(
void*,
int,
const void*,
int,
const void*)
6375SQLITE_API
int sqlite3_create_collation_v2(
6380 int(*xCompare)(
void*,
int,
const void*,
int,
const void*),
6381 void(*xDestroy)(
void*)
6383SQLITE_API
int sqlite3_create_collation16(
6388 int(*xCompare)(
void*,
int,
const void*,
int,
const void*)
6418SQLITE_API
int sqlite3_collation_needed(
6421 void(*)(
void*,sqlite3*,
int eTextRep,
const char*)
6423SQLITE_API
int sqlite3_collation_needed16(
6426 void(*)(
void*,sqlite3*,
int eTextRep,
const void*)
6429#ifdef SQLITE_ENABLE_CEROD
6434SQLITE_API
void sqlite3_activate_cerod(
6435 const char *zPassPhrase
6463SQLITE_API
int sqlite3_sleep(
int);
6521SQLITE_API SQLITE_EXTERN
char *sqlite3_temp_directory;
6558SQLITE_API SQLITE_EXTERN
char *sqlite3_data_directory;
6579SQLITE_API
int sqlite3_win32_set_directory(
6583SQLITE_API
int sqlite3_win32_set_directory8(
unsigned long type,
const char *zValue);
6584SQLITE_API
int sqlite3_win32_set_directory16(
unsigned long type,
const void *zValue);
6592#define SQLITE_WIN32_DATA_DIRECTORY_TYPE 1
6593#define SQLITE_WIN32_TEMP_DIRECTORY_TYPE 2
6617SQLITE_API
int sqlite3_get_autocommit(sqlite3*);
6630SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
6652SQLITE_API
const char *sqlite3_db_name(sqlite3 *db,
int N);
6684SQLITE_API sqlite3_filename sqlite3_db_filename(sqlite3 *db,
const char *zDbName);
6694SQLITE_API
int sqlite3_db_readonly(sqlite3 *db,
const char *zDbName);
6712SQLITE_API
int sqlite3_txn_state(sqlite3*,
const char *zSchema);
6743#define SQLITE_TXN_NONE 0
6744#define SQLITE_TXN_READ 1
6745#define SQLITE_TXN_WRITE 2
6761SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
6810SQLITE_API
void *sqlite3_commit_hook(sqlite3*,
int(*)(
void*),
void*);
6811SQLITE_API
void *sqlite3_rollback_hook(sqlite3*,
void(*)(
void *),
void*);
6871SQLITE_API
int sqlite3_autovacuum_pages(
6873 unsigned int(*)(
void*,
const char*,
unsigned int,
unsigned int,
unsigned int),
6934SQLITE_API
void *sqlite3_update_hook(
6936 void(*)(
void *,
int ,
char const *,
char const *,sqlite3_int64),
6984SQLITE_API
int sqlite3_enable_shared_cache(
int);
7000SQLITE_API
int sqlite3_release_memory(
int);
7014SQLITE_API
int sqlite3_db_release_memory(sqlite3*);
7080SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
7081SQLITE_API sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N);
7092SQLITE_API SQLITE_DEPRECATED
void sqlite3_soft_heap_limit(
int N);
7164SQLITE_API
int sqlite3_table_column_metadata(
7166 const char *zDbName,
7167 const char *zTableName,
7168 const char *zColumnName,
7169 char const **pzDataType,
7170 char const **pzCollSeq,
7220SQLITE_API
int sqlite3_load_extension(
7252SQLITE_API
int sqlite3_enable_load_extension(sqlite3 *db,
int onoff);
7290SQLITE_API
int sqlite3_auto_extension(
void(*xEntryPoint)(
void));
7302SQLITE_API
int sqlite3_cancel_auto_extension(
void(*xEntryPoint)(
void));
7310SQLITE_API
void sqlite3_reset_auto_extension(
void);
7338 int (*xCreate)(sqlite3*,
void *pAux,
7339 int argc,
const char *
const*argv,
7341 int (*xConnect)(sqlite3*,
void *pAux,
7342 int argc,
const char *
const*argv,
7350 int argc, sqlite3_value **argv);
7355 int (*xUpdate)(
sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *);
7360 int (*xFindFunction)(
sqlite3_vtab *pVtab,
int nArg,
const char *zName,
7361 void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
7371 int (*xShadowName)(
const char*);
7374 int (*xIntegrity)(
sqlite3_vtab *pVTab,
const char *zSchema,
7375 const char *zTabName,
int mFlags,
char **pzErr);
7488 unsigned char usable;
7500 } *aConstraintUsage;
7503 int needToFreeIdxStr;
7504 int orderByConsumed;
7505 double estimatedCost;
7507 sqlite3_int64 estimatedRows;
7511 sqlite3_uint64 colUsed;
7521#define SQLITE_INDEX_SCAN_UNIQUE 0x00000001
7522#define SQLITE_INDEX_SCAN_HEX 0x00000002
7563#define SQLITE_INDEX_CONSTRAINT_EQ 2
7564#define SQLITE_INDEX_CONSTRAINT_GT 4
7565#define SQLITE_INDEX_CONSTRAINT_LE 8
7566#define SQLITE_INDEX_CONSTRAINT_LT 16
7567#define SQLITE_INDEX_CONSTRAINT_GE 32
7568#define SQLITE_INDEX_CONSTRAINT_MATCH 64
7569#define SQLITE_INDEX_CONSTRAINT_LIKE 65
7570#define SQLITE_INDEX_CONSTRAINT_GLOB 66
7571#define SQLITE_INDEX_CONSTRAINT_REGEXP 67
7572#define SQLITE_INDEX_CONSTRAINT_NE 68
7573#define SQLITE_INDEX_CONSTRAINT_ISNOT 69
7574#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70
7575#define SQLITE_INDEX_CONSTRAINT_ISNULL 71
7576#define SQLITE_INDEX_CONSTRAINT_IS 72
7577#define SQLITE_INDEX_CONSTRAINT_LIMIT 73
7578#define SQLITE_INDEX_CONSTRAINT_OFFSET 74
7579#define SQLITE_INDEX_CONSTRAINT_FUNCTION 150
7613SQLITE_API
int sqlite3_create_module(
7619SQLITE_API
int sqlite3_create_module_v2(
7624 void(*xDestroy)(
void*)
7639SQLITE_API
int sqlite3_drop_modules(
7699SQLITE_API
int sqlite3_declare_vtab(sqlite3*,
const char *zSQL);
7718SQLITE_API
int sqlite3_overload_function(sqlite3*,
const char *zFuncName,
int nArg);
7732typedef struct sqlite3_blob sqlite3_blob;
7817SQLITE_API
int sqlite3_blob_open(
7821 const char *zColumn,
7824 sqlite3_blob **ppBlob
7850SQLITE_API
int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
7873SQLITE_API
int sqlite3_blob_close(sqlite3_blob *);
7889SQLITE_API
int sqlite3_blob_bytes(sqlite3_blob *);
7918SQLITE_API
int sqlite3_blob_read(sqlite3_blob *,
void *Z,
int N,
int iOffset);
7960SQLITE_API
int sqlite3_blob_write(sqlite3_blob *,
const void *z,
int n,
int iOffset);
7991SQLITE_API
sqlite3_vfs *sqlite3_vfs_find(
const char *zVfsName);
7992SQLITE_API
int sqlite3_vfs_register(
sqlite3_vfs*,
int makeDflt);
7993SQLITE_API
int sqlite3_vfs_unregister(
sqlite3_vfs*);
8111SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(
int);
8112SQLITE_API
void sqlite3_mutex_free(sqlite3_mutex*);
8113SQLITE_API
void sqlite3_mutex_enter(sqlite3_mutex*);
8114SQLITE_API
int sqlite3_mutex_try(sqlite3_mutex*);
8115SQLITE_API
void sqlite3_mutex_leave(sqlite3_mutex*);
8184 int (*xMutexInit)(void);
8185 int (*xMutexEnd)(void);
8186 sqlite3_mutex *(*xMutexAlloc)(int);
8187 void (*xMutexFree)(sqlite3_mutex *);
8188 void (*xMutexEnter)(sqlite3_mutex *);
8189 int (*xMutexTry)(sqlite3_mutex *);
8190 void (*xMutexLeave)(sqlite3_mutex *);
8191 int (*xMutexHeld)(sqlite3_mutex *);
8192 int (*xMutexNotheld)(sqlite3_mutex *);
8225SQLITE_API
int sqlite3_mutex_held(sqlite3_mutex*);
8226SQLITE_API
int sqlite3_mutex_notheld(sqlite3_mutex*);
8239#define SQLITE_MUTEX_FAST 0
8240#define SQLITE_MUTEX_RECURSIVE 1
8241#define SQLITE_MUTEX_STATIC_MAIN 2
8242#define SQLITE_MUTEX_STATIC_MEM 3
8243#define SQLITE_MUTEX_STATIC_MEM2 4
8244#define SQLITE_MUTEX_STATIC_OPEN 4
8245#define SQLITE_MUTEX_STATIC_PRNG 5
8246#define SQLITE_MUTEX_STATIC_LRU 6
8247#define SQLITE_MUTEX_STATIC_LRU2 7
8248#define SQLITE_MUTEX_STATIC_PMEM 7
8249#define SQLITE_MUTEX_STATIC_APP1 8
8250#define SQLITE_MUTEX_STATIC_APP2 9
8251#define SQLITE_MUTEX_STATIC_APP3 10
8252#define SQLITE_MUTEX_STATIC_VFS1 11
8253#define SQLITE_MUTEX_STATIC_VFS2 12
8254#define SQLITE_MUTEX_STATIC_VFS3 13
8257#define SQLITE_MUTEX_STATIC_MASTER 2
8270SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
8313SQLITE_API
int sqlite3_file_control(sqlite3*,
const char *zDbName,
int op,
void*);
8332SQLITE_API
int sqlite3_test_control(
int op, ...);
8345#define SQLITE_TESTCTRL_FIRST 5
8346#define SQLITE_TESTCTRL_PRNG_SAVE 5
8347#define SQLITE_TESTCTRL_PRNG_RESTORE 6
8348#define SQLITE_TESTCTRL_PRNG_RESET 7
8349#define SQLITE_TESTCTRL_FK_NO_ACTION 7
8350#define SQLITE_TESTCTRL_BITVEC_TEST 8
8351#define SQLITE_TESTCTRL_FAULT_INSTALL 9
8352#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10
8353#define SQLITE_TESTCTRL_PENDING_BYTE 11
8354#define SQLITE_TESTCTRL_ASSERT 12
8355#define SQLITE_TESTCTRL_ALWAYS 13
8356#define SQLITE_TESTCTRL_RESERVE 14
8357#define SQLITE_TESTCTRL_JSON_SELFCHECK 14
8358#define SQLITE_TESTCTRL_OPTIMIZATIONS 15
8359#define SQLITE_TESTCTRL_ISKEYWORD 16
8360#define SQLITE_TESTCTRL_GETOPT 16
8361#define SQLITE_TESTCTRL_SCRATCHMALLOC 17
8362#define SQLITE_TESTCTRL_INTERNAL_FUNCTIONS 17
8363#define SQLITE_TESTCTRL_LOCALTIME_FAULT 18
8364#define SQLITE_TESTCTRL_EXPLAIN_STMT 19
8365#define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD 19
8366#define SQLITE_TESTCTRL_NEVER_CORRUPT 20
8367#define SQLITE_TESTCTRL_VDBE_COVERAGE 21
8368#define SQLITE_TESTCTRL_BYTEORDER 22
8369#define SQLITE_TESTCTRL_ISINIT 23
8370#define SQLITE_TESTCTRL_SORTER_MMAP 24
8371#define SQLITE_TESTCTRL_IMPOSTER 25
8372#define SQLITE_TESTCTRL_PARSER_COVERAGE 26
8373#define SQLITE_TESTCTRL_RESULT_INTREAL 27
8374#define SQLITE_TESTCTRL_PRNG_SEED 28
8375#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29
8376#define SQLITE_TESTCTRL_SEEK_COUNT 30
8377#define SQLITE_TESTCTRL_TRACEFLAGS 31
8378#define SQLITE_TESTCTRL_TUNE 32
8379#define SQLITE_TESTCTRL_LOGEST 33
8380#define SQLITE_TESTCTRL_USELONGDOUBLE 34
8381#define SQLITE_TESTCTRL_LAST 34
8430SQLITE_API
int sqlite3_keyword_count(
void);
8431SQLITE_API
int sqlite3_keyword_name(
int,
const char**,
int*);
8432SQLITE_API
int sqlite3_keyword_check(
const char*,
int);
8450typedef struct sqlite3_str sqlite3_str;
8477SQLITE_API sqlite3_str *sqlite3_str_new(sqlite3*);
8492SQLITE_API
char *sqlite3_str_finish(sqlite3_str*);
8526SQLITE_API
void sqlite3_str_appendf(sqlite3_str*,
const char *zFormat, ...);
8527SQLITE_API
void sqlite3_str_vappendf(sqlite3_str*,
const char *zFormat, va_list);
8528SQLITE_API
void sqlite3_str_append(sqlite3_str*,
const char *zIn,
int N);
8529SQLITE_API
void sqlite3_str_appendall(sqlite3_str*,
const char *zIn);
8530SQLITE_API
void sqlite3_str_appendchar(sqlite3_str*,
int N,
char C);
8531SQLITE_API
void sqlite3_str_reset(sqlite3_str*);
8562SQLITE_API
int sqlite3_str_errcode(sqlite3_str*);
8563SQLITE_API
int sqlite3_str_length(sqlite3_str*);
8564SQLITE_API
char *sqlite3_str_value(sqlite3_str*);
8592SQLITE_API
int sqlite3_status(
int op,
int *pCurrent,
int *pHighwater,
int resetFlag);
8593SQLITE_API
int sqlite3_status64(
8595 sqlite3_int64 *pCurrent,
8596 sqlite3_int64 *pHighwater,
8668#define SQLITE_STATUS_MEMORY_USED 0
8669#define SQLITE_STATUS_PAGECACHE_USED 1
8670#define SQLITE_STATUS_PAGECACHE_OVERFLOW 2
8671#define SQLITE_STATUS_SCRATCH_USED 3
8672#define SQLITE_STATUS_SCRATCH_OVERFLOW 4
8673#define SQLITE_STATUS_MALLOC_SIZE 5
8674#define SQLITE_STATUS_PARSER_STACK 6
8675#define SQLITE_STATUS_PAGECACHE_SIZE 7
8676#define SQLITE_STATUS_SCRATCH_SIZE 8
8677#define SQLITE_STATUS_MALLOC_COUNT 9
8702SQLITE_API
int sqlite3_db_status(sqlite3*,
int op,
int *pCur,
int *pHiwtr,
int resetFlg);
8815#define SQLITE_DBSTATUS_LOOKASIDE_USED 0
8816#define SQLITE_DBSTATUS_CACHE_USED 1
8817#define SQLITE_DBSTATUS_SCHEMA_USED 2
8818#define SQLITE_DBSTATUS_STMT_USED 3
8819#define SQLITE_DBSTATUS_LOOKASIDE_HIT 4
8820#define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5
8821#define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6
8822#define SQLITE_DBSTATUS_CACHE_HIT 7
8823#define SQLITE_DBSTATUS_CACHE_MISS 8
8824#define SQLITE_DBSTATUS_CACHE_WRITE 9
8825#define SQLITE_DBSTATUS_DEFERRED_FKS 10
8826#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11
8827#define SQLITE_DBSTATUS_CACHE_SPILL 12
8828#define SQLITE_DBSTATUS_MAX 12
8855SQLITE_API
int sqlite3_stmt_status(sqlite3_stmt*,
int op,
int resetFlg);
8922#define SQLITE_STMTSTATUS_FULLSCAN_STEP 1
8923#define SQLITE_STMTSTATUS_SORT 2
8924#define SQLITE_STMTSTATUS_AUTOINDEX 3
8925#define SQLITE_STMTSTATUS_VM_STEP 4
8926#define SQLITE_STMTSTATUS_REPREPARE 5
8927#define SQLITE_STMTSTATUS_RUN 6
8928#define SQLITE_STMTSTATUS_FILTER_MISS 7
8929#define SQLITE_STMTSTATUS_FILTER_HIT 8
8930#define SQLITE_STMTSTATUS_MEMUSED 99
8943typedef struct sqlite3_pcache sqlite3_pcache;
9124 int (*xInit)(
void*);
9125 void (*xShutdown)(
void*);
9126 sqlite3_pcache *(*xCreate)(
int szPage,
int szExtra,
int bPurgeable);
9127 void (*xCachesize)(sqlite3_pcache*,
int nCachesize);
9128 int (*xPagecount)(sqlite3_pcache*);
9132 unsigned oldKey,
unsigned newKey);
9133 void (*xTruncate)(sqlite3_pcache*,
unsigned iLimit);
9134 void (*xDestroy)(sqlite3_pcache*);
9135 void (*xShrink)(sqlite3_pcache*);
9146 int (*xInit)(
void*);
9147 void (*xShutdown)(
void*);
9148 sqlite3_pcache *(*xCreate)(
int szPage,
int bPurgeable);
9149 void (*xCachesize)(sqlite3_pcache*,
int nCachesize);
9150 int (*xPagecount)(sqlite3_pcache*);
9151 void *(*xFetch)(sqlite3_pcache*,
unsigned key,
int createFlag);
9152 void (*xUnpin)(sqlite3_pcache*,
void*,
int discard);
9153 void (*xRekey)(sqlite3_pcache*,
void*,
unsigned oldKey,
unsigned newKey);
9154 void (*xTruncate)(sqlite3_pcache*,
unsigned iLimit);
9155 void (*xDestroy)(sqlite3_pcache*);
9169typedef struct sqlite3_backup sqlite3_backup;
9367SQLITE_API sqlite3_backup *sqlite3_backup_init(
9369 const char *zDestName,
9371 const char *zSourceName
9373SQLITE_API
int sqlite3_backup_step(sqlite3_backup *p,
int nPage);
9374SQLITE_API
int sqlite3_backup_finish(sqlite3_backup *p);
9375SQLITE_API
int sqlite3_backup_remaining(sqlite3_backup *p);
9376SQLITE_API
int sqlite3_backup_pagecount(sqlite3_backup *p);
9493SQLITE_API
int sqlite3_unlock_notify(
9495 void (*xNotify)(
void **apArg,
int nArg),
9508SQLITE_API
int sqlite3_stricmp(
const char *,
const char *);
9509SQLITE_API
int sqlite3_strnicmp(
const char *,
const char *,
int);
9526SQLITE_API
int sqlite3_strglob(
const char *zGlob,
const char *zStr);
9549SQLITE_API
int sqlite3_strlike(
const char *zGlob,
const char *zStr,
unsigned int cEsc);
9572SQLITE_API
void sqlite3_log(
int iErrCode,
const char *zFormat, ...);
9609SQLITE_API
void *sqlite3_wal_hook(
9611 int(*)(
void *,sqlite3*,
const char*,
int),
9644SQLITE_API
int sqlite3_wal_autocheckpoint(sqlite3 *db,
int N);
9666SQLITE_API
int sqlite3_wal_checkpoint(sqlite3 *db,
const char *zDb);
9760SQLITE_API
int sqlite3_wal_checkpoint_v2(
9777#define SQLITE_CHECKPOINT_PASSIVE 0
9778#define SQLITE_CHECKPOINT_FULL 1
9779#define SQLITE_CHECKPOINT_RESTART 2
9780#define SQLITE_CHECKPOINT_TRUNCATE 3
9800SQLITE_API
int sqlite3_vtab_config(sqlite3*,
int op, ...);
9873#define SQLITE_VTAB_CONSTRAINT_SUPPORT 1
9874#define SQLITE_VTAB_INNOCUOUS 2
9875#define SQLITE_VTAB_DIRECTONLY 3
9876#define SQLITE_VTAB_USES_ALL_SCHEMAS 4
9888SQLITE_API
int sqlite3_vtab_on_conflict(sqlite3 *);
9914SQLITE_API
int sqlite3_vtab_nochange(sqlite3_context*);
10163SQLITE_API
int sqlite3_vtab_in_first(sqlite3_value *pVal, sqlite3_value **ppOut);
10164SQLITE_API
int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut);
10206SQLITE_API
int sqlite3_vtab_rhs_value(
sqlite3_index_info*,
int, sqlite3_value **ppVal);
10220#define SQLITE_ROLLBACK 1
10222#define SQLITE_FAIL 3
10224#define SQLITE_REPLACE 5
10289#define SQLITE_SCANSTAT_NLOOP 0
10290#define SQLITE_SCANSTAT_NVISIT 1
10291#define SQLITE_SCANSTAT_EST 2
10292#define SQLITE_SCANSTAT_NAME 3
10293#define SQLITE_SCANSTAT_EXPLAIN 4
10294#define SQLITE_SCANSTAT_SELECTID 5
10295#define SQLITE_SCANSTAT_PARENTID 6
10296#define SQLITE_SCANSTAT_NCYCLE 7
10335SQLITE_API
int sqlite3_stmt_scanstatus(
10336 sqlite3_stmt *pStmt,
10341SQLITE_API
int sqlite3_stmt_scanstatus_v2(
10342 sqlite3_stmt *pStmt,
10353#define SQLITE_SCANSTAT_COMPLEX 0x0001
10364SQLITE_API
void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
10397SQLITE_API
int sqlite3_db_cacheflush(sqlite3*);
10495#if defined(SQLITE_ENABLE_PREUPDATE_HOOK)
10496SQLITE_API
void *sqlite3_preupdate_hook(
10504 sqlite3_int64 iKey1,
10505 sqlite3_int64 iKey2
10509SQLITE_API
int sqlite3_preupdate_old(sqlite3 *,
int, sqlite3_value **);
10510SQLITE_API
int sqlite3_preupdate_count(sqlite3 *);
10511SQLITE_API
int sqlite3_preupdate_depth(sqlite3 *);
10512SQLITE_API
int sqlite3_preupdate_new(sqlite3 *,
int, sqlite3_value **);
10513SQLITE_API
int sqlite3_preupdate_blobwrite(sqlite3 *);
10527SQLITE_API
int sqlite3_system_errno(sqlite3*);
10550 unsigned char hidden[48];
10604SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_get(
10606 const char *zSchema,
10653SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_open(
10655 const char *zSchema,
10670SQLITE_API SQLITE_EXPERIMENTAL
void sqlite3_snapshot_free(
sqlite3_snapshot*);
10697SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_cmp(
10725SQLITE_API SQLITE_EXPERIMENTAL
int sqlite3_snapshot_recover(sqlite3 *db,
const char *zDb);
10770SQLITE_API
unsigned char *sqlite3_serialize(
10772 const char *zSchema,
10773 sqlite3_int64 *piSize,
10774 unsigned int mFlags
10791#define SQLITE_SERIALIZE_NOCOPY 0x001
10836SQLITE_API
int sqlite3_deserialize(
10838 const char *zSchema,
10839 unsigned char *pData,
10840 sqlite3_int64 szDb,
10841 sqlite3_int64 szBuf,
10866#define SQLITE_DESERIALIZE_FREEONCLOSE 1
10867#define SQLITE_DESERIALIZE_RESIZEABLE 2
10868#define SQLITE_DESERIALIZE_READONLY 4
10874#ifdef SQLITE_OMIT_FLOATING_POINT
10878#if defined(__wasi__)
10880# define SQLITE_WASI 1
10881# ifndef SQLITE_OMIT_LOAD_EXTENSION
10882# define SQLITE_OMIT_LOAD_EXTENSION
10884# ifndef SQLITE_THREADSAFE
10885# define SQLITE_THREADSAFE 0
10908#ifndef _SQLITE3RTREE_H_
10909#define _SQLITE3RTREE_H_
10922#ifdef SQLITE_RTREE_INT_ONLY
10923 typedef sqlite3_int64 sqlite3_rtree_dbl;
10925 typedef double sqlite3_rtree_dbl;
10934SQLITE_API
int sqlite3_rtree_geometry_callback(
10949 sqlite3_rtree_dbl *aParam;
10951 void (*xDelUser)(
void *);
10960SQLITE_API
int sqlite3_rtree_query_callback(
10962 const char *zQueryFunc,
10965 void (*xDestructor)(
void*)
10981 sqlite3_rtree_dbl *aParam;
10983 void (*xDelUser)(
void*);
10984 sqlite3_rtree_dbl *aCoord;
10985 unsigned int *anQueue;
10989 sqlite3_int64 iRowid;
10990 sqlite3_rtree_dbl rParentScore;
10993 sqlite3_rtree_dbl rScore;
10995 sqlite3_value **apSqlParam;
11001#define NOT_WITHIN 0
11002#define PARTLY_WITHIN 1
11003#define FULLY_WITHIN 2
11015#if !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION)
11016#define __SQLITESESSION_H_ 1
11032typedef struct sqlite3_session sqlite3_session;
11040typedef struct sqlite3_changeset_iter sqlite3_changeset_iter;
11073SQLITE_API
int sqlite3session_create(
11076 sqlite3_session **ppSession
11092SQLITE_API
void sqlite3session_delete(sqlite3_session *pSession);
11103SQLITE_API
int sqlite3session_object_config(sqlite3_session*,
int op,
void *pArg);
11137#define SQLITE_SESSION_OBJCONFIG_SIZE 1
11138#define SQLITE_SESSION_OBJCONFIG_ROWID 2
11158SQLITE_API
int sqlite3session_enable(sqlite3_session *pSession,
int bEnable);
11188SQLITE_API
int sqlite3session_indirect(sqlite3_session *pSession,
int bIndirect);
11248SQLITE_API
int sqlite3session_attach(
11249 sqlite3_session *pSession,
11263SQLITE_API
void sqlite3session_table_filter(
11264 sqlite3_session *pSession,
11377SQLITE_API
int sqlite3session_changeset(
11378 sqlite3_session *pSession,
11397SQLITE_API sqlite3_int64 sqlite3session_changeset_size(sqlite3_session *pSession);
11456SQLITE_API
int sqlite3session_diff(
11457 sqlite3_session *pSession,
11458 const char *zFromDb,
11493SQLITE_API
int sqlite3session_patchset(
11494 sqlite3_session *pSession,
11514SQLITE_API
int sqlite3session_isempty(sqlite3_session *pSession);
11522SQLITE_API sqlite3_int64 sqlite3session_memory_used(sqlite3_session *pSession);
11565SQLITE_API
int sqlite3changeset_start(
11566 sqlite3_changeset_iter **pp,
11570SQLITE_API
int sqlite3changeset_start_v2(
11571 sqlite3_changeset_iter **pp,
11588#define SQLITE_CHANGESETSTART_INVERT 0x0002
11614SQLITE_API
int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
11648SQLITE_API
int sqlite3changeset_op(
11649 sqlite3_changeset_iter *pIter,
11650 const char **pzTab,
11682SQLITE_API
int sqlite3changeset_pk(
11683 sqlite3_changeset_iter *pIter,
11684 unsigned char **pabPK,
11713SQLITE_API
int sqlite3changeset_old(
11714 sqlite3_changeset_iter *pIter,
11716 sqlite3_value **ppValue
11747SQLITE_API
int sqlite3changeset_new(
11748 sqlite3_changeset_iter *pIter,
11750 sqlite3_value **ppValue
11775SQLITE_API
int sqlite3changeset_conflict(
11776 sqlite3_changeset_iter *pIter,
11778 sqlite3_value **ppValue
11792SQLITE_API
int sqlite3changeset_fk_conflicts(
11793 sqlite3_changeset_iter *pIter,
11828SQLITE_API
int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter);
11858SQLITE_API
int sqlite3changeset_invert(
11859 int nIn,
const void *pIn,
11860 int *pnOut,
void **ppOut
11889SQLITE_API
int sqlite3changeset_concat(
11902SQLITE_API
int sqlite3changeset_upgrade(
11905 int nIn,
const void *pIn,
11906 int *pnOut,
void **ppOut
11917typedef struct sqlite3_changegroup sqlite3_changegroup;
11955SQLITE_API
int sqlite3changegroup_new(sqlite3_changegroup **pp);
11987SQLITE_API
int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*,
const char *zDb);
12070SQLITE_API
int sqlite3changegroup_add(sqlite3_changegroup*,
int nData,
void *pData);
12089SQLITE_API
int sqlite3changegroup_add_change(
12090 sqlite3_changegroup*,
12091 sqlite3_changeset_iter*
12121SQLITE_API
int sqlite3changegroup_output(
12122 sqlite3_changegroup*,
12131SQLITE_API
void sqlite3changegroup_delete(sqlite3_changegroup*);
12291SQLITE_API
int sqlite3changeset_apply(
12302 sqlite3_changeset_iter *p
12306SQLITE_API
int sqlite3changeset_apply_v2(
12317 sqlite3_changeset_iter *p
12320 void **ppRebase,
int *pnRebase,
12364#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001
12365#define SQLITE_CHANGESETAPPLY_INVERT 0x0002
12366#define SQLITE_CHANGESETAPPLY_IGNORENOOP 0x0004
12367#define SQLITE_CHANGESETAPPLY_FKNOACTION 0x0008
12424#define SQLITE_CHANGESET_DATA 1
12425#define SQLITE_CHANGESET_NOTFOUND 2
12426#define SQLITE_CHANGESET_CONFLICT 3
12427#define SQLITE_CHANGESET_CONSTRAINT 4
12428#define SQLITE_CHANGESET_FOREIGN_KEY 5
12461#define SQLITE_CHANGESET_OMIT 0
12462#define SQLITE_CHANGESET_REPLACE 1
12463#define SQLITE_CHANGESET_ABORT 2
12563typedef struct sqlite3_rebaser sqlite3_rebaser;
12574SQLITE_API
int sqlite3rebaser_create(sqlite3_rebaser **ppNew);
12585SQLITE_API
int sqlite3rebaser_configure(
12587 int nRebase,
const void *pRebase
12604SQLITE_API
int sqlite3rebaser_rebase(
12606 int nIn,
const void *pIn,
12607 int *pnOut,
void **ppOut
12618SQLITE_API
void sqlite3rebaser_delete(sqlite3_rebaser *p);
12710SQLITE_API
int sqlite3changeset_apply_strm(
12712 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12721 sqlite3_changeset_iter *p
12725SQLITE_API
int sqlite3changeset_apply_v2_strm(
12727 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12736 sqlite3_changeset_iter *p
12739 void **ppRebase,
int *pnRebase,
12742SQLITE_API
int sqlite3changeset_concat_strm(
12743 int (*xInputA)(
void *pIn,
void *pData,
int *pnData),
12745 int (*xInputB)(
void *pIn,
void *pData,
int *pnData),
12747 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
12750SQLITE_API
int sqlite3changeset_invert_strm(
12751 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12753 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
12756SQLITE_API
int sqlite3changeset_start_strm(
12757 sqlite3_changeset_iter **pp,
12758 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12761SQLITE_API
int sqlite3changeset_start_v2_strm(
12762 sqlite3_changeset_iter **pp,
12763 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12767SQLITE_API
int sqlite3session_changeset_strm(
12768 sqlite3_session *pSession,
12769 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
12772SQLITE_API
int sqlite3session_patchset_strm(
12773 sqlite3_session *pSession,
12774 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
12777SQLITE_API
int sqlite3changegroup_add_strm(sqlite3_changegroup*,
12778 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12781SQLITE_API
int sqlite3changegroup_output_strm(sqlite3_changegroup*,
12782 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
12785SQLITE_API
int sqlite3rebaser_rebase_strm(
12786 sqlite3_rebaser *pRebaser,
12787 int (*xInput)(
void *pIn,
void *pData,
int *pnData),
12789 int (*xOutput)(
void *pOut,
const void *pData,
int nData),
12826SQLITE_API
int sqlite3session_config(
int op,
void *pArg);
12831#define SQLITE_SESSION_CONFIG_STRMSIZE 1
12880typedef struct Fts5Context Fts5Context;
12883typedef void (*fts5_extension_function)(
12886 sqlite3_context *pCtx,
12888 sqlite3_value **apVal
12892 const unsigned char *a;
12893 const unsigned char *b;
13180 void *(*xUserData)(Fts5Context*);
13182 int (*xColumnCount)(Fts5Context*);
13183 int (*xRowCount)(Fts5Context*, sqlite3_int64 *pnRow);
13184 int (*xColumnTotalSize)(Fts5Context*,
int iCol, sqlite3_int64 *pnToken);
13186 int (*xTokenize)(Fts5Context*,
13187 const char *pText,
int nText,
13189 int (*xToken)(
void*, int,
const char*, int, int, int)
13192 int (*xPhraseCount)(Fts5Context*);
13193 int (*xPhraseSize)(Fts5Context*,
int iPhrase);
13195 int (*xInstCount)(Fts5Context*,
int *pnInst);
13196 int (*xInst)(Fts5Context*,
int iIdx,
int *piPhrase,
int *piCol,
int *piOff);
13198 sqlite3_int64 (*xRowid)(Fts5Context*);
13199 int (*xColumnText)(Fts5Context*,
int iCol,
const char **pz,
int *pn);
13200 int (*xColumnSize)(Fts5Context*,
int iCol,
int *pnToken);
13202 int (*xQueryPhrase)(Fts5Context*,
int iPhrase,
void *pUserData,
13205 int (*xSetAuxdata)(Fts5Context*,
void *pAux, void(*xDelete)(
void*));
13206 void *(*xGetAuxdata)(Fts5Context*,
int bClear);
13208 int (*xPhraseFirst)(Fts5Context*,
int iPhrase,
Fts5PhraseIter*,
int*,
int*);
13209 void (*xPhraseNext)(Fts5Context*,
Fts5PhraseIter*,
int *piCol,
int *piOff);
13211 int (*xPhraseFirstColumn)(Fts5Context*,
int iPhrase,
Fts5PhraseIter*,
int*);
13212 void (*xPhraseNextColumn)(Fts5Context*,
Fts5PhraseIter*,
int *piCol);
13215 int (*xQueryToken)(Fts5Context*,
13216 int iPhrase,
int iToken,
13217 const char **ppToken,
int *pnToken
13219 int (*xInstToken)(Fts5Context*,
int iIdx,
int iToken,
const char**,
int*);
13222 int (*xColumnLocale)(Fts5Context*,
int iCol,
const char **pz,
int *pn);
13223 int (*xTokenize_v2)(Fts5Context*,
13224 const char *pText,
int nText,
13225 const char *pLocale,
int nLocale,
13227 int (*xToken)(
void*, int,
const char*, int, int, int)
13458typedef struct Fts5Tokenizer Fts5Tokenizer;
13463 int (*xCreate)(
void*,
const char **azArg,
int nArg, Fts5Tokenizer **ppOut);
13464 void (*xDelete)(Fts5Tokenizer*);
13465 int (*xTokenize)(Fts5Tokenizer*,
13468 const char *pText,
int nText,
13469 const char *pLocale,
int nLocale,
13473 const char *pToken,
13488 int (*xCreate)(
void*,
const char **azArg,
int nArg, Fts5Tokenizer **ppOut);
13489 void (*xDelete)(Fts5Tokenizer*);
13490 int (*xTokenize)(Fts5Tokenizer*,
13493 const char *pText,
int nText,
13497 const char *pToken,
13507#define FTS5_TOKENIZE_QUERY 0x0001
13508#define FTS5_TOKENIZE_PREFIX 0x0002
13509#define FTS5_TOKENIZE_DOCUMENT 0x0004
13510#define FTS5_TOKENIZE_AUX 0x0008
13514#define FTS5_TOKEN_COLOCATED 0x0001
13528 int (*xCreateTokenizer)(
13533 void (*xDestroy)(
void*)
13537 int (*xFindTokenizer)(
13545 int (*xCreateFunction)(
13549 fts5_extension_function xFunction,
13550 void (*xDestroy)(
void*)
13556 int (*xCreateTokenizer_v2)(
13561 void (*xDestroy)(
void*)
13565 int (*xFindTokenizer_v2)(