Avoid a useless tuple copy within nodeMaterial. Neil Conway

This commit is contained in:
Tom Lane 2008-03-23 00:54:04 +00:00
parent deb519611b
commit 598b97dc9b

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/executor/nodeMaterial.c,v 1.61 2008/01/01 19:45:49 momjian Exp $ * $PostgreSQL: pgsql/src/backend/executor/nodeMaterial.c,v 1.62 2008/03/23 00:54:04 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -124,18 +124,17 @@ ExecMaterial(MaterialState *node)
} }
/* /*
* Append returned tuple to tuplestore. NOTE: because the tuplestore * Append a copy of the returned tuple to tuplestore. NOTE: because
* is certainly in EOF state, its read position will move forward over * the tuplestore is certainly in EOF state, its read position will
* the added tuple. This is what we want. * move forward over the added tuple. This is what we want.
*/ */
if (tuplestorestate) if (tuplestorestate)
tuplestore_puttupleslot(tuplestorestate, outerslot); tuplestore_puttupleslot(tuplestorestate, outerslot);
/* /*
* And return a copy of the tuple. (XXX couldn't we just return the * We can just return the subplan's returned tuple, without copying.
* outerslot?)
*/ */
return ExecCopySlot(slot, outerslot); return outerslot;
} }
/* /*