]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge latest trunk changes into this branch.
authordan <Dan Kennedy>
Fri, 9 Jul 2021 13:29:19 +0000 (13:29 +0000)
committerdan <Dan Kennedy>
Fri, 9 Jul 2021 13:29:19 +0000 (13:29 +0000)
FossilOrigin-Name: 0e968f9de3b706fedb675d058ed713a9e639c46d1482dec98c3449567242501e

15 files changed:
1  2 
manifest
manifest.uuid
src/build.c
src/ctime.c
src/main.c
src/pragma.c
src/shell.c.in
src/sqlite.h.in
src/sqliteInt.h
src/tclsqlite.c
src/trigger.c
src/vacuum.c
src/vdbe.c
src/vdbeaux.c
src/vtab.c

diff --cc manifest
index 1ce1c005662e4b9a06c3360861fd2f63aa477827,5254c5394e8a6da55e6be9bc123286075e5de6e3..973651c2bc9e63ecc09e4f855a0051d5ea683026
+++ b/manifest
@@@ -1,13 -1,13 +1,13 @@@
- C Merge\sversion\s3.36.0
- D 2021-06-18T19:01:15.358
 -C Add\sthe\susual\s"#ifdef\s__cplusplus"\smagic\sto\sheader\sfile\sext/misc/carray.h.\sAlso\supdate\scarray.h/carray.c\sto\suse\sSQLITE_API\sin\sthe\susual\sway.
 -D 2021-07-09T11:52:53.967
++C Merge\slatest\strunk\schanges\sinto\sthis\sbranch.
++D 2021-07-09T13:29:19.610
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
 -F Makefile.in ff5ac24ec9cb700135ee4453fa14c18ea371e94250d3673bda1f2cb56e1108ce
 +F Makefile.in 765671233690245f245781e7a7521db51efe95b411fbfa39b1aa47406b57b052
  F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
 -F Makefile.msc 8285e1ea7264f32b08702866d69dd127c0f663bbc2002323d853c68c27c6b6e4
 +F Makefile.msc 8ec4a2ce36283c9610ddb38952ddf4f9e55e10b57ab2e60120f30b0946453f3e
  F README.md 27fb76aa7eb57ed63a53bbba7292b6bf71f51125554f79f16b5d040edd1e6110
- F VERSION 8c392f6d70d82e513a0eac622bdf23c43df3e084cb630288beba8cef3012c812
+ F VERSION c6595fef606851f2bc3ebed6a7386c73751835fc909feab7c093739fa4b3c1d1
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@@ -486,30 -485,30 +486,30 @@@ F src/auth.c 08954fdc4cc2da5264ba5b75cf
  F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d
  F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
  F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
- F src/btree.c 399e1ebcd6c4f9ad47f5457bfe3623441db287f0923433cf6539497791557be8
- F src/btree.h 096cc53baa58be22b02c896d1cf933c38cfc6d65f9253c1367ece8cc88a24de5
+ F src/btree.c e204a9c8fb4fe5dbb910a863ba487f4af9b5c501254ec4ccbfcdd6b1f65b7fb4
+ F src/btree.h 74d64b8f28cfa4a894d14d4ed64fa432cd697b98b61708d4351482ae15913e22
  F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0
- F src/build.c 26f1e22077a9b61f571c0c678fb30938d412d73cc14ae57ce469534142f14d07
 -F src/build.c 98e23c9197fd4c979f7d59360bd3b0050b37e683e078715f6f2fbfef77971f0d
 -F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
++F src/build.c fc5cbb36fc23c22a00507dbc303deb9b52dad56155e932690cd288ae5f4d6031
 +F src/callback.c d8cdf5d697a31cf54a2b64bce9001fe24f3522a566f44c9fe1eb3a0c7e291c56
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
- F src/ctime.c 1ee55d93b848c88b1a333a19e923b58e1bb328d95edb5bc5be9cc94794c6998d
 -F src/ctime.c 8159d5f706551861c18ec6c8f6bdf105e15ea00367f05d9ab65d31a1077facc1
