From: drh <> Date: Fri, 26 Mar 2021 13:47:41 +0000 (+0000) Subject: Merge patch 3.35.3 into the begin-concurrent-report branch. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7e38f97d399f86b10856573d8ef96d65e41f9cfe;p=thirdparty%2Fsqlite.git Merge patch 3.35.3 into the begin-concurrent-report branch. FossilOrigin-Name: 4ba9fc34c5670fe4d0316b2bcbd57d18111ff1cbf10df98427770c385a376ced --- 7e38f97d399f86b10856573d8ef96d65e41f9cfe diff --cc manifest index 5d471be0b0,b7a38aac6b..f0ea8818b3 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Merge\sthe\s3.35.0\srelease\sinto\sthe\sbegin-concurrent-report\sbranch. - D 2021-03-12T16:50:27.292 -C Merge\sversion\s3.35.3\schanges\sinto\sthe\sbegin-concurrent-pnu\sbranch. -D 2021-03-26T13:38:36.034 ++C Merge\spatch\s3.35.3\sinto\sthe\sbegin-concurrent-report\sbranch. ++D 2021-03-26T13:47:41.800 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -486,13 -485,13 +486,13 @@@ F src/alter.c 2d631213818b654faaf08755f F src/analyze.c 01c6c6765cb4d40b473b71d85535093730770bb186f2f473abac25f07fcdee5c F src/attach.c 9cbe761e464025694df8e6f6ee4d9f41432c3a255ca9443ccbb4130eeb87cf72 F src/auth.c 08954fdc4cc2da5264ba5b75cfd90b67a6fc7d1710a02ccf917c38eadec77853 -F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d -F src/bitvec.c 8433d9e98dd6f2ea3286e0d2fe5d65de1bfc18a706486eb2026b01be066b5806 +F src/backup.c 0d3f5004d5c85f257add00aee97687d40790a471a5d56306043ed9a7b53d6994 +F src/bitvec.c a012cfe503cddd1df1a75c139baf4586acc32f25c66f79039caf1d06474434f2 F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 - F src/btree.c eb07eb19d061fd36cb9036d1e192d20b81536d2b386606ab7c88262127ba3494 -F src/btree.c d20d20223840198f37e02a2e6816858e1373908003d793d762a2688f886dc557 -F src/btree.h ccdc64bd1eee7ba79d4c0b2af22b6df1e5ededdbf9606f45f4fca4738dd6fa0b -F src/btreeInt.h 1e9f10107a4ec5d2940ae5b859242ae83b81402986724bed08b8491a5ea64a4d ++F src/btree.c 56b9f23f6440b457face156e4bcd20b589eeb4068efb17468fe3ce59717d6ecb +F src/btree.h 888d9cea384478728e1e475e1660bd4138e3ec635f1b430e3f57e88d9c81d2fe - F src/btreeInt.h 393cab2ca93b99a6350d495e393cbdd3960f476a835c8e0e6118bc59fff0803f - F src/build.c 11e6dae6804708dd707e01bb0b24d09e33a7801bd47add262bbeeb735bbb37b5 ++F src/btreeInt.h b8c4dee39e4cbe127a6cf479f32e345e186db63923e937b5f42807c76bfd8e9d + F src/build.c 9f06854962aad6b5d465c38f9f6e8c307028fbb4efa9fccb0531f0874bd088df F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 2a322b9a3d75771fb4d99e0702851f4f68dda982507a0f798eefb0712969a410 @@@ -509,10 -508,10 +509,10 @@@ F src/hash.c 8d7dda241d0ebdafb6ffdeda31 F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38 F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 - F src/insert.c 358c896d5566cc8ea84fa33496b486e1d933efe6594176091312c35b62886483 -F src/insert.c e36be69e3810902eaf7e171260c885bc9547b1d41616c868f1cc46e6a0a3b7fd ++F src/insert.c 7ebe2c0de0858292bf795cb485f096e9efff42d4ed959d57b70703ca05836bdc F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa F src/loadext.c 8c9c8cd2bd8eecdb06d9b6e89de7e9e65bae45cc8fc33609cc74023a5c296067 -F src/main.c 5becd80bb8369fe73cea609ac830dd43453d0a356c56ef361fd74698988484a0 +F src/main.c 985fba2ca304a27886d37ae2482d42f5ead58d9f296835f59f0902af9973d6c5 F src/malloc.c c1af4ac5a463648cd2953fd4ac679b3ba9022ce5ec794a60806150ad69dfd33a F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de @@@ -532,11 -531,11 +532,11 @@@ F src/os.c 2d6e646370b1aa78942c68d7edf1 F src/os.h 48388821692e87da174ea198bf96b1b2d9d83be5dfc908f673ee21fafbe0d432 F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85 F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586 - F src/os_unix.c 9b8d6679300ee39b891c60a70f64c86bb89bd04862c1fd697bdf959867c74cbb + F src/os_unix.c cf0291562557b9ac19c7446f9c13c3cb593d2a0af2eb81913a2b983ff7a59f26 F src/os_win.c 77d39873836f1831a9b0b91894fec45ab0e9ca8e067dc8c549e1d1eca1566fe9 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a -F src/pager.c 0122015aef06338c61d0b94df77bce4a670c0376dd88ec27260d0ba319d2f869 -F src/pager.h fdc30693c403aa9b4293d0b126346db7e450f8f0e5d2c1bb8355acb1cb8da6fd +F src/pager.c 4f0fd96e2a425d3146d8b94364cebb44bc7ca76faa817ad33be5687ff7c9a8b7 +F src/pager.h ed1f7bc91ceae75fa918d51f7c2ad071a5458cc3dc0085ca7577f8d51bf2d7cb F src/parse.y 3a7f2156485e377a637b4217b797001cf2ed9228e501f8d34fd06a9f46a40a73 F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177 F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586 @@@ -546,14 -545,14 +546,14 @@@ F src/pragma.h b93fd693bd38cefeaf8e2c7e F src/prepare.c e21b54489b5c73b06ada15e6fc79b5c6f64b06701924a6ca98944ae59e06256f F src/printf.c 2b03a80d7c11bb422115dca175a18bf430e9c9dbaa0eee63b758f0c022f8f34f F src/random.c f27af4099afaea7284ade5c206224dcfdb2334cfd119d018b470d46356b3f27d - F src/resolve.c d95db73d3e6a5c689e5f6604b4d2521350e45f2a0f0f84f5a2dc2bfee56580a0 + F src/resolve.c dd47248c2c914feb0d4428c27d782e2723971d32cfa5536f49306d080df4d45a F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 - F src/select.c bfcf53e991ee5852790f87f5fd699ac812e7dde64c1f81cb511fdc3be48ab3e8 - F src/shell.c.in 35adf1212d759069b00e468a9304a05a67710c8f8f50e7312335e23cac985d8c + F src/select.c bdcfed8ae9cb311f145fd204be32e3d03f7bf359c796159900d1eec0b557991b + F src/shell.c.in aa28256887d049badaf93aa30ab5c76a2ec88143a674d685c0e739056702e5c3 -F src/sqlite.h.in 71ba363afc97d615d43ab4d1c6992036e82efb799852fe96106b79c94bb87f7f +F src/sqlite.h.in 87051ea1e024186354ace08b93824a0baeeecfbc3733a40435d5c0518ee556be F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 61b38c073d5e1e96a3d45271b257aef27d0d13da2bea5347692ae579475cd95e - F src/sqliteInt.h f4d7a66d97c54f9181cbad8708d9df58b8b44034ab4c0e8b707f9977877c9b71 -F src/sqliteInt.h 9bccf5ae7b0aa7d9054c6c3b2e74403b407614ea1ae29b972bd397f20f9547f1 ++F src/sqliteInt.h 19e6e608d65ae0b82a6e2918e289b5eada11c7ce10255298677d00bf2d7df5cf F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657 F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 @@@ -620,11 -619,11 +620,11 @@@ F src/upsert.c df8f1727d62b5987c4fd302c F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 F src/util.c 41c7a72da1df47864faa378a1c720b38adb288c6838cb6be5594511b6287a048 F src/vacuum.c 9d6ac090ff36d80f0a2c5bfc63994b714c464bfc44efa5056c457a6a4163dc99 - F src/vdbe.c 00fe8c8b1e5a21d7469dbd2f1448434d093659416fbc00e7c5f1ed6a672f100c -F src/vdbe.c 830e04d6345bbadf74a1f67a2b26067a34353ce3e80c4ff7199a5222d062a704 ++F src/vdbe.c 655b748e3af7fe47192ed1aef0e1acb9f2a4cba9539c0d28b373f04622ee3513 F src/vdbe.h 25dabb25c7e157b84e59260cfb5b466c3ac103ede9f36f4db371332c47601abe - F src/vdbeInt.h dc35ea9eb9b5e0d3dd776310dd642ec2b82dea5d3fcc1529262ea8ca69827dbc -F src/vdbeInt.h 000d9ab1ea4cb55a80de15e28f3f595645b4fddef34bca4347fb3db8031d9041 -F src/vdbeapi.c 4a43e303ec3354c785f453e881521969378e85628278ab74ba4a9df790c0d93b ++F src/vdbeInt.h 5762107e9092be62790460ead0972c6e77146b8c5a63dd2bd41718c3ae9f499d +F src/vdbeapi.c d8f8c94303d8455f4152aa9bbff2217feb06486df94694313421cf3c8bd0378c - F src/vdbeaux.c 3ca9ea12fc429b680a1a4748fe7c2dc4eee8cf0ba70c66c04ebca4fb7b652c73 + F src/vdbeaux.c cf79a11bff51f6b99fc898d10117f4ec289edd92858fae313a3ff8c4f0c60f0f F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1 F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f F src/vdbesort.c f5b5e473a7cee44e47a94817b042fd7172cf3aa2c0a7928a8339d612bcfdec5a @@@ -1928,7 -1926,7 +1928,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 6994a2d8af30e5f5a9ce7735c3d1b2b66c1adc8f6fff37c894e2b827fe714f91 a0a9dd52a7b514a8b919d67650178c76167cdbb6e23523222c3df709953b0f25 - R 833e7b39ea5cc3f1ca70206feb2a2476 -P a0a9dd52a7b514a8b919d67650178c76167cdbb6e23523222c3df709953b0f25 6bb2134027a12801de8e0c73482d94682f902024800a7e426614f65a2fe4f64c -R fdce001d720d71a11ab67fe2a74ae607 ++P 27f8f56b98275fcd054b7f7477e0c99711b7a249b8df62647214a711c94bdb48 7e4c48afcc662940afe3ad976fcd75d71150e66461ad2d09c103eb0e238674a3 ++R ed1ff9c820b3a35e27bd314108f0d406 U drh - Z 31aaf41642239025ded1c2795723dbe1 -Z 0c9f90bde96d937e2b149e8d14ccf132 ++Z b4ae35fa91cb49d78189777f1734dd38 diff --cc manifest.uuid index 1fba5245fe,e8ef6547d3..5de4a98e75 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 27f8f56b98275fcd054b7f7477e0c99711b7a249b8df62647214a711c94bdb48 -7e4c48afcc662940afe3ad976fcd75d71150e66461ad2d09c103eb0e238674a3 ++4ba9fc34c5670fe4d0316b2bcbd57d18111ff1cbf10df98427770c385a376ced diff --cc src/btree.c index d21504f7ee,12958c9c41..e63b67b616 --- a/src/btree.c +++ b/src/btree.c @@@ -5006,9 -4996,14 +5010,16 @@@ int sqlite3BtreeCloseCursor(BtCursor *p unlockBtreeIfUnused(pBt); sqlite3_free(pCur->aOverflow); sqlite3_free(pCur->pKey); + sqlite3BtreeScanDeref(pCur->pCScan); + pCur->pCScan = 0; - sqlite3BtreeLeave(pBtree); + if( (pBt->openFlags & BTREE_SINGLE) && pBt->pCursor==0 ){ + /* Since the BtShared is not sharable, there is no need to + ** worry about the missing sqlite3BtreeLeave() call here. */ + assert( pBtree->sharable==0 ); + sqlite3BtreeClose(pBtree); + }else{ + sqlite3BtreeLeave(pBtree); + } pCur->pBtree = 0; } return SQLITE_OK; diff --cc src/insert.c index 401a0f85c4,89b66baf07..1a9ca75ac9 --- a/src/insert.c +++ b/src/insert.c @@@ -2427,10 -2428,10 +2429,10 @@@ static void codeWithoutRowidPreupdate Vdbe *v = pParse->pVdbe; int r = sqlite3GetTempReg(pParse); assert( !HasRowid(pTab) ); - assert( 0==(pParse->db->mDbFlags & DBFLAG_Vacuum) ); + assert( 0==(pParse->db->mDbFlags & DBFLAG_Vacuum) || CORRUPT_DB ); sqlite3VdbeAddOp2(v, OP_Integer, 0, r); sqlite3VdbeAddOp4(v, OP_Insert, iCur, regData, r, (char*)pTab, P4_TABLE); - sqlite3VdbeChangeP5(v, OPFLAG_ISNOOP); + sqlite3VdbeChangeP5(v, flags); sqlite3ReleaseTempReg(pParse, r); } #else