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