Re: Ignored join clause
Andrew Gierth <andrew@tao11.riddles.org.uk>
From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: Andreas Karlsson <andreas@proxel.se>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2018-04-19T02:50:52Z
Lists: pgsql-bugs
>>>>> "Andreas" == Andreas Karlsson <andreas@proxel.se> writes: Andreas> Hi, Andreas> It seems to me like PostgreSQL incorrectly removes a join Andreas> clause when planning some queries. I discovered this while Andreas> debugging a large query, which I below have simplified as much Andreas> as I could. I suspect the bug may be related to the lateral Andreas> join but I am not sure. Fascinating. What's happening here is not that the condition is being ignored, but rather that what should be a simple filter condition (or a join filter at the upper level) is being placed in the "Join Filter" slot of an outer join at the inner level - where the condition's falsity doesn't remove the whole row but causes it to be treated as unmatched. My suspicion is that this is an interaction between lateral and join reordering. Looking into it further. -- Andrew (irc:RhodiumToad)
Commits
-
Tweak a couple of planner APIs to save recalculating join relids.
- ec38dcd363cd 11.0 landed
-
Change more places to be less trusting of RestrictInfo.is_pushed_down.
- 9680c120e5b2 9.3.23 landed
- 80e12a621876 9.5.13 landed
- 64ad85860ce6 9.6.9 landed
- 58fec95268dc 9.4.18 landed
- c792c7db4146 11.0 landed
- 8b6294c7a560 10.4 landed
-
Fix broken extract_actual_join_clauses call in 9.6 postgres_fdw.
- 306d6e59f751 9.6.9 cited
-
Fix incorrect handling of join clauses pushed into parameterized paths.
- e5d83995e9f8 11.0 landed
- e4e43a16b250 9.5.13 landed
- e1d4398c0a5b 9.3.23 landed
- a347d5210ef0 9.4.18 landed
- 68fab04f7c2a 10.4 landed
- 0c141fcaa7dd 9.6.9 landed
-
Handle restriction clause lists more uniformly in postgres_fdw.
- 28b047875554 10.0 cited