]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk enhancements into the bedrock branch.
authordrh <>
Sat, 8 Jul 2023 19:16:06 +0000 (19:16 +0000)
committerdrh <>
Sat, 8 Jul 2023 19:16:06 +0000 (19:16 +0000)
FossilOrigin-Name: 35bfb5bfee1845c6749256826fdbf4e7b2f7ebe00fdceacb3edebec1c44828c4

1  2 
manifest
manifest.uuid
src/btree.c
src/func.c
src/main.c
src/select.c
src/sqlite.h.in
src/sqliteInt.h
src/test1.c
src/vdbe.c
src/vdbeaux.c

diff --cc manifest
index 1fef552e2287a05da32ea0fb103636d783a2415d,e3af7f4b4fe619a5e1ee66124dea77be4c0d46bd..e84497abb35022a84bc6b64140546224ab9dd3a0
+++ b/manifest
@@@ -1,12 -1,12 +1,12 @@@
 -C Merge\sall\sthe\slatest\strunk\senhancements\sinto\sthe\swal2\sbranch.
 -D 2023-07-08T19:09:20.496
 +C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\sbedrock\sbranch.
- D 2023-06-22T14:40:38.946
++D 2023-07-08T19:16:06.503
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
 -F Makefile.in 3a780c12cb464f43e680a4f36f59615d45acf5a6762b56c205b6ef51ebd26c6d
 +F Makefile.in 0423d5a97be582884ffdb228216790f5bb10678bed50f359cce6f0745107bf32
  F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
  F Makefile.msc 97f9b14ef0418943c315db08f4961932f2fc839603c13ab646079840b0d83329
- F README.md 8ff80689b9cb9f6e9b842edf31a3358ff53bc538c351799e03dd3e5455e637e5
+ F README.md c1c4218efcc4071a6e26db2b517fdbc1035696a29b370edd655faddbef02b224
  F VERSION c6366dc72582d3144ce87b013cc35fe48d62f6d07d5be0c9716ea33c862144aa
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
@@@ -582,12 -576,12 +582,12 @@@ F src/analyze.c d4cc28738c29e009640ec20
  F src/attach.c cc9d00d30da916ff656038211410ccf04ed784b7564639b9b61d1839ed69fd39
  F src/auth.c 19b7ccacae3dfba23fc6f1d0af68134fa216e9040e53b0681b4715445ea030b4
  F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
 -F src/bitvec.c 9eac5f42c11914d5ef00a75605bb205e934f435c579687f985f1f8b0995c8645
 +F src/bitvec.c 501daeef838fa82a9fb53540d72f29e3d9172c8867f1e19f94f681e2e20b966e
  F src/btmutex.c 79a43670447eacc651519a429f6ece9fd638563cf95b469d6891185ddae2b522
- F src/btree.c 2e15d2514e948ae05b4ee5f0ced9fc7cff19b031ab1b26c6b1ce578feb83ce7c
 -F src/btree.c 7098c2de8c4fc92033dd0f09357149f2a4caebca863b7128cf06b84be97f96bb
 -F src/btree.h aa354b9bad4120af71e214666b35132712b8f2ec11869cb2315c52c81fad45cc
 -F src/btreeInt.h 3b4eff7155c0cea6971dc51f62e3529934a15a6640ec607dd42a767e379cb3a9
 -F src/build.c a8ae3b32d9aa9bbd2c0e97d7c0dd80def9fbca408425de1608f57ee6f47f45f4
++F src/btree.c 8fa0676d19575178e2ab5db1e584df6798413b2608bad9abb873f908fcb13f6a
 +F src/btree.h 77a092acf63526827e74e88d0480123212d079593a841ff1fe85507adf256ef6
 +F src/btreeInt.h c99c2c6b29c1d36f2a6cc67dcf220b080c8817cb2812e6d5ca27e158a14e1e68
 +F src/build.c d1f3d6478799b6eef9bb39214fc5495c8ee940fe2e70bf0b65ad8b6984bf0db9
  F src/callback.c db3a45e376deff6a16c0058163fe0ae2b73a2945f3f408ca32cf74960b28d490
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
  F src/ctime.c f439c21d439aaf4706950a2597474f1a796b557a0750666308202c0f601ef0fd
