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