blob: c9ece2dc875f8232c6c30a8b788c1dbc0507f7dd [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
drhab53bb62017-07-07 15:43:22 +000023#define PragTyp_FUNCTION_LIST 15
24#define PragTyp_INCREMENTAL_VACUUM 16
25#define PragTyp_INDEX_INFO 17
26#define PragTyp_INDEX_LIST 18
27#define PragTyp_INTEGRITY_CHECK 19
28#define PragTyp_JOURNAL_MODE 20
29#define PragTyp_JOURNAL_SIZE_LIMIT 21
30#define PragTyp_LOCK_PROXY_FILE 22
31#define PragTyp_LOCKING_MODE 23
32#define PragTyp_PAGE_COUNT 24
33#define PragTyp_MMAP_SIZE 25
34#define PragTyp_MODULE_LIST 26
35#define PragTyp_OPTIMIZE 27
36#define PragTyp_PAGE_SIZE 28
drh8ae11aa2017-07-07 17:33:07 +000037#define PragTyp_PRAGMA_LIST 29
38#define PragTyp_SECURE_DELETE 30
39#define PragTyp_SHRINK_MEMORY 31
40#define PragTyp_SOFT_HEAP_LIMIT 32
41#define PragTyp_SYNCHRONOUS 33
42#define PragTyp_TABLE_INFO 34
43#define PragTyp_TEMP_STORE 35
44#define PragTyp_TEMP_STORE_DIRECTORY 36
45#define PragTyp_THREADS 37
46#define PragTyp_WAL_AUTOCHECKPOINT 38
47#define PragTyp_WAL_CHECKPOINT 39
48#define PragTyp_ACTIVATE_EXTENSIONS 40
49#define PragTyp_HEXKEY 41
50#define PragTyp_KEY 42
51#define PragTyp_REKEY 43
52#define PragTyp_LOCK_STATUS 44
53#define PragTyp_PARSER_TRACE 45
54#define PragTyp_STATS 46
drhc232aca2016-12-15 16:01:17 +000055
56/* Property flags associated with various pragma. */
57#define PragFlg_NeedSchema 0x01 /* Force schema load before running */
58#define PragFlg_NoColumns 0x02 /* OP_ResultRow called with zero columns */
dan9e1ab1a2017-01-05 19:32:48 +000059#define PragFlg_NoColumns1 0x04 /* zero columns if RHS argument is present */
60#define PragFlg_ReadOnly 0x08 /* Read-only HEADER_VALUE */
61#define PragFlg_Result0 0x10 /* Acts as query when no argument */
62#define PragFlg_Result1 0x20 /* Acts as query when has one argument */
63#define PragFlg_SchemaOpt 0x40 /* Schema restricts name search if present */
64#define PragFlg_SchemaReq 0x80 /* Schema required - "main" is default */
drhc232aca2016-12-15 16:01:17 +000065
66/* Names of columns for pragmas that return multi-column result
67** or that return single-column results where the name of the
68** result column is different from the name of the pragma
69*/
70static const char *const pragCName[] = {
71 /* 0 */ "cache_size", /* Used by: default_cache_size */
72 /* 1 */ "cid", /* Used by: table_info */
73 /* 2 */ "name",
74 /* 3 */ "type",
75 /* 4 */ "notnull",
76 /* 5 */ "dflt_value",
77 /* 6 */ "pk",
drha3928dd2017-02-17 15:26:36 +000078 /* 7 */ "tbl", /* Used by: stats */
79 /* 8 */ "idx",
80 /* 9 */ "wdth",
81 /* 10 */ "hght",
82 /* 11 */ "flgs",
drh33bec3f2017-02-17 13:38:15 +000083 /* 12 */ "seqno", /* Used by: index_info */
84 /* 13 */ "cid",
85 /* 14 */ "name",
86 /* 15 */ "seqno", /* Used by: index_xinfo */
87 /* 16 */ "cid",
88 /* 17 */ "name",
89 /* 18 */ "desc",
90 /* 19 */ "coll",
91 /* 20 */ "key",
92 /* 21 */ "seq", /* Used by: index_list */
93 /* 22 */ "name",
94 /* 23 */ "unique",
95 /* 24 */ "origin",
96 /* 25 */ "partial",
97 /* 26 */ "seq", /* Used by: database_list */
98 /* 27 */ "name",
99 /* 28 */ "file",
drhab53bb62017-07-07 15:43:22 +0000100 /* 29 */ "name", /* Used by: function_list */
101 /* 30 */ "builtin",
drh8ae11aa2017-07-07 17:33:07 +0000102 /* 31 */ "name", /* Used by: module_list pragma_list */
drhab53bb62017-07-07 15:43:22 +0000103 /* 32 */ "seq", /* Used by: collation_list */
104 /* 33 */ "name",
105 /* 34 */ "id", /* Used by: foreign_key_list */
106 /* 35 */ "seq",
107 /* 36 */ "table",
108 /* 37 */ "from",
109 /* 38 */ "to",
110 /* 39 */ "on_update",
111 /* 40 */ "on_delete",
112 /* 41 */ "match",
113 /* 42 */ "table", /* Used by: foreign_key_check */
114 /* 43 */ "rowid",
115 /* 44 */ "parent",
116 /* 45 */ "fkid",
117 /* 46 */ "busy", /* Used by: wal_checkpoint */
118 /* 47 */ "log",
119 /* 48 */ "checkpointed",
120 /* 49 */ "timeout", /* Used by: busy_timeout */
121 /* 50 */ "database", /* Used by: lock_status */
122 /* 51 */ "status",
drhc232aca2016-12-15 16:01:17 +0000123};
124
125/* Definitions of all built-in pragmas */
drh2fcc1592016-12-15 20:59:03 +0000126typedef struct PragmaName {
drhc232aca2016-12-15 16:01:17 +0000127 const char *const zName; /* Name of pragma */
128 u8 ePragTyp; /* PragTyp_XXX value */
129 u8 mPragFlg; /* Zero or more PragFlg_XXX values */
130 u8 iPragCName; /* Start of column names in pragCName[] */
131 u8 nPragCName; /* Num of col names. 0 means use pragma name */
132 u32 iArg; /* Extra argument */
drh2fcc1592016-12-15 20:59:03 +0000133} PragmaName;
134static const PragmaName aPragmaName[] = {
drh67e65e52015-02-02 21:34:54 +0000135#if defined(SQLITE_HAS_CODEC) || defined(SQLITE_ENABLE_CEROD)
drhc232aca2016-12-15 16:01:17 +0000136 {/* zName: */ "activate_extensions",
137 /* ePragTyp: */ PragTyp_ACTIVATE_EXTENSIONS,
138 /* ePragFlg: */ 0,
139 /* ColNames: */ 0, 0,
140 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000141#endif
142#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000143 {/* zName: */ "application_id",
144 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000145 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000146 /* ColNames: */ 0, 0,
147 /* iArg: */ BTREE_APPLICATION_ID },
drh67e65e52015-02-02 21:34:54 +0000148#endif
149#if !defined(SQLITE_OMIT_AUTOVACUUM)
drhc232aca2016-12-15 16:01:17 +0000150 {/* zName: */ "auto_vacuum",
151 /* ePragTyp: */ PragTyp_AUTO_VACUUM,
dan9e1ab1a2017-01-05 19:32:48 +0000152 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000153 /* ColNames: */ 0, 0,
154 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000155#endif
156#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
157#if !defined(SQLITE_OMIT_AUTOMATIC_INDEX)
drhc232aca2016-12-15 16:01:17 +0000158 {/* zName: */ "automatic_index",
159 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000160 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000161 /* ColNames: */ 0, 0,
162 /* iArg: */ SQLITE_AutoIndex },
drh67e65e52015-02-02 21:34:54 +0000163#endif
164#endif
drhc232aca2016-12-15 16:01:17 +0000165 {/* zName: */ "busy_timeout",
166 /* ePragTyp: */ PragTyp_BUSY_TIMEOUT,
167 /* ePragFlg: */ PragFlg_Result0,
drhab53bb62017-07-07 15:43:22 +0000168 /* ColNames: */ 49, 1,
drhc232aca2016-12-15 16:01:17 +0000169 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000170#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000171 {/* zName: */ "cache_size",
172 /* ePragTyp: */ PragTyp_CACHE_SIZE,
dan9e1ab1a2017-01-05 19:32:48 +0000173 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000174 /* ColNames: */ 0, 0,
175 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000176#endif
177#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000178 {/* zName: */ "cache_spill",
179 /* ePragTyp: */ PragTyp_CACHE_SPILL,
dan9e1ab1a2017-01-05 19:32:48 +0000180 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000181 /* ColNames: */ 0, 0,
182 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000183#endif
drhc232aca2016-12-15 16:01:17 +0000184 {/* zName: */ "case_sensitive_like",
185 /* ePragTyp: */ PragTyp_CASE_SENSITIVE_LIKE,
dane1ff3f52017-01-06 13:49:40 +0000186 /* ePragFlg: */ PragFlg_NoColumns,
drhc232aca2016-12-15 16:01:17 +0000187 /* ColNames: */ 0, 0,
188 /* iArg: */ 0 },
189 {/* zName: */ "cell_size_check",
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_CellSizeCk },
drh67e65e52015-02-02 21:34:54 +0000194#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000195 {/* zName: */ "checkpoint_fullfsync",
196 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000197 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000198 /* ColNames: */ 0, 0,
199 /* iArg: */ SQLITE_CkptFullFSync },
drh67e65e52015-02-02 21:34:54 +0000200#endif
201#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000202 {/* zName: */ "collation_list",
203 /* ePragTyp: */ PragTyp_COLLATION_LIST,
204 /* ePragFlg: */ PragFlg_Result0,
drhab53bb62017-07-07 15:43:22 +0000205 /* ColNames: */ 32, 2,
drhc232aca2016-12-15 16:01:17 +0000206 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000207#endif
208#if !defined(SQLITE_OMIT_COMPILEOPTION_DIAGS)
drhc232aca2016-12-15 16:01:17 +0000209 {/* zName: */ "compile_options",
210 /* ePragTyp: */ PragTyp_COMPILE_OPTIONS,
211 /* ePragFlg: */ PragFlg_Result0,
212 /* ColNames: */ 0, 0,
213 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000214#endif
215#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000216 {/* zName: */ "count_changes",
217 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000218 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000219 /* ColNames: */ 0, 0,
220 /* iArg: */ SQLITE_CountRows },
drh67e65e52015-02-02 21:34:54 +0000221#endif
222#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_OS_WIN
drhc232aca2016-12-15 16:01:17 +0000223 {/* zName: */ "data_store_directory",
224 /* ePragTyp: */ PragTyp_DATA_STORE_DIRECTORY,
dan9e1ab1a2017-01-05 19:32:48 +0000225 /* ePragFlg: */ PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000226 /* ColNames: */ 0, 0,
227 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000228#endif
229#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000230 {/* zName: */ "data_version",
231 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000232 /* ePragFlg: */ PragFlg_ReadOnly|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000233 /* ColNames: */ 0, 0,
234 /* iArg: */ BTREE_DATA_VERSION },
drh67e65e52015-02-02 21:34:54 +0000235#endif
236#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000237 {/* zName: */ "database_list",
238 /* ePragTyp: */ PragTyp_DATABASE_LIST,
239 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0,
drh33bec3f2017-02-17 13:38:15 +0000240 /* ColNames: */ 26, 3,
drhc232aca2016-12-15 16:01:17 +0000241 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000242#endif
243#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && !defined(SQLITE_OMIT_DEPRECATED)
drhc232aca2016-12-15 16:01:17 +0000244 {/* zName: */ "default_cache_size",
245 /* ePragTyp: */ PragTyp_DEFAULT_CACHE_SIZE,
dan9e1ab1a2017-01-05 19:32:48 +0000246 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000247 /* ColNames: */ 0, 1,
248 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000249#endif
250#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
251#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
drhc232aca2016-12-15 16:01:17 +0000252 {/* zName: */ "defer_foreign_keys",
253 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000254 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000255 /* ColNames: */ 0, 0,
256 /* iArg: */ SQLITE_DeferFKs },
drh67e65e52015-02-02 21:34:54 +0000257#endif
258#endif
259#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000260 {/* zName: */ "empty_result_callbacks",
261 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000262 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000263 /* ColNames: */ 0, 0,
264 /* iArg: */ SQLITE_NullCallback },
drh67e65e52015-02-02 21:34:54 +0000265#endif
266#if !defined(SQLITE_OMIT_UTF16)
drhc232aca2016-12-15 16:01:17 +0000267 {/* zName: */ "encoding",
268 /* ePragTyp: */ PragTyp_ENCODING,
dan9e1ab1a2017-01-05 19:32:48 +0000269 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000270 /* ColNames: */ 0, 0,
271 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000272#endif
273#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
drhc232aca2016-12-15 16:01:17 +0000274 {/* zName: */ "foreign_key_check",
275 /* ePragTyp: */ PragTyp_FOREIGN_KEY_CHECK,
drhc45fdb22017-06-21 01:36:30 +0000276 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0,
drhab53bb62017-07-07 15:43:22 +0000277 /* ColNames: */ 42, 4,
drhc232aca2016-12-15 16:01:17 +0000278 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000279#endif
280#if !defined(SQLITE_OMIT_FOREIGN_KEY)
drhc232aca2016-12-15 16:01:17 +0000281 {/* zName: */ "foreign_key_list",
282 /* ePragTyp: */ PragTyp_FOREIGN_KEY_LIST,
283 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drhab53bb62017-07-07 15:43:22 +0000284 /* ColNames: */ 34, 8,
drhc232aca2016-12-15 16:01:17 +0000285 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000286#endif
287#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
288#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
drhc232aca2016-12-15 16:01:17 +0000289 {/* zName: */ "foreign_keys",
290 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000291 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000292 /* ColNames: */ 0, 0,
293 /* iArg: */ SQLITE_ForeignKeys },
drh67e65e52015-02-02 21:34:54 +0000294#endif
295#endif
296#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000297 {/* zName: */ "freelist_count",
298 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000299 /* ePragFlg: */ PragFlg_ReadOnly|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000300 /* ColNames: */ 0, 0,
301 /* iArg: */ BTREE_FREE_PAGE_COUNT },
drh67e65e52015-02-02 21:34:54 +0000302#endif
303#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000304 {/* zName: */ "full_column_names",
305 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000306 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000307 /* ColNames: */ 0, 0,
308 /* iArg: */ SQLITE_FullColNames },
309 {/* zName: */ "fullfsync",
310 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000311 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000312 /* ColNames: */ 0, 0,
313 /* iArg: */ SQLITE_FullFSync },
drh67e65e52015-02-02 21:34:54 +0000314#endif
drhab53bb62017-07-07 15:43:22 +0000315#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drh8ae11aa2017-07-07 17:33:07 +0000316#if defined(SQLITE_INTROSPECTION_PRAGMAS)
drhab53bb62017-07-07 15:43:22 +0000317 {/* zName: */ "function_list",
318 /* ePragTyp: */ PragTyp_FUNCTION_LIST,
319 /* ePragFlg: */ PragFlg_Result0,
320 /* ColNames: */ 29, 2,
321 /* iArg: */ 0 },
322#endif
drh8ae11aa2017-07-07 17:33:07 +0000323#endif
drh67e65e52015-02-02 21:34:54 +0000324#if defined(SQLITE_HAS_CODEC)
drhc232aca2016-12-15 16:01:17 +0000325 {/* zName: */ "hexkey",
326 /* ePragTyp: */ PragTyp_HEXKEY,
327 /* ePragFlg: */ 0,
328 /* ColNames: */ 0, 0,
329 /* iArg: */ 0 },
330 {/* zName: */ "hexrekey",
331 /* ePragTyp: */ PragTyp_HEXKEY,
332 /* ePragFlg: */ 0,
333 /* ColNames: */ 0, 0,
334 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000335#endif
336#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
337#if !defined(SQLITE_OMIT_CHECK)
drhc232aca2016-12-15 16:01:17 +0000338 {/* zName: */ "ignore_check_constraints",
339 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000340 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000341 /* ColNames: */ 0, 0,
342 /* iArg: */ SQLITE_IgnoreChecks },
drh67e65e52015-02-02 21:34:54 +0000343#endif
344#endif
345#if !defined(SQLITE_OMIT_AUTOVACUUM)
drhc232aca2016-12-15 16:01:17 +0000346 {/* zName: */ "incremental_vacuum",
347 /* ePragTyp: */ PragTyp_INCREMENTAL_VACUUM,
348 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_NoColumns,
349 /* ColNames: */ 0, 0,
350 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000351#endif
352#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000353 {/* zName: */ "index_info",
354 /* ePragTyp: */ PragTyp_INDEX_INFO,
355 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000356 /* ColNames: */ 12, 3,
drhc232aca2016-12-15 16:01:17 +0000357 /* iArg: */ 0 },
358 {/* zName: */ "index_list",
359 /* ePragTyp: */ PragTyp_INDEX_LIST,
360 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000361 /* ColNames: */ 21, 5,
drhc232aca2016-12-15 16:01:17 +0000362 /* iArg: */ 0 },
363 {/* zName: */ "index_xinfo",
364 /* ePragTyp: */ PragTyp_INDEX_INFO,
365 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
drh33bec3f2017-02-17 13:38:15 +0000366 /* ColNames: */ 15, 6,
drhc232aca2016-12-15 16:01:17 +0000367 /* iArg: */ 1 },
drh67e65e52015-02-02 21:34:54 +0000368#endif
369#if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
drhc232aca2016-12-15 16:01:17 +0000370 {/* zName: */ "integrity_check",
371 /* ePragTyp: */ PragTyp_INTEGRITY_CHECK,
drhc45fdb22017-06-21 01:36:30 +0000372 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1,
drhc232aca2016-12-15 16:01:17 +0000373 /* ColNames: */ 0, 0,
374 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000375#endif
376#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000377 {/* zName: */ "journal_mode",
378 /* ePragTyp: */ PragTyp_JOURNAL_MODE,
379 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
380 /* ColNames: */ 0, 0,
381 /* iArg: */ 0 },
382 {/* zName: */ "journal_size_limit",
383 /* ePragTyp: */ PragTyp_JOURNAL_SIZE_LIMIT,
384 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq,
385 /* ColNames: */ 0, 0,
386 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000387#endif
388#if defined(SQLITE_HAS_CODEC)
drhc232aca2016-12-15 16:01:17 +0000389 {/* zName: */ "key",
390 /* ePragTyp: */ PragTyp_KEY,
391 /* ePragFlg: */ 0,
392 /* ColNames: */ 0, 0,
393 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000394#endif
395#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000396 {/* zName: */ "legacy_file_format",
397 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000398 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000399 /* ColNames: */ 0, 0,
400 /* iArg: */ SQLITE_LegacyFileFmt },
drh67e65e52015-02-02 21:34:54 +0000401#endif
402#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
drhc232aca2016-12-15 16:01:17 +0000403 {/* zName: */ "lock_proxy_file",
404 /* ePragTyp: */ PragTyp_LOCK_PROXY_FILE,
dan9e1ab1a2017-01-05 19:32:48 +0000405 /* ePragFlg: */ PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000406 /* ColNames: */ 0, 0,
407 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000408#endif
409#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
drhc232aca2016-12-15 16:01:17 +0000410 {/* zName: */ "lock_status",
411 /* ePragTyp: */ PragTyp_LOCK_STATUS,
412 /* ePragFlg: */ PragFlg_Result0,
drhab53bb62017-07-07 15:43:22 +0000413 /* ColNames: */ 50, 2,
drhc232aca2016-12-15 16:01:17 +0000414 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000415#endif
416#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000417 {/* zName: */ "locking_mode",
418 /* ePragTyp: */ PragTyp_LOCKING_MODE,
419 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq,
420 /* ColNames: */ 0, 0,
421 /* iArg: */ 0 },
422 {/* zName: */ "max_page_count",
423 /* ePragTyp: */ PragTyp_PAGE_COUNT,
424 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
425 /* ColNames: */ 0, 0,
426 /* iArg: */ 0 },
427 {/* zName: */ "mmap_size",
428 /* ePragTyp: */ PragTyp_MMAP_SIZE,
429 /* ePragFlg: */ 0,
430 /* ColNames: */ 0, 0,
431 /* iArg: */ 0 },
drh2ead47c2017-02-22 20:24:10 +0000432#endif
drhab53bb62017-07-07 15:43:22 +0000433#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
434#if !defined(SQLITE_OMIT_VIRTUALTABLE)
drh8ae11aa2017-07-07 17:33:07 +0000435#if defined(SQLITE_INTROSPECTION_PRAGMAS)
drhab53bb62017-07-07 15:43:22 +0000436 {/* zName: */ "module_list",
437 /* ePragTyp: */ PragTyp_MODULE_LIST,
438 /* ePragFlg: */ PragFlg_Result0,
439 /* ColNames: */ 31, 1,
440 /* iArg: */ 0 },
441#endif
442#endif
drh8ae11aa2017-07-07 17:33:07 +0000443#endif
drh2ead47c2017-02-22 20:24:10 +0000444 {/* zName: */ "optimize",
445 /* ePragTyp: */ PragTyp_OPTIMIZE,
drh761f6912017-04-03 13:33:51 +0000446 /* ePragFlg: */ PragFlg_Result1|PragFlg_NeedSchema,
drh2ead47c2017-02-22 20:24:10 +0000447 /* ColNames: */ 0, 0,
448 /* iArg: */ 0 },
449#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000450 {/* zName: */ "page_count",
451 /* ePragTyp: */ PragTyp_PAGE_COUNT,
452 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
453 /* ColNames: */ 0, 0,
454 /* iArg: */ 0 },
455 {/* zName: */ "page_size",
456 /* ePragTyp: */ PragTyp_PAGE_SIZE,
dan9e1ab1a2017-01-05 19:32:48 +0000457 /* ePragFlg: */ PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000458 /* ColNames: */ 0, 0,
459 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000460#endif
drh35926802015-12-15 13:50:22 +0000461#if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_PARSER_TRACE)
drhc232aca2016-12-15 16:01:17 +0000462 {/* zName: */ "parser_trace",
463 /* ePragTyp: */ PragTyp_PARSER_TRACE,
464 /* ePragFlg: */ 0,
465 /* ColNames: */ 0, 0,
466 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000467#endif
drh8ae11aa2017-07-07 17:33:07 +0000468#if defined(SQLITE_INTROSPECTION_PRAGMAS)
469 {/* zName: */ "pragma_list",
470 /* ePragTyp: */ PragTyp_PRAGMA_LIST,
471 /* ePragFlg: */ PragFlg_Result0,
472 /* ColNames: */ 31, 1,
473 /* iArg: */ 0 },
474#endif
drh67e65e52015-02-02 21:34:54 +0000475#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000476 {/* zName: */ "query_only",
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_QueryOnly },
drh67e65e52015-02-02 21:34:54 +0000481#endif
482#if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
drhc232aca2016-12-15 16:01:17 +0000483 {/* zName: */ "quick_check",
484 /* ePragTyp: */ PragTyp_INTEGRITY_CHECK,
drhc45fdb22017-06-21 01:36:30 +0000485 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_Result1,
drhc232aca2016-12-15 16:01:17 +0000486 /* ColNames: */ 0, 0,
487 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000488#endif
489#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000490 {/* zName: */ "read_uncommitted",
491 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000492 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000493 /* ColNames: */ 0, 0,
drh169dd922017-06-26 13:57:49 +0000494 /* iArg: */ SQLITE_ReadUncommit },
drhc232aca2016-12-15 16:01:17 +0000495 {/* zName: */ "recursive_triggers",
496 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000497 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000498 /* ColNames: */ 0, 0,
499 /* iArg: */ SQLITE_RecTriggers },
drh67e65e52015-02-02 21:34:54 +0000500#endif
501#if defined(SQLITE_HAS_CODEC)
drhc232aca2016-12-15 16:01:17 +0000502 {/* zName: */ "rekey",
503 /* ePragTyp: */ PragTyp_REKEY,
504 /* ePragFlg: */ 0,
505 /* ColNames: */ 0, 0,
506 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000507#endif
508#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000509 {/* zName: */ "reverse_unordered_selects",
510 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000511 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000512 /* ColNames: */ 0, 0,
513 /* iArg: */ SQLITE_ReverseOrder },
drh67e65e52015-02-02 21:34:54 +0000514#endif
515#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000516 {/* zName: */ "schema_version",
517 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000518 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000519 /* ColNames: */ 0, 0,
520 /* iArg: */ BTREE_SCHEMA_VERSION },
drh67e65e52015-02-02 21:34:54 +0000521#endif
522#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000523 {/* zName: */ "secure_delete",
524 /* ePragTyp: */ PragTyp_SECURE_DELETE,
525 /* ePragFlg: */ PragFlg_Result0,
526 /* ColNames: */ 0, 0,
527 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000528#endif
529#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000530 {/* zName: */ "short_column_names",
531 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000532 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000533 /* ColNames: */ 0, 0,
534 /* iArg: */ SQLITE_ShortColNames },
drh67e65e52015-02-02 21:34:54 +0000535#endif
drhc232aca2016-12-15 16:01:17 +0000536 {/* zName: */ "shrink_memory",
537 /* ePragTyp: */ PragTyp_SHRINK_MEMORY,
dane1ff3f52017-01-06 13:49:40 +0000538 /* ePragFlg: */ PragFlg_NoColumns,
drhc232aca2016-12-15 16:01:17 +0000539 /* ColNames: */ 0, 0,
540 /* iArg: */ 0 },
541 {/* zName: */ "soft_heap_limit",
542 /* ePragTyp: */ PragTyp_SOFT_HEAP_LIMIT,
543 /* ePragFlg: */ PragFlg_Result0,
544 /* ColNames: */ 0, 0,
545 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000546#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
547#if defined(SQLITE_DEBUG)
drhc232aca2016-12-15 16:01:17 +0000548 {/* zName: */ "sql_trace",
549 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000550 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000551 /* ColNames: */ 0, 0,
552 /* iArg: */ SQLITE_SqlTrace },
drh67e65e52015-02-02 21:34:54 +0000553#endif
554#endif
drh33bec3f2017-02-17 13:38:15 +0000555#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS) && defined(SQLITE_DEBUG)
drhc232aca2016-12-15 16:01:17 +0000556 {/* zName: */ "stats",
557 /* ePragTyp: */ PragTyp_STATS,
558 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
drh33bec3f2017-02-17 13:38:15 +0000559 /* ColNames: */ 7, 5,
drhc232aca2016-12-15 16:01:17 +0000560 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000561#endif
562#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000563 {/* zName: */ "synchronous",
564 /* ePragTyp: */ PragTyp_SYNCHRONOUS,
dan9e1ab1a2017-01-05 19:32:48 +0000565 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000566 /* ColNames: */ 0, 0,
567 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000568#endif
569#if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000570 {/* zName: */ "table_info",
571 /* ePragTyp: */ PragTyp_TABLE_INFO,
572 /* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
573 /* ColNames: */ 1, 6,
574 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000575#endif
576#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000577 {/* zName: */ "temp_store",
578 /* ePragTyp: */ PragTyp_TEMP_STORE,
dan9e1ab1a2017-01-05 19:32:48 +0000579 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000580 /* ColNames: */ 0, 0,
581 /* iArg: */ 0 },
582 {/* zName: */ "temp_store_directory",
583 /* ePragTyp: */ PragTyp_TEMP_STORE_DIRECTORY,
dan9e1ab1a2017-01-05 19:32:48 +0000584 /* ePragFlg: */ PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000585 /* ColNames: */ 0, 0,
586 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000587#endif
drhc232aca2016-12-15 16:01:17 +0000588 {/* zName: */ "threads",
589 /* ePragTyp: */ PragTyp_THREADS,
590 /* ePragFlg: */ PragFlg_Result0,
591 /* ColNames: */ 0, 0,
592 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000593#if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000594 {/* zName: */ "user_version",
595 /* ePragTyp: */ PragTyp_HEADER_VALUE,
dan9e1ab1a2017-01-05 19:32:48 +0000596 /* ePragFlg: */ PragFlg_NoColumns1|PragFlg_Result0,
drhc232aca2016-12-15 16:01:17 +0000597 /* ColNames: */ 0, 0,
598 /* iArg: */ BTREE_USER_VERSION },
drh67e65e52015-02-02 21:34:54 +0000599#endif
600#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
601#if defined(SQLITE_DEBUG)
drhc232aca2016-12-15 16:01:17 +0000602 {/* zName: */ "vdbe_addoptrace",
603 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000604 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000605 /* ColNames: */ 0, 0,
606 /* iArg: */ SQLITE_VdbeAddopTrace },
607 {/* zName: */ "vdbe_debug",
608 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000609 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000610 /* ColNames: */ 0, 0,
611 /* iArg: */ SQLITE_SqlTrace|SQLITE_VdbeListing|SQLITE_VdbeTrace },
612 {/* zName: */ "vdbe_eqp",
613 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000614 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000615 /* ColNames: */ 0, 0,
616 /* iArg: */ SQLITE_VdbeEQP },
617 {/* zName: */ "vdbe_listing",
618 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000619 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000620 /* ColNames: */ 0, 0,
621 /* iArg: */ SQLITE_VdbeListing },
622 {/* zName: */ "vdbe_trace",
623 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000624 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000625 /* ColNames: */ 0, 0,
626 /* iArg: */ SQLITE_VdbeTrace },
drh67e65e52015-02-02 21:34:54 +0000627#endif
628#endif
629#if !defined(SQLITE_OMIT_WAL)
drhc232aca2016-12-15 16:01:17 +0000630 {/* zName: */ "wal_autocheckpoint",
631 /* ePragTyp: */ PragTyp_WAL_AUTOCHECKPOINT,
632 /* ePragFlg: */ 0,
633 /* ColNames: */ 0, 0,
634 /* iArg: */ 0 },
635 {/* zName: */ "wal_checkpoint",
636 /* ePragTyp: */ PragTyp_WAL_CHECKPOINT,
637 /* ePragFlg: */ PragFlg_NeedSchema,
drhab53bb62017-07-07 15:43:22 +0000638 /* ColNames: */ 46, 3,
drhc232aca2016-12-15 16:01:17 +0000639 /* iArg: */ 0 },
drh67e65e52015-02-02 21:34:54 +0000640#endif
641#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
drhc232aca2016-12-15 16:01:17 +0000642 {/* zName: */ "writable_schema",
643 /* ePragTyp: */ PragTyp_FLAG,
dan9e1ab1a2017-01-05 19:32:48 +0000644 /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1,
drhc232aca2016-12-15 16:01:17 +0000645 /* ColNames: */ 0, 0,
drh169dd922017-06-26 13:57:49 +0000646 /* iArg: */ SQLITE_WriteSchema },
drh67e65e52015-02-02 21:34:54 +0000647#endif
648};
drh8ae11aa2017-07-07 17:33:07 +0000649/* Number of pragmas: 60 on by default, 77 total. */