From: drh <> Date: Wed, 8 Jun 2022 15:38:16 +0000 (+0000) Subject: Fix the query flattener so that it refuses a flattening that might leave both X-Git-Tag: version-3.39.0~47 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40357f0d5d997de8b59af048a27206c98bb69b7d;p=thirdparty%2Fsqlite.git Fix the query flattener so that it refuses a flattening that might leave both an inner-join and outer-join ON-clause constraint (or equivalent) on the same term of the FROM clause. FossilOrigin-Name: f6c4fb48b65c2e8659aa0a1119c330e8bad5e42b2db2030850bfc9c04afef5c8 --- 40357f0d5d997de8b59af048a27206c98bb69b7d diff --cc manifest index d12aa79280,15bb84a131..0120b847f0 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Do\snot\sallow\sa\spartial\sindex\sscan\son\sthe\sleft\stable\sof\sa\sRIGHT\sJOIN,\sbecause\nsince\sthe\sindex\sis\spartial,\ssome\srows\swill\sbe\somitted\sfrom\sthe\sscan,\sand\nthose\srows\swill\ssubsequently\sbe\spicked\sup\sby\sthe\sno-match\slogic\sin\sthe\nright-join\spost-processing\sloop.\n[forum:/forumpost/c4676c4956|forum\spost\sc4676c4956]. - D 2022-06-08T12:46:58.728 -C Add\srestriction\s(29)\sto\sthe\squery\sflattener\s-\sdo\snot\sallow\sflattening\sthat\nwould\sleave\sboth\sEP_InnerON\sand\sEP_OuterON\sconstraints\son\sthe\ssame\sjoin\sterm. -D 2022-06-08T15:30:39.323 ++C Fix\sthe\squery\sflattener\sso\sthat\sit\srefuses\sa\sflattening\sthat\smight\sleave\sboth\nan\sinner-join\sand\souter-join\sON-clause\sconstraint\s(or\sequivalent)\son\sthe\ssame\nterm\sof\sthe\sFROM\sclause. ++D 2022-06-08T15:38:16.780 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -1975,8 -1975,8 +1975,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 ccbd6e774903f9202f9311954979f6fcc3b13eba1f3402a549a7aee6ed1d55eb - R 9e5b91eaa709a211969f755ac60f2577 -P 12d3c96c39d12f6b01b77456eb874fff445ebfc60f50aada51b06ed37af364ea -R 62242d663897e7023595ea200b941250 ++P 615c0026119f7870c3b6ef9dcb57ce4ecf5acedea3e2b5cfc25aa450eb8f17a0 c585d6a4678b04f4cedc08852d01c44cdf52ae2c8ccd1174c3d5a395088bf528 ++R f8496d9bd26e20227061fd94e4abecc2 U drh - Z 3fabe8df6bd5cac6e030c1017487aca1 -Z bf1ecb15b60313b8c1381dc63e03a589 ++Z a75cd30dd4ee2a42502920737fd40d74 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index cb987fab75,674bf144e0..e7b1fe36b8 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 615c0026119f7870c3b6ef9dcb57ce4ecf5acedea3e2b5cfc25aa450eb8f17a0 -c585d6a4678b04f4cedc08852d01c44cdf52ae2c8ccd1174c3d5a395088bf528 ++f6c4fb48b65c2e8659aa0a1119c330e8bad5e42b2db2030850bfc9c04afef5c8