]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge all recent trunk changes, including the movement of the pragma index_xinfo
authordrh <drh@noemail.net>
Wed, 4 Feb 2015 23:13:48 +0000 (23:13 +0000)
committerdrh <drh@noemail.net>
Wed, 4 Feb 2015 23:13:48 +0000 (23:13 +0000)
table into the separate pragma.h header file.

FossilOrigin-Name: 3af19f84446ba5fc1ed754d0d73f6a6d7fb2f365

1  2 
manifest
manifest.uuid
src/pragma.c
src/pragma.h
test/pragma.test
tool/mkpragmatab.tcl

diff --cc manifest
index effa8658b49435c46ff44e933eb1cd882b15e55c,a6ffc54bbf04455c77488f4b300af6b5f31e13a3..a971e309c7ebb2608c73d0f27c560de1f8d4d61f
+++ b/manifest
@@@ -1,9 -1,9 +1,9 @@@
- C Add\sthe\s"index_xinfo"\spragma.\s\sAdd\snew\scolumns\sto\sthe\s"index_info"\sand\n"index_list"\spragmas.
- D 2015-01-31T02:00:01.018
 -C Fix\sa\smissing\smutex\sin\sSQLITE_TESTCTRL_IMPOSTER.
 -D 2015-02-04T20:56:49.607
++C Merge\sall\srecent\strunk\schanges,\sincluding\sthe\smovement\sof\sthe\spragma\ntable\sinto\sthe\sseparate\spragma.h\sheader\sfile.
++D 2015-02-04T23:13:48.687
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in 5407a688f4d77a05c18a8142be8ae5a2829dd610
+ F Makefile.in 6b9e7677829aa94b9f30949656e27312aefb9a46
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 1edfd7dd45d98a04f9a2fa81a01c49faeb628578
+ F Makefile.msc fc6b0b233b5621f3e56298e4d6a0b3f6c936c520
  F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
  F README.md d58e3bebc0a4145e0f2a87994015fdb575a8e866
  F VERSION d846487aff892625eb8e75960234e7285f0462fe
@@@ -223,7 -223,8 +223,8 @@@ F src/parse.y c5d0d964f9ac023e8154cad51
  F src/pcache.c d210cf90d04365a74f85d21374dded65af67b0cb
  F src/pcache.h b44658c9c932d203510279439d891a2a83e12ba8
  F src/pcache1.c 1e77432b40b7d3288327d9cdf399dcdfd2b6d3bf
- F src/pragma.c f4d0326361cc875ecd9c92100c5b17363a6a671a
 -F src/pragma.c 58044728a29a0240d14a850c3870e5ac3da436b2
 -F src/pragma.h 28804eae1286aab6f2ffa3682dc0b06b58c51834
++F src/pragma.c ea0be138a99784b14e87bd4522fea40e7b979e9c
++F src/pragma.h 09c89bca58e9a44de2116cc8272b8d454657129f
  F src/prepare.c 173a5a499138451b2561614ecb87d78f9f4644b9
  F src/printf.c 05edc41450d0eb2c05ef7db113bf32742ae65325
  F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
@@@ -786,7 -787,7 +787,7 @@@ F test/pcache.test b09104b03160aca0d968
  F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
  F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
  F test/permutations.test f9cc1dd987986c9d4949211c7a4ed55ec9aecba1
- F test/pragma.test 66776f48f533c7248d04c1473deb3ebb792daacd
 -F test/pragma.test aa16dedfe01c02c8895169012f7dfde9c163f0d5
++F test/pragma.test 6cf0f0ce4618e841457aa42745afda55ddbc95fe
  F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13
  F test/pragma3.test 6f849ccffeee7e496d2f2b5e74152306c0b8757c
  F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
@@@ -1202,10 -1203,10 +1203,10 @@@ F tool/logest.c eef612f8adf4d0993dafed0
  F tool/mkautoconfamal.sh d1a2da0e15b2ed33d60af35c7e9d483f13a8eb9f
  F tool/mkkeywordhash.c dfff09dbbfaf950e89af294f48f902181b144670
  F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
- F tool/mkpragmatab.tcl 4a3b465f0a800d22ca419daad34389c6a44858c2
 -F tool/mkpragmatab.tcl 4b4e91f6b8fc45596686798b918999e923b91fc7
