Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)

Поиск
Список
Период
Сортировка
От Julien Rouhaud
Тема Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)
Дата
Msg-id CAOBaU_YPJj95_9oskbobWxinOmfu3zJrNAnFD77yuzFTb6tmbA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)
Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)
Список pgsql-bugs
On Tue, Mar 5, 2019 at 4:39 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> PG Bug reporting form <noreply@postgresql.org> writes:
> > In PostgreSQL 10.7 and before, it is possible to run the following query:
>
> > thibaut=# WITH test AS ( SELECT array[1,2] AS intarr )
> >                  SELECT unnest(intarr) AS lot_id FROM test WHERE false;
>
> > In version 11.2, the same query fails:
> > ERROR:  0A000: set-valued function called in context that cannot accept a set
>
> Hmm, that's definitely a bug.  It looks like we're forgetting to make
> a ProjectSet plan node for the unnest() if we realize that the query
> is a no-op; but I'm not sure why 10.x doesn't have the same issue.
> Digging ...

It seems to be due to 11cf92f6e2e which bypass adjust_paths_for_srfs()
in case of dummy rel.  I'm not familiar with that this code, but
attached patch seems to fix the issue without breaking regression
tests.

Вложения

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)
Следующее
От: Julien Rouhaud
Дата:
Сообщение: Re: BUG #15669: Error with unnest in PG 11 (ERROR: 0A000)