xref: /sqlite-3.40.0/src/pragma.h (revision aeb4e6ee)
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_ACTIVATE_EXTENSIONS            0
9 #define PragTyp_ANALYSIS_LIMIT                 1
10 #define PragTyp_HEADER_VALUE                   2
11 #define PragTyp_AUTO_VACUUM                    3
12 #define PragTyp_FLAG                           4
13 #define PragTyp_BUSY_TIMEOUT                   5
14 #define PragTyp_CACHE_SIZE                     6
15 #define PragTyp_CACHE_SPILL                    7
16 #define PragTyp_CASE_SENSITIVE_LIKE            8
17 #define PragTyp_COLLATION_LIST                 9
18 #define PragTyp_COMPILE_OPTIONS               10
19 #define PragTyp_DATA_STORE_DIRECTORY          11
20 #define PragTyp_DATABASE_LIST                 12
21 #define PragTyp_DEFAULT_CACHE_SIZE            13
22 #define PragTyp_ENCODING                      14
23 #define PragTyp_FOREIGN_KEY_CHECK             15
24 #define PragTyp_FOREIGN_KEY_LIST              16
25 #define PragTyp_FUNCTION_LIST                 17
26 #define PragTyp_HARD_HEAP_LIMIT               18
27 #define PragTyp_INCREMENTAL_VACUUM            19
28 #define PragTyp_INDEX_INFO                    20
29 #define PragTyp_INDEX_LIST                    21
30 #define PragTyp_INTEGRITY_CHECK               22
31 #define PragTyp_JOURNAL_MODE                  23
32 #define PragTyp_JOURNAL_SIZE_LIMIT            24
33 #define PragTyp_LOCK_PROXY_FILE               25
34 #define PragTyp_LOCKING_MODE                  26
35 #define PragTyp_PAGE_COUNT                    27
36 #define PragTyp_MMAP_SIZE                     28
37 #define PragTyp_MODULE_LIST                   29
38 #define PragTyp_OPTIMIZE                      30
39 #define PragTyp_PAGE_SIZE                     31
40 #define PragTyp_PRAGMA_LIST                   32
41 #define PragTyp_SECURE_DELETE                 33
42 #define PragTyp_SHRINK_MEMORY                 34
43 #define PragTyp_SOFT_HEAP_LIMIT               35
44 #define PragTyp_SYNCHRONOUS                   36
45 #define PragTyp_TABLE_INFO                    37
46 #define PragTyp_TEMP_STORE                    38
47 #define PragTyp_TEMP_STORE_DIRECTORY          39
48 #define PragTyp_THREADS                       40
49 #define PragTyp_WAL_AUTOCHECKPOINT            41
50 #define PragTyp_WAL_CHECKPOINT                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_ENABLE_CEROD)
137  {/* zName:     */ "activate_extensions",
138   /* ePragTyp:  */ PragTyp_ACTIVATE_EXTENSIONS,
139   /* ePragFlg:  */ 0,
140   /* ColNames:  */ 0, 0,
141   /* iArg:      */ 0 },
142 #endif
143  {/* zName:     */ "analysis_limit",
144   /* ePragTyp:  */ PragTyp_ANALYSIS_LIMIT,
145   /* ePragFlg:  */ PragFlg_Result0,
146   /* ColNames:  */ 0, 0,
147   /* iArg:      */ 0 },
148 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
149  {/* zName:     */ "application_id",
150   /* ePragTyp:  */ PragTyp_HEADER_VALUE,
151   /* ePragFlg:  */ PragFlg_NoColumns1|PragFlg_Result0,
152   /* ColNames:  */ 0, 0,
153   /* iArg:      */ BTREE_APPLICATION_ID },
154 #endif
155 #if !defined(SQLITE_OMIT_AUTOVACUUM)
156  {/* zName:     */ "auto_vacuum",
157   /* ePragTyp:  */ PragTyp_AUTO_VACUUM,
158   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
159   /* ColNames:  */ 0, 0,
160   /* iArg:      */ 0 },
161 #endif
162 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
163 #if !defined(SQLITE_OMIT_AUTOMATIC_INDEX)
164  {/* zName:     */ "automatic_index",
165   /* ePragTyp:  */ PragTyp_FLAG,
166   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
167   /* ColNames:  */ 0, 0,
168   /* iArg:      */ SQLITE_AutoIndex },
169 #endif
170 #endif
171  {/* zName:     */ "busy_timeout",
172   /* ePragTyp:  */ PragTyp_BUSY_TIMEOUT,
173   /* ePragFlg:  */ PragFlg_Result0,
174   /* ColNames:  */ 50, 1,
175   /* iArg:      */ 0 },
176 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
177  {/* zName:     */ "cache_size",
178   /* ePragTyp:  */ PragTyp_CACHE_SIZE,
179   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
180   /* ColNames:  */ 0, 0,
181   /* iArg:      */ 0 },
182 #endif
183 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
184  {/* zName:     */ "cache_spill",
185   /* ePragTyp:  */ PragTyp_CACHE_SPILL,
186   /* ePragFlg:  */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
187   /* ColNames:  */ 0, 0,
188   /* iArg:      */ 0 },
189 #endif
190 #if !defined(SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA)
191  {/* zName:     */ "case_sensitive_like",
192   /* ePragTyp:  */ PragTyp_CASE_SENSITIVE_LIKE,
193   /* ePragFlg:  */ PragFlg_NoColumns,
194   /* ColNames:  */ 0, 0,
195   /* iArg:      */ 0 },
196 #endif
197  {/* zName:     */ "cell_size_check",
198   /* ePragTyp:  */ PragTyp_FLAG,
199   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
200   /* ColNames:  */ 0, 0,
201   /* iArg:      */ SQLITE_CellSizeCk },
202 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
203  {/* zName:     */ "checkpoint_fullfsync",
204   /* ePragTyp:  */ PragTyp_FLAG,
205   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
206   /* ColNames:  */ 0, 0,
207   /* iArg:      */ SQLITE_CkptFullFSync },
208 #endif
209 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
210  {/* zName:     */ "collation_list",
211   /* ePragTyp:  */ PragTyp_COLLATION_LIST,
212   /* ePragFlg:  */ PragFlg_Result0,
213   /* ColNames:  */ 32, 2,
214   /* iArg:      */ 0 },
215 #endif
216 #if !defined(SQLITE_OMIT_COMPILEOPTION_DIAGS)
217  {/* zName:     */ "compile_options",
218   /* ePragTyp:  */ PragTyp_COMPILE_OPTIONS,
219   /* ePragFlg:  */ PragFlg_Result0,
220   /* ColNames:  */ 0, 0,
221   /* iArg:      */ 0 },
222 #endif
223 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
224  {/* zName:     */ "count_changes",
225   /* ePragTyp:  */ PragTyp_FLAG,
226   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
227   /* ColNames:  */ 0, 0,
228   /* iArg:      */ SQLITE_CountRows },
229 #endif
230 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_OS_WIN
231  {/* zName:     */ "data_store_directory",
232   /* ePragTyp:  */ PragTyp_DATA_STORE_DIRECTORY,
233   /* ePragFlg:  */ PragFlg_NoColumns1,
234   /* ColNames:  */ 0, 0,
235   /* iArg:      */ 0 },
236 #endif
237 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
238  {/* zName:     */ "data_version",
239   /* ePragTyp:  */ PragTyp_HEADER_VALUE,
240   /* ePragFlg:  */ PragFlg_ReadOnly|PragFlg_Result0,
241   /* ColNames:  */ 0, 0,
242   /* iArg:      */ BTREE_DATA_VERSION },
243 #endif
244 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
245  {/* zName:     */ "database_list",
246   /* ePragTyp:  */ PragTyp_DATABASE_LIST,
247   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0,
248   /* ColNames:  */ 41, 3,
249   /* iArg:      */ 0 },
250 #endif
251 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && !defined(SQLITE_OMIT_DEPRECATED)
252  {/* zName:     */ "default_cache_size",
253   /* ePragTyp:  */ PragTyp_DEFAULT_CACHE_SIZE,
254   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
255   /* ColNames:  */ 49, 1,
256   /* iArg:      */ 0 },
257 #endif
258 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
259 #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
260  {/* zName:     */ "defer_foreign_keys",
261   /* ePragTyp:  */ PragTyp_FLAG,
262   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
263   /* ColNames:  */ 0, 0,
264   /* iArg:      */ SQLITE_DeferFKs },
265 #endif
266 #endif
267 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
268  {/* zName:     */ "empty_result_callbacks",
269   /* ePragTyp:  */ PragTyp_FLAG,
270   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
271   /* ColNames:  */ 0, 0,
272   /* iArg:      */ SQLITE_NullCallback },
273 #endif
274 #if !defined(SQLITE_OMIT_UTF16)
275  {/* zName:     */ "encoding",
276   /* ePragTyp:  */ PragTyp_ENCODING,
277   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
278   /* ColNames:  */ 0, 0,
279   /* iArg:      */ 0 },
280 #endif
281 #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
282  {/* zName:     */ "foreign_key_check",
283   /* ePragTyp:  */ PragTyp_FOREIGN_KEY_CHECK,
284   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1|PragFlg_SchemaOpt,
285   /* ColNames:  */ 37, 4,
286   /* iArg:      */ 0 },
287 #endif
288 #if !defined(SQLITE_OMIT_FOREIGN_KEY)
289  {/* zName:     */ "foreign_key_list",
290   /* ePragTyp:  */ PragTyp_FOREIGN_KEY_LIST,
291   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
292   /* ColNames:  */ 0, 8,
293   /* iArg:      */ 0 },
294 #endif
295 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
296 #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
297  {/* zName:     */ "foreign_keys",
298   /* ePragTyp:  */ PragTyp_FLAG,
299   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
300   /* ColNames:  */ 0, 0,
301   /* iArg:      */ SQLITE_ForeignKeys },
302 #endif
303 #endif
304 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
305  {/* zName:     */ "freelist_count",
306   /* ePragTyp:  */ PragTyp_HEADER_VALUE,
307   /* ePragFlg:  */ PragFlg_ReadOnly|PragFlg_Result0,
308   /* ColNames:  */ 0, 0,
309   /* iArg:      */ BTREE_FREE_PAGE_COUNT },
310 #endif
311 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
312  {/* zName:     */ "full_column_names",
313   /* ePragTyp:  */ PragTyp_FLAG,
314   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
315   /* ColNames:  */ 0, 0,
316   /* iArg:      */ SQLITE_FullColNames },
317  {/* zName:     */ "fullfsync",
318   /* ePragTyp:  */ PragTyp_FLAG,
319   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
320   /* ColNames:  */ 0, 0,
321   /* iArg:      */ SQLITE_FullFSync },
322 #endif
323 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
324 #if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS)
325  {/* zName:     */ "function_list",
326   /* ePragTyp:  */ PragTyp_FUNCTION_LIST,
327   /* ePragFlg:  */ PragFlg_Result0,
328   /* ColNames:  */ 21, 6,
329   /* iArg:      */ 0 },
330 #endif
331 #endif
332  {/* zName:     */ "hard_heap_limit",
333   /* ePragTyp:  */ PragTyp_HARD_HEAP_LIMIT,
334   /* ePragFlg:  */ PragFlg_Result0,
335   /* ColNames:  */ 0, 0,
336   /* iArg:      */ 0 },
337 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
338 #if !defined(SQLITE_OMIT_CHECK)
339  {/* zName:     */ "ignore_check_constraints",
340   /* ePragTyp:  */ PragTyp_FLAG,
341   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
342   /* ColNames:  */ 0, 0,
343   /* iArg:      */ SQLITE_IgnoreChecks },
344 #endif
345 #endif
346 #if !defined(SQLITE_OMIT_AUTOVACUUM)
347  {/* zName:     */ "incremental_vacuum",
348   /* ePragTyp:  */ PragTyp_INCREMENTAL_VACUUM,
349   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_NoColumns,
350   /* ColNames:  */ 0, 0,
351   /* iArg:      */ 0 },
352 #endif
353 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
354  {/* zName:     */ "index_info",
355   /* ePragTyp:  */ PragTyp_INDEX_INFO,
356   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
357   /* ColNames:  */ 15, 3,
358   /* iArg:      */ 0 },
359  {/* zName:     */ "index_list",
360   /* ePragTyp:  */ PragTyp_INDEX_LIST,
361   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
362   /* ColNames:  */ 32, 5,
363   /* iArg:      */ 0 },
364  {/* zName:     */ "index_xinfo",
365   /* ePragTyp:  */ PragTyp_INDEX_INFO,
366   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
367   /* ColNames:  */ 15, 6,
368   /* iArg:      */ 1 },
369 #endif
370 #if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
371  {/* zName:     */ "integrity_check",
372   /* ePragTyp:  */ PragTyp_INTEGRITY_CHECK,
373   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1,
374   /* ColNames:  */ 0, 0,
375   /* iArg:      */ 0 },
376 #endif
377 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
378  {/* zName:     */ "journal_mode",
379   /* ePragTyp:  */ PragTyp_JOURNAL_MODE,
380   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
381   /* ColNames:  */ 0, 0,
382   /* iArg:      */ 0 },
383  {/* zName:     */ "journal_size_limit",
384   /* ePragTyp:  */ PragTyp_JOURNAL_SIZE_LIMIT,
385   /* ePragFlg:  */ PragFlg_Result0|PragFlg_SchemaReq,
386   /* ColNames:  */ 0, 0,
387   /* iArg:      */ 0 },
388 #endif
389 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
390  {/* zName:     */ "legacy_alter_table",
391   /* ePragTyp:  */ PragTyp_FLAG,
392   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
393   /* ColNames:  */ 0, 0,
394   /* iArg:      */ SQLITE_LegacyAlter },
395 #endif
396 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
397  {/* zName:     */ "lock_proxy_file",
398   /* ePragTyp:  */ PragTyp_LOCK_PROXY_FILE,
399   /* ePragFlg:  */ PragFlg_NoColumns1,
400   /* ColNames:  */ 0, 0,
401   /* iArg:      */ 0 },
402 #endif
403 #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
404  {/* zName:     */ "lock_status",
405   /* ePragTyp:  */ PragTyp_LOCK_STATUS,
406   /* ePragFlg:  */ PragFlg_Result0,
407   /* ColNames:  */ 47, 2,
408   /* iArg:      */ 0 },
409 #endif
410 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
411  {/* zName:     */ "locking_mode",
412   /* ePragTyp:  */ PragTyp_LOCKING_MODE,
413   /* ePragFlg:  */ PragFlg_Result0|PragFlg_SchemaReq,
414   /* ColNames:  */ 0, 0,
415   /* iArg:      */ 0 },
416  {/* zName:     */ "max_page_count",
417   /* ePragTyp:  */ PragTyp_PAGE_COUNT,
418   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
419   /* ColNames:  */ 0, 0,
420   /* iArg:      */ 0 },
421  {/* zName:     */ "mmap_size",
422   /* ePragTyp:  */ PragTyp_MMAP_SIZE,
423   /* ePragFlg:  */ 0,
424   /* ColNames:  */ 0, 0,
425   /* iArg:      */ 0 },
426 #endif
427 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
428 #if !defined(SQLITE_OMIT_VIRTUALTABLE)
429 #if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS)
430  {/* zName:     */ "module_list",
431   /* ePragTyp:  */ PragTyp_MODULE_LIST,
432   /* ePragFlg:  */ PragFlg_Result0,
433   /* ColNames:  */ 9, 1,
434   /* iArg:      */ 0 },
435 #endif
436 #endif
437 #endif
438  {/* zName:     */ "optimize",
439   /* ePragTyp:  */ PragTyp_OPTIMIZE,
440   /* ePragFlg:  */ PragFlg_Result1|PragFlg_NeedSchema,
441   /* ColNames:  */ 0, 0,
442   /* iArg:      */ 0 },
443 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
444  {/* zName:     */ "page_count",
445   /* ePragTyp:  */ PragTyp_PAGE_COUNT,
446   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
447   /* ColNames:  */ 0, 0,
448   /* iArg:      */ 0 },
449  {/* zName:     */ "page_size",
450   /* ePragTyp:  */ PragTyp_PAGE_SIZE,
451   /* ePragFlg:  */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
452   /* ColNames:  */ 0, 0,
453   /* iArg:      */ 0 },
454 #endif
455 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
456 #if defined(SQLITE_DEBUG)
457  {/* zName:     */ "parser_trace",
458   /* ePragTyp:  */ PragTyp_FLAG,
459   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
460   /* ColNames:  */ 0, 0,
461   /* iArg:      */ SQLITE_ParserTrace },
462 #endif
463 #endif
464 #if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS)
465  {/* zName:     */ "pragma_list",
466   /* ePragTyp:  */ PragTyp_PRAGMA_LIST,
467   /* ePragFlg:  */ PragFlg_Result0,
468   /* ColNames:  */ 9, 1,
469   /* iArg:      */ 0 },
470 #endif
471 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
472  {/* zName:     */ "query_only",
473   /* ePragTyp:  */ PragTyp_FLAG,
474   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
475   /* ColNames:  */ 0, 0,
476   /* iArg:      */ SQLITE_QueryOnly },
477 #endif
478 #if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
479  {/* zName:     */ "quick_check",
480   /* ePragTyp:  */ PragTyp_INTEGRITY_CHECK,
481   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1,
482   /* ColNames:  */ 0, 0,
483   /* iArg:      */ 0 },
484 #endif
485 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
486  {/* zName:     */ "read_uncommitted",
487   /* ePragTyp:  */ PragTyp_FLAG,
488   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
489   /* ColNames:  */ 0, 0,
490   /* iArg:      */ SQLITE_ReadUncommit },
491  {/* zName:     */ "recursive_triggers",
492   /* ePragTyp:  */ PragTyp_FLAG,
493   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
494   /* ColNames:  */ 0, 0,
495   /* iArg:      */ SQLITE_RecTriggers },
496  {/* zName:     */ "reverse_unordered_selects",
497   /* ePragTyp:  */ PragTyp_FLAG,
498   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
499   /* ColNames:  */ 0, 0,
500   /* iArg:      */ SQLITE_ReverseOrder },
501 #endif
502 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
503  {/* zName:     */ "schema_version",
504   /* ePragTyp:  */ PragTyp_HEADER_VALUE,
505   /* ePragFlg:  */ PragFlg_NoColumns1|PragFlg_Result0,
506   /* ColNames:  */ 0, 0,
507   /* iArg:      */ BTREE_SCHEMA_VERSION },
508 #endif
509 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
510  {/* zName:     */ "secure_delete",
511   /* ePragTyp:  */ PragTyp_SECURE_DELETE,
512   /* ePragFlg:  */ PragFlg_Result0,
513   /* ColNames:  */ 0, 0,
514   /* iArg:      */ 0 },
515 #endif
516 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
517  {/* zName:     */ "short_column_names",
518   /* ePragTyp:  */ PragTyp_FLAG,
519   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
520   /* ColNames:  */ 0, 0,
521   /* iArg:      */ SQLITE_ShortColNames },
522 #endif
523  {/* zName:     */ "shrink_memory",
524   /* ePragTyp:  */ PragTyp_SHRINK_MEMORY,
525   /* ePragFlg:  */ PragFlg_NoColumns,
526   /* ColNames:  */ 0, 0,
527   /* iArg:      */ 0 },
528  {/* zName:     */ "soft_heap_limit",
529   /* ePragTyp:  */ PragTyp_SOFT_HEAP_LIMIT,
530   /* ePragFlg:  */ PragFlg_Result0,
531   /* ColNames:  */ 0, 0,
532   /* iArg:      */ 0 },
533 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
534 #if defined(SQLITE_DEBUG)
535  {/* zName:     */ "sql_trace",
536   /* ePragTyp:  */ PragTyp_FLAG,
537   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
538   /* ColNames:  */ 0, 0,
539   /* iArg:      */ SQLITE_SqlTrace },
540 #endif
541 #endif
542 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS) && defined(SQLITE_DEBUG)
543  {/* zName:     */ "stats",
544   /* ePragTyp:  */ PragTyp_STATS,
545   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
546   /* ColNames:  */ 27, 5,
547   /* iArg:      */ 0 },
548 #endif
549 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
550  {/* zName:     */ "synchronous",
551   /* ePragTyp:  */ PragTyp_SYNCHRONOUS,
552   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
553   /* ColNames:  */ 0, 0,
554   /* iArg:      */ 0 },
555 #endif
556 #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
557  {/* zName:     */ "table_info",
558   /* ePragTyp:  */ PragTyp_TABLE_INFO,
559   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
560   /* ColNames:  */ 8, 6,
561   /* iArg:      */ 0 },
562  {/* zName:     */ "table_xinfo",
563   /* ePragTyp:  */ PragTyp_TABLE_INFO,
564   /* ePragFlg:  */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
565   /* ColNames:  */ 8, 7,
566   /* iArg:      */ 1 },
567 #endif
568 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
569  {/* zName:     */ "temp_store",
570   /* ePragTyp:  */ PragTyp_TEMP_STORE,
571   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
572   /* ColNames:  */ 0, 0,
573   /* iArg:      */ 0 },
574  {/* zName:     */ "temp_store_directory",
575   /* ePragTyp:  */ PragTyp_TEMP_STORE_DIRECTORY,
576   /* ePragFlg:  */ PragFlg_NoColumns1,
577   /* ColNames:  */ 0, 0,
578   /* iArg:      */ 0 },
579 #endif
580  {/* zName:     */ "threads",
581   /* ePragTyp:  */ PragTyp_THREADS,
582   /* ePragFlg:  */ PragFlg_Result0,
583   /* ColNames:  */ 0, 0,
584   /* iArg:      */ 0 },
585 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
586  {/* zName:     */ "trusted_schema",
587   /* ePragTyp:  */ PragTyp_FLAG,
588   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
589   /* ColNames:  */ 0, 0,
590   /* iArg:      */ SQLITE_TrustedSchema },
591 #endif
592 #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
593  {/* zName:     */ "user_version",
594   /* ePragTyp:  */ PragTyp_HEADER_VALUE,
595   /* ePragFlg:  */ PragFlg_NoColumns1|PragFlg_Result0,
596   /* ColNames:  */ 0, 0,
597   /* iArg:      */ BTREE_USER_VERSION },
598 #endif
599 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
600 #if defined(SQLITE_DEBUG)
601  {/* zName:     */ "vdbe_addoptrace",
602   /* ePragTyp:  */ PragTyp_FLAG,
603   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
604   /* ColNames:  */ 0, 0,
605   /* iArg:      */ SQLITE_VdbeAddopTrace },
606  {/* zName:     */ "vdbe_debug",
607   /* ePragTyp:  */ PragTyp_FLAG,
608   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
609   /* ColNames:  */ 0, 0,
610   /* iArg:      */ SQLITE_SqlTrace|SQLITE_VdbeListing|SQLITE_VdbeTrace },
611  {/* zName:     */ "vdbe_eqp",
612   /* ePragTyp:  */ PragTyp_FLAG,
613   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
614   /* ColNames:  */ 0, 0,
615   /* iArg:      */ SQLITE_VdbeEQP },
616  {/* zName:     */ "vdbe_listing",
617   /* ePragTyp:  */ PragTyp_FLAG,
618   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
619   /* ColNames:  */ 0, 0,
620   /* iArg:      */ SQLITE_VdbeListing },
621  {/* zName:     */ "vdbe_trace",
622   /* ePragTyp:  */ PragTyp_FLAG,
623   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
624   /* ColNames:  */ 0, 0,
625   /* iArg:      */ SQLITE_VdbeTrace },
626 #endif
627 #endif
628 #if !defined(SQLITE_OMIT_WAL)
629  {/* zName:     */ "wal_autocheckpoint",
630   /* ePragTyp:  */ PragTyp_WAL_AUTOCHECKPOINT,
631   /* ePragFlg:  */ 0,
632   /* ColNames:  */ 0, 0,
633   /* iArg:      */ 0 },
634  {/* zName:     */ "wal_checkpoint",
635   /* ePragTyp:  */ PragTyp_WAL_CHECKPOINT,
636   /* ePragFlg:  */ PragFlg_NeedSchema,
637   /* ColNames:  */ 44, 3,
638   /* iArg:      */ 0 },
639 #endif
640 #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
641  {/* zName:     */ "writable_schema",
642   /* ePragTyp:  */ PragTyp_FLAG,
643   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
644   /* ColNames:  */ 0, 0,
645   /* iArg:      */ SQLITE_WriteSchema|SQLITE_NoSchemaError },
646 #endif
647 };
648 /* Number of pragmas: 67 on by default, 77 total. */
649