Re: MemoizePath fails to work for partitionwise join - Mailing list pgsql-hackers

From Tom Lane
Subject Re: MemoizePath fails to work for partitionwise join
Date
Msg-id 3321672.1670262177@sss.pgh.pa.us
Whole thread Raw
In response to MemoizePath fails to work for partitionwise join  (Richard Guo <guofenglinux@gmail.com>)
Responses Re: MemoizePath fails to work for partitionwise join  (Richard Guo <guofenglinux@gmail.com>)
List pgsql-hackers
Richard Guo <guofenglinux@gmail.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



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Error-safe user functions
Next
From: Tom Lane
Date:
Subject: Re: Error-safe user functions