++F src/ctime.c 22b5ea591c18d677b521a99d375dfc626917bc23786c5f52aca113924b8edb9e
  F src/date.c e0632f335952b32401482d099321bbf12716b29d6e72836b53ae49683ebae4bf
  F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
  F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c
  F src/delete.c 62451bba9fe641159e9c0b7d9d2bab1c48d0cff11e16de2d14000603d2af1fcf
- F src/expr.c 30a2abf526531ce6bd45fbc85bfec0fc3f6e5a0fb490cd2350855f2fc34dd789
+ F src/expr.c 62b6d0ac8ee30a4749b78b7b75ae951a911a5d49321af5fe41c05af4df9e7537
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 -F src/fkey.c e9063648396c58778f77583a678342fe4a9bc82436bf23c5f9f444f2df0fdaa4
 +F src/fkey.c 6dcbab4ead1dbfdc19da70a8650e5734a5124765f75fb840100117a7a45980d2
- F src/func.c 9eb67f0aaf1cf439c21d6fc8afe270973d6e8345af3f1ebda98ad42186d30f5b
+ F src/func.c c96ac6f7c4f2d684217c4673a80446e1b50e25b5ea79366f333f484622d010a0
  F src/global.c 25ba4d58476f6be29bba9d9d14f7f146b78476d3a4d75ebb8c3b736328afe0f9
  F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
  F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
  F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
  F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
- F src/insert.c 2189e0e596010a0dc5405d9f14f78db1ee2fa71138c931f5b6ea96610b95bfc1
+ F src/insert.c d560dc585c50e01b015cbf924c173de88f61c8c85b3d1adb9d4865b92fff2d72
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
- F src/loadext.c 12684b3f19cd103cea97cdf14d0758196d0c646e12a898d7245141a9abfde9a4
- F src/main.c 38617b2852922714056d996fab95f012abc62a69292e66d817ab411659891dfb
+ F src/loadext.c 0aa9e7f08e168e3874cb54984408e3976dafdf5616d511952c425b5ac088ea3e
 -F src/main.c aedd8596e4dbdedacbf69fc4ff0462404effb9e6528146a1fdf4adee004053c9
++F src/main.c 4cbd51ada454634da9c9e1cb8755854a4bcbfb541efb6506c3bbbe74ba9bbc26
  F src/malloc.c cbc93cdd429c4594912017d92ab656e2579aca64dbd1c6888551275bed46f25b
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@@ -538,23 -537,23 +538,23 @@@ F src/parse.y 6d90c816edf65e99fb978c3b5
  F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
  F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
  F src/pcache1.c 388304fd2d91c39591080b5e0f3c62cfba87db20370e7e0554062bfb29740e9f
- F src/pragma.c 300dcb000f9ac0ac35c913f5e232234275e5007d25147a6915e4ae06b4afd662
 -F src/pragma.c 9fe75aa29e8706a2cf6b9c1600ac05a2efc55c44ce719b65aa45d10ff58acc9d
 -F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf
 -F src/prepare.c 0d53d20532aada295c1690792a125adbd6435f5ce703ff0adf1b9b3605238b67
++F src/pragma.c 0db242cc1f0c52b255715a4b3fc4d82928f2bbb3f2d140cc02ef4dfecfd08741
 +F src/pragma.h ce2b135cde481eeb198af0dfc4781d58528ce80b17580a2b747b8fd4bc969e44
 +F src/prepare.c 3668279bfdec5e58e54a284b068d36746efadd5b2ecbb7475f3a1d12a8297653
  F src/printf.c 78fabb49b9ac9a12dd1c89d744abdc9b67fd3205e62967e158f78b965a29ec4b
  F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