++F tool/mkpragmatab.tcl 94f196c9961e0ca3513e29f57125a3197808be2d
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
  F tool/mksqlite3c-noext.tcl 9ef48e1748dce7b844f67e2450ff9dfeb0fb4ab5
- F tool/mksqlite3c.tcl cfde806851c413db7689b9cb74a4eeb92539c601
+ F tool/mksqlite3c.tcl 6b8e572a90eb4e0086e3ba90d88b76c085919863
  F tool/mksqlite3h.tcl ba24038056f51fde07c0079c41885ab85e2cff12
  F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b
  F tool/mkvsix.tcl 52a4c613707ac34ae9c226e5ccc69cb948556105
@@@ -1238,10 -1239,7 +1239,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 42d5601739c90434e5adfda8fa99ef7b903877db
- R 6dd4b55c378d1f90a678654a5a3c72aa
- T *branch * index_xinfo
- T *sym-index_xinfo *
- T -sym-trunk *
 -P f30a057aeeac2b863493b6325325b075a76b9d21
 -R 7062d08c73f32c9ecf1fbd0a908460e5
++P 30f51d7b3b292191e8351223242e708bb7f3dfa6 71691c4be54b9ac6a35e35013f939b7d6fd4e6b8
++R 378ae50354305236538b7809f97882cb
  U drh
- Z 111ada8400958c014924f86391246d25
 -Z 50e6879801fe010f0d0350ec5e4483dd
++Z 0caaf9e8578eb01b04939eddfffb5b67
diff --cc manifest.uuid
index 6dcf9f25fb5939a64407f120b7543ce98e7c6b42,c2bb1d10ac873370be7438ab312a63ed769c7a31..28c1161b98dfc82c276e643304255854679596b6
@@@ -1,1 -1,1 +1,1 @@@
- 30f51d7b3b292191e8351223242e708bb7f3dfa6
 -71691c4be54b9ac6a35e35013f939b7d6fd4e6b8
++3af19f84446ba5fc1ed754d0d73f6a6d7fb2f365
diff --cc src/pragma.c
Simple merge
diff --cc src/pragma.h
index 0000000000000000000000000000000000000000,e5ffeb35c95ea652512e7cf3325be9d0d433008a..c9ae8e6eb8e94e4857b5029b69e4fe333c6201ce
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,455 +1,459 @@@
 -/* Number of pragmas: 58 on by default, 71 total. */
