Re: Early WIP/PoC for inlining CTEs
Merlin Moncure <mmoncure@gmail.com>
From: Merlin Moncure <mmoncure@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Jeremy Finzel <finzelj@gmail.com>,
Andrew Gierth <andrew@tao11.riddles.org.uk>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-01-11T21:25:23Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Prevent inlining of multiply-referenced CTEs with outer recursive refs.
- 9476131278c7 12.0 landed
-
Allow user control of CTE materialization, and change the default behavior.
- 608b167f9f9c 12.0 landed
-
Split QTW_EXAMINE_RTES flag into QTW_EXAMINE_RTES_BEFORE/_AFTER.
- 18c0da88a5d9 12.0 landed
-
document when PREPARE uses generic plans
- fab9d1da4a21 9.6.0 cited
On Tue, Jul 24, 2018 at 6:10 PM Andres Freund <andres@anarazel.de> wrote: > My read of the concensus (in which I am in the majority, so I might be > biased) is that we do want inlining to be the default. We were thinking > that it'd be necessary to provide a way to force inlining on the SQL > level for individual CTEs. This is correct. Suggesting that we need syntax to disabling inlining at the CTE level, and/or GUC to control the behavior (which I agree should be defualted to inline). Something like enable_cte_inline=true; I'm not very enthusiastic about explicitly breaking intentionally introduced optimization fences and then forcing people to inject our OFFSET 0 hack. This is just too unpleasant to contemplate...what happens if we come up with a better implemntation of OFFSET? yuck. Thanks for providing this, CTE plan problems are a real bugaboo. merlin