- F src/resolve.c 35630effd4d16d2373caa41bae40a3d71f853f3ad0cb4f572f2ed4b8c350c1e9
+ F src/resolve.c b379c5ffe3b692e9c64fa37817cc0efa204b7c9468a818309dde85fd132d9d81
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c 4fa607bab6bcc580f12dbaf9c800b2250a1e408f10321a1d3bcb1dd30c447e62
- F src/shell.c.in b74c72fe42e054af48e0fc02069bbf094ec0eee5310c264d94385da55c3742ef
- F src/sqlite.h.in 8e559f3ab1329de8aeb5091dc0b2680a36f09fc556c1d05a878300ef93f3e4fd
+ F src/select.c 1c1230aaa4e5979edd3c5a9f7a90ab856a302cca4962e8a7d08f42dd2e7e1a49
 -F src/shell.c.in 856de2945bb7fdfdeebe7136cf1b59d24618845aa5e5f3937fda7ff37c623b51
 -F src/sqlite.h.in ecf5aa981da30c33da3e9f353bf3ebf055d3c380c80d6a4f954e58d18ccd6df1
++F src/shell.c.in 6f0febe1616aa22d620601de1021da0933e85e1b878ce61d1d9fe08b3abc8be6
++F src/sqlite.h.in e771265620ab6297e6a4aef5bcac80a1b65594f63a89447cfd3ad7a9a0c62f3e
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
- F src/sqlite3ext.h 61b38c073d5e1e96a3d45271b257aef27d0d13da2bea5347692ae579475cd95e
- F src/sqliteInt.h 3e236c3a570214d3eb5777bd9cfe58a35179c1ad36432f17b1a45c2d5d43d81f
+ F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510
 -F src/sqliteInt.h 129619232aa632fa85db7792bfe4b378ed28d3361bf9cbcdb4522353fd04b89b
++F src/sqliteInt.h 3a76e446ad646e6f4e221926885bbc843a0324408d98cdedd4346d6ade20a02b
  F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
 -F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
 +F src/status.c d0956e57c71160155f620a3efeb1e5c05a3f8b9a897dd09c5263268e5d237579
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
- F src/tclsqlite.c 5642a5fd32de2cebdb739c8f3ec5af5582939b20fd7ae1802a4f97098312d273
 -F src/tclsqlite.c 05663f6b5010b044eac0ef22fc8fb5ea3406d2502700a898261683258042c88b
++F src/tclsqlite.c 1ae70091c34402aec6f637ef5646789f68be1169fe4332d6844db0666773cee3
  F src/test1.c 2100f4c28bae21ce83a9a0c5ec6827efd0e15d11b93b569b614daa5654b3fcf6
  F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
  F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
@@@ -610,25 -608,25 +610,25 @@@ F src/test_windirent.h 90dfbe95442c9762
  F src/test_window.c cdae419fdcea5bad6dcd9368c685abdad6deb59e9fc8b84b153de513d394ba3f
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
 -F src/tokenize.c bae853ad129d1129c063de8630a3e99e306283bc40146f359b1bb91be2c08f1e
 +F src/tokenize.c 9495a8272c339a330071d0078a85d1e2f36d1f4c39306495c2b080a2350060e1
- F src/treeview.c 21449a944d5abd3ac07b7eab76f7221e20c9480d06f01798f8dc66d9bc361769
- F src/trigger.c ebb7d641c9ffb7df421407938f03b6d0dea819e267c9e35449391680f400658d
- F src/update.c 56fa0458b1ffc1042629f926443e8ed44203983df3ab2b0db2ba556e6ceed68c
+ F src/treeview.c ce7a3da38caba094c78d888d2366f749ea33dc8cbafb04218b57768fb8669a6c
 -F src/trigger.c 7d16aa09e63226b6d8b3f0fc60b21cbfa596fc406288b2ebcf4266633d1ba222
++F src/trigger.c 9bb571c9d18e6ed687da3616e97e026cf1458373cdcb429023cee3371c214abc
+ F src/update.c ff10c7ca6dc9007cdebb3eee6630e87639ef9f949ccb574c34f9d34c52c32fb9
  F src/upsert.c df8f1727d62b5987c4fd302cd4d7c0c84ae57cd65683c5a34a740dfe24039235
  F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
  F src/util.c 41c7a72da1df47864faa378a1c720b38adb288c6838cb6be5594511b6287a048
