BUG #16255: No respect for 'not materialized' on CTEs with group by

Started by PG Bug reporting formabout 6 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 16255
Logged by: Robert Ford
Email address: robfordww@gmail.com
PostgreSQL version: 12.1
Operating system: Windows
Description:

I have an simple CTE expression with group by and a string_aggr() function,
and Postgresql seems to materialize it anyhow, even if 'not materialized' is
instructed. I can't see that this is documented behaviour.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #16255: No respect for 'not materialized' on CTEs with group by

PG Bug reporting form <noreply@postgresql.org> writes:

I have an simple CTE expression with group by and a string_aggr() function,
and Postgresql seems to materialize it anyhow, even if 'not materialized' is
instructed. I can't see that this is documented behaviour.

Since you haven't given a concrete example, nobody else can see whether it
is either. But in general, there is no guarantee that "NOT MATERIALIZED"
will do anything. There are multiple conditions that will prevent
inlining a CTE, either for semantic or implementation reasons.

regards, tom lane