Re: Writeable CTEs patch
Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>
From: Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2010-02-10T14:42:16Z
Lists: pgsql-hackers
Attachments
- dmlwith10.patch (text/plain) patch
On 2010-02-08 18:42 +0200, Robert Haas wrote: > On Thu, Feb 4, 2010 at 11:57 AM, Marko Tiikkaja > <marko.tiikkaja@cs.helsinki.fi> wrote: >> On 2010-02-04 18:04 UTC+2, I wrote: >>> While working on the docs, I noticed one problem with the patch itself: >>> it doesn't handle multi-statement DO INSTEAD rules correctly. I'm going >>> to submit a fix for that later. >> >> Here's an updated patch. Only changes from the previous patch are >> fixing the above issue and a regression test for it. > > - It appears that we pull out all of the DML statements first and run > them in order, but I'm not sure that's the right thing to do. > Consider: > > WITH x AS (INSERT ...), y AS (SELECT ...), z AS (INSERT ...) SELECT ... > > I would assume we would do x, CCI, do y, do z, CCI, do main query, but > I don't think that's what this implements. The user might be > surprised to find out that y sees the effects of z. I've updated the patch according to what I said here: http://archives.postgresql.org/pgsql-hackers/2010-02/msg00722.php I haven't done any extensive testing, but it seems to work in the most common cases. Regards, Marko Tiikkaja