PG Bug reporting form <noreply(at)postgresql(dot)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