blob: 76e59cbc6bb7a8bf4957774500feabb0f6c51d13 [file] [log] [blame]
drh67e65e52015-02-02 21:34:54 +00001/* 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*/
drhc232aca2016-12-15 16:01:17 +00006
7/* The various pragma types */
drh2ead47c2017-02-22 20:24:10 +00008#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
drh72052a72017-02-17 16:26:34 +000034#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
drhc232aca2016-12-15 16:01:17 +000052
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 */
dan9e1ab1a2017-01-05 19:32:48 +000056#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 */
drhc232aca2016-12-15 16:01:17 +000062
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*/
67static 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",
drha3928dd2017-02-17 15:26:36 +000075 /* 7 */ "tbl", /* Used by: stats */
76 /* 8 */ "idx",
77 /* 9 */ "wdth",
78 /* 10 */ "hght",
79 /* 11 */ "flgs",
drh33bec3f2017-02-17 13:38:15 +000080 /* 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",
drhc232aca2016-12-15 16:01:17 +0000117};
118
119/* Definitions of all built-in pragmas */
drh2fcc1592016-12-15 20:59:03 +0000120typedef struct PragmaName {
drhc232aca2016-12-15 16:01:17 +0000121 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 */
drh2fcc1592016-12-15 20:59:03 +0000127} PragmaName;
128static const PragmaName aPragmaName[] = {
drh67e65e52015-02-02 21:34:54 +0000129#if defined(SQLITE_HAS_CODEC) || defined(SQLITE_ENABLE_CEROD)
drhc232aca2016-12-15 16:01:17 +0000130 {/* zName: */ "activate_extensions",
131 /* ePragTyp: */ PragTyp_ACTIVATE_EXTENSIONS,
132 /* ePragFlg: */ 0,
133 /* ColNames: */ 0, 0,
134 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000135#endif
136#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000137 {/* zName: */ "application_id",
138 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000139 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000140 /* ColNames: */ 0, 0,
141 /* iArg: */ BTREE_APPLICATION_ID },
drh67e65e52015-02-02 21:34:54 +0000142#endif
143#if !defined(SQLITE_OMIT_AUTOVACUUM)
drhc232aca2016-12-15 16:01:17 +0000144 {/* zName: */ "auto_vacuum",
145 /* ePragTyp: */ PragTyp_AUTO_VACUUM,
dan9e1ab1a2017-01-05 19:32:48 +0000146 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000147 /* ColNames: */ 0, 0,
148 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000149#endif
150#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
151#if !defined(SQLITE_OMIT_AUTOMATIC_INDEX)
drhc232aca2016-12-15 16:01:17 +0000152 {/* zName: */ "automatic_index",
153 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000154 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000155 /* ColNames: */ 0, 0,
156 /* iArg: */ SQLITE_AutoIndex },
drh67e65e52015-02-02 21:34:54 +0000157#endif
158#endif
drhc232aca2016-12-15 16:01:17 +0000159 {/* zName: */ "busy_timeout",
160 /* ePragTyp: */ PragTyp_BUSY_TIMEOUT,
161 /* ePragFlg: */ PragFlg_Result0,
drh33bec3f2017-02-17 13:38:15 +0000162 /* ColNames: */ 46, 1,
drhc232aca2016-12-15 16:01:17 +0000163 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000164#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000165 {/* zName: */ "cache_size",
166 /* ePragTyp: */ PragTyp_CACHE_SIZE,
dan9e1ab1a2017-01-05 19:32:48 +0000167 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000168 /* ColNames: */ 0, 0,
169 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000170#endif
171#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000172 {/* zName: */ "cache_spill",
173 /* ePragTyp: */ PragTyp_CACHE_SPILL,
dan9e1ab1a2017-01-05 19:32:48 +0000174 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000175 /* ColNames: */ 0, 0,
176 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000177#endif
drhc232aca2016-12-15 16:01:17 +0000178 {/* zName: */ "case_sensitive_like",
179 /* ePragTyp: */ PragTyp_CASE_SENSITIVE_LIKE,
dane1ff3f52017-01-06 13:49:40 +0000180 /* ePragFlg: */ PragFlg_NoColumns,
drhc232aca2016-12-15 16:01:17 +0000181 /* ColNames: */ 0, 0,
182 /* iArg: */ 0 },
183 {/* zName: */ "cell_size_check",
184 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000185 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000186 /* ColNames: */ 0, 0,
187 /* iArg: */ SQLITE_CellSizeCk },
drh67e65e52015-02-02 21:34:54 +0000188#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000189 {/* zName: */ "checkpoint_fullfsync",
190 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000191 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000192 /* ColNames: */ 0, 0,
193 /* iArg: */ SQLITE_CkptFullFSync },
drh67e65e52015-02-02 21:34:54 +0000194#endif
195#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000196 {/* zName: */ "collation_list",
197 /* ePragTyp: */ PragTyp_COLLATION_LIST,
198 /* ePragFlg: */ PragFlg_Result0,
drh33bec3f2017-02-17 13:38:15 +0000199 /* ColNames: */ 29, 2,
drhc232aca2016-12-15 16:01:17 +0000200 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000201#endif
202#if !defined(SQLITE_OMIT_COMPILEOPTION_DIAGS)
drhc232aca2016-12-15 16:01:17 +0000203 {/* zName: */ "compile_options",
204 /* ePragTyp: */ PragTyp_COMPILE_OPTIONS,
205 /* ePragFlg: */ PragFlg_Result0,
206 /* ColNames: */ 0, 0,
207 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000208#endif
209#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000210 {/* zName: */ "count_changes",
211 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000212 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000213 /* ColNames: */ 0, 0,
214 /* iArg: */ SQLITE_CountRows },
drh67e65e52015-02-02 21:34:54 +0000215#endif
216#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_OS_WIN
drhc232aca2016-12-15 16:01:17 +0000217 {/* zName: */ "data_store_directory",
218 /* ePragTyp: */ PragTyp_DATA_STORE_DIRECTORY,
dan9e1ab1a2017-01-05 19:32:48 +0000219 /* ePragFlg: */ PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000220 /* ColNames: */ 0, 0,
221 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000222#endif
223#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000224 {/* zName: */ "data_version",
225 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000226 /* ePragFlg: */ PragFlg_ReadOnly|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000227 /* ColNames: */ 0, 0,
228 /* iArg: */ BTREE_DATA_VERSION },
drh67e65e52015-02-02 21:34:54 +0000229#endif
230#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000231 {/* zName: */ "database_list",
232 /* ePragTyp: */ PragTyp_DATABASE_LIST,
233 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0,
drh33bec3f2017-02-17 13:38:15 +0000234 /* ColNames: */ 26, 3,
drhc232aca2016-12-15 16:01:17 +0000235 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000236#endif
237#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && !defined(SQLITE_OMIT_DEPRECATED)
drhc232aca2016-12-15 16:01:17 +0000238 {/* zName: */ "default_cache_size",
239 /* ePragTyp: */ PragTyp_DEFAULT_CACHE_SIZE,
dan9e1ab1a2017-01-05 19:32:48 +0000240 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000241 /* ColNames: */ 0, 1,
242 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000243#endif
244#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
245#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
drhc232aca2016-12-15 16:01:17 +0000246 {/* zName: */ "defer_foreign_keys",
247 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000248 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000249 /* ColNames: */ 0, 0,
250 /* iArg: */ SQLITE_DeferFKs },
drh67e65e52015-02-02 21:34:54 +0000251#endif
252#endif
253#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000254 {/* zName: */ "empty_result_callbacks",
255 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000256 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000257 /* ColNames: */ 0, 0,
258 /* iArg: */ SQLITE_NullCallback },
drh67e65e52015-02-02 21:34:54 +0000259#endif
260#if !defined(SQLITE_OMIT_UTF16)
drhc232aca2016-12-15 16:01:17 +0000261 {/* zName: */ "encoding",
262 /* ePragTyp: */ PragTyp_ENCODING,
dan9e1ab1a2017-01-05 19:32:48 +0000263 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000264 /* ColNames: */ 0, 0,
265 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000266#endif
267#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
drhc232aca2016-12-15 16:01:17 +0000268 {/* zName: */ "foreign_key_check",
269 /* ePragTyp: */ PragTyp_FOREIGN_KEY_CHECK,
drhc45fdb22017-06-21 01:36:30 +0000270 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0,
drh33bec3f2017-02-17 13:38:15 +0000271 /* ColNames: */ 39, 4,
drhc232aca2016-12-15 16:01:17 +0000272 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000273#endif
274#if !defined(SQLITE_OMIT_FOREIGN_KEY)
drhc232aca2016-12-15 16:01:17 +0000275 {/* zName: */ "foreign_key_list",
276 /* ePragTyp: */ PragTyp_FOREIGN_KEY_LIST,
277 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000278 /* ColNames: */ 31, 8,
drhc232aca2016-12-15 16:01:17 +0000279 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000280#endif
281#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
282#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
drhc232aca2016-12-15 16:01:17 +0000283 {/* zName: */ "foreign_keys",
284 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000285 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000286 /* ColNames: */ 0, 0,
287 /* iArg: */ SQLITE_ForeignKeys },
drh67e65e52015-02-02 21:34:54 +0000288#endif
289#endif
290#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000291 {/* zName: */ "freelist_count",
292 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000293 /* ePragFlg: */ PragFlg_ReadOnly|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000294 /* ColNames: */ 0, 0,
295 /* iArg: */ BTREE_FREE_PAGE_COUNT },
drh67e65e52015-02-02 21:34:54 +0000296#endif
297#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000298 {/* zName: */ "full_column_names",
299 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000300 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000301 /* ColNames: */ 0, 0,
302 /* iArg: */ SQLITE_FullColNames },
303 {/* zName: */ "fullfsync",
304 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000305 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000306 /* ColNames: */ 0, 0,
307 /* iArg: */ SQLITE_FullFSync },
drh67e65e52015-02-02 21:34:54 +0000308#endif
309#if defined(SQLITE_HAS_CODEC)
drhc232aca2016-12-15 16:01:17 +0000310 {/* 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 },
drh67e65e52015-02-02 21:34:54 +0000320#endif
321#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
322#if !defined(SQLITE_OMIT_CHECK)
drhc232aca2016-12-15 16:01:17 +0000323 {/* zName: */ "ignore_check_constraints",
324 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000325 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000326 /* ColNames: */ 0, 0,
327 /* iArg: */ SQLITE_IgnoreChecks },
drh67e65e52015-02-02 21:34:54 +0000328#endif
329#endif
330#if !defined(SQLITE_OMIT_AUTOVACUUM)
drhc232aca2016-12-15 16:01:17 +0000331 {/* zName: */ "incremental_vacuum",
332 /* ePragTyp: */ PragTyp_INCREMENTAL_VACUUM,
333 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_NoColumns,
334 /* ColNames: */ 0, 0,
335 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000336#endif
337#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000338 {/* zName: */ "index_info",
339 /* ePragTyp: */ PragTyp_INDEX_INFO,
340 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000341 /* ColNames: */ 12, 3,
drhc232aca2016-12-15 16:01:17 +0000342 /* iArg: */ 0 },
343 {/* zName: */ "index_list",
344 /* ePragTyp: */ PragTyp_INDEX_LIST,
345 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000346 /* ColNames: */ 21, 5,
drhc232aca2016-12-15 16:01:17 +0000347 /* iArg: */ 0 },
348 {/* zName: */ "index_xinfo",
349 /* ePragTyp: */ PragTyp_INDEX_INFO,
350 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000351 /* ColNames: */ 15, 6,
drhc232aca2016-12-15 16:01:17 +0000352 /* iArg: */ 1 },
drh67e65e52015-02-02 21:34:54 +0000353#endif
354#if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
drhc232aca2016-12-15 16:01:17 +0000355 {/* zName: */ "integrity_check",
356 /* ePragTyp: */ PragTyp_INTEGRITY_CHECK,
drhc45fdb22017-06-21 01:36:30 +0000357 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1,
drhc232aca2016-12-15 16:01:17 +0000358 /* ColNames: */ 0, 0,
359 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000360#endif
361#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000362 {/* 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 },
drh67e65e52015-02-02 21:34:54 +0000372#endif
373#if defined(SQLITE_HAS_CODEC)
drhc232aca2016-12-15 16:01:17 +0000374 {/* zName: */ "key",
375 /* ePragTyp: */ PragTyp_KEY,
376 /* ePragFlg: */ 0,
377 /* ColNames: */ 0, 0,
378 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000379#endif
380#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000381 {/* zName: */ "legacy_file_format",
382 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000383 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000384 /* ColNames: */ 0, 0,
385 /* iArg: */ SQLITE_LegacyFileFmt },
drh67e65e52015-02-02 21:34:54 +0000386#endif
387#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
drhc232aca2016-12-15 16:01:17 +0000388 {/* zName: */ "lock_proxy_file",
389 /* ePragTyp: */ PragTyp_LOCK_PROXY_FILE,
dan9e1ab1a2017-01-05 19:32:48 +0000390 /* ePragFlg: */ PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000391 /* ColNames: */ 0, 0,
392 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000393#endif
394#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
drhc232aca2016-12-15 16:01:17 +0000395 {/* zName: */ "lock_status",
396 /* ePragTyp: */ PragTyp_LOCK_STATUS,
397 /* ePragFlg: */ PragFlg_Result0,
drh33bec3f2017-02-17 13:38:15 +0000398 /* ColNames: */ 47, 2,
drhc232aca2016-12-15 16:01:17 +0000399 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000400#endif
401#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000402 {/* 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 },
drh2ead47c2017-02-22 20:24:10 +0000417#endif
418 {/* zName: */ "optimize",
419 /* ePragTyp: */ PragTyp_OPTIMIZE,
drh761f6912017-04-03 13:33:51 +0000420 /* ePragFlg: */ PragFlg_Result1|PragFlg_NeedSchema,
drh2ead47c2017-02-22 20:24:10 +0000421 /* ColNames: */ 0, 0,
422 /* iArg: */ 0 },
423#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000424 {/* 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,
dan9e1ab1a2017-01-05 19:32:48 +0000431 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000432 /* ColNames: */ 0, 0,
433 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000434#endif
drh35926802015-12-15 13:50:22 +0000435#if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_PARSER_TRACE)
drhc232aca2016-12-15 16:01:17 +0000436 {/* zName: */ "parser_trace",
437 /* ePragTyp: */ PragTyp_PARSER_TRACE,
438 /* ePragFlg: */ 0,
439 /* ColNames: */ 0, 0,
440 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000441#endif
442#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000443 {/* zName: */ "query_only",
444 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000445 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000446 /* ColNames: */ 0, 0,
447 /* iArg: */ SQLITE_QueryOnly },
drh67e65e52015-02-02 21:34:54 +0000448#endif
449#if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
drhc232aca2016-12-15 16:01:17 +0000450 {/* zName: */ "quick_check",
451 /* ePragTyp: */ PragTyp_INTEGRITY_CHECK,
drhc45fdb22017-06-21 01:36:30 +0000452 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1,
drhc232aca2016-12-15 16:01:17 +0000453 /* ColNames: */ 0, 0,
454 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000455#endif
456#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000457 {/* zName: */ "read_uncommitted",
458 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000459 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000460 /* ColNames: */ 0, 0,
drh169dd922017-06-26 13:57:49 +0000461 /* iArg: */ SQLITE_ReadUncommit },
drhc232aca2016-12-15 16:01:17 +0000462 {/* zName: */ "recursive_triggers",
463 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000464 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000465 /* ColNames: */ 0, 0,
466 /* iArg: */ SQLITE_RecTriggers },
drh67e65e52015-02-02 21:34:54 +0000467#endif
468#if defined(SQLITE_HAS_CODEC)
drhc232aca2016-12-15 16:01:17 +0000469 {/* zName: */ "rekey",
470 /* ePragTyp: */ PragTyp_REKEY,
471 /* ePragFlg: */ 0,
472 /* ColNames: */ 0, 0,
473 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000474#endif
475#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000476 {/* zName: */ "reverse_unordered_selects",
477 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000478 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000479 /* ColNames: */ 0, 0,
480 /* iArg: */ SQLITE_ReverseOrder },
drh67e65e52015-02-02 21:34:54 +0000481#endif
482#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000483 {/* zName: */ "schema_version",
484 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000485 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000486 /* ColNames: */ 0, 0,
487 /* iArg: */ BTREE_SCHEMA_VERSION },
drh67e65e52015-02-02 21:34:54 +0000488#endif
489#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000490 {/* zName: */ "secure_delete",
491 /* ePragTyp: */ PragTyp_SECURE_DELETE,
492 /* ePragFlg: */ PragFlg_Result0,
493 /* ColNames: */ 0, 0,
494 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000495#endif
496#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000497 {/* zName: */ "short_column_names",
498 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000499 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000500 /* ColNames: */ 0, 0,
501 /* iArg: */ SQLITE_ShortColNames },
drh67e65e52015-02-02 21:34:54 +0000502#endif
drhc232aca2016-12-15 16:01:17 +0000503 {/* zName: */ "shrink_memory",
504 /* ePragTyp: */ PragTyp_SHRINK_MEMORY,
dane1ff3f52017-01-06 13:49:40 +0000505 /* ePragFlg: */ PragFlg_NoColumns,
drhc232aca2016-12-15 16:01:17 +0000506 /* 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 },
drh67e65e52015-02-02 21:34:54 +0000513#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
514#if defined(SQLITE_DEBUG)
drhc232aca2016-12-15 16:01:17 +0000515 {/* zName: */ "sql_trace",
516 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000517 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000518 /* ColNames: */ 0, 0,
519 /* iArg: */ SQLITE_SqlTrace },
drh67e65e52015-02-02 21:34:54 +0000520#endif
521#endif
drh33bec3f2017-02-17 13:38:15 +0000522#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS) && defined(SQLITE_DEBUG)
drhc232aca2016-12-15 16:01:17 +0000523 {/* zName: */ "stats",
524 /* ePragTyp: */ PragTyp_STATS,
525 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
drh33bec3f2017-02-17 13:38:15 +0000526 /* ColNames: */ 7, 5,
drhc232aca2016-12-15 16:01:17 +0000527 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000528#endif
529#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000530 {/* zName: */ "synchronous",
531 /* ePragTyp: */ PragTyp_SYNCHRONOUS,
dan9e1ab1a2017-01-05 19:32:48 +0000532 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000533 /* ColNames: */ 0, 0,
534 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000535#endif
536#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000537 {/* zName: */ "table_info",
538 /* ePragTyp: */ PragTyp_TABLE_INFO,
539 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
540 /* ColNames: */ 1, 6,
541 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000542#endif
543#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000544 {/* zName: */ "temp_store",
545 /* ePragTyp: */ PragTyp_TEMP_STORE,
dan9e1ab1a2017-01-05 19:32:48 +0000546 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000547 /* ColNames: */ 0, 0,
548 /* iArg: */ 0 },
549 {/* zName: */ "temp_store_directory",
550 /* ePragTyp: */ PragTyp_TEMP_STORE_DIRECTORY,
dan9e1ab1a2017-01-05 19:32:48 +0000551 /* ePragFlg: */ PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000552 /* ColNames: */ 0, 0,
553 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000554#endif
drhc232aca2016-12-15 16:01:17 +0000555 {/* zName: */ "threads",
556 /* ePragTyp: */ PragTyp_THREADS,
557 /* ePragFlg: */ PragFlg_Result0,
558 /* ColNames: */ 0, 0,
559 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000560#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000561 {/* zName: */ "user_version",
562 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000563 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000564 /* ColNames: */ 0, 0,
565 /* iArg: */ BTREE_USER_VERSION },
drh67e65e52015-02-02 21:34:54 +0000566#endif
567#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
568#if defined(SQLITE_DEBUG)
drhc232aca2016-12-15 16:01:17 +0000569 {/* zName: */ "vdbe_addoptrace",
570 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000571 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000572 /* ColNames: */ 0, 0,
573 /* iArg: */ SQLITE_VdbeAddopTrace },
574 {/* zName: */ "vdbe_debug",
575 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000576 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000577 /* ColNames: */ 0, 0,
578 /* iArg: */ SQLITE_SqlTrace|SQLITE_VdbeListing|SQLITE_VdbeTrace },
579 {/* zName: */ "vdbe_eqp",
580 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000581 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000582 /* ColNames: */ 0, 0,
583 /* iArg: */ SQLITE_VdbeEQP },
584 {/* zName: */ "vdbe_listing",
585 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000586 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000587 /* ColNames: */ 0, 0,
588 /* iArg: */ SQLITE_VdbeListing },
589 {/* zName: */ "vdbe_trace",
590 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000591 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000592 /* ColNames: */ 0, 0,
593 /* iArg: */ SQLITE_VdbeTrace },
drh67e65e52015-02-02 21:34:54 +0000594#endif
595#endif
596#if !defined(SQLITE_OMIT_WAL)
drhc232aca2016-12-15 16:01:17 +0000597 {/* 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,
drh33bec3f2017-02-17 13:38:15 +0000605 /* ColNames: */ 43, 3,
drhc232aca2016-12-15 16:01:17 +0000606 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000607#endif
608#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000609 {/* zName: */ "writable_schema",
610 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000611 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000612 /* ColNames: */ 0, 0,
drh169dd922017-06-26 13:57:49 +0000613 /* iArg: */ SQLITE_WriteSchema },
drh67e65e52015-02-02 21:34:54 +0000614#endif
615};
drh72052a72017-02-17 16:26:34 +0000616/* Number of pragmas: 60 on by default, 74 total. */