annotate libphobos/src/etc/c/sqlite3.d @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 module etc.c.sqlite3;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3 ** 2001 September 15
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 ** The author disclaims copyright to this source code. In place of
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6 ** a legal notice, here is a blessing:
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 ** May you do good and not evil.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 ** May you find forgiveness for yourself and forgive others.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10 ** May you share freely, never taking more than you give.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 *************************************************************************
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 ** This header file defines the interface that the SQLite library
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 ** presents to client programs. If a C-function, structure, datatype,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 ** or constant definition does not appear in this file, then it is
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16 ** not a published API of SQLite, is subject to change without
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 ** notice, and should not be referenced by programs that use SQLite.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 ** Some of the definitions that are in this file are marked as
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20 ** "experimental". Experimental interfaces are normally new
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 ** features recently added to SQLite. We do not anticipate changes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 ** to experimental interfaces but reserve the right to make minor changes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
23 ** if experience from use "in the wild" suggest such changes are prudent.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
24 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
25 ** The official C-language API documentation for SQLite is derived
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
26 ** from comments in this file. This file is the authoritative source
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
27 ** on how SQLite interfaces are suppose to operate.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
28 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
29 ** The name of this file under configuration management is "sqlite.h.in".
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
30 ** The makefile makes some minor changes to this file (such as inserting
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
31 ** the version number) and changes its name to "sqlite3.h" as
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
32 ** part of the build process.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
33 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
34
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
35 import core.stdc.stdarg : va_list;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
36
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
37 extern (C) __gshared nothrow:
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
38
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
39 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
40 ** CAPI3REF: Compile-Time Library Version Numbers
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
41 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
42 enum SQLITE_VERSION = "3.10.2";
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
43 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
44 enum SQLITE_VERSION_NUMBER = 3_010_002;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
45 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
46 enum SQLITE_SOURCE_ID = "2016-01-20 15:27:19 17efb4209f97fb4971656086b138599a91a75ff9";
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
47
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
48 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
49 ** CAPI3REF: Run-Time Library Version Numbers
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
50 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
51 extern immutable(char)* sqlite3_version;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
52 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
53 immutable(char)* sqlite3_libversion();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
54 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
55 immutable(char)* sqlite3_sourceid();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
56 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
57 int sqlite3_libversion_number();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
58
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
59 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
60 ** CAPI3REF: Run-Time Library Compilation Options Diagnostics
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
61 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
62 int sqlite3_compileoption_used(const char *zOptName);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
63 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
64 immutable(char)* sqlite3_compileoption_get(int N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
65
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
66 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
67 ** CAPI3REF: Test To See If The Library Is Threadsafe
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
68 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
69 int sqlite3_threadsafe();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
70
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
71 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
72 ** CAPI3REF: Database Connection Handle
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
73 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
74 struct sqlite3;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
75
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
76 ///
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
77 alias sqlite3_int64 = long;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
78 ///
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
79 alias sqlite3_uint64 = ulong;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
80
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
81 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
82 ** CAPI3REF: Closing A Database Connection
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
83 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
84 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
85 int sqlite3_close(sqlite3 *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
86 int sqlite3_close_v2(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
87
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
88 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
89 ** The type for a callback function.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
90 ** This is legacy and deprecated. It is included for historical
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
91 ** compatibility and is not documented.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
92 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
93 alias sqlite3_callback = int function (void*,int,char**, char**);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
94
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
95 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
96 ** CAPI3REF: One-Step Query Execution Interface
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
97 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
98 int sqlite3_exec(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
99 sqlite3*, /** An open database */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
100 const(char)*sql, /** SQL to be evaluated */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
101 int function (void*,int,char**,char**) callback, /** Callback function */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
102 void *, /** 1st argument to callback */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
103 char **errmsg /** Error msg written here */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
104 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
105
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
106 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
107 ** CAPI3REF: Result Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
108 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
109 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
110 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
111 SQLITE_OK = 0, /** Successful result */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
112 /* beginning-of-error-codes */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
113 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
114 SQLITE_ERROR = 1, /** SQL error or missing database */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
115 SQLITE_INTERNAL = 2, /** Internal logic error in SQLite */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
116 SQLITE_PERM = 3, /** Access permission denied */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
117 SQLITE_ABORT = 4, /** Callback routine requested an abort */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
118 SQLITE_BUSY = 5, /** The database file is locked */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
119 SQLITE_LOCKED = 6, /** A table in the database is locked */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
120 SQLITE_NOMEM = 7, /** A malloc() failed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
121 SQLITE_READONLY = 8, /** Attempt to write a readonly database */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
122 SQLITE_INTERRUPT = 9, /** Operation terminated by sqlite3_interrupt()*/
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
123 SQLITE_IOERR = 10, /** Some kind of disk I/O error occurred */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
124 SQLITE_CORRUPT = 11, /** The database disk image is malformed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
125 SQLITE_NOTFOUND = 12, /** Unknown opcode in sqlite3_file_control() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
126 SQLITE_FULL = 13, /** Insertion failed because database is full */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
127 SQLITE_CANTOPEN = 14, /** Unable to open the database file */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
128 SQLITE_PROTOCOL = 15, /** Database lock protocol error */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
129 SQLITE_EMPTY = 16, /** Database is empty */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
130 SQLITE_SCHEMA = 17, /** The database schema changed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
131 SQLITE_TOOBIG = 18, /** String or BLOB exceeds size limit */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
132 SQLITE_CONSTRAINT = 19, /** Abort due to constraint violation */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
133 SQLITE_MISMATCH = 20, /** Data type mismatch */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
134 SQLITE_MISUSE = 21, /** Library used incorrectly */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
135 SQLITE_NOLFS = 22, /** Uses OS features not supported on host */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
136 SQLITE_AUTH = 23, /** Authorization denied */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
137 SQLITE_FORMAT = 24, /** Auxiliary database format error */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
138 SQLITE_RANGE = 25, /** 2nd parameter to sqlite3_bind out of range */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
139 SQLITE_NOTADB = 26, /** File opened that is not a database file */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
140 SQLITE_NOTICE = 27,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
141 SQLITE_WARNING = 28,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
142 SQLITE_ROW = 100, /** sqlite3_step() has another row ready */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
143 SQLITE_DONE = 101 /** sqlite3_step() has finished executing */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
144 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
145 /* end-of-error-codes */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
146
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
147 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
148 ** CAPI3REF: Extended Result Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
149 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
150 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
151 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
152 SQLITE_IOERR_READ = (SQLITE_IOERR | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
153 SQLITE_IOERR_SHORT_READ = (SQLITE_IOERR | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
154 SQLITE_IOERR_WRITE = (SQLITE_IOERR | (3 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
155 SQLITE_IOERR_FSYNC = (SQLITE_IOERR | (4 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
156 SQLITE_IOERR_DIR_FSYNC = (SQLITE_IOERR | (5 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
157 SQLITE_IOERR_TRUNCATE = (SQLITE_IOERR | (6 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
158 SQLITE_IOERR_FSTAT = (SQLITE_IOERR | (7 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
159 SQLITE_IOERR_UNLOCK = (SQLITE_IOERR | (8 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
160 SQLITE_IOERR_RDLOCK = (SQLITE_IOERR | (9 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
161 SQLITE_IOERR_DELETE = (SQLITE_IOERR | (10 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
162 SQLITE_IOERR_BLOCKED = (SQLITE_IOERR | (11 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
163 SQLITE_IOERR_NOMEM = (SQLITE_IOERR | (12 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
164 SQLITE_IOERR_ACCESS = (SQLITE_IOERR | (13 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
165 SQLITE_IOERR_CHECKRESERVEDLOCK = (SQLITE_IOERR | (14 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
166 SQLITE_IOERR_LOCK = (SQLITE_IOERR | (15 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
167 SQLITE_IOERR_CLOSE = (SQLITE_IOERR | (16 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
168 SQLITE_IOERR_DIR_CLOSE = (SQLITE_IOERR | (17 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
169 SQLITE_IOERR_SHMOPEN = (SQLITE_IOERR | (18 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
170 SQLITE_IOERR_SHMSIZE = (SQLITE_IOERR | (19 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
171 SQLITE_IOERR_SHMLOCK = (SQLITE_IOERR | (20 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
172 SQLITE_IOERR_SHMMAP = (SQLITE_IOERR | (21 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
173 SQLITE_IOERR_SEEK = (SQLITE_IOERR | (22 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
174 SQLITE_IOERR_DELETE_NOENT = (SQLITE_IOERR | (23 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
175 SQLITE_IOERR_MMAP = (SQLITE_IOERR | (24 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
176 SQLITE_LOCKED_SHAREDCACHE = (SQLITE_LOCKED | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
177 SQLITE_BUSY_RECOVERY = (SQLITE_BUSY | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
178 SQLITE_CANTOPEN_NOTEMPDIR = (SQLITE_CANTOPEN | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
179 SQLITE_IOERR_GETTEMPPATH = (SQLITE_IOERR | (25 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
180 SQLITE_IOERR_CONVPATH = (SQLITE_IOERR | (26 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
181 SQLITE_BUSY_SNAPSHOT = (SQLITE_BUSY | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
182 SQLITE_CANTOPEN_ISDIR = (SQLITE_CANTOPEN | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
183 SQLITE_CANTOPEN_FULLPATH = (SQLITE_CANTOPEN | (3 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
184 SQLITE_CANTOPEN_CONVPATH = (SQLITE_CANTOPEN | (4 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
185 SQLITE_CORRUPT_VTAB = (SQLITE_CORRUPT | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
186 SQLITE_READONLY_RECOVERY = (SQLITE_READONLY | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
187 SQLITE_READONLY_CANTLOCK = (SQLITE_READONLY | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
188 SQLITE_READONLY_ROLLBACK = (SQLITE_READONLY | (3 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
189 SQLITE_READONLY_DBMOVED = (SQLITE_READONLY | (4 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
190 SQLITE_ABORT_ROLLBACK = (SQLITE_ABORT | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
191 SQLITE_CONSTRAINT_CHECK = (SQLITE_CONSTRAINT | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
192 SQLITE_CONSTRAINT_COMMITHOOK = (SQLITE_CONSTRAINT | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
193 SQLITE_CONSTRAINT_FOREIGNKEY = (SQLITE_CONSTRAINT | (3 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
194 SQLITE_CONSTRAINT_FUNCTION = (SQLITE_CONSTRAINT | (4 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
195 SQLITE_CONSTRAINT_NOTNULL = (SQLITE_CONSTRAINT | (5 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
196 SQLITE_CONSTRAINT_PRIMARYKEY = (SQLITE_CONSTRAINT | (6 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
197 SQLITE_CONSTRAINT_TRIGGER = (SQLITE_CONSTRAINT | (7 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
198 SQLITE_CONSTRAINT_UNIQUE = (SQLITE_CONSTRAINT | (8 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
199 SQLITE_CONSTRAINT_VTAB = (SQLITE_CONSTRAINT | (9 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
200 SQLITE_CONSTRAINT_ROWID = (SQLITE_CONSTRAINT |(10 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
201 SQLITE_NOTICE_RECOVER_WAL = (SQLITE_NOTICE | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
202 SQLITE_NOTICE_RECOVER_ROLLBACK = (SQLITE_NOTICE | (2 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
203 SQLITE_WARNING_AUTOINDEX = (SQLITE_WARNING | (1 << 8)),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
204 SQLITE_AUTH_USER = (SQLITE_AUTH | (1 << 8))
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
205 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
206
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
207 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
208 ** CAPI3REF: Flags For File Open Operations
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
209 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
210 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
211 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
212 SQLITE_OPEN_READONLY = 0x00000001, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
213 SQLITE_OPEN_READWRITE = 0x00000002, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
214 SQLITE_OPEN_CREATE = 0x00000004, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
215 SQLITE_OPEN_DELETEONCLOSE = 0x00000008, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
216 SQLITE_OPEN_EXCLUSIVE = 0x00000010, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
217 SQLITE_OPEN_AUTOPROXY = 0x00000020, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
218 SQLITE_OPEN_URI = 0x00000040, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
219 SQLITE_OPEN_MEMORY = 0x00000080, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
220 SQLITE_OPEN_MAIN_DB = 0x00000100, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
221 SQLITE_OPEN_TEMP_DB = 0x00000200, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
222 SQLITE_OPEN_TRANSIENT_DB = 0x00000400, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
223 SQLITE_OPEN_MAIN_JOURNAL = 0x00000800, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
224 SQLITE_OPEN_TEMP_JOURNAL = 0x00001000, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
225 SQLITE_OPEN_SUBJOURNAL = 0x00002000, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
226 SQLITE_OPEN_MASTER_JOURNAL = 0x00004000, /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
227 SQLITE_OPEN_NOMUTEX = 0x00008000, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
228 SQLITE_OPEN_FULLMUTEX = 0x00010000, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
229 SQLITE_OPEN_SHAREDCACHE = 0x00020000, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
230 SQLITE_OPEN_PRIVATECACHE = 0x00040000, /** Ok for sqlite3_open_v2() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
231 SQLITE_OPEN_WAL = 0x00080000 /** VFS only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
232 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
233
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
234 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
235 ** CAPI3REF: Device Characteristics
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
236 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
237 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
238 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
239 SQLITE_IOCAP_ATOMIC = 0x00000001,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
240 SQLITE_IOCAP_ATOMIC512 = 0x00000002,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
241 SQLITE_IOCAP_ATOMIC1K = 0x00000004,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
242 SQLITE_IOCAP_ATOMIC2K = 0x00000008,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
243 SQLITE_IOCAP_ATOMIC4K = 0x00000010,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
244 SQLITE_IOCAP_ATOMIC8K = 0x00000020,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
245 SQLITE_IOCAP_ATOMIC16K = 0x00000040,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
246 SQLITE_IOCAP_ATOMIC32K = 0x00000080,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
247 SQLITE_IOCAP_ATOMIC64K = 0x00000100,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
248 SQLITE_IOCAP_SAFE_APPEND = 0x00000200,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
249 SQLITE_IOCAP_SEQUENTIAL = 0x00000400,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
250 SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
251 SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
252 SQLITE_IOCAP_IMMUTABLE = 0x00002000
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
253 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
254
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
255 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
256 ** CAPI3REF: File Locking Levels
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
257 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
258 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
259 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
260 SQLITE_LOCK_NONE = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
261 SQLITE_LOCK_SHARED = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
262 SQLITE_LOCK_RESERVED = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
263 SQLITE_LOCK_PENDING = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
264 SQLITE_LOCK_EXCLUSIVE = 4
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
265 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
266
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
267 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
268 ** CAPI3REF: Synchronization Type Flags
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
269 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
270 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
271 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
272 SQLITE_SYNC_NORMAL = 0x00002,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
273 SQLITE_SYNC_FULL = 0x00003,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
274 SQLITE_SYNC_DATAONLY = 0x00010
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
275 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
276
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
277 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
278 ** CAPI3REF: OS Interface Open File Handle
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
279 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
280 struct sqlite3_file
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
281 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
282 const(sqlite3_io_methods)*pMethods; /* Methods for an open file */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
283 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
284
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
285 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
286 ** CAPI3REF: OS Interface File Virtual Methods Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
287 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
288
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
289 struct sqlite3_io_methods
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
290 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
291 int iVersion;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
292 int function (sqlite3_file*) xClose;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
293 int function (sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst) xRead;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
294 int function (sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst) xWrite;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
295 int function (sqlite3_file*, sqlite3_int64 size) xTruncate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
296 int function (sqlite3_file*, int flags) xSync;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
297 int function (sqlite3_file*, sqlite3_int64 *pSize) xFileSize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
298 int function (sqlite3_file*, int) xLock;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
299 int function (sqlite3_file*, int) xUnlock;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
300 int function (sqlite3_file*, int *pResOut) xCheckReservedLock;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
301 int function (sqlite3_file*, int op, void *pArg) xFileControl;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
302 int function (sqlite3_file*) xSectorSize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
303 int function (sqlite3_file*) xDeviceCharacteristics;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
304 /* Methods above are valid for version 1 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
305 int function (sqlite3_file*, int iPg, int pgsz, int, void **) xShmMap;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
306 int function (sqlite3_file*, int offset, int n, int flags) xShmLock;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
307 void function (sqlite3_file*) xShmBarrier;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
308 int function (sqlite3_file*, int deleteFlag) xShmUnmap;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
309 /* Methods above are valid for version 2 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
310 /* Additional methods may be added in future releases */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
311 int function (sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp) xFetch;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
312 int function (sqlite3_file*, sqlite3_int64 iOfst, void *p) xUnfetch;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
313 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
314
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
315 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
316 ** CAPI3REF: Standard File Control Opcodes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
317 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
318 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
319 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
320 SQLITE_FCNTL_LOCKSTATE = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
321 SQLITE_GET_LOCKPROXYFILE = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
322 SQLITE_SET_LOCKPROXYFILE = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
323 SQLITE_LAST_ERRNO = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
324 SQLITE_FCNTL_SIZE_HINT = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
325 SQLITE_FCNTL_CHUNK_SIZE = 6,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
326 SQLITE_FCNTL_FILE_POINTER = 7,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
327 SQLITE_FCNTL_SYNC_OMITTED = 8,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
328 SQLITE_FCNTL_WIN32_AV_RETRY = 9,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
329 SQLITE_FCNTL_PERSIST_WAL = 10,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
330 SQLITE_FCNTL_OVERWRITE = 11,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
331 SQLITE_FCNTL_VFSNAME = 12,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
332 SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
333 SQLITE_FCNTL_PRAGMA = 14,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
334 SQLITE_FCNTL_BUSYHANDLER = 15,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
335 SQLITE_FCNTL_TEMPFILENAME = 16,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
336 SQLITE_FCNTL_MMAP_SIZE = 18,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
337 SQLITE_FCNTL_TRACE = 19,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
338 SQLITE_FCNTL_HAS_MOVED = 20,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
339 SQLITE_FCNTL_SYNC = 21,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
340 SQLITE_FCNTL_COMMIT_PHASETWO = 22,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
341 SQLITE_FCNTL_WIN32_SET_HANDLE = 23,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
342 SQLITE_FCNTL_WAL_BLOCK = 24,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
343 SQLITE_FCNTL_ZIPVFS = 25,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
344 SQLITE_FCNTL_RBU = 26,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
345 SQLITE_FCNTL_VFS_POINTER = 27,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
346 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
347
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
348 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
349 ** CAPI3REF: Mutex Handle
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
350 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
351 struct sqlite3_mutex;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
352
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
353 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
354 ** CAPI3REF: OS Interface Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
355 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
356
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
357 alias xDlSymReturn = void * function();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
358 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
359 alias sqlite3_syscall_ptr = void function();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
360
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
361 struct sqlite3_vfs
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
362 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
363 int iVersion; /** Structure version number (currently 2) */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
364 int szOsFile; /** Size of subclassed sqlite3_file */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
365 int mxPathname; /** Maximum file pathname length */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
366 sqlite3_vfs *pNext; /** Next registered VFS */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
367 const(char)*zName; /** Name of this virtual file system */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
368 void *pAppData; /** Pointer to application-specific data */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
369 int function (sqlite3_vfs*, const char *zName, sqlite3_file*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
370 int flags, int *pOutFlags) xOpen;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
371 int function (sqlite3_vfs*, const char *zName, int syncDir) xDelete;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
372 int function (sqlite3_vfs*, const char *zName, int flags, int *pResOut) xAccess;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
373 int function (sqlite3_vfs*, const char *zName, int nOut, char *zOut) xFullPathname;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
374 void* function (sqlite3_vfs*, const char *zFilename) xDlOpen;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
375 void function (sqlite3_vfs*, int nByte, char *zErrMsg) xDlError;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
376 xDlSymReturn function (sqlite3_vfs*,void*, const char *zSymbol) *xDlSym;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
377 void function (sqlite3_vfs*, void*) xDlClose;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
378 int function (sqlite3_vfs*, int nByte, char *zOut) xRandomness;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
379 int function (sqlite3_vfs*, int microseconds) xSleep;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
380 int function (sqlite3_vfs*, double*) xCurrentTime;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
381 int function (sqlite3_vfs*, int, char *) xGetLastError;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
382 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
383 ** The methods above are in version 1 of the sqlite_vfs object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
384 ** definition. Those that follow are added in version 2 or later
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
385 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
386 int function (sqlite3_vfs*, sqlite3_int64*) xCurrentTimeInt64;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
387 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
388 ** The methods above are in versions 1 and 2 of the sqlite_vfs object.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
389 ** Those below are for version 3 and greater.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
390 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
391 int function(sqlite3_vfs*, const char * zName, sqlite3_syscall_ptr) xSetSystemCall;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
392 sqlite3_syscall_ptr function(sqlite3_vfs*, const char * zName) xGetSystemCall;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
393 const(char)* function(sqlite3_vfs*, const char * zName) xNextSystemCall;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
394 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
395 ** The methods above are in versions 1 through 3 of the sqlite_vfs object.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
396 ** New fields may be appended in figure versions. The iVersion
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
397 ** value will increment whenever this happens.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
398 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
399 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
400
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
401 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
402 ** CAPI3REF: Flags for the xAccess VFS method
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
403 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
404 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
405 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
406 SQLITE_ACCESS_EXISTS = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
407
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
408 SQLITE_ACCESS_READWRITE = 1, /** Used by PRAGMA temp_store_directory */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
409 SQLITE_ACCESS_READ = 2 /** Unused */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
410 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
411
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
412 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
413 ** CAPI3REF: Flags for the xShmLock VFS method
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
414 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
415 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
416 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
417 SQLITE_SHM_UNLOCK = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
418 SQLITE_SHM_LOCK = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
419 SQLITE_SHM_SHARED = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
420 SQLITE_SHM_EXCLUSIVE = 8
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
421 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
422
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
423 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
424 ** CAPI3REF: Maximum xShmLock index
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
425 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
426 enum SQLITE_SHM_NLOCK = 8;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
427
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
428
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
429 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
430 ** CAPI3REF: Initialize The SQLite Library
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
431 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
432 int sqlite3_initialize();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
433 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
434 int sqlite3_shutdown();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
435 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
436 int sqlite3_os_init();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
437 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
438 int sqlite3_os_end();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
439
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
440 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
441 ** CAPI3REF: Configuring The SQLite Library
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
442 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
443 int sqlite3_config(int, ...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
444
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
445 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
446 ** CAPI3REF: Configure database connections
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
447 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
448 int sqlite3_db_config(sqlite3*, int op, ...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
449
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
450 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
451 ** CAPI3REF: Memory Allocation Routines
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
452 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
453 struct sqlite3_mem_methods
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
454 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
455 void* function (int) xMalloc; /** Memory allocation function */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
456 void function (void*) xFree; /** Free a prior allocation */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
457 void* function (void*,int) xRealloc; /** Resize an allocation */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
458 int function (void*) xSize; /** Return the size of an allocation */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
459 int function (int) xRoundup; /** Round up request size to allocation size */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
460 int function (void*) xInit; /** Initialize the memory allocator */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
461 void function (void*) xShutdown; /** Deinitialize the memory allocator */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
462 void *pAppData; /** Argument to xInit() and xShutdown() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
463 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
464
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
465 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
466 ** CAPI3REF: Configuration Options
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
467 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
468 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
469 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
470 SQLITE_CONFIG_SINGLETHREAD = 1, /** nil */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
471 SQLITE_CONFIG_MULTITHREAD = 2, /** nil */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
472 SQLITE_CONFIG_SERIALIZED = 3, /** nil */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
473 SQLITE_CONFIG_MALLOC = 4, /** sqlite3_mem_methods* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
474 SQLITE_CONFIG_GETMALLOC = 5, /** sqlite3_mem_methods* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
475 SQLITE_CONFIG_SCRATCH = 6, /** void*, int sz, int N */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
476 SQLITE_CONFIG_PAGECACHE = 7, /** void*, int sz, int N */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
477 SQLITE_CONFIG_HEAP = 8, /** void*, int nByte, int min */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
478 SQLITE_CONFIG_MEMSTATUS = 9, /** boolean */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
479 SQLITE_CONFIG_MUTEX = 10, /** sqlite3_mutex_methods* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
480 SQLITE_CONFIG_GETMUTEX = 11, /** sqlite3_mutex_methods* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
481 /* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
482 SQLITE_CONFIG_LOOKASIDE = 13, /** int int */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
483 SQLITE_CONFIG_PCACHE = 14, /** sqlite3_pcache_methods* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
484 SQLITE_CONFIG_GETPCACHE = 15, /** sqlite3_pcache_methods* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
485 SQLITE_CONFIG_LOG = 16, /** xFunc, void* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
486 SQLITE_CONFIG_URI = 17,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
487 SQLITE_CONFIG_PCACHE2 = 18,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
488 SQLITE_CONFIG_GETPCACHE2 = 19,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
489 SQLITE_CONFIG_COVERING_INDEX_SCAN = 20,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
490 SQLITE_CONFIG_SQLLOG = 21,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
491 SQLITE_CONFIG_MMAP_SIZE = 22,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
492 SQLITE_CONFIG_WIN32_HEAPSIZE = 23,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
493 SQLITE_CONFIG_PCACHE_HDRSZ = 24,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
494 SQLITE_CONFIG_PMASZ = 25,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
495 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
496
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
497 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
498 ** CAPI3REF: Database Connection Configuration Options
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
499 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
500 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
501 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
502 SQLITE_DBCONFIG_LOOKASIDE = 1001, /** void* int int */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
503 SQLITE_DBCONFIG_ENABLE_FKEY = 1002, /** int int* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
504 SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 /** int int* */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
505 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
506
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
507
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
508 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
509 ** CAPI3REF: Enable Or Disable Extended Result Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
510 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
511 int sqlite3_extended_result_codes(sqlite3*, int onoff);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
512
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
513 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
514 ** CAPI3REF: Last Insert Rowid
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
515 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
516 sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
517
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
518 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
519 ** CAPI3REF: Count The Number Of Rows Modified
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
520 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
521 int sqlite3_changes(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
522
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
523 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
524 ** CAPI3REF: Total Number Of Rows Modified
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
525 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
526 int sqlite3_total_changes(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
527
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
528 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
529 ** CAPI3REF: Interrupt A Long-Running Query
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
530 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
531 void sqlite3_interrupt(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
532
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
533 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
534 ** CAPI3REF: Determine If An SQL Statement Is Complete
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
535 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
536 int sqlite3_complete(const char *sql);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
537 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
538 int sqlite3_complete16(const void *sql);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
539
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
540 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
541 ** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
542 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
543 int sqlite3_busy_handler(sqlite3*, int function (void*,int), void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
544
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
545 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
546 ** CAPI3REF: Set A Busy Timeout
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
547 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
548 int sqlite3_busy_timeout(sqlite3*, int ms);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
549
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
550 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
551 ** CAPI3REF: Convenience Routines For Running Queries
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
552 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
553 int sqlite3_get_table(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
554 sqlite3 *db, /** An open database */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
555 const(char)*zSql, /** SQL to be evaluated */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
556 char ***pazResult, /** Results of the query */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
557 int *pnRow, /** Number of result rows written here */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
558 int *pnColumn, /** Number of result columns written here */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
559 char **pzErrmsg /** Error msg written here */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
560 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
561 ///
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
562 void sqlite3_free_table(char **result);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
563
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
564 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
565 ** CAPI3REF: Formatted String Printing Functions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
566 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
567 char *sqlite3_mprintf(const char*,...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
568 char *sqlite3_vmprintf(const char*, va_list);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
569 char *sqlite3_snprintf(int,char*,const char*, ...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
570 char *sqlite3_vsnprintf(int,char*,const char*, va_list);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
571
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
572 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
573 ** CAPI3REF: Memory Allocation Subsystem
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
574 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
575 void *sqlite3_malloc(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
576 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
577 void *sqlite3_malloc64(sqlite3_uint64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
578 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
579 void *sqlite3_realloc(void*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
580 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
581 void *sqlite3_realloc64(void*, sqlite3_uint64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
582 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
583 void sqlite3_free(void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
584 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
585 sqlite3_uint64 sqlite3_msize(void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
586
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
587 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
588 ** CAPI3REF: Memory Allocator Statistics
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
589 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
590 sqlite3_int64 sqlite3_memory_used();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
591 sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
592
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
593 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
594 ** CAPI3REF: Pseudo-Random Number Generator
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
595 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
596 void sqlite3_randomness(int N, void *P);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
597
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
598 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
599 ** CAPI3REF: Compile-Time Authorization Callbacks
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
600 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
601 int sqlite3_set_authorizer(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
602 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
603 int function (void*,int,const char*,const char*,const char*,const char*) xAuth,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
604 void *pUserData
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
605 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
606
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
607 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
608 ** CAPI3REF: Authorizer Return Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
609 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
610 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
611 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
612 SQLITE_DENY = 1, /** Abort the SQL statement with an error */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
613 SQLITE_IGNORE = 2 /** Don't allow access, but don't generate an error */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
614 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
615
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
616 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
617 ** CAPI3REF: Authorizer Action Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
618 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
619 /******************************************* 3rd ************ 4th ***********/
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
620 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
621 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
622 SQLITE_CREATE_INDEX = 1, /** Index Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
623 SQLITE_CREATE_TABLE = 2, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
624 SQLITE_CREATE_TEMP_INDEX = 3, /** Index Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
625 SQLITE_CREATE_TEMP_TABLE = 4, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
626 SQLITE_CREATE_TEMP_TRIGGER = 5, /** Trigger Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
627 SQLITE_CREATE_TEMP_VIEW = 6, /** View Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
628 SQLITE_CREATE_TRIGGER = 7, /** Trigger Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
629 SQLITE_CREATE_VIEW = 8, /** View Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
630 SQLITE_DELETE = 9, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
631 SQLITE_DROP_INDEX = 10, /** Index Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
632 SQLITE_DROP_TABLE = 11, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
633 SQLITE_DROP_TEMP_INDEX = 12, /** Index Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
634 SQLITE_DROP_TEMP_TABLE = 13, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
635 SQLITE_DROP_TEMP_TRIGGER = 14, /** Trigger Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
636 SQLITE_DROP_TEMP_VIEW = 15, /** View Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
637 SQLITE_DROP_TRIGGER = 16, /** Trigger Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
638 SQLITE_DROP_VIEW = 17, /** View Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
639 SQLITE_INSERT = 18, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
640 SQLITE_PRAGMA = 19, /** Pragma Name 1st arg or NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
641 SQLITE_READ = 20, /** Table Name Column Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
642 SQLITE_SELECT = 21, /** NULL NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
643 SQLITE_TRANSACTION = 22, /** Operation NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
644 SQLITE_UPDATE = 23, /** Table Name Column Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
645 SQLITE_ATTACH = 24, /** Filename NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
646 SQLITE_DETACH = 25, /** Database Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
647 SQLITE_ALTER_TABLE = 26, /** Database Name Table Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
648 SQLITE_REINDEX = 27, /** Index Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
649 SQLITE_ANALYZE = 28, /** Table Name NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
650 SQLITE_CREATE_VTABLE = 29, /** Table Name Module Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
651 SQLITE_DROP_VTABLE = 30, /** Table Name Module Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
652 SQLITE_FUNCTION = 31, /** NULL Function Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
653 SQLITE_SAVEPOINT = 32, /** Operation Savepoint Name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
654 SQLITE_COPY = 0, /** No longer used */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
655 SQLITE_RECURSIVE = 33
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
656 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
657
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
658 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
659 ** CAPI3REF: Tracing And Profiling Functions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
660 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
661 void *sqlite3_trace(sqlite3*, void function (void*,const char*) xTrace, void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
662 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
663 void *sqlite3_profile(sqlite3*, void function (void*,const char*,sqlite3_uint64) xProfile, void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
664
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
665 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
666 ** CAPI3REF: Query Progress Callbacks
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
667 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
668 void sqlite3_progress_handler(sqlite3*, int, int function (void*), void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
669
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
670 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
671 ** CAPI3REF: Opening A New Database Connection
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
672 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
673 int sqlite3_open(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
674 const(char)*filename, /** Database filename (UTF-8) */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
675 sqlite3 **ppDb /** OUT: SQLite db handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
676 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
677 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
678 int sqlite3_open16(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
679 const(void)*filename, /** Database filename (UTF-16) */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
680 sqlite3 **ppDb /** OUT: SQLite db handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
681 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
682 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
683 int sqlite3_open_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
684 const(char)*filename, /** Database filename (UTF-8) */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
685 sqlite3 **ppDb, /** OUT: SQLite db handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
686 int flags, /** Flags */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
687 const(char)*zVfs /** Name of VFS module to use */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
688 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
689
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
690 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
691 ** CAPI3REF: Obtain Values For URI Parameters
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
692 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
693 const(char)* sqlite3_uri_parameter(const(char)* zFilename, const(char)* zParam);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
694 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
695 int sqlite3_uri_boolean(const(char)* zFile, const(char)* zParam, int bDefault);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
696 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
697 sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
698
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
699 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
700 ** CAPI3REF: Error Codes And Messages
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
701 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
702 int sqlite3_errcode(sqlite3 *db);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
703 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
704 int sqlite3_extended_errcode(sqlite3 *db);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
705 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
706 const(char)* sqlite3_errmsg(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
707 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
708 const(void)* sqlite3_errmsg16(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
709 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
710 const(char)* sqlite3_errstr(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
711
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
712 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
713 ** CAPI3REF: SQL Statement Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
714 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
715 struct sqlite3_stmt;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
716
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
717 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
718 ** CAPI3REF: Run-time Limits
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
719 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
720 int sqlite3_limit(sqlite3*, int id, int newVal);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
721
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
722 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
723 ** CAPI3REF: Run-Time Limit Categories
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
724 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
725 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
726 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
727 SQLITE_LIMIT_LENGTH = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
728 SQLITE_LIMIT_SQL_LENGTH = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
729 SQLITE_LIMIT_COLUMN = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
730 SQLITE_LIMIT_EXPR_DEPTH = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
731 SQLITE_LIMIT_COMPOUND_SELECT = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
732 SQLITE_LIMIT_VDBE_OP = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
733 SQLITE_LIMIT_FUNCTION_ARG = 6,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
734 SQLITE_LIMIT_ATTACHED = 7,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
735 SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
736 SQLITE_LIMIT_VARIABLE_NUMBER = 9,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
737 SQLITE_LIMIT_TRIGGER_DEPTH = 10,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
738 SQLITE_LIMIT_WORKER_THREADS = 11,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
739 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
740
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
741 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
742 ** CAPI3REF: Compiling An SQL Statement
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
743 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
744 int sqlite3_prepare(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
745 sqlite3 *db, /** Database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
746 const(char)*zSql, /** SQL statement, UTF-8 encoded */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
747 int nByte, /** Maximum length of zSql in bytes. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
748 sqlite3_stmt **ppStmt, /** OUT: Statement handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
749 const(char*)*pzTail /** OUT: Pointer to unused portion of zSql */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
750 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
751 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
752 int sqlite3_prepare_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
753 sqlite3 *db, /** Database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
754 const(char)*zSql, /** SQL statement, UTF-8 encoded */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
755 int nByte, /** Maximum length of zSql in bytes. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
756 sqlite3_stmt **ppStmt, /** OUT: Statement handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
757 const(char*)*pzTail /** OUT: Pointer to unused portion of zSql */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
758 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
759 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
760 int sqlite3_prepare16(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
761 sqlite3 *db, /** Database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
762 const(void)*zSql, /** SQL statement, UTF-16 encoded */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
763 int nByte, /** Maximum length of zSql in bytes. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
764 sqlite3_stmt **ppStmt, /** OUT: Statement handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
765 const(void*)*pzTail /** OUT: Pointer to unused portion of zSql */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
766 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
767 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
768 int sqlite3_prepare16_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
769 sqlite3 *db, /** Database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
770 const(void)*zSql, /** SQL statement, UTF-16 encoded */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
771 int nByte, /** Maximum length of zSql in bytes. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
772 sqlite3_stmt **ppStmt, /** OUT: Statement handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
773 const(void*)*pzTail /** OUT: Pointer to unused portion of zSql */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
774 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
775
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
776 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
777 ** CAPI3REF: Retrieving Statement SQL
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
778 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
779 const(char)* sqlite3_sql(sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
780
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
781 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
782 ** CAPI3REF: Determine If An SQL Statement Writes The Database
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
783 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
784 int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
785
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
786 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
787 ** CAPI3REF: Determine If A Prepared Statement Has Been Reset
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
788 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
789 int sqlite3_stmt_busy(sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
790
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
791
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
792 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
793 ** CAPI3REF: Dynamically Typed Value Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
794 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
795 struct sqlite3_value;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
796
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
797 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
798 ** CAPI3REF: SQL Function Context Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
799 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
800 struct sqlite3_context;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
801
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
802 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
803 ** CAPI3REF: Binding Values To Prepared Statements
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
804 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
805 int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void function (void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
806 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
807 int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64,void function (void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
808 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
809 int sqlite3_bind_double(sqlite3_stmt*, int, double);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
810 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
811 int sqlite3_bind_int(sqlite3_stmt*, int, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
812 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
813 int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
814 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
815 int sqlite3_bind_null(sqlite3_stmt*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
816 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
817 int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void function (void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
818 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
819 int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void function (void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
820 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
821 int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64,void function (void*), ubyte encoding);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
822 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
823 int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
824 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
825 int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
826 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
827 int sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64 n);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
828
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
829 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
830 ** CAPI3REF: Number Of SQL Parameters
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
831 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
832 int sqlite3_bind_parameter_count(sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
833
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
834 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
835 ** CAPI3REF: Name Of A Host Parameter
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
836 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
837 const(char)* sqlite3_bind_parameter_name(sqlite3_stmt*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
838
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
839 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
840 ** CAPI3REF: Index Of A Parameter With A Given Name
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
841 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
842 int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
843
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
844 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
845 ** CAPI3REF: Reset All Bindings On A Prepared Statement
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
846 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
847 int sqlite3_clear_bindings(sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
848
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
849 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
850 ** CAPI3REF: Number Of Columns In A Result Set
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
851 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
852 int sqlite3_column_count(sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
853
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
854 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
855 ** CAPI3REF: Column Names In A Result Set
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
856 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
857 const(char)* sqlite3_column_name(sqlite3_stmt*, int N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
858 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
859 const(void)* sqlite3_column_name16(sqlite3_stmt*, int N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
860
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
861 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
862 ** CAPI3REF: Source Of Data In A Query Result
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
863 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
864 const(char)* sqlite3_column_database_name(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
865 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
866 const(void)* sqlite3_column_database_name16(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
867 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
868 const(char)* sqlite3_column_table_name(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
869 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
870 const (void)* sqlite3_column_table_name16(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
871 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
872 const (char)* sqlite3_column_origin_name(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
873 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
874 const (void)* sqlite3_column_origin_name16(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
875
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
876 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
877 ** CAPI3REF: Declared Datatype Of A Query Result
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
878 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
879 const (char)* sqlite3_column_decltype(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
880 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
881 const (void)* sqlite3_column_decltype16(sqlite3_stmt*,int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
882
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
883 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
884 ** CAPI3REF: Evaluate An SQL Statement
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
885 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
886 int sqlite3_step(sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
887
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
888 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
889 ** CAPI3REF: Number of columns in a result set
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
890 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
891 int sqlite3_data_count(sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
892
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
893 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
894 ** CAPI3REF: Fundamental Datatypes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
895 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
896 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
897 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
898 SQLITE_INTEGER = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
899 SQLITE_FLOAT = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
900 SQLITE_BLOB = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
901 SQLITE_NULL = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
902 SQLITE3_TEXT = 3
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
903 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
904
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
905 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
906 ** CAPI3REF: Result Values From A Query
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
907 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
908 const (void)* sqlite3_column_blob(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
909 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
910 int sqlite3_column_bytes(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
911 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
912 int sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
913 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
914 double sqlite3_column_double(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
915 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
916 int sqlite3_column_int(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
917 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
918 sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
919 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
920 const (char)* sqlite3_column_text(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
921 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
922 const (void)* sqlite3_column_text16(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
923 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
924 int sqlite3_column_type(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
925 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
926 sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
927
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
928 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
929 ** CAPI3REF: Destroy A Prepared Statement Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
930 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
931 int sqlite3_finalize(sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
932
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
933 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
934 ** CAPI3REF: Reset A Prepared Statement Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
935 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
936 int sqlite3_reset(sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
937
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
938 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
939 ** CAPI3REF: Create Or Redefine SQL Functions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
940 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
941 int sqlite3_create_function(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
942 sqlite3 *db,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
943 const(char)*zFunctionName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
944 int nArg,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
945 int eTextRep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
946 void *pApp,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
947 void function (sqlite3_context*,int,sqlite3_value**) xFunc,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
948 void function (sqlite3_context*,int,sqlite3_value**) xStep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
949 void function (sqlite3_context*) xFinal
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
950 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
951 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
952 int sqlite3_create_function16(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
953 sqlite3 *db,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
954 const(void)*zFunctionName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
955 int nArg,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
956 int eTextRep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
957 void *pApp,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
958 void function (sqlite3_context*,int,sqlite3_value**) xFunc,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
959 void function (sqlite3_context*,int,sqlite3_value**) xStep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
960 void function (sqlite3_context*) xFinal
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
961 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
962 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
963 int sqlite3_create_function_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
964 sqlite3 *db,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
965 const(char)*zFunctionName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
966 int nArg,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
967 int eTextRep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
968 void *pApp,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
969 void function (sqlite3_context*,int,sqlite3_value**) xFunc,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
970 void function (sqlite3_context*,int,sqlite3_value**) xStep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
971 void function (sqlite3_context*) xFinal,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
972 void function (void*) xDestroy
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
973 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
974
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
975 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
976 ** CAPI3REF: Text Encodings
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
977 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
978 ** These constant define integer codes that represent the various
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
979 ** text encodings supported by SQLite.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
980 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
981 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
982 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
983 SQLITE_UTF8 = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
984 SQLITE_UTF16LE = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
985 SQLITE_UTF16BE = 3
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
986 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
987 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
988 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
989 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
990 SQLITE_UTF16 = 4, /** Use native byte order */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
991 SQLITE_ANY = 5, /** sqlite3_create_function only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
992 SQLITE_UTF16_ALIGNED = 8 /** sqlite3_create_collation only */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
993 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
994
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
995 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
996 ** CAPI3REF: Function Flags
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
997 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
998 enum SQLITE_DETERMINISTIC = 0x800;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
999
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1000 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1001 ** CAPI3REF: Deprecated Functions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1002 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1003 deprecated int sqlite3_aggregate_count(sqlite3_context*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1004 deprecated int sqlite3_expired(sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1005 deprecated int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1006 deprecated int sqlite3_global_recover();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1007 deprecated void sqlite3_thread_cleanup();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1008 deprecated int sqlite3_memory_alarm(void function(void*,sqlite3_int64,int),void*,sqlite3_int64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1009
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1010 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1011 ** CAPI3REF: Obtaining SQL Function Parameter Values
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1012 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1013 const (void)* sqlite3_value_blob(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1014 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1015 int sqlite3_value_bytes(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1016 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1017 int sqlite3_value_bytes16(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1018 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1019 double sqlite3_value_double(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1020 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1021 int sqlite3_value_int(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1022 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1023 sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1024 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1025 const (char)* sqlite3_value_text(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1026 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1027 const (void)* sqlite3_value_text16(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1028 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1029 const (void)* sqlite3_value_text16le(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1030 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1031 const (void)* sqlite3_value_text16be(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1032 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1033 int sqlite3_value_type(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1034 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1035 int sqlite3_value_numeric_type(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1036
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1037 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1038 ** CAPI3REF: Finding The Subtype Of SQL Values
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1039 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1040 uint sqlite3_value_subtype(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1041
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1042 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1043 ** CAPI3REF: Copy And Free SQL Values
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1044 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1045 sqlite3_value* sqlite3_value_dup(const sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1046 void sqlite3_value_free(sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1047
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1048 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1049 ** CAPI3REF: Obtain Aggregate Function Context
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1050 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1051 void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1052
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1053 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1054 ** CAPI3REF: User Data For Functions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1055 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1056 void *sqlite3_user_data(sqlite3_context*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1057
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1058 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1059 ** CAPI3REF: Database Connection For Functions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1060 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1061 sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1062
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1063 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1064 ** CAPI3REF: Function Auxiliary Data
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1065 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1066 void *sqlite3_get_auxdata(sqlite3_context*, int N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1067 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1068 void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void function (void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1069
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1070
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1071 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1072 ** CAPI3REF: Constants Defining Special Destructor Behavior
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1073 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1074 alias sqlite3_destructor_type = void function (void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1075 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1076 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1077 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1078 SQLITE_STATIC = (cast(sqlite3_destructor_type) 0),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1079 SQLITE_TRANSIENT = (cast (sqlite3_destructor_type) -1)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1080 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1081
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1082 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1083 ** CAPI3REF: Setting The Result Of An SQL Function
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1084 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1085 void sqlite3_result_blob(sqlite3_context*, const void*, int, void function(void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1086 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1087 void sqlite3_result_blob64(sqlite3_context*,const void*,sqlite3_uint64,void function(void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1088 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1089 void sqlite3_result_double(sqlite3_context*, double);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1090 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1091 void sqlite3_result_error(sqlite3_context*, const char*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1092 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1093 void sqlite3_result_error16(sqlite3_context*, const void*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1094 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1095 void sqlite3_result_error_toobig(sqlite3_context*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1096 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1097 void sqlite3_result_error_nomem(sqlite3_context*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1098 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1099 void sqlite3_result_error_code(sqlite3_context*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1100 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1101 void sqlite3_result_int(sqlite3_context*, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1102 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1103 void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1104 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1105 void sqlite3_result_null(sqlite3_context*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1106 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1107 void sqlite3_result_text(sqlite3_context*, const char*, int, void function(void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1108 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1109 void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64,void function(void*), ubyte encoding);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1110 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1111 void sqlite3_result_text16(sqlite3_context*, const void*, int, void function(void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1112 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1113 void sqlite3_result_text16le(sqlite3_context*, const void*, int, void function(void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1114 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1115 void sqlite3_result_text16be(sqlite3_context*, const void*, int, void function(void*));
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1116 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1117 void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1118 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1119 void sqlite3_result_zeroblob(sqlite3_context*, int n);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1120 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1121 int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1122
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1123 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1124 ** CAPI3REF: Setting The Subtype Of An SQL Function
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1125 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1126 void sqlite3_result_subtype(sqlite3_context*,uint);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1127
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1128 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1129 ** CAPI3REF: Define New Collating Sequences
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1130 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1131 int sqlite3_create_collation(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1132 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1133 const(char)*zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1134 int eTextRep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1135 void *pArg,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1136 int function (void*,int,const void*,int,const void*) xCompare
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1137 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1138 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1139 int sqlite3_create_collation_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1140 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1141 const(char)*zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1142 int eTextRep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1143 void *pArg,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1144 int function (void*,int,const void*,int,const void*) xCompare,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1145 void function (void*) xDestroy
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1146 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1147 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1148 int sqlite3_create_collation16(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1149 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1150 const(void)*zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1151 int eTextRep,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1152 void *pArg,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1153 int function (void*,int,const void*,int,const void*) xCompare
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1154 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1155
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1156 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1157 ** CAPI3REF: Collation Needed Callbacks
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1158 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1159 int sqlite3_collation_needed(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1160 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1161 void*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1162 void function (void*,sqlite3*,int eTextRep,const char*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1163 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1164 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1165 int sqlite3_collation_needed16(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1166 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1167 void*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1168 void function (void*,sqlite3*,int eTextRep,const void*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1169 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1170
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1171 ///
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1172 int sqlite3_key(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1173 sqlite3 *db, /** Database to be rekeyed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1174 const(void)*pKey, int nKey /** The key */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1175 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1176 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1177 int sqlite3_key_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1178 sqlite3 *db, /* Database to be rekeyed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1179 const(char)* zDbName, /* Name of the database */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1180 const(void)* pKey, int nKey /* The key */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1181 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1182
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1183 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1184 ** Change the key on an open database. If the current database is not
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1185 ** encrypted, this routine will encrypt it. If pNew == 0 or nNew == 0, the
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1186 ** database is decrypted.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1187 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1188 ** The code to implement this API is not available in the public release
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1189 ** of SQLite.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1190 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1191 int sqlite3_rekey(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1192 sqlite3 *db, /** Database to be rekeyed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1193 const(void)*pKey, int nKey /** The new key */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1194 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1195 int sqlite3_rekey_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1196 sqlite3 *db, /* Database to be rekeyed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1197 const(char)* zDbName, /* Name of the database */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1198 const(void)* pKey, int nKey /* The new key */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1199 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1200
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1201 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1202 ** Specify the activation key for a SEE database. Unless
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1203 ** activated, none of the SEE routines will work.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1204 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1205 void sqlite3_activate_see(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1206 const(char)*zPassPhrase /** Activation phrase */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1207 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1208
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1209 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1210 ** Specify the activation key for a CEROD database. Unless
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1211 ** activated, none of the CEROD routines will work.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1212 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1213 void sqlite3_activate_cerod(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1214 const(char)*zPassPhrase /** Activation phrase */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1215 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1216
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1217 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1218 ** CAPI3REF: Suspend Execution For A Short Time
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1219 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1220 int sqlite3_sleep(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1221
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1222 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1223 ** CAPI3REF: Name Of The Folder Holding Temporary Files
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1224 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1225 extern char *sqlite3_temp_directory;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1226
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1227 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1228 ** CAPI3REF: Name Of The Folder Holding Database Files
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1229 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1230 extern char *sqlite3_data_directory;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1231
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1232 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1233 ** CAPI3REF: Test For Auto-Commit Mode
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1234 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1235 int sqlite3_get_autocommit(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1236
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1237 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1238 ** CAPI3REF: Find The Database Handle Of A Prepared Statement
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1239 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1240 sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1241
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1242 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1243 ** CAPI3REF: Return The Filename For A Database Connection
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1244 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1245 const(char)* sqlite3_db_filename(sqlite3 *db, const char* zDbName);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1246
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1247 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1248 ** CAPI3REF: Determine if a database is read-only
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1249 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1250 int sqlite3_db_readonly(sqlite3 *db, const char * zDbName);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1251
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1252 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1253 ** CAPI3REF: Find the next prepared statement
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1254 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1255 sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1256
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1257 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1258 ** CAPI3REF: Commit And Rollback Notification Callbacks
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1259 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1260 void *sqlite3_commit_hook(sqlite3*, int function (void*), void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1261 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1262 void *sqlite3_rollback_hook(sqlite3*, void function (void *), void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1263
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1264 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1265 ** CAPI3REF: Data Change Notification Callbacks
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1266 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1267 void *sqlite3_update_hook(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1268 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1269 void function (void *,int ,char *, char *, sqlite3_int64),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1270 void*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1271 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1272
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1273 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1274 ** CAPI3REF: Enable Or Disable Shared Pager Cache
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1275 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1276 int sqlite3_enable_shared_cache(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1277
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1278 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1279 ** CAPI3REF: Attempt To Free Heap Memory
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1280 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1281 int sqlite3_release_memory(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1282
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1283 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1284 ** CAPI3REF: Free Memory Used By A Database Connection
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1285 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1286 int sqlite3_db_release_memory(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1287
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1288 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1289 ** CAPI3REF: Impose A Limit On Heap Size
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1290 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1291 sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1292
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1293 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1294 ** CAPI3REF: Deprecated Soft Heap Limit Interface
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1295 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1296 deprecated void sqlite3_soft_heap_limit(int N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1297
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1298 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1299 ** CAPI3REF: Extract Metadata About A Column Of A Table
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1300 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1301 int sqlite3_table_column_metadata(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1302 sqlite3 *db, /** Connection handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1303 const(char)*zDbName, /** Database name or NULL */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1304 const(char)*zTableName, /** Table name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1305 const(char)*zColumnName, /** Column name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1306 char **pzDataType, /** OUTPUT: Declared data type */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1307 char **pzCollSeq, /** OUTPUT: Collation sequence name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1308 int *pNotNull, /** OUTPUT: True if NOT NULL constraint exists */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1309 int *pPrimaryKey, /** OUTPUT: True if column part of PK */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1310 int *pAutoinc /** OUTPUT: True if column is auto-increment */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1311 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1312
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1313 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1314 ** CAPI3REF: Load An Extension
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1315 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1316 int sqlite3_load_extension(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1317 sqlite3 *db, /** Load the extension into this database connection */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1318 const(char)*zFile, /** Name of the shared library containing extension */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1319 const(char)*zProc, /** Entry point. Derived from zFile if 0 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1320 char **pzErrMsg /** Put error message here if not 0 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1321 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1322
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1323 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1324 ** CAPI3REF: Enable Or Disable Extension Loading
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1325 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1326 int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1327
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1328 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1329 ** CAPI3REF: Automatically Load Statically Linked Extensions
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1330 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1331 int sqlite3_auto_extension(void function () xEntryPoint);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1332
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1333 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1334 ** CAPI3REF: Cancel Automatic Extension Loading
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1335 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1336 int sqlite3_cancel_auto_extension(void function() xEntryPoint);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1337
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1338 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1339 ** CAPI3REF: Reset Automatic Extension Loading
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1340 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1341 void sqlite3_reset_auto_extension();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1342
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1343 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1344 ** The interface to the virtual-table mechanism is currently considered
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1345 ** to be experimental. The interface might change in incompatible ways.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1346 ** If this is a problem for you, do not use the interface at this time.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1347 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1348 ** When the virtual-table mechanism stabilizes, we will declare the
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1349 ** interface fixed, support it indefinitely, and remove this comment.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1350 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1351
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1352 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1353 ** CAPI3REF: Virtual Table Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1354 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1355
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1356 alias mapFunction = void function (sqlite3_context*,int,sqlite3_value**);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1357
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1358 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1359 struct sqlite3_module
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1360 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1361 int iVersion;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1362 int function (sqlite3*, void *pAux,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1363 int argc, const char **argv,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1364 sqlite3_vtab **ppVTab, char**) xCreate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1365 int function (sqlite3*, void *pAux,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1366 int argc, const char **argv,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1367 sqlite3_vtab **ppVTab, char**) xConnect;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1368 int function (sqlite3_vtab *pVTab, sqlite3_index_info*) xBestIndex;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1369 int function (sqlite3_vtab *pVTab) xDisconnect;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1370 int function (sqlite3_vtab *pVTab) xDestroy;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1371 int function (sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor) xOpen;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1372 int function (sqlite3_vtab_cursor*) xClose;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1373 int function (sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1374 int argc, sqlite3_value **argv) xFilter;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1375 int function (sqlite3_vtab_cursor*) xNext;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1376 int function (sqlite3_vtab_cursor*) xEof;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1377 int function (sqlite3_vtab_cursor*, sqlite3_context*, int) xColumn;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1378 int function (sqlite3_vtab_cursor*, sqlite3_int64 *pRowid) xRowid;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1379 int function (sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *) xUpdate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1380 int function (sqlite3_vtab *pVTab) xBegin;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1381 int function (sqlite3_vtab *pVTab) xSync;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1382 int function (sqlite3_vtab *pVTab) xCommit;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1383 int function (sqlite3_vtab *pVTab) xRollback;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1384 int function (sqlite3_vtab *pVtab, int nArg, const char *zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1385 mapFunction*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1386 void **ppArg) xFindFunction;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1387 int function (sqlite3_vtab *pVtab, const char *zNew) xRename;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1388 int function (sqlite3_vtab *pVTab, int) xSavepoint;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1389 int function (sqlite3_vtab *pVTab, int) xRelease;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1390 int function (sqlite3_vtab *pVTab, int) xRollbackTo;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1391 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1392
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1393 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1394 ** CAPI3REF: Virtual Table Indexing Information
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1395 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1396 struct sqlite3_index_info
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1397 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1398 struct sqlite3_index_constraint
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1399 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1400 int iColumn; /** Column on left-hand side of constraint */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1401 char op; /** Constraint operator */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1402 char usable; /** True if this constraint is usable */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1403 int iTermOffset; /** Used internally - xBestIndex should ignore */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1404 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1405 struct sqlite3_index_orderby
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1406 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1407 int iColumn; /** Column number */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1408 char desc; /** True for DESC. False for ASC. */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1409 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1410 struct sqlite3_index_constraint_usage
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1411 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1412 int argvIndex; /** if >0, constraint is part of argv to xFilter */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1413 char omit; /** Do not code a test for this constraint */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1414 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1415 /* Inputs */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1416 int nConstraint; /** Number of entries in aConstraint */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1417 sqlite3_index_constraint* aConstraint; /** Table of WHERE clause constraints */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1418 int nOrderBy; /** Number of terms in the ORDER BY clause */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1419 sqlite3_index_orderby *aOrderBy; /** The ORDER BY clause */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1420 /* Outputs */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1421 sqlite3_index_constraint_usage *aConstraintUsage;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1422 int idxNum; /** Number used to identify the index */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1423 char *idxStr; /** String, possibly obtained from sqlite3_malloc */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1424 int needToFreeIdxStr; /** Free idxStr using sqlite3_free() if true */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1425 int orderByConsumed; /** True if output is already ordered */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1426 double estimatedCost; /** Estimated cost of using this index */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1427 sqlite3_int64 estimatedRows;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1428 int idxFlags;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1429 sqlite3_uint64 colUsed;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1430 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1431
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1432 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1433 ** CAPI3REF: Virtual Table Constraint Operator Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1434 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1435 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1436 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1437 SQLITE_INDEX_SCAN_UNIQUE = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1438 SQLITE_INDEX_CONSTRAINT_EQ = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1439 SQLITE_INDEX_CONSTRAINT_GT = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1440 SQLITE_INDEX_CONSTRAINT_LE = 8,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1441 SQLITE_INDEX_CONSTRAINT_LT = 16,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1442 SQLITE_INDEX_CONSTRAINT_GE = 32,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1443 SQLITE_INDEX_CONSTRAINT_MATCH = 64,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1444 SQLITE_INDEX_CONSTRAINT_LIKE = 65,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1445 SQLITE_INDEX_CONSTRAINT_GLOB = 66,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1446 SQLITE_INDEX_CONSTRAINT_REGEXP = 67,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1447 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1448
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1449 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1450 ** CAPI3REF: Register A Virtual Table Implementation
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1451 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1452 int sqlite3_create_module(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1453 sqlite3 *db, /* SQLite connection to register module with */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1454 const(char)*zName, /* Name of the module */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1455 const(sqlite3_module)*p, /* Methods for the module */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1456 void *pClientData /* Client data for xCreate/xConnect */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1457 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1458 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1459 int sqlite3_create_module_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1460 sqlite3 *db, /* SQLite connection to register module with */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1461 const(char)*zName, /* Name of the module */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1462 const(sqlite3_module)*p, /* Methods for the module */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1463 void *pClientData, /* Client data for xCreate/xConnect */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1464 void function (void*) xDestroy /* Module destructor function */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1465 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1466
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1467 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1468 ** CAPI3REF: Virtual Table Instance Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1469 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1470 struct sqlite3_vtab
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1471 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1472 const(sqlite3_module)*pModule; /** The module for this virtual table */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1473 int nRef; /** NO LONGER USED */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1474 char *zErrMsg; /** Error message from sqlite3_mprintf() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1475 /* Virtual table implementations will typically add additional fields */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1476 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1477
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1478 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1479 ** CAPI3REF: Virtual Table Cursor Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1480 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1481 struct sqlite3_vtab_cursor
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1482 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1483 sqlite3_vtab *pVtab; /** Virtual table of this cursor */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1484 /* Virtual table implementations will typically add additional fields */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1485 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1486
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1487 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1488 ** CAPI3REF: Declare The Schema Of A Virtual Table
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1489 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1490 int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1491
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1492 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1493 ** CAPI3REF: Overload A Function For A Virtual Table
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1494 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1495 int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1496
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1497 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1498 ** The interface to the virtual-table mechanism defined above (back up
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1499 ** to a comment remarkably similar to this one) is currently considered
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1500 ** to be experimental. The interface might change in incompatible ways.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1501 ** If this is a problem for you, do not use the interface at this time.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1502 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1503 ** When the virtual-table mechanism stabilizes, we will declare the
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1504 ** interface fixed, support it indefinitely, and remove this comment.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1505 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1506
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1507 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1508 ** CAPI3REF: A Handle To An Open BLOB
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1509 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1510 struct sqlite3_blob;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1511
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1512 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1513 ** CAPI3REF: Open A BLOB For Incremental I/O
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1514 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1515 int sqlite3_blob_open(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1516 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1517 const(char)* zDb,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1518 const(char)* zTable,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1519 const(char)* zColumn,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1520 sqlite3_int64 iRow,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1521 int flags,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1522 sqlite3_blob **ppBlob
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1523 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1524
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1525 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1526 ** CAPI3REF: Move a BLOB Handle to a New Row
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1527 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1528 int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1529
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1530 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1531 ** CAPI3REF: Close A BLOB Handle
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1532 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1533 int sqlite3_blob_close(sqlite3_blob *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1534
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1535 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1536 ** CAPI3REF: Return The Size Of An Open BLOB
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1537 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1538 int sqlite3_blob_bytes(sqlite3_blob *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1539
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1540 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1541 ** CAPI3REF: Read Data From A BLOB Incrementally
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1542 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1543 int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1544
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1545 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1546 ** CAPI3REF: Write Data Into A BLOB Incrementally
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1547 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1548 int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1549
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1550 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1551 ** CAPI3REF: Virtual File System Objects
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1552 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1553 sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1554 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1555 int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1556 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1557 int sqlite3_vfs_unregister(sqlite3_vfs*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1558
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1559 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1560 ** CAPI3REF: Mutexes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1561 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1562 sqlite3_mutex *sqlite3_mutex_alloc(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1563 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1564 void sqlite3_mutex_free(sqlite3_mutex*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1565 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1566 void sqlite3_mutex_enter(sqlite3_mutex*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1567 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1568 int sqlite3_mutex_try(sqlite3_mutex*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1569 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1570 void sqlite3_mutex_leave(sqlite3_mutex*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1571
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1572 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1573 ** CAPI3REF: Mutex Methods Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1574 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1575 struct sqlite3_mutex_methods
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1576 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1577 int function () xMutexInit;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1578 int function () xMutexEnd;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1579 sqlite3_mutex* function (int) xMutexAlloc;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1580 void function (sqlite3_mutex *) xMutexFree;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1581 void function (sqlite3_mutex *) xMutexEnter;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1582 int function (sqlite3_mutex *) xMutexTry;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1583 void function (sqlite3_mutex *) xMutexLeave;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1584 int function (sqlite3_mutex *) xMutexHeld;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1585 int function (sqlite3_mutex *) xMutexNotheld;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1586 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1587
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1588 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1589 ** CAPI3REF: Mutex Verification Routines
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1590 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1591
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1592 //#ifndef NDEBUG
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1593 int sqlite3_mutex_held(sqlite3_mutex*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1594 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1595 int sqlite3_mutex_notheld(sqlite3_mutex*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1596 //#endif
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1597
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1598 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1599 ** CAPI3REF: Mutex Types
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1600 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1601 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1602 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1603 SQLITE_MUTEX_FAST = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1604 SQLITE_MUTEX_RECURSIVE = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1605 SQLITE_MUTEX_STATIC_MASTER = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1606 SQLITE_MUTEX_STATIC_MEM = 3, /** sqlite3_malloc() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1607 SQLITE_MUTEX_STATIC_MEM2 = 4, /** NOT USED */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1608 SQLITE_MUTEX_STATIC_OPEN = 4, /** sqlite3BtreeOpen() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1609 SQLITE_MUTEX_STATIC_PRNG = 5, /** sqlite3_random() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1610 SQLITE_MUTEX_STATIC_LRU = 6, /** lru page list */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1611 SQLITE_MUTEX_STATIC_LRU2 = 7, /** NOT USED */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1612 SQLITE_MUTEX_STATIC_PMEM = 7, /** sqlite3PageMalloc() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1613 SQLITE_MUTEX_STATIC_APP1 = 8, /** For use by application */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1614 SQLITE_MUTEX_STATIC_APP2 = 9, /** For use by application */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1615 SQLITE_MUTEX_STATIC_APP3 = 10, /** For use by application */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1616 SQLITE_MUTEX_STATIC_VFS1 = 11, /** For use by built-in VFS */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1617 SQLITE_MUTEX_STATIC_VFS2 = 12, /** For use by extension VFS */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1618 SQLITE_MUTEX_STATIC_VFS3 = 13, /** For use by application VFS */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1619 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1620
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1621 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1622 ** CAPI3REF: Retrieve the mutex for a database connection
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1623 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1624 sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1625
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1626 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1627 ** CAPI3REF: Low-Level Control Of Database Files
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1628 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1629 int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1630
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1631 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1632 ** CAPI3REF: Testing Interface
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1633 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1634 int sqlite3_test_control(int op, ...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1635
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1636 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1637 ** CAPI3REF: Testing Interface Operation Codes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1638 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1639 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1640 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1641 SQLITE_TESTCTRL_FIRST = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1642 SQLITE_TESTCTRL_PRNG_SAVE = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1643 SQLITE_TESTCTRL_PRNG_RESTORE = 6,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1644 SQLITE_TESTCTRL_PRNG_RESET = 7,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1645 SQLITE_TESTCTRL_BITVEC_TEST = 8,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1646 SQLITE_TESTCTRL_FAULT_INSTALL = 9,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1647 SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1648 SQLITE_TESTCTRL_PENDING_BYTE = 11,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1649 SQLITE_TESTCTRL_ASSERT = 12,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1650 SQLITE_TESTCTRL_ALWAYS = 13,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1651 SQLITE_TESTCTRL_RESERVE = 14,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1652 SQLITE_TESTCTRL_OPTIMIZATIONS = 15,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1653 SQLITE_TESTCTRL_ISKEYWORD = 16,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1654 SQLITE_TESTCTRL_SCRATCHMALLOC = 17,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1655 SQLITE_TESTCTRL_LOCALTIME_FAULT = 18,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1656 SQLITE_TESTCTRL_EXPLAIN_STMT = 19,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1657 SQLITE_TESTCTRL_NEVER_CORRUPT = 20,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1658 SQLITE_TESTCTRL_VDBE_COVERAGE = 21,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1659 SQLITE_TESTCTRL_BYTEORDER = 22,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1660 SQLITE_TESTCTRL_ISINIT = 23,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1661 SQLITE_TESTCTRL_SORTER_MMAP = 24,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1662 SQLITE_TESTCTRL_IMPOSTER = 25,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1663 SQLITE_TESTCTRL_LAST = 25,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1664 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1665
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1666 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1667 ** CAPI3REF: SQLite Runtime Status
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1668 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1669 int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1670 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1671 int sqlite3_status64(int op, long *pCurrent, long *pHighwater, int resetFlag);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1672
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1673 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1674 ** CAPI3REF: Status Parameters
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1675 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1676 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1677 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1678 SQLITE_STATUS_MEMORY_USED = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1679 SQLITE_STATUS_PAGECACHE_USED = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1680 SQLITE_STATUS_PAGECACHE_OVERFLOW = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1681 SQLITE_STATUS_SCRATCH_USED = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1682 SQLITE_STATUS_SCRATCH_OVERFLOW = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1683 SQLITE_STATUS_MALLOC_SIZE = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1684 SQLITE_STATUS_PARSER_STACK = 6,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1685 SQLITE_STATUS_PAGECACHE_SIZE = 7,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1686 SQLITE_STATUS_SCRATCH_SIZE = 8,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1687 SQLITE_STATUS_MALLOC_COUNT = 9
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1688 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1689
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1690 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1691 ** CAPI3REF: Database Connection Status
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1692 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1693 int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1694
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1695 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1696 ** CAPI3REF: Status Parameters for database connections
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1697 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1698 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1699 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1700 SQLITE_DBSTATUS_LOOKASIDE_USED = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1701 SQLITE_DBSTATUS_CACHE_USED = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1702 SQLITE_DBSTATUS_SCHEMA_USED = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1703 SQLITE_DBSTATUS_STMT_USED = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1704 SQLITE_DBSTATUS_LOOKASIDE_HIT = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1705 SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1706 SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1707 SQLITE_DBSTATUS_CACHE_HIT = 7,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1708 SQLITE_DBSTATUS_CACHE_MISS = 8,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1709 SQLITE_DBSTATUS_CACHE_WRITE = 9,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1710 SQLITE_DBSTATUS_DEFERRED_FKS = 10,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1711 SQLITE_DBSTATUS_MAX = 10 /** Largest defined DBSTATUS */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1712 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1713
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1714 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1715 ** CAPI3REF: Prepared Statement Status
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1716 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1717 int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1718
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1719 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1720 ** CAPI3REF: Status Parameters for prepared statements
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1721 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1722 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1723 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1724 SQLITE_STMTSTATUS_FULLSCAN_STEP = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1725 SQLITE_STMTSTATUS_SORT = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1726 SQLITE_STMTSTATUS_AUTOINDEX = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1727 SQLITE_STMTSTATUS_VM_STEP = 4
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1728 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1729
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1730 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1731 ** CAPI3REF: Custom Page Cache Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1732 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1733 struct sqlite3_pcache;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1734
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1735 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1736 ** CAPI3REF: Custom Page Cache Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1737 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1738 struct sqlite3_pcache_page
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1739 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1740 void *pBuf; /* The content of the page */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1741 void *pExtra; /* Extra information associated with the page */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1742 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1743
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1744 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1745 ** CAPI3REF: Application Defined Page Cache.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1746 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1747 struct sqlite3_pcache_methods2
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1748 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1749 int iVersion;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1750 void *pArg;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1751 int function(void*) xInit;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1752 void function(void*) xShutdown;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1753 sqlite3_pcache * function(int szPage, int szExtra, int bPurgeable) xCreate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1754 void function(sqlite3_pcache*, int nCachesize) xCachesize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1755 int function(sqlite3_pcache*) xPagecount;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1756 sqlite3_pcache_page * function(sqlite3_pcache*, uint key, int createFlag) xFetch;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1757 void function(sqlite3_pcache*, sqlite3_pcache_page*, int discard) xUnpin;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1758 void function(sqlite3_pcache*, sqlite3_pcache_page*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1759 uint oldKey, uint newKey) xRekey;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1760 void function(sqlite3_pcache*, uint iLimit) xTruncate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1761 void function(sqlite3_pcache*) xDestroy;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1762 void function(sqlite3_pcache*) xShrink;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1763 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1764
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1765 struct sqlite3_pcache_methods
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1766 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1767 void *pArg;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1768 int function (void*) xInit;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1769 void function (void*) xShutdown;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1770 sqlite3_pcache* function (int szPage, int bPurgeable) xCreate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1771 void function (sqlite3_pcache*, int nCachesize) xCachesize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1772 int function (sqlite3_pcache*) xPagecount;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1773 void* function (sqlite3_pcache*, uint key, int createFlag) xFetch;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1774 void function (sqlite3_pcache*, void*, int discard) xUnpin;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1775 void function (sqlite3_pcache*, void*, uint oldKey, uint newKey) xRekey;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1776 void function (sqlite3_pcache*, uint iLimit) xTruncate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1777 void function (sqlite3_pcache*) xDestroy;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1778 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1779
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1780 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1781 ** CAPI3REF: Online Backup Object
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1782 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1783 struct sqlite3_backup;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1784
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1785 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1786 ** CAPI3REF: Online Backup API.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1787 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1788 sqlite3_backup *sqlite3_backup_init(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1789 sqlite3 *pDest, /** Destination database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1790 const(char)*zDestName, /** Destination database name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1791 sqlite3 *pSource, /** Source database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1792 const(char)*zSourceName /** Source database name */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1793 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1794 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1795 int sqlite3_backup_step(sqlite3_backup *p, int nPage);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1796 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1797 int sqlite3_backup_finish(sqlite3_backup *p);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1798 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1799 int sqlite3_backup_remaining(sqlite3_backup *p);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1800 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1801 int sqlite3_backup_pagecount(sqlite3_backup *p);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1802
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1803 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1804 ** CAPI3REF: Unlock Notification
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1805 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1806 int sqlite3_unlock_notify(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1807 sqlite3 *pBlocked, /** Waiting connection */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1808 void function (void **apArg, int nArg) xNotify, /** Callback function to invoke */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1809 void *pNotifyArg /** Argument to pass to xNotify */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1810 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1811
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1812 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1813 ** CAPI3REF: String Comparison
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1814 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1815 int sqlite3_stricmp(const char * , const char * );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1816 int sqlite3_strnicmp(const char * , const char * , int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1817
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1818 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1819 ** CAPI3REF: String Globbing
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1820 *
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1821 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1822 int sqlite3_strglob(const(char)* zGlob, const(char)* zStr);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1823
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1824 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1825 ** CAPI3REF: String LIKE Matching
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1826 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1827 int sqlite3_strlike(const(char)* zGlob, const(char)* zStr, uint cEsc);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1828
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1829 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1830 ** CAPI3REF: Error Logging Interface
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1831 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1832 void sqlite3_log(int iErrCode, const char *zFormat, ...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1833
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1834 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1835 ** CAPI3REF: Write-Ahead Log Commit Hook
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1836 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1837 void *sqlite3_wal_hook(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1838 sqlite3*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1839 int function (void *,sqlite3*,const char*,int),
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1840 void*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1841 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1842
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1843 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1844 ** CAPI3REF: Configure an auto-checkpoint
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1845 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1846 int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1847
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1848 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1849 ** CAPI3REF: Checkpoint a database
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1850 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1851 int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1852
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1853 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1854 ** CAPI3REF: Checkpoint a database
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1855 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1856 int sqlite3_wal_checkpoint_v2(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1857 sqlite3 *db, /** Database handle */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1858 const(char)*zDb, /** Name of attached database (or NULL) */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1859 int eMode, /** SQLITE_CHECKPOINT_* value */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1860 int *pnLog, /** OUT: Size of WAL log in frames */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1861 int *pnCkpt /** OUT: Total number of frames checkpointed */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1862 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1863
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1864 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1865 ** CAPI3REF: Checkpoint operation parameters
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1866 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1867 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1868 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1869 SQLITE_CHECKPOINT_PASSIVE = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1870 SQLITE_CHECKPOINT_FULL = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1871 SQLITE_CHECKPOINT_RESTART = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1872 SQLITE_CHECKPOINT_TRUNCATE = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1873 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1874
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1875 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1876 ** CAPI3REF: Virtual Table Interface Configuration
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1877 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1878 int sqlite3_vtab_config(sqlite3*, int op, ...);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1879
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1880 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1881 ** CAPI3REF: Virtual Table Configuration Options
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1882 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1883 enum SQLITE_VTAB_CONSTRAINT_SUPPORT = 1;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1884
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1885 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1886 ** 2010 August 30
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1887 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1888 ** The author disclaims copyright to this source code. In place of
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1889 ** a legal notice, here is a blessing:
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1890 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1891 ** May you do good and not evil.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1892 ** May you find forgiveness for yourself and forgive others.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1893 ** May you share freely, never taking more than you give.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1894 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1895 *************************************************************************
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1896 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1897
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1898 //#ifndef _SQLITE3RTREE_H_
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1899 //#define _SQLITE3RTREE_H_
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1900
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1901
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1902 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1903 ** CAPI3REF: Determine The Virtual Table Conflict Policy
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1904 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1905 int sqlite3_vtab_on_conflict(sqlite3 *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1906
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1907 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1908 ** CAPI3REF: Conflict resolution modes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1909 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1910 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1911 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1912 SQLITE_ROLLBACK = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1913 SQLITE_FAIL = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1914 SQLITE_REPLACE = 5
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1915 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1916
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1917 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1918 ** CAPI3REF: Prepared Statement Scan Status Opcodes
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1919 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1920 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1921 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1922 SQLITE_SCANSTAT_NLOOP = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1923 SQLITE_SCANSTAT_NVISIT = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1924 SQLITE_SCANSTAT_EST = 2,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1925 SQLITE_SCANSTAT_NAME = 3,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1926 SQLITE_SCANSTAT_EXPLAIN = 4,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1927 SQLITE_SCANSTAT_SELECTID = 5,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1928 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1929
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1930 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1931 ** CAPI3REF: Prepared Statement Scan Status
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1932 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1933 int sqlite3_stmt_scanstatus(sqlite3_stmt *pStmt, int idx, int iScanStatusOp, void *pOut);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1934
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1935 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1936 ** CAPI3REF: Zero Scan-Status Counters
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1937 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1938 void sqlite3_stmt_scanstatus_reset(sqlite3_stmt *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1939
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1940 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1941 ** CAPI3REF: Flush caches to disk mid-transaction
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1942 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1943 int sqlite3_db_cacheflush(sqlite3 *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1944
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1945 struct sqlite3_snapshot;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1946
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1947 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1948 ** CAPI3REF: Record A Database Snapshot
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1949 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1950 int sqlite3_snapshot_get(sqlite3 *db, char *zSchema, sqlite3_snapshot **ppSnapshot);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1951
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1952 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1953 ** CAPI3REF: Start a read transaction on an historical snapshot
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1954 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1955 int sqlite3_snapshot_open(sqlite3 *db, char *zSchema, sqlite3_snapshot *pSnapshot);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1956
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1957 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1958 ** CAPI3REF: Destroy a snapshot
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1959 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1960 void sqlite3_snapshot_free(sqlite3_snapshot *);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1961
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1962 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1963 ** Register a geometry callback named zGeom that can be used as part of an
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1964 ** R-Tree geometry query as follows:
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1965 **
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1966 ** SELECT ... FROM $(LT)rtree$(GT) WHERE $(LT)rtree col$(GT) MATCH $zGeom(... params ...)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1967 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1968 int sqlite3_rtree_geometry_callback(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1969 sqlite3 *db,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1970 const(char)*zGeom,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1971 int function (sqlite3_rtree_geometry *, int nCoord, double *aCoord, int *pRes) xGeom,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1972 void *pContext
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1973 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1974
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1975 /**
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1976 ** A pointer to a structure of the following type is passed as the first
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1977 ** argument to callbacks registered using rtree_geometry_callback().
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1978 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1979 struct sqlite3_rtree_geometry
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1980 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1981 void *pContext; /** Copy of pContext passed to s_r_g_c() */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1982 int nParam; /** Size of array aParam[] */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1983 double *aParam; /** Parameters passed to SQL geom function */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1984 void *pUser; /** Callback implementation user data */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1985 void function (void *) xDelUser; /** Called by SQLite to clean up pUser */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1986 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1987
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1988 int sqlite3_rtree_query_callback(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1989 sqlite3 *db,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1990 const(char)* zQueryFunc,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1991 int function(sqlite3_rtree_query_info*) xQueryFunc,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1992 void *pContext,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1993 void function(void*) xDestructor
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1994 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1995
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1996 struct sqlite3_rtree_query_info
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1997 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1998 void *pContext; /* pContext from when function registered */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1999 int nParam; /* Number of function parameters */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2000 double*aParam; /* value of function parameters */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2001 void *pUser; /* callback can use this, if desired */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2002 void function(void*) xDelUser; /* function to free pUser */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2003 double*aCoord; /* Coordinates of node or entry to check */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2004 uint *anQueue; /* Number of pending entries in the queue */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2005 int nCoord; /* Number of coordinates */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2006 int iLevel; /* Level of current node or entry */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2007 int mxLevel; /* The largest iLevel value in the tree */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2008 sqlite3_int64 iRowid; /* Rowid for current entry */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2009 double rParentScore; /* Score of parent node */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2010 int eParentWithin; /* Visibility of parent node */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2011 int eWithin; /* OUT: Visiblity */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2012 double rScore; /* OUT: Write the score here */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2013 sqlite3_value **apSqlParam; /* Original SQL values of parameters */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2014 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2015
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2016 enum
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2017 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2018 NOT_WITHIN = 0,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2019 PARTLY_WITHIN = 1,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2020 FULLY_WITHIN = 2
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2021 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2022
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2023 /******************************************************************************
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2024 ** Interfaces to extend FTS5.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2025 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2026 struct Fts5Context;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2027 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2028 alias fts5_extension_function = void function(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2029 const Fts5ExtensionApi *pApi,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2030 Fts5Context *pFts,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2031 sqlite3_context *pCtx,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2032 int nVal,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2033 sqlite3_value **apVal
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2034 );
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2035 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2036 struct Fts5PhraseIter
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2037 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2038 const(ubyte) *a;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2039 const(ubyte) *b;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2040 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2041 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2042 struct Fts5ExtensionApi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2043 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2044 int iVersion;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2045 void* function(Fts5Context*) xUserData;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2046 int function(Fts5Context*) xColumnCount;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2047 int function(Fts5Context*, sqlite3_int64 *pnRow) xRowCount;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2048 int function(Fts5Context*, int iCol, sqlite3_int64 *pnToken) xColumnTotalSize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2049 int function(Fts5Context*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2050 const char *pText, int nText,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2051 void *pCtx,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2052 int function(void*, int, const char*, int, int, int) xToken
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2053 ) xTokenize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2054 int function(Fts5Context*) xPhraseCount;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2055 int function(Fts5Context*, int iPhrase) xPhraseSize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2056 int function(Fts5Context*, int *pnInst) xInstCount;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2057 int function(Fts5Context*, int iIdx, int *piPhrase, int *piCol, int *piOff) xInst;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2058 sqlite3_int64 function(Fts5Context*) xRowid;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2059 int function(Fts5Context*, int iCol, const char **pz, int *pn) xColumnText;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2060 int function(Fts5Context*, int iCol, int *pnToken) xColumnSize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2061 int function(Fts5Context*, int iPhrase, void *pUserData,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2062 int function(const Fts5ExtensionApi*,Fts5Context*,void*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2063 ) xQueryPhrase;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2064 int function(Fts5Context*, void *pAux, void function(void*) xDelete) xSetAuxdata;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2065 void* function(Fts5Context*, int bClear) xGetAuxdata;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2066 void function(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*) xPhraseFirst;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2067 void function(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff) xPhraseNext;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2068 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2069 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2070 struct Fts5Tokenizer;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2071 struct fts5_tokenizer
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2072 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2073 int function(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut) xCreate;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2074 void function(Fts5Tokenizer*) xDelete;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2075 int function(Fts5Tokenizer*,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2076 void *pCtx,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2077 int flags,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2078 const char *pText, int nText,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2079 int function(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2080 void *pCtx,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2081 int tflags,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2082 const char *pToken,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2083 int nToken,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2084 int iStart,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2085 int iEnd
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2086 ) xToken
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2087 ) xTokenize;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2088 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2089 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2090 enum FTS5_TOKENIZE_QUERY = 0x0001;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2091 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2092 enum FTS5_TOKENIZE_PREFIX = 0x0002;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2093 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2094 enum FTS5_TOKENIZE_DOCUMENT = 0x0004;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2095 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2096 enum FTS5_TOKENIZE_AUX = 0x0008;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2097 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2098 enum FTS5_TOKEN_COLOCATED = 0x0001;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2099 /// Ditto
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2100 struct fts5_api
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2101 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2102 int iVersion;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2103
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2104 int function(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2105 fts5_api *pApi,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2106 const char *zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2107 void *pContext,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2108 fts5_tokenizer *pTokenizer,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2109 void function(void*) xDestroy
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2110 ) xCreateTokenizer;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2111
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2112 int function(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2113 fts5_api *pApi,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2114 const char *zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2115 void **ppContext,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2116 fts5_tokenizer *pTokenizer
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2117 ) xFindTokenizer;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2118
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2119 int function(
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2120 fts5_api *pApi,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2121 const char *zName,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2122 void *pContext,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2123 fts5_extension_function xFunction,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2124 void function(void*) xDestroy
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2125 ) xCreateFunction;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2126 }