@@@ -595,11 -589,11 +595,11 @@@ F src/date.c f73f203b3877cef866c60ab402
  F src/dbpage.c f3eea5f7ec47e09ee7da40f42b25092ecbe961fc59566b8e5f705f34335b2387
  F src/dbstat.c ec92074baa61d883de58c945162d9e666c13cd7cf3a23bc38b4d1c4d0b2c2bef
  F src/delete.c cd5f5cd06ed0b6a882ec1a8c2a0d73b3cecb28479ad19e9931c4706c5e2182be
- F src/expr.c 36f6a47c8a2c20ec3c267a60fc598857876edd60af0cb40caf7b69b651fd73bf
+ F src/expr.c 8d1656b65e26af3e34f78e947ac423f0d20c214ed25a67486e433bf16ca6b543
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
  F src/fkey.c a7fcbf7e66d14dbb73cf49f31489ebf66d0e6006c62b95246924a3bae9f37b36
- F src/func.c cc4f5b77c1c7f086e5087f087a5e97c58d4cd71e8f4a4b381b231348c52878ca
- F src/global.c bd0892ade7289f6e20bff44c07d06371f2ff9b53cea359e7854b9b72f65adc30
 -F src/func.c cffa6edb4aa4865d8e237022399ba9c2b22fd11e5581efba7c5b524b525952ca
++F src/func.c 84c33702ee0e876d224f54bda48ac8e13dab4125162c14be81c58cb814e058fd
+ F src/global.c 29f56a330ed9d1b5cd9b79ac0ca36f97ac3afc730ff8bfa987b0db9e559d684d
  F src/hash.c 9ee4269fb1d6632a6fecfb9479c93a1f29271bddbbaf215dd60420bcb80c7220
  F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51
  F src/hwtime.h f9c2dfb84dce7acf95ce6d289e46f5f9d3d1afd328e53da8f8e9008e3b3caae6
@@@ -608,7 -602,7 +608,7 @@@ F src/insert.c 3f0a94082d978bbdd33c38fe
  F src/json.c 14c474fb1249a46eb44e878e2361f36abfe686b134039b0d1883d93d61505b4a
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
  F src/loadext.c 176d6b2cb18a6ad73b133db17f6fc351c4d9a2d510deebdb76c22bde9cfd1465
- F src/main.c f39fc7d716efd7cce2290a65bd781998fb1a021fb561a1c057d348fc231f58cd
 -F src/main.c 512b1d45bc556edf4471a845afb7ba79e64bd5b832ab222dc195c469534cd002
++F src/main.c 429a1a25752edd6afa97de4b8ac10b98f557bbd93f01e39fcd2fa2204a8f54bb
  F src/malloc.c 47b82c5daad557d9b963e3873e99c22570fb470719082c6658bf64e3012f7d23
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 3bb59158c38e05f6270e761a9f435bf19827a264c13d1631c58b84bdc96d73b2
@@@ -629,33 -623,33 +629,33 @@@ F src/os.h 1ff5ae51d339d0e30d8a9d814f4b
  F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
  F src/os_kv.c 4d39e1f1c180b11162c6dc4aa8ad34053873a639bac6baae23272fc03349986a
  F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
 -F src/os_unix.c 95b407307deb902a3bd9a5d5666c7838709cccb337baeee6ef0a53f512d3673e
 +F src/os_unix.c c2c3b93b716194a2115b282c37f828438e071e6f2fc4e38c5d6f24d5ba822e7a
  F src/os_win.c 7038223a1cda0a47e2ab4db47f63bf1833fe53ba0542f0f283a062ea13894103
  F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 -F src/pager.c 0a7a695950183a745ec9b2cf0aa3cbc3803dea7d674a1a5a0b0080ab4aa7df9a
 -F src/pager.h c49ff262186a78bc5f27e3891edefb900afa769b9e2eaeca0322c7f3553536d4
 -F src/parse.y 8828f9e15f04d469eab9c0f2aed504e534b1c97c68836bed6f07afab29c2ac0b
 +F src/pager.c 71f3c8b45890d35156518ffeb71e422274557793cbedff80585b4e292feed234
 +F src/pager.h e055e649d93f1e121ce50b30a3d01a5225e6d2c45d712c676c8477dec19beeb8
 +F src/parse.y cf35577daeb17122be7c42d41485249360d19d3c8a40496872ea8c0a200cfa44
  F src/pcache.c 4cd4a0043167da9ba7e19b4d179a0e6354e7fe32c16f781ecf9bf0a5ff63b40b
  F src/pcache.h 1497ce1b823cf00094bb0cf3bac37b345937e6f910890c626b16512316d3abf5
 -F src/pcache1.c 602acb23c471bb8d557a6f0083cc2be641d6cafcafa19e481eba7ef4c9ca0f00
 +F src/pcache1.c 181baf62714c20e41c77655360bd4179661f519ecd952314cdeacf60460a1878
  F src/pragma.c 3a7c0f8e06b94ee34ded7468002b4a502fcdd23bb58c3677a185a4addae7604b
 -F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7
 +F src/pragma.h 1f421360eed1a7721e8c521463df8519a7c8d0d5893ebd9dbfe0dba8de996f8c
  F src/prepare.c d6c4354f8ea0dc06962fbabc4b68c4471a45276a2918c929be00f9f537f69eb1
