]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the query flattener so that it refuses a flattening that might leave both
authordrh <>
Wed, 8 Jun 2022 15:38:16 +0000 (15:38 +0000)
committerdrh <>
Wed, 8 Jun 2022 15:38:16 +0000 (15:38 +0000)
an inner-join and outer-join ON-clause constraint (or equivalent) on the same
term of the FROM clause.

FossilOrigin-Name: f6c4fb48b65c2e8659aa0a1119c330e8bad5e42b2db2030850bfc9c04afef5c8

1  2 
manifest
manifest.uuid

diff --cc manifest
index d12aa792807bda92f4af939818ad2cf2bdadbeaa,15bb84a13112bdff22da4f239501611c7b65bf02..0120b847f07458dd6c7e343b204007459c074bd1
+++ 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 cb987fab75eb460884f0c1d6f304b1a809cc77ab,674bf144e0419a788adb775ff5aeaa581477aa75..e7b1fe36b898fca917bf3e4b337a647804b58cc7
@@@ -1,1 -1,1 +1,1 @@@
- 615c0026119f7870c3b6ef9dcb57ce4ecf5acedea3e2b5cfc25aa450eb8f17a0
 -c585d6a4678b04f4cedc08852d01c44cdf52ae2c8ccd1174c3d5a395088bf528
++f6c4fb48b65c2e8659aa0a1119c330e8bad5e42b2db2030850bfc9c04afef5c8