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