diff options
Diffstat (limited to 'src/backend/executor/nodeGroup.c')
-rw-r--r-- | src/backend/executor/nodeGroup.c | 20 |
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); |