From 598b97dc9b8da1673c553afb57266e69ed27471e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 23 Mar 2008 00:54:04 +0000 Subject: [PATCH] Avoid a useless tuple copy within nodeMaterial. Neil Conway --- src/backend/executor/nodeMaterial.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/backend/executor/nodeMaterial.c b/src/backend/executor/nodeMaterial.c index 1fd7a4d030..3c096356a3 100644 --- a/src/backend/executor/nodeMaterial.c +++ b/src/backend/executor/nodeMaterial.c @@ -8,7 +8,7 @@ * * * 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 - * is certainly in EOF state, its read position will move forward over - * the added tuple. This is what we want. + * Append a copy of the returned tuple to tuplestore. NOTE: because + * the tuplestore is certainly in EOF state, its read position will + * move forward over the added tuple. This is what we want. */ if (tuplestorestate) tuplestore_puttupleslot(tuplestorestate, outerslot); /* - * And return a copy of the tuple. (XXX couldn't we just return the - * outerslot?) + * We can just return the subplan's returned tuple, without copying. */ - return ExecCopySlot(slot, outerslot); + return outerslot; } /*