- F src/vacuum.c 724188c5afbba905b310e8d8e78530956d16e6d60a3ba8a1105d05732d7d8601
- F src/vdbe.c 4f3ff64f31cc35dfb9c4e3b00a5d5c2c5026de6ae58b6f5b8ab0e2936f140e40
 -F src/vacuum.c 454973a59fb20bb982efc2df568a098616db6328a0491b6e84e2e07f7333db45
 -F src/vdbe.c 27149413d6b09684b83746eb8f26210baf50eb23925b64261b6d93119a218435
 -F src/vdbe.h 25dabb25c7e157b84e59260cfb5b466c3ac103ede9f36f4db371332c47601abe
++F src/vacuum.c 344acf0354037adb6d64451968a4ec0a6a8f81e753acdc5fe852cb4d4fcf4a6a
++F src/vdbe.c 001e4d3204008a3723ff77e95eebf307bc18e9737e290bcffb26c96c1a393e6f
 +F src/vdbe.h bfde0b0f429a0ba4203e5319780a6a1c8b2a809c5cd6baa9ae22e257a657b8b3
- F src/vdbeInt.h 465fcb494db4ca6630fb9c19b2f3dfed597fbe885b0d4204193a5093b0dd7dc6
+ F src/vdbeInt.h 1fc1e3581afcd3f56bdbe930639edac84ee823c034f31da97f49c35522f4c8c2
  F src/vdbeapi.c aa5aaf2c37676b83af5724c6cd8207a3064ed46a217fd180957f75ac84f7a2a5
- F src/vdbeaux.c da8c06b87ff71a25a2eace72721f4506bd8a2bab87828413dbf33c77b8326f44
 -F src/vdbeaux.c 23f9800742b11eb6d1d775fd332a88252e44e9f7ba94b826e211a5d9dbfe0ced
 -F src/vdbeblob.c c6b8db50b227f66fb404215732068df76485b5b433e5f9d4d9ac27410b218193
++F src/vdbeaux.c 311422fcf2abb6021258e15519730ee09f936689f3808169e95e9d3f0f5e1070
 +F src/vdbeblob.c 3356ecdb98661972977744bb5c66c9cc02c0fc512267e749949b6d8b792dabe4
  F src/vdbemem.c 53881aa0a7845922a075b3f375695588618098871a7a4120af4c297b80fa3e64
  F src/vdbesort.c cd5130f683706c1a43e165a74187745fb3351cb56052cf9dc91de820634bbde2
  F src/vdbetrace.c 666c6fd9f1b62be6999e072a45b913e3c2c3518bc60dfd4d54fe304130acb724
  F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c
- F src/vtab.c b567ce416e332442ec51ccc7f1ac6059d1e32058cdfc8bceaf57d39b4150b094
 -F src/vtab.c 3a9a6ae1fd14f7c00af184233cb9f3bced89ae277a75a312f85fb77297a3cdfa
++F src/vtab.c 6dfae0d85a6757f58199bac4c7917ff82133664d2fcdc633ce4b08d03ef96110
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
  F src/wal.c c8ec20a1ca161d5635a4f19c2a4efec2e006e19a8a61f272bf6bce1c80ab7436
  F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
@@@ -1301,14 -1300,7 +1302,14 @@@ F test/releasetest.tcl 6f803ef0b896f8f3
  F test/releasetest_data.tcl f88ed29aa18366ed3956ace36c96ec6868ef5b9ee04cc05d32f4d81031e19e28
  F test/resetdb.test 8062cf10a09d8c048f8de7711e94571c38b38168db0e5877ba7561789e5eeb2b
  F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