- F src/printf.c b9320cdbeca0b336c3f139fd36dd121e4167dd62b35fbe9ccaa9bab44c0af38d
+ F src/printf.c 84b7b4b647f336934a5ab2e7f0c52555833cc0778d2d60e016cca52ee8c6cd8f
 -F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 +F src/random.c 9bd018738ec450bf35d28050b4b33fa9a6eebf3aaefb1a1cff42dc14a7725673
  F src/resolve.c 37953a5f36c60bea413c3c04efcd433b6177009f508ef2ace0494728912fe2e9
  F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
- F src/select.c 411e67407ac2219c99398879caa5f26ad75c91dd1a9bc55bc1c7c9f465916e9f
- F src/shell.c.in bdd1fdfc77a67651cdc5a158bc9107cf3c2cf3ddb62d7a4da06c6eaaa5e72037
- F src/sqlite.h.in 22387ee5e1b24edfc479eba19a3ae1996e0cf354763686e7d67e3f9f0aa312b7
 -F src/select.c 3ab1186290a311a8ceed1286c0e286209f7fe97b2d02c7593258004ce295dd88
++F src/select.c 8425355cfbe559fb00a1c7f251daf629cb433c751efc550af5305551300d1462
+ F src/shell.c.in d320d8a13636de06d777cc1eab981caca304e175464e98183cf4ea68d93db818
 -F src/sqlite.h.in f999ef3642f381d69679b2516b430dbcb6c5a2a951b7f5e43dc4751b474a5774
++F src/sqlite.h.in 5072260a44d1e3157a29f20a806e9d8fc6d6be2b42dffc1de7be1dbb1a9a98c5
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h da473ce2b3d0ae407a6300c4a164589b9a6bfdbec9462688a8593ff16f3bb6e4
- F src/sqliteInt.h f7d3a6992623e633ebda13375a47a22cc9129446b536191369124715def48950
 -F src/sqliteInt.h 002a6c3e24752d123468c5d948a80e2cd4acf01badce268f9dd98b581cd7bb96
++F src/sqliteInt.h 96b422b510b12bb995dc5f7d94cca323c443f3b5344ce94211cb6d56fad0f359
  F src/sqliteLimit.h 33b1c9baba578d34efe7dfdb43193b366111cdf41476b1e82699e14c11ee1fb6
  F src/status.c 160c445d7d28c984a0eae38c144f6419311ed3eace59b44ac6dafc20db4af749
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
  F src/tclsqlite.c ecbc3c99c0d0c3ed122a913f143026c26d38d57f33e06bb71185dd5c1efe37cd
- F src/test1.c a7a6efa83d4fc08c020fd535a9c9b71863b752b2f0cd945a839c282df9b72a3e
 -F src/test1.c 9111b12427b3b94429aff68bbcf5b125ae70438f6ce2f3f033e2a69626ec26c9