+ /* DO NOT EDIT!
+ ** This file is automatically generated by the script at
+ ** ../tool/mkpragmatab.tcl.  To update the set of pragmas, edit
+ ** that script and rerun it.
+ */
+ #define PragTyp_HEADER_VALUE                   0
+ #define PragTyp_AUTO_VACUUM                    1
+ #define PragTyp_FLAG                           2
+ #define PragTyp_BUSY_TIMEOUT                   3
+ #define PragTyp_CACHE_SIZE                     4
+ #define PragTyp_CASE_SENSITIVE_LIKE            5
+ #define PragTyp_COLLATION_LIST                 6
+ #define PragTyp_COMPILE_OPTIONS                7
+ #define PragTyp_DATA_STORE_DIRECTORY           8
+ #define PragTyp_DATABASE_LIST                  9
+ #define PragTyp_DEFAULT_CACHE_SIZE            10
+ #define PragTyp_ENCODING                      11
+ #define PragTyp_FOREIGN_KEY_CHECK             12
+ #define PragTyp_FOREIGN_KEY_LIST              13
+ #define PragTyp_INCREMENTAL_VACUUM            14
+ #define PragTyp_INDEX_INFO                    15
+ #define PragTyp_INDEX_LIST                    16
+ #define PragTyp_INTEGRITY_CHECK               17
+ #define PragTyp_JOURNAL_MODE                  18
+ #define PragTyp_JOURNAL_SIZE_LIMIT            19
+ #define PragTyp_LOCK_PROXY_FILE               20
+ #define PragTyp_LOCKING_MODE                  21
+ #define PragTyp_PAGE_COUNT                    22
+ #define PragTyp_MMAP_SIZE                     23
+ #define PragTyp_PAGE_SIZE                     24
+ #define PragTyp_SECURE_DELETE                 25
+ #define PragTyp_SHRINK_MEMORY                 26
+ #define PragTyp_SOFT_HEAP_LIMIT               27
+ #define PragTyp_STATS                         28
+ #define PragTyp_SYNCHRONOUS                   29
+ #define PragTyp_TABLE_INFO                    30
+ #define PragTyp_TEMP_STORE                    31
+ #define PragTyp_TEMP_STORE_DIRECTORY          32
+ #define PragTyp_THREADS                       33
+ #define PragTyp_WAL_AUTOCHECKPOINT            34
+ #define PragTyp_WAL_CHECKPOINT                35
+ #define PragTyp_ACTIVATE_EXTENSIONS           36
+ #define PragTyp_HEXKEY                        37
+ #define PragTyp_KEY                           38
+ #define PragTyp_REKEY                         39
+ #define PragTyp_LOCK_STATUS                   40
+ #define PragTyp_PARSER_TRACE                  41
+ #define PragFlag_NeedSchema           0x01
+ #define PragFlag_ReadOnly             0x02
+ static const struct sPragmaNames {
+   const char *const zName;  /* Name of pragma */
+   u8 ePragTyp;              /* PragTyp_XXX value */
+   u8 mPragFlag;             /* Zero or more PragFlag_XXX values */
+   u32 iArg;                 /* Extra argument */
+ } aPragmaNames[] = {
+ #if defined(SQLITE_HAS_CODEC) || defined(SQLITE_ENABLE_CEROD)
+   { /* zName:     */ "activate_extensions",
+     /* ePragTyp:  */ PragTyp_ACTIVATE_EXTENSIONS,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
+   { /* zName:     */ "application_id",
+     /* ePragTyp:  */ PragTyp_HEADER_VALUE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ BTREE_APPLICATION_ID },
+ #endif
+ #if !defined(SQLITE_OMIT_AUTOVACUUM)
+   { /* zName:     */ "auto_vacuum",
+     /* ePragTyp:  */ PragTyp_AUTO_VACUUM,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+ #if !defined(SQLITE_OMIT_AUTOMATIC_INDEX)
+   { /* zName:     */ "automatic_index",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_AutoIndex },
+ #endif
+ #endif
+   { /* zName:     */ "busy_timeout",
+     /* ePragTyp:  */ PragTyp_BUSY_TIMEOUT,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
+   { /* zName:     */ "cache_size",
+     /* ePragTyp:  */ PragTyp_CACHE_SIZE,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "cache_spill",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_CacheSpill },
+ #endif
+   { /* zName:     */ "case_sensitive_like",
+     /* ePragTyp:  */ PragTyp_CASE_SENSITIVE_LIKE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "checkpoint_fullfsync",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_CkptFullFSync },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
+   { /* zName:     */ "collation_list",
+     /* ePragTyp:  */ PragTyp_COLLATION_LIST,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_COMPILEOPTION_DIAGS)
+   { /* zName:     */ "compile_options",
+     /* ePragTyp:  */ PragTyp_COMPILE_OPTIONS,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "count_changes",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_CountRows },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_OS_WIN
+   { /* zName:     */ "data_store_directory",
+     /* ePragTyp:  */ PragTyp_DATA_STORE_DIRECTORY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
+   { /* zName:     */ "data_version",
+     /* ePragTyp:  */ PragTyp_HEADER_VALUE,
+     /* ePragFlag: */ PragFlag_ReadOnly,
+     /* iArg:      */ BTREE_DATA_VERSION },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
+   { /* zName:     */ "database_list",
+     /* ePragTyp:  */ PragTyp_DATABASE_LIST,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && !defined(SQLITE_OMIT_DEPRECATED)
+   { /* zName:     */ "default_cache_size",
+     /* ePragTyp:  */ PragTyp_DEFAULT_CACHE_SIZE,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+ #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
+   { /* zName:     */ "defer_foreign_keys",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_DeferFKs },
+ #endif
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "empty_result_callbacks",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_NullCallback },
+ #endif
+ #if !defined(SQLITE_OMIT_UTF16)
+   { /* zName:     */ "encoding",
+     /* ePragTyp:  */ PragTyp_ENCODING,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
+   { /* zName:     */ "foreign_key_check",
+     /* ePragTyp:  */ PragTyp_FOREIGN_KEY_CHECK,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FOREIGN_KEY)
+   { /* zName:     */ "foreign_key_list",
+     /* ePragTyp:  */ PragTyp_FOREIGN_KEY_LIST,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+ #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
+   { /* zName:     */ "foreign_keys",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_ForeignKeys },
+ #endif
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
+   { /* zName:     */ "freelist_count",
+     /* ePragTyp:  */ PragTyp_HEADER_VALUE,
+     /* ePragFlag: */ PragFlag_ReadOnly,
+     /* iArg:      */ BTREE_FREE_PAGE_COUNT },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "full_column_names",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_FullColNames },
+   { /* zName:     */ "fullfsync",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_FullFSync },
+ #endif
+ #if defined(SQLITE_HAS_CODEC)
+   { /* zName:     */ "hexkey",
+     /* ePragTyp:  */ PragTyp_HEXKEY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "hexrekey",
+     /* ePragTyp:  */ PragTyp_HEXKEY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+ #if !defined(SQLITE_OMIT_CHECK)
+   { /* zName:     */ "ignore_check_constraints",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_IgnoreChecks },
+ #endif
+ #endif
+ #if !defined(SQLITE_OMIT_AUTOVACUUM)
+   { /* zName:     */ "incremental_vacuum",
+     /* ePragTyp:  */ PragTyp_INCREMENTAL_VACUUM,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
+   { /* zName:     */ "index_info",
+     /* ePragTyp:  */ PragTyp_INDEX_INFO,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "index_list",
+     /* ePragTyp:  */ PragTyp_INDEX_LIST,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
++  { /* zName:     */ "index_xinfo",
++    /* ePragTyp:  */ PragTyp_INDEX_INFO,
++    /* ePragFlag: */ PragFlag_NeedSchema,
++    /* iArg:      */ 1 },
+ #endif
+ #if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
+   { /* zName:     */ "integrity_check",
+     /* ePragTyp:  */ PragTyp_INTEGRITY_CHECK,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
+   { /* zName:     */ "journal_mode",
+     /* ePragTyp:  */ PragTyp_JOURNAL_MODE,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "journal_size_limit",
+     /* ePragTyp:  */ PragTyp_JOURNAL_SIZE_LIMIT,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if defined(SQLITE_HAS_CODEC)
+   { /* zName:     */ "key",
+     /* ePragTyp:  */ PragTyp_KEY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "legacy_file_format",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_LegacyFileFmt },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
+   { /* zName:     */ "lock_proxy_file",
+     /* ePragTyp:  */ PragTyp_LOCK_PROXY_FILE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
+   { /* zName:     */ "lock_status",
+     /* ePragTyp:  */ PragTyp_LOCK_STATUS,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
+   { /* zName:     */ "locking_mode",
+     /* ePragTyp:  */ PragTyp_LOCKING_MODE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "max_page_count",
+     /* ePragTyp:  */ PragTyp_PAGE_COUNT,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "mmap_size",
+     /* ePragTyp:  */ PragTyp_MMAP_SIZE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "page_count",
+     /* ePragTyp:  */ PragTyp_PAGE_COUNT,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "page_size",
+     /* ePragTyp:  */ PragTyp_PAGE_SIZE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if defined(SQLITE_DEBUG)
+   { /* zName:     */ "parser_trace",
+     /* ePragTyp:  */ PragTyp_PARSER_TRACE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "query_only",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_QueryOnly },
+ #endif
+ #if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
+   { /* zName:     */ "quick_check",
+     /* ePragTyp:  */ PragTyp_INTEGRITY_CHECK,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "read_uncommitted",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_ReadUncommitted },
+   { /* zName:     */ "recursive_triggers",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_RecTriggers },
+ #endif
+ #if defined(SQLITE_HAS_CODEC)
+   { /* zName:     */ "rekey",
+     /* ePragTyp:  */ PragTyp_REKEY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "reverse_unordered_selects",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_ReverseOrder },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
+   { /* zName:     */ "schema_version",
+     /* ePragTyp:  */ PragTyp_HEADER_VALUE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ BTREE_SCHEMA_VERSION },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
+   { /* zName:     */ "secure_delete",
+     /* ePragTyp:  */ PragTyp_SECURE_DELETE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "short_column_names",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_ShortColNames },
+ #endif
+   { /* zName:     */ "shrink_memory",
+     /* ePragTyp:  */ PragTyp_SHRINK_MEMORY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "soft_heap_limit",
+     /* ePragTyp:  */ PragTyp_SOFT_HEAP_LIMIT,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+ #if defined(SQLITE_DEBUG)
+   { /* zName:     */ "sql_trace",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_SqlTrace },
+ #endif
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
+   { /* zName:     */ "stats",
+     /* ePragTyp:  */ PragTyp_STATS,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
+   { /* zName:     */ "synchronous",
+     /* ePragTyp:  */ PragTyp_SYNCHRONOUS,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS)
+   { /* zName:     */ "table_info",
+     /* ePragTyp:  */ PragTyp_TABLE_INFO,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
+   { /* zName:     */ "temp_store",
+     /* ePragTyp:  */ PragTyp_TEMP_STORE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "temp_store_directory",
+     /* ePragTyp:  */ PragTyp_TEMP_STORE_DIRECTORY,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #endif
+   { /* zName:     */ "threads",
+     /* ePragTyp:  */ PragTyp_THREADS,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+ #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS)
+   { /* zName:     */ "user_version",
+     /* ePragTyp:  */ PragTyp_HEADER_VALUE,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ BTREE_USER_VERSION },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+ #if defined(SQLITE_DEBUG)
+   { /* zName:     */ "vdbe_addoptrace",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_VdbeAddopTrace },
+   { /* zName:     */ "vdbe_debug",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_SqlTrace|SQLITE_VdbeListing|SQLITE_VdbeTrace },
+   { /* zName:     */ "vdbe_eqp",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_VdbeEQP },
+   { /* zName:     */ "vdbe_listing",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_VdbeListing },
+   { /* zName:     */ "vdbe_trace",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_VdbeTrace },
+ #endif
+ #endif
+ #if !defined(SQLITE_OMIT_WAL)
+   { /* zName:     */ "wal_autocheckpoint",
+     /* ePragTyp:  */ PragTyp_WAL_AUTOCHECKPOINT,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ 0 },
+   { /* zName:     */ "wal_checkpoint",
+     /* ePragTyp:  */ PragTyp_WAL_CHECKPOINT,
+     /* ePragFlag: */ PragFlag_NeedSchema,
+     /* iArg:      */ 0 },
+ #endif
+ #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
+   { /* zName:     */ "writable_schema",
+     /* ePragTyp:  */ PragTyp_FLAG,
+     /* ePragFlag: */ 0,
+     /* iArg:      */ SQLITE_WriteSchema|SQLITE_RecoveryMode },
+ #endif
+ };
++/* Number of pragmas: 59 on by default, 72 total. */
index 1628cbaecf0275efaa026520d3b7d90b3f803b9d,09b9b6c14f53c84c90efef6cbc8b7cad87a848d8..e2673d3eef112231c0fceb9abfe443e9dd0d17c4
@@@ -1739,13 -1710,8 +1739,14 @@@ do_test 23.2a 
      DROP INDEX i2;
      CREATE INDEX i2 ON t1(c,d,b);
    }
 -  db2 eval {PRAGMA index_info(i2)}
 -} {0 2 c 1 3 d 2 1 b}
 +  capture_pragma db2 out {PRAGMA index_info(i2)}
 +  db2 eval {SELECT cid, name, "desc", coll, "key", '|' FROM out ORDER BY seqno}
 +} {2 c 0 BINARY 1 | 3 d 0 BINARY 1 | 1 b 0 BINARY 1 |}
 +do_test 23.2b {
++breakpoint;
 +  capture_pragma db2 out {PRAGMA index_xinfo(i2)}
 +  db2 eval {SELECT cid, name, "desc", coll, "key", '|' FROM out ORDER BY seqno}
 +} {2 c 0 BINARY 1 | 3 d 0 BINARY 1 | 1 b 0 BINARY 1 | -1 {} 0 BINARY 0 |}
  do_test 23.3 {
    db eval {
      CREATE INDEX i3 ON t1(d,b,c);
Simple merge