- F test/returning1.test 52b4ed60f104a4ce85b38417e5319b2078b2b908c71a768d539cee3c0ce8bdc9
+ F test/returning1.test f96c7245f6ac16038e802760cd90b93479369939a8a7a44e2329ee5aed28239c
 +F test/reuse1.test faa2ce5ff566d936b8a10d9e22ba2ee66a54ce89fdcf8aef561df6b15b0ff3d3
 +F test/reuse2.test 5dd9c98579358f0d5a90d25e36dd6e678a03e23446b6c7f2630a8da22ae7ca94
 +F test/reuse3.test 876d15c42d61b1f6ab718cd8169912514ad314d7fe1cd9788080aa62168ba0d1
 +F test/reuse4.test adaad66253aea6cc748674328abe69b650c5c78b8676ed1162d3de09742519f9
 +F test/reuse5.test bbe6cf7384ef90f134392edd93d626385ef0bf6f40eefc3d993535cd0861d83b
 +F test/reuse6.test f4674f9967aee2a0b49c02832120b8b495291c0d87aae084c54e6c0cc18132fe
 +F test/reusefault.test ef646a0fb51d50ddfb4b7cd872f88e7d36eaba64bde7797b3418c3774e1c8d14
  F test/rollback.test 06680159bc6746d0f26276e339e3ae2f951c64812468308838e0a3362d911eaa
  F test/rollback2.test 3f3a4e20401825017df7e7671e9f31b6de5fae5620c2b9b49917f52f8c160a8f
  F test/rollbackfault.test 0e646aeab8840c399cfbfa43daab46fd609cf04a
@@@ -1928,7 -1920,7 +1930,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 92d8f967c9a7e4005c63703af8075b3d2ae5aa43c6b5bc6e599735dc4479bef6 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5
- R 36eb132f78c5514148fa4679afcdeeb6
- U drh
- Z e12fbca0ecb8c5a30c8e5b0bded987be
 -P eb8af9a494fb68c0a1c600b3ac71467645b51b296fc6e2116d7d855319d59a59
 -R 4921ff9c6662da771dcaa161286cae4d
++P 792215204d887ecb8b1a0d65773d272b84606c9867b52d94701039de5c8bb12c 0f97c2a459bfadc2fe19e710e8845039b4434010656d311074b9594b02d0826a
++R c6eb6e45dd2af5a78568e120430d9a60
+ U dan
 -Z a202a1f73cdb865aaa148dd68fbda945
++Z 01677c9d2c4937fcf26b705d5f5e2df2
diff --cc manifest.uuid
index 13585008a291be6923eb381d9f6088aa30895822,ff5ad7c1a3dd13360fcc1c8f3e1fa77c455ec82f..9a91353317c08a78d14570d496c609a0438ca98d
@@@ -1,1 -1,1 +1,1 @@@
- 792215204d887ecb8b1a0d65773d272b84606c9867b52d94701039de5c8bb12c
 -0f97c2a459bfadc2fe19e710e8845039b4434010656d311074b9594b02d0826a
++0e968f9de3b706fedb675d058ed713a9e639c46d1482dec98c3449567242501e
diff --cc src/build.c
index b35da336693c07dc971a2e657a4eed461ca5e435,00fa447957a2d4672de852dac42107b69845ddff..e44288953c669f47a69a1c5cd4b0735083227a51
@@@ -468,18 -452,9 +468,20 @@@ Table *sqlite3LocateTable
        if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){
          pMod = sqlite3PragmaVtabRegister(db, zName);
        }
 -      if( pMod && sqlite3VtabEponymousTableInit(pParse, pMod) ){
 -        testcase( pMod->pEpoTab==0 );
 -        return pMod->pEpoTab;
 +      if( pMod ){
 +        if( IsSharedSchema(db) && pParse->nErr==0 ){
 +          int bDummy = 0;
 +          pParse->rc = sqlite3SchemaLoad(db, 0, &bDummy, &pParse->zErrMsg);
 +          if( pParse->rc ) pParse->nErr++;
 +        }
 +        if( sqlite3VtabEponymousTableInit(pParse, pMod) ){
 +          Table *pEpoTab = pMod->pEpoTab;
-           assert( IsSharedSchema(db) || pEpoTab->pSchema==db->aDb[0].pSchema );
-           pEpoTab->pSchema = db->aDb[0].pSchema;  /* For SHARED_SCHEMA mode */
++          if( pEpoTab ){
++            assert( IsSharedSchema(db)||pEpoTab->pSchema==db->aDb[0].pSchema );
++            pEpoTab->pSchema = db->aDb[0].pSchema;  /* For SHARED_SCHEMA mode */
++          }
 +          return pEpoTab;
 +        }
        }
      }
  #endif
