Re: Missing MaterialPath support in reparameterize_path_by_child

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Missing MaterialPath support in reparameterize_path_by_child
Дата
Msg-id 1935226.1669995790@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Missing MaterialPath support in reparameterize_path_by_child  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Ответы Re: Missing MaterialPath support in reparameterize_path_by_child  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Список pgsql-hackers
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> writes:
> On Fri, Dec 2, 2022 at 8:25 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Unfortunately, I don't have an example that produces such a
>> failure against HEAD.  It seems certain to me that such cases
>> exist, though, so I'd like to apply and back-patch the attached.

> From this comment, that I wrote back when I implemented that function,
> I wonder if we thought MaterialPath wouldn't appear on the inner side
> of nestloop join. But that can't be the case. Or probably we didn't
> find MaterialPath being there from our tests.
>      * This function is currently only applied to the inner side of a nestloop
>      * join that is being partitioned by the partitionwise-join code.  Hence,
>      * we need only support path types that plausibly arise in that context.
> But I think it's good to have MaterialPath there.

So thinking about this a bit: the reason it is okay if reparameterize_path
fails is that it's not fatal.  We just go on our way without making
a parameterized path for that appendrel.  However, if
reparameterize_path_by_child fails for every available child path,
we end up with "could not devise a query plan", because the
partitionwise-join code is brittle and won't tolerate failure
to build a parent-join path.  Seems like we should be willing to
fall back to a non-partitionwise join in that case.

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: Re: [PATCH] Check snapshot argument of index_beginscan and family
Следующее
От: Reid Thompson
Дата:
Сообщение: Re: Add tracking of backend memory allocated to pg_stat_activity