From: drh <> Date: Sat, 28 May 2022 14:03:23 +0000 (+0000) Subject: Apply the UPDATE-FROM file from check-in [98b3816bbaf539ea] to X-Git-Tag: version-3.39.0~81 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1943005f626fbefa1fb32f77fc671ee07c52b11f;p=thirdparty%2Fsqlite.git Apply the UPDATE-FROM file from check-in [98b3816bbaf539ea] to update-delete-limit builds. FossilOrigin-Name: 7e87892c249f023ee9ed1d5f75a9ad8db10fb38f14dd9e6954b12b9b28400b07 --- diff --git a/manifest b/manifest index 6702b91ddd..e804cf0c3a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C fiddle:\schanged\sthe\sinternal\skey\sof\sthe\ssession/local\sstorage\sto\savoid\sconflicts\swith\sthe\spikchr\sfiddle\sapp\s(which\sis\sderived\sfrom\sthis\sone)\swhen\srunning\sfrom\sthe\ssame\sHTTP\sorigin\sas\san\sinstance\sof\sthat\sapp\sin\sa\sdev\senvironment. -D 2022-05-28T11:59:46.787 +C Apply\sthe\sUPDATE-FROM\sfile\sfrom\scheck-in\s[98b3816bbaf539ea]\sto\nupdate-delete-limit\sbuilds. +D 2022-05-28T14:03:23.844 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -556,7 +556,7 @@ F src/os_win.c a8ea80037e81127ca01959daa87387cc135f325c88dc745376c4f760de852a10 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a F src/pager.c 42120492784fc9bcd9082b5c9b5e329b7318c357f9f3574a1bbfcf7418910356 F src/pager.h f82e9844166e1585f5786837ddc7709966138ced17f568c16af7ccf946c2baa3 -F src/parse.y b58ad9fadf31e26e45214a4d8be4351ec2910bbd914caa2e172d616057f67ddc +F src/parse.y 8e67d820030d2655b9942ffe61c1e7e6b96cea2f2f72183533299393907d0564 F src/pcache.c 084e638432c610f95aea72b8509f0845d2791293f39d1b82f0c0a7e089c3bb6b F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586 F src/pcache1.c 54881292a9a5db202b2c0ac541c5e3ef9a5e8c4f1c1383adb2601d5499a60e65 @@ -1970,8 +1970,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 2ba429a4f8300b981b23d54c2bdb54bd4863522c1c18bf9a67a82e3dce845b10 -R 5eae1a2cd35849ef58a6f996836c910f -U stephan -Z 2e6b37323598d8726fccb322e129ee85 +P fd668da5ccf037c2ad8e61e381dd1eb398a8deab42a00593e551c30bd176890d +R e62d67531970b1619ea2f47c2f8c0901 +U drh +Z 2f27046509ba92f24780e3263d6632b0 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 3fc3330fe9..a331df2c16 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fd668da5ccf037c2ad8e61e381dd1eb398a8deab42a00593e551c30bd176890d \ No newline at end of file +7e87892c249f023ee9ed1d5f75a9ad8db10fb38f14dd9e6954b12b9b28400b07 \ No newline at end of file diff --git a/src/parse.y b/src/parse.y index 44a14e2585..d627f22ba2 100644 --- a/src/parse.y +++ b/src/parse.y @@ -924,7 +924,18 @@ where_opt_ret(A) ::= WHERE expr(X) RETURNING selcollist(Y). cmd ::= with UPDATE orconf(R) xfullname(X) indexed_opt(I) SET setlist(Y) from(F) where_opt_ret(W) orderby_opt(O) limit_opt(L). { sqlite3SrcListIndexedBy(pParse, X, &I); - X = sqlite3SrcListAppendList(pParse, X, F); + if( F ){ + SrcList *pFromClause = F; + if( pFromClause->nSrc>1 ){ + Select *pSubquery; + Token as; + pSubquery = sqlite3SelectNew(pParse,0,pFromClause,0,0,0,0,SF_NestedFrom,0); + as.n = 0; + as.z = 0; + pFromClause = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&as,pSubquery,0); + } + X = sqlite3SrcListAppendList(pParse, X, pFromClause); + } sqlite3ExprListCheckLength(pParse,Y,"set list"); #ifndef SQLITE_ENABLE_UPDATE_DELETE_LIMIT if( O || L ){