]> granicus.if.org Git - postgresql/commit
Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 14 Aug 2006 22:57:15 +0000 (22:57 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 14 Aug 2006 22:57:15 +0000 (22:57 +0000)
commit65b2f93b587be67ea1d5e4d98a99599937aa7b19
treefdb266a0f1070e45df5385b6721d6b0a9998675f
parent3d1e01caa46b87b734e4758ad9885e1e12bc77c8
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.
src/backend/commands/prepare.c
src/backend/executor/spi.c
src/backend/tcop/pquery.c
src/backend/utils/mmgr/portalmem.c
src/include/utils/portal.h