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

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: thibaut.madelaine@dalibo.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2019-03-05T15:39:07Z
Lists: pgsql-bugs
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 ...

			regards, tom lane


Commits

  1. Fix handling of targetlist SRFs when scan/join relation is known empty.