From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix oversight in initial implementation of PORTAL_ONE_RETURNING |
Date: | 2006-08-14 22:57:15 |
Message-ID: | 20060814225715.D271B9FB1F9@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we
cannot assume that there's exactly one Query in the Portal, as we can for
ONE_SELECT mode, because non-SELECT queries might have extra queries added
during rule rewrites. Fix things up so that we'll use ONE_RETURNING mode
when a Portal contains one primary (canSetTag) query and that query has
a RETURNING list. This appears to be a second showstopper reason for running
the Portal to completion before we start to hand anything back --- we want
to be sure that the rule-added queries get run too.
Modified Files:
--------------
pgsql/src/backend/commands:
prepare.c (r1.60 -> r1.61)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c.diff?r1=1.60&r2=1.61)
pgsql/src/backend/executor:
spi.c (r1.156 -> r1.157)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c.diff?r1=1.156&r2=1.157)
pgsql/src/backend/tcop:
pquery.c (r1.106 -> r1.107)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/pquery.c.diff?r1=1.106&r2=1.107)
pgsql/src/backend/utils/mmgr:
portalmem.c (r1.91 -> r1.92)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mmgr/portalmem.c.diff?r1=1.91&r2=1.92)
pgsql/src/include/utils:
portal.h (r1.65 -> r1.66)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/portal.h.diff?r1=1.65&r2=1.66)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-08-14 23:39:32 | pgsql: Cause '*' and 'foo.*' notations to mark the referenced RTE(s) as |
Previous Message | User Diogob | 2006-08-14 21:29:57 | xlogviewer - xlogdump: |