aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeGroup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeGroup.c')
-rw-r--r--src/backend/executor/nodeGroup.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c
index f856d4780bc..38f7a0365db 100644
--- a/src/backend/executor/nodeGroup.c
+++ b/src/backend/executor/nodeGroup.c
@@ -13,7 +13,7 @@
* columns. (ie. tuples from the same group are consecutive)
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.29 1999/07/17 20:16:58 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.30 1999/09/24 00:24:23 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -91,10 +91,12 @@ ExecGroupEveryTuple(Group *node)
{
grpstate->grp_useFirstTuple = FALSE;
+ /* note we rely on subplan to hold ownership of the tuple
+ * for as long as we need it; we don't copy it.
+ */
ExecStoreTuple(grpstate->grp_firstTuple,
grpstate->csstate.css_ScanTupleSlot,
- InvalidBuffer,
- false);
+ InvalidBuffer, false);
}
else
{
@@ -129,10 +131,12 @@ ExecGroupEveryTuple(Group *node)
}
}
+ /* note we rely on subplan to hold ownership of the tuple
+ * for as long as we need it; we don't copy it.
+ */
ExecStoreTuple(outerTuple,
grpstate->csstate.css_ScanTupleSlot,
- outerslot->ttc_buffer,
- false);
+ InvalidBuffer, false);
}
/* ----------------
@@ -226,10 +230,12 @@ ExecGroupOneTuple(Group *node)
*/
projInfo = grpstate->csstate.cstate.cs_ProjInfo;
+ /* note we rely on subplan to hold ownership of the tuple
+ * for as long as we need it; we don't copy it.
+ */
ExecStoreTuple(firsttuple,
grpstate->csstate.css_ScanTupleSlot,
- InvalidBuffer,
- false);
+ InvalidBuffer, false);
econtext->ecxt_scantuple = grpstate->csstate.css_ScanTupleSlot;
resultSlot = ExecProject(projInfo, &isDone);