pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: David Fetter <david@fetter.org>
Cc: pgsql-hackers@postgresql.org
Subject: Re: Early WIP/PoC for inlining CTEs
Date: Wed, 25 Jul 2018 16:18:42 +0100
Message-ID: <87bmavfjhy.fsf@news-spur.riddles.org.uk> (raw)
In-Reply-To: <20180725054236.GB17411@fetter.org>
References: <87sh48ffhb.fsf@news-spur.riddles.org.uk>
	<20180725054236.GB17411@fetter.org>

>>>>> "David" == David Fetter <david@fetter.org> writes:

 David> Please find attached a version rebased atop 167075be3ab1547e18
 David> with what I believe are appropriate changes to regression test
 David> output. The other changes to the regression tests output are
 David> somewhat puzzling, as they change the actual results of queries.

Both of those changes are the result of volatile CTEs being inlined more
than once (in one case, as part of an explicit test to ensure that CTEs
are being materialized and not multiply evaluated).

If you look for the XXX comment in the patch, it should be easy to add a
check that skips inlining if cterefcount > 1 and
contains_volatile_functions is true.

-- 
Andrew (irc:RhodiumToad)




view thread (112+ messages)  latest in thread

Message-ID: <87bmavfjhy.fsf@news-spur.riddles.org.uk>
Permalink:  ../87bmavfjhy.fsf@news-spur.riddles.org.uk/
Also on:    postgresql.org/message-id/87bmavfjhy.fsf@news-spur.riddles.org.uk

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: andrew@tao11.riddles.org.uk, david@fetter.org
  Subject: Re: Early WIP/PoC for inlining CTEs
  In-Reply-To: <87bmavfjhy.fsf@news-spur.riddles.org.uk>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox