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

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

From
PG Bug reporting form
Date:
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.


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

From
Tom Lane
Date:
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