++F src/test1.c cc4d990b882a1f887d909f2f15cf408e7d01dd55bec718909750055a7f6bb798
  F src/test2.c 827446e259a3b7ab949da1542953edda7b5117982576d3e6f1c24a0dd20a5cef
  F src/test3.c e5178558c41ff53236ae0271e9acb3d6885a94981d2eb939536ee6474598840e
  F src/test4.c 4533b76419e7feb41b40582554663ed3cd77aaa54e135cf76b3205098cd6e664
@@@ -710,18 -704,18 +710,18 @@@ F src/threads.c 4ae07fa022a3dc7c5beb373
  F src/tokenize.c 0fb405f9adf3f757c26bfc1ae6d58ac5dccbb918917ba9e5ef0e6673a06563d3
  F src/treeview.c 1d52fbc4e97161e65858d36e3424ea6e3fc045dd8a679c82b4b9593dc30de3bd
  F src/trigger.c ad6ab9452715fa9a8075442e15196022275b414b9141b566af8cdb7a1605f2b0
 -F src/update.c 0aa36561167a7c40d01163238c297297962f31a15a8d742216b3c37cdf25f731
 +F src/update.c 94a803cf0e45208d12952250500c4210f9ca1b6401fc822033009484f2d39331
  F src/upsert.c 5303dc6c518fa7d4b280ec65170f465c7a70b7ac2b22491598f6d0b4875b3145
  F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
- F src/util.c 6f9d2f278dcc8d41c618980cd3cfe88e1bafc0626209b917c6773d8202d29ef6
+ F src/util.c fea6fffdee3cdae917a66b70deec59d4f238057cfd6de623d15cf990c196940d
 -F src/vacuum.c 604fcdaebe76f3497c855afcbf91b8fa5046b32de3045bab89cc008d68e40104
 -F src/vdbe.c 64803a8e0b35a85d4e1ca1f889a5107920e5e2d357de5c79a18578f43a3bb968
 +F src/vacuum.c b1dd6d73869229b6e08bac910ac011dc9da42e3120ec2b7241accc5a752bd419
- F src/vdbe.c 5cfca43a3b69cfc46beb521e6de5ec06ac3779ce58e5b56dfdec3739e17a48ec
++F src/vdbe.c 2b97ccb8b8d315b0fc45075b70becc6a101f17f27659c1d2cead108adad6976a
  F src/vdbe.h 41485521f68e9437fdb7ec4a90f9d86ab294e9bb8281e33b235915e29122cfc0
  F src/vdbeInt.h 7bd49eef8f89c1a271fbf12d80a206bf56c876814c5fc6bee340f4e1907095ae
  F src/vdbeapi.c de9703f8705afc393cc2864669ce28cf9516983c8331d59aa2b978de01634365
- F src/vdbeaux.c 736c7dcf8c99dcc03c6931bde5913cee29bf83a755984778ff1a600c05d3a7c5
 -F src/vdbeaux.c b5e3f7e158518b4eca6f166ac43900640a3fe9735c710e12bfa119af21059339
++F src/vdbeaux.c 7b6d7aa0667a381c4aa1414b531dad7a8480e08cad1cb19c6fd38908c1790036
  F src/vdbeblob.c 2516697b3ee8154eb8915f29466fb5d4f1ae39ee8b755ea909cefaf57ec5e2ce
- F src/vdbemem.c 710119a8e35e47813681c48703d65a80ba22792192de90bc51dc0d6366f2a79e
+ F src/vdbemem.c cf4a1556dd5b18c071cf7c243373c29ce752eb516022e3ad49ba72f08b785033
  F src/vdbesort.c 0d40dca073c94e158ead752ef4225f4fee22dee84145e8c00ca2309afb489015
  F src/vdbetrace.c fe0bc29ebd4e02c8bc5c1945f1d2e6be5927ec12c06d89b03ef2a4def34bf823
  F src/vdbevtab.c aae4bd769410eb7e1d02c42613eec961d514459b1c3c1c63cfc84e92a137daac
