From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Richard Guo <guofenglinux(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: MemoizePath fails to work for partitionwise join |
Date: | 2022-12-05 17:42:57 |
Message-ID: | 3321672.1670262177@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Richard Guo <guofenglinux(at)gmail(dot)com> writes:
> The fix is straightforward, just to use outerrel->top_parent if it is
> not null and leave the reparameterization work to try_nestloop_path. In
> addition, I believe when reparameterizing MemoizePath we need to adjust
> its param_exprs too.
Right you are. I'd noticed the apparent omission in
reparameterize_path_by_child, but figured that we'd need a test case to
find any other holes before it'd be worth fixing. Thanks for finding
a usable test case.
One small problem is that top_parent doesn't exist in the back branches,
so I had to substitute a much uglier lookup in order to make this work
there. I'm surprised that we got away without top_parent for this long
TBH, but anyway this fix validates the wisdom of 2f17b5701.
So, pushed with some cosmetic adjustments and the modified back-branch
code.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-12-05 17:44:47 | Re: Error-safe user functions |
Previous Message | Alvaro Herrera | 2022-12-05 17:42:31 | Re: Error-safe user functions |