|From:||Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>|
|To:||Richard Guo <guofenglinux(at)gmail(dot)com>|
|Cc:||Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Finnerty, Jim" <jfinnert(at)amazon(dot)com>|
|Subject:||Re: Making Vars outer-join aware|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
Here's a new edition of this patch series.
I shoved some preliminary refactoring into the 0001 patch,
notably splitting deconstruct_jointree into two passes.
0002-0009 cover the same ground as they did before, though
with some differences in detail. 0010-0012 are new work
mostly aimed at removing kluges we no longer need.
There are two big areas that I would still like to improve, but
I think we've run out of time to address them in the v16 cycle:
* It'd be nice to apply the regular EquivalenceClass deduction
mechanisms to outer-join equalities, instead of the
reconsider_outer_join_clauses kluge. I've made several stabs at that
without much success. I think that the "join domain" framework added
in 0012 is likely to provide a workable foundation, but some more
effort is needed.
* I really want to get rid of RestrictInfo.is_pushed_down and
RINFO_IS_PUSHED_DOWN(), because those seem exceedingly awkward
and squishy. I've not gotten far with finding a better
replacement there, either.
Despite the work being unfinished, I feel that this has moved us a
long way towards outer-join handling being less of a jury-rigged
regards, tom lane
|Next Message||Tom Lane||2022-12-23 18:53:24||Re: Error-safe user functions|
|Previous Message||Andrew Dunstan||2022-12-23 17:19:44||Re: Error-safe user functions|