@@@ -2078,8 -2057,8 +2080,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 4b08d4dad6b254a342353e3f765066c85cbc5450fe13501665c648627cca21cd 80ac494f734d9720fbbb1111741aa99fc319c6c9a32e7f13b5962001d6ace828
- R 4b8d19d5230182dc120ea3dbf79d17ea
 -P 80ac494f734d9720fbbb1111741aa99fc319c6c9a32e7f13b5962001d6ace828 07d95ed60f0a17ea13b4bc19c2ab2ec9052fedd27c9e1e57a1ec6e3a6470e5b7
 -R b3adc51bfad183a71bd1965c75353b79
++P 0551b79b17579a91d891c745ecd0e35b5142f944ed59eb3c95c37e5a4de8a461 f07936535f6ad2671e4e3281214b097a0186a642055ad81e561515cd08bc4a61
++R 9ff31de83f59c172f96c74d0623ca7c2
  U drh
- Z bcdc3e9e4eb8771cadc69859c408bf41
 -Z 69c9eab84b17a154becd4411e38ca29c
++Z 2fd903586792bbd4f46ac02285b6d0be
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index be3c3c161be0c475562a2b77272de69e5f302240,d8ef5884c2380894757313f120c59c8cca26d872..134bc5f908f48b941285f112d9e31d7706f10ee9
@@@ -1,1 -1,1 +1,1 @@@
- 0551b79b17579a91d891c745ecd0e35b5142f944ed59eb3c95c37e5a4de8a461
 -f07936535f6ad2671e4e3281214b097a0186a642055ad81e561515cd08bc4a61
++35bfb5bfee1845c6749256826fdbf4e7b2f7ebe00fdceacb3edebec1c44828c4
diff --cc src/btree.c
index 15055a6d50349cf62493b968e0667b5bd5a9110d,0a257c31df6a5dc606185277535407f39a5c1b17..b7b650836a43fda47fad9c4484a49c3fea91b5b2
@@@ -5808,13 -5340,13 +5808,14 @@@ static int moveToChild(BtCursor *pCur, 
    pCur->apPage[pCur->iPage] = pCur->pPage;
    pCur->ix = 0;
    pCur->iPage++;
 -  rc = getAndInitPage(pCur->pBt, newPgno, &pCur->pPage, pCur->curPagerFlags);
 -  assert( pCur->pPage!=0 || rc!=SQLITE_OK );
 -  if( rc==SQLITE_OK
 -   && (pCur->pPage->nCell<1 || pCur->pPage->intKey!=pCur->curIntKey)
 -  ){
 -    releasePage(pCur->pPage);
 -    rc = SQLITE_CORRUPT_PGNO(newPgno);
 +  rc = getAndInitPage(pBt, newPgno, &pCur->pPage, pCur->curPagerFlags);
 +  if( rc==SQLITE_OK ){
++    assert( pCur->pPage!=0 );
 +    setMempageRoot(pCur->pPage, pCur->pgnoRoot);
 +    if( pCur->pPage->nCell<1 || pCur->pPage->intKey!=pCur->curIntKey ){
 +      releasePage(pCur->pPage);
 +      rc = SQLITE_CORRUPT_PGNO(newPgno);
 +    }
    }
    if( rc ){
      pCur->pPage = pCur->apPage[--pCur->iPage];
diff --cc src/func.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/select.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
index fc0c63619be74402d0cdd1371da3a4afe4eb563a,770aa707188ce575e5cb0e4c21ec9721588a1653..c6dbd07da4d0c8ba50c4e6c11b9fccf228410fa8
@@@ -1237,8 -1238,8 +1238,9 @@@ typedef struct DblDbl DblDbl
  typedef struct Schema Schema;
  typedef struct Expr Expr;
  typedef struct ExprList ExprList;
 +typedef struct FastPrng FastPrng;
  typedef struct FKey FKey;
+ typedef struct FpDecode FpDecode;
  typedef struct FuncDestructor FuncDestructor;
  typedef struct FuncDef FuncDef;
  typedef struct FuncDefHash FuncDefHash;
diff --cc src/test1.c
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge