|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/executor/nodeMaterial.c,v 1.61 2008/01/01 19:45:49 momjian Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/executor/nodeMaterial.c,v 1.62 2008/03/23 00:54:04 tgl Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -124,18 +124,17 @@ ExecMaterial(MaterialState *node)
|
124 | 124 | }
|
125 | 125 |
|
126 | 126 | /*
|
127 |
| - * Append returned tuple to tuplestore. NOTE: because the tuplestore |
128 |
| - * is certainly in EOF state, its read position will move forward over |
129 |
| - * the added tuple. This is what we want. |
| 127 | + * Appenda copy of thereturned tuple to tuplestore. NOTE: because |
| 128 | + *the tuplestoreis certainly in EOF state, its read position will |
| 129 | + *move forward overthe added tuple. This is what we want. |
130 | 130 | */
|
131 | 131 | if (tuplestorestate)
|
132 | 132 | tuplestore_puttupleslot(tuplestorestate,outerslot);
|
133 | 133 |
|
134 | 134 | /*
|
135 |
| - * And return a copy of the tuple.(XXX couldn't we just return the |
136 |
| - * outerslot?) |
| 135 | + * We can just return the subplan's returned tuple, without copying. |
137 | 136 | */
|
138 |
| -returnExecCopySlot(slot,outerslot); |
| 137 | +returnouterslot; |
139 | 138 | }
|
140 | 139 |
|
141 | 140 | /*
|
|