Re: Early WIP/PoC for inlining CTEs
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Jeremy Finzel <finzelj@gmail.com>, pgsql-hackers@postgresql.org
Date: 2018-07-25T00:27:42Z
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 2018-07-25 01:08:44 +0100, Andrew Gierth wrote: > >>>>> "Andres" == Andres Freund <andres@anarazel.de> writes: > > Andres> Even in queries with a non-0 OFFSET you can push down in a > Andres> number of cases, > > really? Yea. I guess it's a bit dependant on what kind of behaviour you consider as "pushing down". I'm doubtful it's worth the analytical complexity on ensuring it's safe, however. With knowledge from the outer query you e.g. can: trim the target list; remove outer joins below the OFFSET 0; push down a restriction into an outer join below the OFFSET if that's guaranteed to only return max one row, and not needed if not matching the restrcition. I'm sure you can come up with more? Greetings, Andres Freund