diff options
author | Tom Lane | 2023-01-30 18:50:25 +0000 |
---|---|---|
committer | Tom Lane | 2023-01-30 18:50:25 +0000 |
commit | 3bef56e11650a33f70adeb6dd442bc2b48bb9b72 (patch) | |
tree | 5a817197ed4f7b1f54abc7349dfab3f17bb946c8 /src/tutorial/advanced.source | |
parent | b448f1c8d83f8b65e2f0080c556ee21a7076da25 (diff) |
Invent "join domains" to replace the below_outer_join hack.
EquivalenceClasses are now understood as applying within a "join
domain", which is a set of inner-joined relations (possibly underneath
an outer join). We no longer need to treat an EC from below an outer
join as a second-class citizen.
I have hopes of eventually being able to treat outer-join clauses via
EquivalenceClasses, by means of only applying deductions within the
EC's join domain. There are still problems in the way of that, though,
so for now the reconsider_outer_join_clause logic is still here.
I haven't been able to get rid of RestrictInfo.is_pushed_down either,
but I wonder if that could be recast using JoinDomains.
I had to hack one test case in postgres_fdw.sql to make it still test
what it was meant to, because postgres_fdw is inconsistent about
how it deals with quals containing non-shippable expressions; see
https://postgr.es/m/[email protected]. That should
be improved, but I don't think it's within the scope of this patch
series.
Patch by me; thanks to Richard Guo for review.
Discussion: https://postgr.es/m/[email protected]
Diffstat (limited to 'src/tutorial/advanced.source')
0 files changed, 0 insertions, 0 deletions