From: drh <> Date: Thu, 30 Dec 2021 16:14:09 +0000 (+0000) Subject: Merge the 3.37.1 patches into the reuse-schema branch. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bac7cf46d4dc19a80043122f0cb9807bfafbd7d4;p=thirdparty%2Fsqlite.git Merge the 3.37.1 patches into the reuse-schema branch. FossilOrigin-Name: e9e95c8fc61d5c505ebc0a3b1434cc8a3e0206d197aa21bdfa6fb103df3bce08 --- bac7cf46d4dc19a80043122f0cb9807bfafbd7d4 diff --cc manifest index af15d2fcaa,8c0b0d4a10..960ead7747 --- a/manifest +++ b/manifest @@@ -1,13 -1,13 +1,13 @@@ - C Merge\sversion\s3.37.0\sinto\sthe\sreuse-schema\sbranch. - D 2021-11-27T15:12:21.981 -C Version\s3.37.1 -D 2021-12-30T15:30:28.342 ++C Merge\sthe\s3.37.1\spatches\sinto\sthe\sreuse-schema\sbranch. ++D 2021-12-30T16:14:09.077 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 -F Makefile.in 0e91c42a1dd13a569b1fa4f4dfb7d3632f3164a1c05c71341533d67db5b641dd +F Makefile.in 9b31893e6677a04291db2c70ef2e4edbf77e8acf2a95192c285ab141809bdb33 F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241 -F Makefile.msc 88f05063ee36a5fb77d69b877ef824d0743b5325c95bfbf74d6ff17bd1c9fb1f +F Makefile.msc 59085acb7680998a476cac00e4a151f196a484505d3008285714245a660dc52d F README.md 27fb76aa7eb57ed63a53bbba7292b6bf71f51125554f79f16b5d040edd1e6110 - F VERSION c6595fef606851f2bc3ebed6a7386c73751835fc909feab7c093739fa4b3c1d1 + F VERSION 912d4358751f2d7528c5a984129a84ac35fa96ee3207d2437b415cc36c06d6e4 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90 @@@ -512,10 -512,10 +513,10 @@@ F src/hash.c 8d7dda241d0ebdafb6ffdeda31 F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51 F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 - F src/insert.c 7fcbbe9114ac402ea3c0c6a3810f13fc89cae8131ea1659ec472be7caac10192 + F src/insert.c 9b133400f1c7f6d83ca14565e9cf4d2b9b8c938123b5d6793ae2fccb85c52834 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa F src/loadext.c e1dcff1c916bf6834e150b492eddda5d9792453182d2ad64294d2266b6e93c4c - F src/main.c 6f313292579f47d3cb2168211b56ce8adafb1c99223727de1d540dd55f9adb97 -F src/main.c 1ea70751e6005ab6a9f784730fa0919efaa6639440a287deb73cb711e5aae57a ++F src/main.c 258eb7090a3dc65c121075327923688f114e13d50d31652a6b88bc7aae595102 F src/malloc.c ef796bcc0e81d845d59a469f1cf235056caf9024172fd524e32136e65593647b F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de @@@ -544,23 -544,23 +545,23 @@@ F src/parse.y 0bd7971a7489bbf6c3726f1b5 F src/pcache.c 084e638432c610f95aea72b8509f0845d2791293f39d1b82f0c0a7e089c3bb6b F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586 F src/pcache1.c 54881292a9a5db202b2c0ac541c5e3ef9a5e8c4f1c1383adb2601d5499a60e65 -F src/pragma.c c536665ce8431c8b1efbf7e0a5c01852f49f7bf28f1954f8118b2d28e4a3797f -F src/pragma.h 87330ed2fbfa2a1274de93ca0ab850fba336189228cb256089202c3b52766fad -F src/prepare.c 40961a1170a4c4151a90dae29dd00fc6c155f1af8246abeeeb8f0a10b3fb9719 +F src/pragma.c 401df25173a16e13923af6e4cb6c5a2fb14106117ac0a4ec1f419f0e696d22f5 +F src/pragma.h 270bff5fefbc3c56ddcb5627d706904ec289853a5ef65662f6fac810b5a1923f - F src/prepare.c a5f14873aff05e64caf3b09fe5f22c23ec18a09cfe2ae08c97513d819f78490f ++F src/prepare.c 1feb9a8d879534674f13307695a211d1ace1e1d225804961972cb69609f1e80c F src/printf.c 5901672228f305f7d493cbc4e7d76a61a5caecdbc1cd06b1f9ec42ea4265cf8d F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c F src/resolve.c 4a1db4aadd802683db40ca2dbbb268187bd195f10cbdb7206dbd8ac988795571 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 F src/select.c a7a3d9f54eb24821ec5f67f2e5589b68a5d42d46fc5849d7376886777d93a85a - F src/shell.c.in 30a29fca49ec0606a8911abd727c8ecbef9c8f0622e35d4556abc74c83ccc55c -F src/shell.c.in 1458b700144c8326fda2514aaddeda49d6f01f1d1ccf7b9b696c53a3535a119c -F src/sqlite.h.in 5cd209ac7dc4180f0e19292846f40440b8488015849ca0110c70b906b57d68f0 ++F src/shell.c.in b06b3d0e23a47a174937579ce0e2284b4638280e27a4ea2654ea2b36ab4c39f3 +F src/sqlite.h.in d36a609734942eddefdfbb6e774f8bfa46f00030e1be45a1997f761249ccb339 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 8ff2fd2c166150b2e48639f5e506fb44e29f1a3f65031710b9e89d1c126ac839 -F src/sqliteInt.h 193e716a67c877a6054a8c261c932bdc64f8c8be9b66388c74f21d94a259b7ce +F src/sqliteInt.h 965ab1531ea0a8e40ca03d1bd12f86267a5493427003c6238872e0e8b64d7bda F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657 -F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1 +F src/status.c d0956e57c71160155f620a3efeb1e5c05a3f8b9a897dd09c5263268e5d237579 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 -F src/tclsqlite.c 48f291e1a7e672a7204884d4c164a8ed3a522ff087c361ada2991f5d54e987f6 +F src/tclsqlite.c d59959ac596aa96b60575ebf863e295a105e617f6aa28bc0188252e134e15308 F src/test1.c d6c945a8bb211ed72ea515f0b9743caeaf38c66da6418a7b1dcf3764e1368bbb F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5 F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644 @@@ -1943,7 -1934,11 +1944,11 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P d08832cb938a50891963446276d4ada3e73412ba6c316520f7cb8b180ae4f0f5 bd41822c7424d393a30e92ff6cb254d25c26769889c1499a18a0b9339f5d6c8a - R 164410e1f74c06414c6fcd6f5d30f2f3 -P 986a94d036f029539c3bb3873096f4a85ee26fc674f56856c57ca3dfd3bd0f37 -R 6693a475946c1486ee6fea9335c37ae8 -T +bgcolor * #d0c0ff -T +sym-release * -T +sym-version-3.37.1 * ++P f83d50d5076339682c011329d7ab431ccaf134b37984706f199d878c3a88b553 378629bf2ea546f73eee84063c5358439a12f7300e433f18c9e1bddd948dea62 ++R 4e5c9cb6a49c0e08729cc379dc429559 ++T *branch * reuse-schema-3.37 ++T *sym-reuse-schema-3.37 * ++T -sym-reuse-schema * U drh - Z 696ef60670c5cc5f54ec241c3b654204 -Z 8f71d7fd3282e6b87441d928ca292620 ++Z e76379c4d10f3175a17a1ac424f373b6 + # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index 69c891300d,05414622d6..b1d2fae138 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - f83d50d5076339682c011329d7ab431ccaf134b37984706f199d878c3a88b553 -378629bf2ea546f73eee84063c5358439a12f7300e433f18c9e1bddd948dea62 ++e9e95c8fc61d5c505ebc0a3b1434cc8a3e0206d197aa21bdfa6fb103df3bce08 diff --cc src/prepare.c index fd7455738d,183a749a5f..4863dd6d0e --- a/src/prepare.c +++ b/src/prepare.c @@@ -920,13 -808,10 +920,14 @@@ static int sqlite3LockAndPrepare ** reset is considered a permanent error. */ rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail); assert( rc==SQLITE_OK || *ppStmt==0 ); + if( rc==SQLITE_OK || db->mallocFailed ) break; }while( rc==SQLITE_ERROR_RETRY || (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt++)==0) ); + sqlite3BtreeLeaveAll(db); + + sqlite3UnlockReusableSchema(db, bReleaseSchema); + rc = sqlite3ApiExit(db, rc); assert( (rc&db->errMask)==rc ); db->busyHandler.nBusy = 0; diff --cc src/shell.c.in index 2b5b64235f,543141c9e4..436e3d3b5f --- a/src/shell.c.in +++ b/src/shell.c.in @@@ -9201,14 -8950,12 +9193,14 @@@ static int do_meta_command(char *zLine newFlag = 1; #ifdef SQLITE_HAVE_ZLIB }else if( optionMatch(z, "zip") ){ - p->openMode = SHELL_OPEN_ZIPFILE; + openMode = SHELL_OPEN_ZIPFILE; #endif }else if( optionMatch(z, "append") ){ - p->openMode = SHELL_OPEN_APPENDVFS; + openMode = SHELL_OPEN_APPENDVFS; }else if( optionMatch(z, "readonly") ){ - p->openMode = SHELL_OPEN_READONLY; + openMode = SHELL_OPEN_READONLY; + }else if( optionMatch(z, "sharedschema") ){ + p->openMode = SHELL_OPEN_SHAREDSCHEMA; }else if( optionMatch(z, "nofollow") ){ p->openFlags |= SQLITE_OPEN_NOFOLLOW; #ifndef SQLITE_OMIT_DESERIALIZE