diff --cc src/ctime.c
index b0522555e7cf2fe6b415349249712520dfcd8538,de68ea7f5726dc9064ac820c0f2becd10ce9a76c..6609d44cdb84a4567642bed741f726dcc64a49b5
@@@ -263,97 -266,94 +266,97 @@@ static const char * const sqlite3azComp
  #ifdef SQLITE_ENABLE_LOCKING_STYLE
    "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE),
  #endif
- #if SQLITE_ENABLE_MATH_FUNCTIONS
+ #ifdef SQLITE_ENABLE_MATH_FUNCTIONS
    "ENABLE_MATH_FUNCTIONS",
  #endif
- #if SQLITE_ENABLE_MEMORY_MANAGEMENT
+ #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT
    "ENABLE_MEMORY_MANAGEMENT",
  #endif
- #if SQLITE_ENABLE_MEMSYS3
+ #ifdef SQLITE_ENABLE_MEMSYS3
    "ENABLE_MEMSYS3",
  #endif
- #if SQLITE_ENABLE_MEMSYS5
+ #ifdef SQLITE_ENABLE_MEMSYS5
    "ENABLE_MEMSYS5",
  #endif
- #if SQLITE_ENABLE_MULTIPLEX
+ #ifdef SQLITE_ENABLE_MULTIPLEX
    "ENABLE_MULTIPLEX",
  #endif
- #if SQLITE_ENABLE_NORMALIZE
+ #ifdef SQLITE_ENABLE_NORMALIZE
    "ENABLE_NORMALIZE",
  #endif
- #if SQLITE_ENABLE_NULL_TRIM
+ #ifdef SQLITE_ENABLE_NULL_TRIM
    "ENABLE_NULL_TRIM",
  #endif
- #if SQLITE_ENABLE_OFFSET_SQL_FUNC
+ #ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC
    "ENABLE_OFFSET_SQL_FUNC",
  #endif
- #if SQLITE_ENABLE_OVERSIZE_CELL_CHECK
+ #ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK
    "ENABLE_OVERSIZE_CELL_CHECK",
  #endif
- #if SQLITE_ENABLE_PREUPDATE_HOOK
+ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK
    "ENABLE_PREUPDATE_HOOK",
  #endif
- #if SQLITE_ENABLE_QPSG
+ #ifdef SQLITE_ENABLE_QPSG
    "ENABLE_QPSG",
  #endif
- #if SQLITE_ENABLE_RBU
+ #ifdef SQLITE_ENABLE_RBU
    "ENABLE_RBU",
  #endif
- #if SQLITE_ENABLE_RTREE
+ #ifdef SQLITE_ENABLE_RTREE
    "ENABLE_RTREE",
  #endif
- #if SQLITE_ENABLE_SELECTTRACE
+ #ifdef SQLITE_ENABLE_SELECTTRACE
    "ENABLE_SELECTTRACE",
  #endif
- #if SQLITE_ENABLE_SESSION
+ #ifdef SQLITE_ENABLE_SESSION
    "ENABLE_SESSION",
  #endif
- #if SQLITE_ENABLE_SNAPSHOT
 +#if SQLITE_ENABLE_SHARED_SCHEMA
 +  "ENABLE_SHARED_SCHEMA",
 +#endif
+ #ifdef SQLITE_ENABLE_SNAPSHOT
    "ENABLE_SNAPSHOT",
  #endif
