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