Re: Early WIP/PoC for inlining CTEs

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: Andreas Karlsson <andreas(at)proxel(dot)se>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Early WIP/PoC for inlining CTEs
Date: 2019-01-01 00:42:44
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

>>>>> "Andreas" == Andreas Karlsson <andreas(at)proxel(dot)se> writes:

Andreas> I believe I have fixed these except for the comment on the
Andreas> conditions for when we inline.

Andreas> Andrew Gierth: Why did you chose to not inline on FOR UPDATE
Andreas> but inline volatile functions? I feel that this might be
Andreas> inconsistent since in both cases the query in the CTE can
Andreas> change behavior if the planner pushes a WHERE clause into the
Andreas> subquery, but maybe I am missing something.

I chose not to inline FOR UPDATE because it was an obvious compatibility
break, potentially changing the set of locked rows, and it was an easy
condition to test.

I did not test for volatile functions simply because this was a very
early stage of the project (which wasn't my project, I was just
assisting someone else). I left the comment "this likely needs some
additional checks" there for a reason.

Andrew (irc:RhodiumToad)

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Edmund Horner 2019-01-01 00:53:06 Re: Joins on TID
Previous Message Alvaro Herrera 2019-01-01 00:38:58 Re: monitoring CREATE INDEX [CONCURRENTLY]