- #if SQLITE_ENABLE_SORTER_REFERENCES
+ #ifdef SQLITE_ENABLE_SORTER_REFERENCES
    "ENABLE_SORTER_REFERENCES",
  #endif
- #if SQLITE_ENABLE_SQLLOG
+ #ifdef SQLITE_ENABLE_SQLLOG
    "ENABLE_SQLLOG",
  #endif
- #if SQLITE_ENABLE_STAT4
+ #ifdef SQLITE_ENABLE_STAT4
    "ENABLE_STAT4",
  #endif
- #if SQLITE_ENABLE_STMTVTAB
+ #ifdef SQLITE_ENABLE_STMTVTAB
    "ENABLE_STMTVTAB",
  #endif
- #if SQLITE_ENABLE_STMT_SCANSTATUS
+ #ifdef SQLITE_ENABLE_STMT_SCANSTATUS
    "ENABLE_STMT_SCANSTATUS",
  #endif
- #if SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+ #ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
    "ENABLE_UNKNOWN_SQL_FUNCTION",
  #endif
- #if SQLITE_ENABLE_UNLOCK_NOTIFY
+ #ifdef SQLITE_ENABLE_UNLOCK_NOTIFY
    "ENABLE_UNLOCK_NOTIFY",
  #endif
- #if SQLITE_ENABLE_UPDATE_DELETE_LIMIT
+ #ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
    "ENABLE_UPDATE_DELETE_LIMIT",
  #endif
- #if SQLITE_ENABLE_URI_00_ERROR
+ #ifdef SQLITE_ENABLE_URI_00_ERROR
    "ENABLE_URI_00_ERROR",
  #endif
- #if SQLITE_ENABLE_VFSTRACE
+ #ifdef SQLITE_ENABLE_VFSTRACE
    "ENABLE_VFSTRACE",
  #endif
- #if SQLITE_ENABLE_WHERETRACE
+ #ifdef SQLITE_ENABLE_WHERETRACE
    "ENABLE_WHERETRACE",
  #endif
- #if SQLITE_ENABLE_ZIPVFS
+ #ifdef SQLITE_ENABLE_ZIPVFS
    "ENABLE_ZIPVFS",
  #endif
- #if SQLITE_EXPLAIN_ESTIMATED_ROWS
+ #ifdef SQLITE_EXPLAIN_ESTIMATED_ROWS
    "EXPLAIN_ESTIMATED_ROWS",
  #endif
- #if SQLITE_EXTRA_IFNULLROW
+ #ifdef SQLITE_EXTRA_IFNULLROW
    "EXTRA_IFNULLROW",
  #endif
  #ifdef SQLITE_EXTRA_INIT
diff --cc src/main.c
Simple merge
diff --cc src/pragma.c
Simple merge
diff --cc src/shell.c.in
index b4ad063a759a38c73cd079aec961b53b8a8776cb,248bc0dc0e284787a4ac7168bf893481e6165248..bb1fcef5997140f44c824fc5d8d88901986d3162
@@@ -8971,10 -8738,10 +8981,12 @@@ static int do_meta_command(char *zLine
          p->openMode = SHELL_OPEN_APPENDVFS;
        }else if( optionMatch(z, "readonly") ){
          p->openMode = SHELL_OPEN_READONLY;
 +      }else if( optionMatch(z, "sharedschema") ){
 +        p->openMode = SHELL_OPEN_SHAREDSCHEMA;
        }else if( optionMatch(z, "nofollow") ){
          p->openFlags |= SQLITE_OPEN_NOFOLLOW;
+       }else if( optionMatch(z, "excl") ){
+         p->openFlags |= SQLITE_OPEN_EXCLUSIVE;
  #ifndef SQLITE_OMIT_DESERIALIZE
        }else if( optionMatch(z, "deserialize") ){
          p->openMode = SHELL_OPEN_DESERIALIZE;
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/tclsqlite.c
Simple merge
diff --cc src/trigger.c
Simple merge
diff --cc src/vacuum.c
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/vtab.c
Simple merge