From: Gregory Stark <stark@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tatsuo Ishii <ishii@postgresql.org>
Cc: andrew@tao11.riddles.org.uk
Cc: pgsql-hackers@postgresql.org
Subject: Re: WITH RECUSIVE patches 0723
Date: Mon, 28 Jul 2008 17:33:29 +0100
Message-ID: <878wvmt1d2.fsf@oxford.xeocode.com> (raw)
In-Reply-To: <19882.1217256991@sss.pgh.pa.us>
References: <20080725001513.GF16438@fetter.org>
<20080725.092652.105178884.t-ishii@sraoss.co.jp>
<87r69gs967.fsf@news-spur.riddles.org.uk>
<20080728.162925.23020498.t-ishii@sraoss.co.jp>
<19882.1217256991@sss.pgh.pa.us>
"Tom Lane" <tgl@sss.pgh.pa.us> writes:
"Tom Lane" <tgl@sss.pgh.pa.us> writes:
> I think what this is saying is that the subquery defined by a WITH
> clause is to be evaluated only once, even if it is referenced in
> multiple places in the upper query. This is sensible because if there
> is no such rule, then there really is no semantic difference between
> non-recursive WITH and ordinary subqueries; and the SQL committee is not
> known for inventing duplicate syntax.
Well I guess that answers the question of whether to apply the partial patch
before full recursive queries come along. In any case since that work seems to
be making a lot of progress (no thanks to me:( ) I don't think it's a problem
to wait.
> This isn't going to be a particularly simple fix :-(. The basic
> implementation clearly ought to be to dump the result of the subquery
> into a tuplestore and then have the upper level read out from that.
> However, we don't have any infrastructure for having multiple
> upper-level RTEs reference the same tuplestore.
Uhm, indeed, isn't that the whole point of the work needed to make recursive
queries work? Once we have that we'll just use those executor nodes even for
non-recursive queries.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's RemoteDBA services!
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-patches@postgresql.org
Cc: stark@enterprisedb.com, tgl@sss.pgh.pa.us, ishii@postgresql.org, andrew@tao11.riddles.org.uk, pgsql-hackers@postgresql.org
Subject: Re: WITH RECUSIVE patches 0723
In-Reply-To: <878wvmt1d2.fsf@oxford.xeocode.com>
* 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