downgrade memory unlock failures to info level and fix function name in log output
[sqlcipher.git] / src / pragma.h
blob35f8e666b9d6d273e2228797e56fcbfa37a507c4
1 /* DO NOT EDIT!
2 ** This file is automatically generated by the script at
3 ** ../tool/mkpragmatab.tcl. To update the set of pragmas, edit
4 ** that script and rerun it.
5 */
7 /* The various pragma types */
8 #define PragTyp_KEY 255
9 #define PragTyp_ACTIVATE_EXTENSIONS 0
10 #define PragTyp_ANALYSIS_LIMIT 1
11 #define PragTyp_HEADER_VALUE 2
12 #define PragTyp_AUTO_VACUUM 3
13 #define PragTyp_FLAG 4
14 #define PragTyp_BUSY_TIMEOUT 5
15 #define PragTyp_CACHE_SIZE 6
16 #define PragTyp_CACHE_SPILL 7
17 #define PragTyp_CASE_SENSITIVE_LIKE 8
18 #define PragTyp_COLLATION_LIST 9
19 #define PragTyp_COMPILE_OPTIONS 10
20 #define PragTyp_DATA_STORE_DIRECTORY 11
21 #define PragTyp_DATABASE_LIST 12
22 #define PragTyp_DEFAULT_CACHE_SIZE 13
23 #define PragTyp_ENCODING 14
24 #define PragTyp_FOREIGN_KEY_CHECK 15
25 #define PragTyp_FOREIGN_KEY_LIST 16
26 #define PragTyp_FUNCTION_LIST 17
27 #define PragTyp_HARD_HEAP_LIMIT 18
28 #define PragTyp_INCREMENTAL_VACUUM 19
29 #define PragTyp_INDEX_INFO 20
30 #define PragTyp_INDEX_LIST 21
31 #define PragTyp_INTEGRITY_CHECK 22
32 #define PragTyp_JOURNAL_MODE 23
33 #define PragTyp_JOURNAL_SIZE_LIMIT 24
34 #define PragTyp_LOCK_PROXY_FILE 25
35 #define PragTyp_LOCKING_MODE 26
36 #define PragTyp_PAGE_COUNT 27
37 #define PragTyp_MMAP_SIZE 28
38 #define PragTyp_MODULE_LIST 29
39 #define PragTyp_OPTIMIZE 30
40 #define PragTyp_PAGE_SIZE 31
41 #define PragTyp_PRAGMA_LIST 32
42 #define PragTyp_SECURE_DELETE 33
43 #define PragTyp_SHRINK_MEMORY 34
44 #define PragTyp_SOFT_HEAP_LIMIT 35
45 #define PragTyp_SYNCHRONOUS 36
46 #define PragTyp_TABLE_INFO 37
47 #define PragTyp_TABLE_LIST 38
48 #define PragTyp_TEMP_STORE 39
49 #define PragTyp_TEMP_STORE_DIRECTORY 40
50 #define PragTyp_THREADS 41
51 #define PragTyp_WAL_AUTOCHECKPOINT 42
52 #define PragTyp_WAL_CHECKPOINT 43
53 #define PragTyp_LOCK_STATUS 44
54 #define PragTyp_STATS 45
56 /* Property flags associated with various pragma. */
57 #define PragFlg_NeedSchema 0x01 /* Force schema load before running */
58 #define PragFlg_NoColumns 0x02 /* OP_ResultRow called with zero columns */
59 #define PragFlg_NoColumns1 0x04 /* zero columns if RHS argument is present */
60 #define PragFlg_ReadOnly 0x08 /* Read-only HEADER_VALUE */
61 #define PragFlg_Result0 0x10 /* Acts as query when no argument */
62 #define PragFlg_Result1 0x20 /* Acts as query when has one argument */
63 #define PragFlg_SchemaOpt 0x40 /* Schema restricts name search if present */
64 #define PragFlg_SchemaReq 0x80 /* Schema required - "main" is default */
66 /* Names of columns for pragmas that return multi-column result
67 ** or that return single-column results where the name of the
68 ** result column is different from the name of the pragma
70 static const char *const pragCName[] = {
71 /* 0 */ "id", /* Used by: foreign_key_list */
72 /* 1 */ "seq",
73 /* 2 */ "table",
74 /* 3 */ "from",
75 /* 4 */ "to",
76 /* 5 */ "on_update",
77 /* 6 */ "on_delete",
78 /* 7 */ "match",
79 /* 8 */ "cid", /* Used by: table_xinfo */
80 /* 9 */ "name",
81 /* 10 */ "type",
82 /* 11 */ "notnull",
83 /* 12 */ "dflt_value",
84 /* 13 */ "pk",
85 /* 14 */ "hidden",
86 /* table_info reuses 8 */
87 /* 15 */ "schema", /* Used by: table_list */
88 /* 16 */ "name",
89 /* 17 */ "type",
90 /* 18 */ "ncol",
91 /* 19 */ "wr",
92 /* 20 */ "strict",
93 /* 21 */ "seqno", /* Used by: index_xinfo */
94 /* 22 */ "cid",
95 /* 23 */ "name",
96 /* 24 */ "desc",
97 /* 25 */ "coll",
98 /* 26 */ "key",
99 /* 27 */ "name", /* Used by: function_list */
100 /* 28 */ "builtin",
101 /* 29 */ "type",
102 /* 30 */ "enc",
103 /* 31 */ "narg",
104 /* 32 */ "flags",
105 /* 33 */ "tbl", /* Used by: stats */
106 /* 34 */ "idx",
107 /* 35 */ "wdth",
108 /* 36 */ "hght",
109 /* 37 */ "flgs",
110 /* 38 */ "seq", /* Used by: index_list */
111 /* 39 */ "name",
112 /* 40 */ "unique",
113 /* 41 */ "origin",
114 /* 42 */ "partial",
115 /* 43 */ "table", /* Used by: foreign_key_check */
116 /* 44 */ "rowid",
117 /* 45 */ "parent",
118 /* 46 */ "fkid",
119 /* index_info reuses 21 */
120 /* 47 */ "seq", /* Used by: database_list */
121 /* 48 */ "name",
122 /* 49 */ "file",
123 /* 50 */ "busy", /* Used by: wal_checkpoint */
124 /* 51 */ "log",
125 /* 52 */ "checkpointed",
126 /* collation_list reuses 38 */
127 /* 53 */ "database", /* Used by: lock_status */
128 /* 54 */ "status",
129 /* 55 */ "cache_size", /* Used by: default_cache_size */
130 /* module_list pragma_list reuses 9 */
131 /* 56 */ "timeout", /* Used by: busy_timeout */
134 /* Definitions of all built-in pragmas */
135 typedef struct PragmaName {
136 const char *const zName; /* Name of pragma */
137 u8 ePragTyp; /* PragTyp_XXX value */
138 u8 mPragFlg; /* Zero or more PragFlg_XXX values */
139 u8 iPragCName; /* Start of column names in pragCName[] */
140 u8 nPragCName; /* Num of col names. 0 means use pragma name */
141 u64 iArg; /* Extra argument */
142 } PragmaName;
143 static const PragmaName aPragmaName[] = {
144 #if defined(SQLITE_ENABLE_CEROD)
145 {/* zName: */ "activate_extensions",
146 /* ePragTyp: */ PragTyp_ACTIVATE_EXTENSIONS,
147 /* ePragFlg: */ 0,
148 /* ColNames: */ 0, 0,
149 /* iArg: */ 0 },
150 #endif
151 {/* zName: */ "analysis_limit",
152 /* ePragTyp: */ PragTyp_ANALYSIS_LIMIT,
153 /* ePragFlg: */ PragFlg_Result0,
154 /* ColNames: */ 0, 0,
155 /* iArg: */ 0 },
156 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
157 {/* zName: */ "application_id",
158 /* ePragTyp: */ PragTyp_HEADER_VALUE,
159 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
160 /* ColNames: */ 0, 0,
161 /* iArg: */ BTREE_APPLICATION_ID },
162 #endif
163 #if !defined(SQLITE_OMIT_AUTOVACUUM)
164 {/* zName: */ "auto_vacuum",
165 /* ePragTyp: */ PragTyp_AUTO_VACUUM,
166 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
167 /* ColNames: */ 0, 0,
168 /* iArg: */ 0 },
169 #endif
170 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
171 #if !defined(SQLITE_OMIT_AUTOMATIC_INDEX)
172 {/* zName: */ "automatic_index",
173 /* ePragTyp: */ PragTyp_FLAG,
174 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
175 /* ColNames: */ 0, 0,
176 /* iArg: */ SQLITE_AutoIndex },
177 #endif
178 #endif
179 {/* zName: */ "busy_timeout",
180 /* ePragTyp: */ PragTyp_BUSY_TIMEOUT,
181 /* ePragFlg: */ PragFlg_Result0,
182 /* ColNames: */ 56, 1,
183 /* iArg: */ 0 },
184 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
185 {/* zName: */ "cache_size",
186 /* ePragTyp: */ PragTyp_CACHE_SIZE,
187 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
188 /* ColNames: */ 0, 0,
189 /* iArg: */ 0 },
190 #endif
191 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
192 {/* zName: */ "cache_spill",
193 /* ePragTyp: */ PragTyp_CACHE_SPILL,
194 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
195 /* ColNames: */ 0, 0,
196 /* iArg: */ 0 },
197 #endif
198 #if !defined(SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA)
199 {/* zName: */ "case_sensitive_like",
200 /* ePragTyp: */ PragTyp_CASE_SENSITIVE_LIKE,
201 /* ePragFlg: */ PragFlg_NoColumns,
202 /* ColNames: */ 0, 0,
203 /* iArg: */ 0 },
204 #endif
205 {/* zName: */ "cell_size_check",
206 /* ePragTyp: */ PragTyp_FLAG,
207 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
208 /* ColNames: */ 0, 0,
209 /* iArg: */ SQLITE_CellSizeCk },
210 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
211 {/* zName: */ "checkpoint_fullfsync",
212 /* ePragTyp: */ PragTyp_FLAG,
213 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
214 /* ColNames: */ 0, 0,
215 /* iArg: */ SQLITE_CkptFullFSync },
216 #endif
217 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
218 {/* zName: */ "collation_list",
219 /* ePragTyp: */ PragTyp_COLLATION_LIST,
220 /* ePragFlg: */ PragFlg_Result0,
221 /* ColNames: */ 38, 2,
222 /* iArg: */ 0 },
223 #endif
224 #if !defined(SQLITE_OMIT_COMPILEOPTION_DIAGS)
225 {/* zName: */ "compile_options",
226 /* ePragTyp: */ PragTyp_COMPILE_OPTIONS,
227 /* ePragFlg: */ PragFlg_Result0,
228 /* ColNames: */ 0, 0,
229 /* iArg: */ 0 },
230 #endif
231 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
232 {/* zName: */ "count_changes",
233 /* ePragTyp: */ PragTyp_FLAG,
234 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
235 /* ColNames: */ 0, 0,
236 /* iArg: */ SQLITE_CountRows },
237 #endif
238 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_OS_WIN
239 {/* zName: */ "data_store_directory",
240 /* ePragTyp: */ PragTyp_DATA_STORE_DIRECTORY,
241 /* ePragFlg: */ PragFlg_NoColumns1,
242 /* ColNames: */ 0, 0,
243 /* iArg: */ 0 },
244 #endif
245 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
246 {/* zName: */ "data_version",
247 /* ePragTyp: */ PragTyp_HEADER_VALUE,
248 /* ePragFlg: */ PragFlg_ReadOnly|PragFlg_Result0,
249 /* ColNames: */ 0, 0,
250 /* iArg: */ BTREE_DATA_VERSION },
251 #endif
252 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
253 {/* zName: */ "database_list",
254 /* ePragTyp: */ PragTyp_DATABASE_LIST,
255 /* ePragFlg: */ PragFlg_Result0,
256 /* ColNames: */ 47, 3,
257 /* iArg: */ 0 },
258 #endif
259 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && !defined(SQLITE_OMIT_DEPRECATED)
260 {/* zName: */ "default_cache_size",
261 /* ePragTyp: */ PragTyp_DEFAULT_CACHE_SIZE,
262 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
263 /* ColNames: */ 55, 1,
264 /* iArg: */ 0 },
265 #endif
266 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
267 #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
268 {/* zName: */ "defer_foreign_keys",
269 /* ePragTyp: */ PragTyp_FLAG,
270 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
271 /* ColNames: */ 0, 0,
272 /* iArg: */ SQLITE_DeferFKs },
273 #endif
274 #endif
275 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
276 {/* zName: */ "empty_result_callbacks",
277 /* ePragTyp: */ PragTyp_FLAG,
278 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
279 /* ColNames: */ 0, 0,
280 /* iArg: */ SQLITE_NullCallback },
281 #endif
282 #if !defined(SQLITE_OMIT_UTF16)
283 {/* zName: */ "encoding",
284 /* ePragTyp: */ PragTyp_ENCODING,
285 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
286 /* ColNames: */ 0, 0,
287 /* iArg: */ 0 },
288 #endif
289 #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
290 {/* zName: */ "foreign_key_check",
291 /* ePragTyp: */ PragTyp_FOREIGN_KEY_CHECK,
292 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1|PragFlg_SchemaOpt,
293 /* ColNames: */ 43, 4,
294 /* iArg: */ 0 },
295 #endif
296 #if !defined(SQLITE_OMIT_FOREIGN_KEY)
297 {/* zName: */ "foreign_key_list",
298 /* ePragTyp: */ PragTyp_FOREIGN_KEY_LIST,
299 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
300 /* ColNames: */ 0, 8,
301 /* iArg: */ 0 },
302 #endif
303 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
304 #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
305 {/* zName: */ "foreign_keys",
306 /* ePragTyp: */ PragTyp_FLAG,
307 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
308 /* ColNames: */ 0, 0,
309 /* iArg: */ SQLITE_ForeignKeys },
310 #endif
311 #endif
312 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
313 {/* zName: */ "freelist_count",
314 /* ePragTyp: */ PragTyp_HEADER_VALUE,
315 /* ePragFlg: */ PragFlg_ReadOnly|PragFlg_Result0,
316 /* ColNames: */ 0, 0,
317 /* iArg: */ BTREE_FREE_PAGE_COUNT },
318 #endif
319 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
320 {/* zName: */ "full_column_names",
321 /* ePragTyp: */ PragTyp_FLAG,
322 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
323 /* ColNames: */ 0, 0,
324 /* iArg: */ SQLITE_FullColNames },
325 {/* zName: */ "fullfsync",
326 /* ePragTyp: */ PragTyp_FLAG,
327 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
328 /* ColNames: */ 0, 0,
329 /* iArg: */ SQLITE_FullFSync },
330 #endif
331 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
332 #if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS)
333 {/* zName: */ "function_list",
334 /* ePragTyp: */ PragTyp_FUNCTION_LIST,
335 /* ePragFlg: */ PragFlg_Result0,
336 /* ColNames: */ 27, 6,
337 /* iArg: */ 0 },
338 #endif
339 #endif
340 {/* zName: */ "hard_heap_limit",
341 /* ePragTyp: */ PragTyp_HARD_HEAP_LIMIT,
342 /* ePragFlg: */ PragFlg_Result0,
343 /* ColNames: */ 0, 0,
344 /* iArg: */ 0 },
345 /* BEGIN SQLCIPHER */
346 #if defined(SQLITE_HAS_CODEC)
347 {/* zName: */ "hexkey",
348 /* ePragTyp: */ PragTyp_KEY,
349 /* ePragFlg: */ 0,
350 /* ColNames: */ 0, 0,
351 /* iArg: */ 2 },
352 {/* zName: */ "hexrekey",
353 /* ePragTyp: */ PragTyp_KEY,
354 /* ePragFlg: */ 0,
355 /* ColNames: */ 0, 0,
356 /* iArg: */ 3 },
357 #endif
358 /* END SQLCIPHER */
359 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
360 #if !defined(SQLITE_OMIT_CHECK)
361 {/* zName: */ "ignore_check_constraints",
362 /* ePragTyp: */ PragTyp_FLAG,
363 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
364 /* ColNames: */ 0, 0,
365 /* iArg: */ SQLITE_IgnoreChecks },
366 #endif
367 #endif
368 #if !defined(SQLITE_OMIT_AUTOVACUUM)
369 {/* zName: */ "incremental_vacuum",
370 /* ePragTyp: */ PragTyp_INCREMENTAL_VACUUM,
371 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_NoColumns,
372 /* ColNames: */ 0, 0,
373 /* iArg: */ 0 },
374 #endif
375 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
376 {/* zName: */ "index_info",
377 /* ePragTyp: */ PragTyp_INDEX_INFO,
378 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
379 /* ColNames: */ 21, 3,
380 /* iArg: */ 0 },
381 {/* zName: */ "index_list",
382 /* ePragTyp: */ PragTyp_INDEX_LIST,
383 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
384 /* ColNames: */ 38, 5,
385 /* iArg: */ 0 },
386 {/* zName: */ "index_xinfo",
387 /* ePragTyp: */ PragTyp_INDEX_INFO,
388 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
389 /* ColNames: */ 21, 6,
390 /* iArg: */ 1 },
391 #endif
392 #if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
393 {/* zName: */ "integrity_check",
394 /* ePragTyp: */ PragTyp_INTEGRITY_CHECK,
395 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1|PragFlg_SchemaOpt,
396 /* ColNames: */ 0, 0,
397 /* iArg: */ 0 },
398 #endif
399 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
400 {/* zName: */ "journal_mode",
401 /* ePragTyp: */ PragTyp_JOURNAL_MODE,
402 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
403 /* ColNames: */ 0, 0,
404 /* iArg: */ 0 },
405 {/* zName: */ "journal_size_limit",
406 /* ePragTyp: */ PragTyp_JOURNAL_SIZE_LIMIT,
407 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq,
408 /* ColNames: */ 0, 0,
409 /* iArg: */ 0 },
410 #endif
411 /* BEGIN SQLCIPHER */
412 #if defined(SQLITE_HAS_CODEC)
413 {/* zName: */ "key",
414 /* ePragTyp: */ PragTyp_KEY,
415 /* ePragFlg: */ 0,
416 /* ColNames: */ 0, 0,
417 /* iArg: */ 0 },
418 #endif
419 /* END SQLCIPHER */
420 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
421 {/* zName: */ "legacy_alter_table",
422 /* ePragTyp: */ PragTyp_FLAG,
423 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
424 /* ColNames: */ 0, 0,
425 /* iArg: */ SQLITE_LegacyAlter },
426 #endif
427 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
428 {/* zName: */ "lock_proxy_file",
429 /* ePragTyp: */ PragTyp_LOCK_PROXY_FILE,
430 /* ePragFlg: */ PragFlg_NoColumns1,
431 /* ColNames: */ 0, 0,
432 /* iArg: */ 0 },
433 #endif
434 #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
435 {/* zName: */ "lock_status",
436 /* ePragTyp: */ PragTyp_LOCK_STATUS,
437 /* ePragFlg: */ PragFlg_Result0,
438 /* ColNames: */ 53, 2,
439 /* iArg: */ 0 },
440 #endif
441 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
442 {/* zName: */ "locking_mode",
443 /* ePragTyp: */ PragTyp_LOCKING_MODE,
444 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq,
445 /* ColNames: */ 0, 0,
446 /* iArg: */ 0 },
447 {/* zName: */ "max_page_count",
448 /* ePragTyp: */ PragTyp_PAGE_COUNT,
449 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
450 /* ColNames: */ 0, 0,
451 /* iArg: */ 0 },
452 {/* zName: */ "mmap_size",
453 /* ePragTyp: */ PragTyp_MMAP_SIZE,
454 /* ePragFlg: */ 0,
455 /* ColNames: */ 0, 0,
456 /* iArg: */ 0 },
457 #endif
458 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
459 #if !defined(SQLITE_OMIT_VIRTUALTABLE)
460 #if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS)
461 {/* zName: */ "module_list",
462 /* ePragTyp: */ PragTyp_MODULE_LIST,
463 /* ePragFlg: */ PragFlg_Result0,
464 /* ColNames: */ 9, 1,
465 /* iArg: */ 0 },
466 #endif
467 #endif
468 #endif
469 {/* zName: */ "optimize",
470 /* ePragTyp: */ PragTyp_OPTIMIZE,
471 /* ePragFlg: */ PragFlg_Result1|PragFlg_NeedSchema,
472 /* ColNames: */ 0, 0,
473 /* iArg: */ 0 },
474 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
475 {/* zName: */ "page_count",
476 /* ePragTyp: */ PragTyp_PAGE_COUNT,
477 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
478 /* ColNames: */ 0, 0,
479 /* iArg: */ 0 },
480 {/* zName: */ "page_size",
481 /* ePragTyp: */ PragTyp_PAGE_SIZE,
482 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
483 /* ColNames: */ 0, 0,
484 /* iArg: */ 0 },
485 #endif
486 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
487 #if defined(SQLITE_DEBUG)
488 {/* zName: */ "parser_trace",
489 /* ePragTyp: */ PragTyp_FLAG,
490 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
491 /* ColNames: */ 0, 0,
492 /* iArg: */ SQLITE_ParserTrace },
493 #endif
494 #endif
495 #if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS)
496 {/* zName: */ "pragma_list",
497 /* ePragTyp: */ PragTyp_PRAGMA_LIST,
498 /* ePragFlg: */ PragFlg_Result0,
499 /* ColNames: */ 9, 1,
500 /* iArg: */ 0 },
501 #endif
502 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
503 {/* zName: */ "query_only",
504 /* ePragTyp: */ PragTyp_FLAG,
505 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
506 /* ColNames: */ 0, 0,
507 /* iArg: */ SQLITE_QueryOnly },
508 #endif
509 #if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
510 {/* zName: */ "quick_check",
511 /* ePragTyp: */ PragTyp_INTEGRITY_CHECK,
512 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1|PragFlg_SchemaOpt,
513 /* ColNames: */ 0, 0,
514 /* iArg: */ 0 },
515 #endif
516 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
517 {/* zName: */ "read_uncommitted",
518 /* ePragTyp: */ PragTyp_FLAG,
519 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
520 /* ColNames: */ 0, 0,
521 /* iArg: */ SQLITE_ReadUncommit },
522 {/* zName: */ "recursive_triggers",
523 /* ePragTyp: */ PragTyp_FLAG,
524 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
525 /* ColNames: */ 0, 0,
526 /* iArg: */ SQLITE_RecTriggers },
527 #endif
528 /* BEGIN SQLCIPHER */
529 #if defined(SQLITE_HAS_CODEC)
530 {/* zName: */ "rekey",
531 /* ePragTyp: */ PragTyp_KEY,
532 /* ePragFlg: */ 0,
533 /* ColNames: */ 0, 0,
534 /* iArg: */ 1 },
535 #endif
536 /* END SQLCIPHER */
537 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
538 {/* zName: */ "reverse_unordered_selects",
539 /* ePragTyp: */ PragTyp_FLAG,
540 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
541 /* ColNames: */ 0, 0,
542 /* iArg: */ SQLITE_ReverseOrder },
543 #endif
544 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
545 {/* zName: */ "schema_version",
546 /* ePragTyp: */ PragTyp_HEADER_VALUE,
547 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
548 /* ColNames: */ 0, 0,
549 /* iArg: */ BTREE_SCHEMA_VERSION },
550 #endif
551 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
552 {/* zName: */ "secure_delete",
553 /* ePragTyp: */ PragTyp_SECURE_DELETE,
554 /* ePragFlg: */ PragFlg_Result0,
555 /* ColNames: */ 0, 0,
556 /* iArg: */ 0 },
557 #endif
558 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
559 {/* zName: */ "short_column_names",
560 /* ePragTyp: */ PragTyp_FLAG,
561 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
562 /* ColNames: */ 0, 0,
563 /* iArg: */ SQLITE_ShortColNames },
564 #endif
565 {/* zName: */ "shrink_memory",
566 /* ePragTyp: */ PragTyp_SHRINK_MEMORY,
567 /* ePragFlg: */ PragFlg_NoColumns,
568 /* ColNames: */ 0, 0,
569 /* iArg: */ 0 },
570 {/* zName: */ "soft_heap_limit",
571 /* ePragTyp: */ PragTyp_SOFT_HEAP_LIMIT,
572 /* ePragFlg: */ PragFlg_Result0,
573 /* ColNames: */ 0, 0,
574 /* iArg: */ 0 },
575 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
576 #if defined(SQLITE_DEBUG)
577 {/* zName: */ "sql_trace",
578 /* ePragTyp: */ PragTyp_FLAG,
579 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
580 /* ColNames: */ 0, 0,
581 /* iArg: */ SQLITE_SqlTrace },
582 #endif
583 #endif
584 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS) && defined(SQLITE_DEBUG)
585 {/* zName: */ "stats",
586 /* ePragTyp: */ PragTyp_STATS,
587 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
588 /* ColNames: */ 33, 5,
589 /* iArg: */ 0 },
590 #endif
591 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
592 {/* zName: */ "synchronous",
593 /* ePragTyp: */ PragTyp_SYNCHRONOUS,
594 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
595 /* ColNames: */ 0, 0,
596 /* iArg: */ 0 },
597 #endif
598 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
599 {/* zName: */ "table_info",
600 /* ePragTyp: */ PragTyp_TABLE_INFO,
601 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
602 /* ColNames: */ 8, 6,
603 /* iArg: */ 0 },
604 {/* zName: */ "table_list",
605 /* ePragTyp: */ PragTyp_TABLE_LIST,
606 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1,
607 /* ColNames: */ 15, 6,
608 /* iArg: */ 0 },
609 {/* zName: */ "table_xinfo",
610 /* ePragTyp: */ PragTyp_TABLE_INFO,
611 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
612 /* ColNames: */ 8, 7,
613 /* iArg: */ 1 },
614 #endif
615 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
616 {/* zName: */ "temp_store",
617 /* ePragTyp: */ PragTyp_TEMP_STORE,
618 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
619 /* ColNames: */ 0, 0,
620 /* iArg: */ 0 },
621 {/* zName: */ "temp_store_directory",
622 /* ePragTyp: */ PragTyp_TEMP_STORE_DIRECTORY,
623 /* ePragFlg: */ PragFlg_NoColumns1,
624 /* ColNames: */ 0, 0,
625 /* iArg: */ 0 },
626 #endif
627 /* BEGIN SQLCIPHER */
628 #if defined(SQLITE_HAS_CODEC)
629 {/* zName: */ "textkey",
630 /* ePragTyp: */ PragTyp_KEY,
631 /* ePragFlg: */ 0,
632 /* ColNames: */ 0, 0,
633 /* iArg: */ 4 },
634 {/* zName: */ "textrekey",
635 /* ePragTyp: */ PragTyp_KEY,
636 /* ePragFlg: */ 0,
637 /* ColNames: */ 0, 0,
638 /* iArg: */ 5 },
639 #endif
640 /* END SQLCIPHER */
641 {/* zName: */ "threads",
642 /* ePragTyp: */ PragTyp_THREADS,
643 /* ePragFlg: */ PragFlg_Result0,
644 /* ColNames: */ 0, 0,
645 /* iArg: */ 0 },
646 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
647 {/* zName: */ "trusted_schema",
648 /* ePragTyp: */ PragTyp_FLAG,
649 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
650 /* ColNames: */ 0, 0,
651 /* iArg: */ SQLITE_TrustedSchema },
652 #endif
653 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
654 {/* zName: */ "user_version",
655 /* ePragTyp: */ PragTyp_HEADER_VALUE,
656 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
657 /* ColNames: */ 0, 0,
658 /* iArg: */ BTREE_USER_VERSION },
659 #endif
660 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
661 #if defined(SQLITE_DEBUG)
662 {/* zName: */ "vdbe_addoptrace",
663 /* ePragTyp: */ PragTyp_FLAG,
664 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
665 /* ColNames: */ 0, 0,
666 /* iArg: */ SQLITE_VdbeAddopTrace },
667 {/* zName: */ "vdbe_debug",
668 /* ePragTyp: */ PragTyp_FLAG,
669 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
670 /* ColNames: */ 0, 0,
671 /* iArg: */ SQLITE_SqlTrace|SQLITE_VdbeListing|SQLITE_VdbeTrace },
672 {/* zName: */ "vdbe_eqp",
673 /* ePragTyp: */ PragTyp_FLAG,
674 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
675 /* ColNames: */ 0, 0,
676 /* iArg: */ SQLITE_VdbeEQP },
677 {/* zName: */ "vdbe_listing",
678 /* ePragTyp: */ PragTyp_FLAG,
679 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
680 /* ColNames: */ 0, 0,
681 /* iArg: */ SQLITE_VdbeListing },
682 {/* zName: */ "vdbe_trace",
683 /* ePragTyp: */ PragTyp_FLAG,
684 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
685 /* ColNames: */ 0, 0,
686 /* iArg: */ SQLITE_VdbeTrace },
687 #endif
688 #endif
689 #if !defined(SQLITE_OMIT_WAL)
690 {/* zName: */ "wal_autocheckpoint",
691 /* ePragTyp: */ PragTyp_WAL_AUTOCHECKPOINT,
692 /* ePragFlg: */ 0,
693 /* ColNames: */ 0, 0,
694 /* iArg: */ 0 },
695 {/* zName: */ "wal_checkpoint",
696 /* ePragTyp: */ PragTyp_WAL_CHECKPOINT,
697 /* ePragFlg: */ PragFlg_NeedSchema,
698 /* ColNames: */ 50, 3,
699 /* iArg: */ 0 },
700 #endif
701 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
702 {/* zName: */ "writable_schema",
703 /* ePragTyp: */ PragTyp_FLAG,
704 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
705 /* ColNames: */ 0, 0,
706 /* iArg: */ SQLITE_WriteSchema|SQLITE_NoSchemaError },
707 #endif
709 /* Number of pragmas: 68 on by default, 78 total. */