aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>1999-05-04 00:00:20 +0000
committerTom Lane <tgl@sss.pgh.pa.us>1999-05-04 00:00:20 +0000
commit5da466c597f03b166d1cffd65b575958ff28c77e (patch)
treed2260167ff647f7ecf10c496c08376dd7323c000
parentb6c732e63c18e1436154893e698dd206b3c45ab8 (diff)
downloadpostgresql-5da466c597f03b166d1cffd65b575958ff28c77e.tar.gz
postgresql-5da466c597f03b166d1cffd65b575958ff28c77e.zip
Make sure targetlist generated for subplan does not share
nodes with HAVING qualifier of upper plan. Have not seen any failures, just being a little bit paranoid...
-rw-r--r--src/backend/optimizer/plan/planner.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index aeaa07658cc..323d2c61b12 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.48 1999/05/03 00:38:43 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.49 1999/05/04 00:00:20 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -505,8 +505,13 @@ make_subplanTargetList(Query *parse,
if (tlist_member(v, sub_tlist) == NULL)
{
+ /* Make sure sub_tlist element is a fresh object not shared with
+ * any other structure; not sure if anything will break if it is
+ * shared, but better to be safe...
+ */
sub_tlist = lappend(sub_tlist,
- create_tl_element(v, next_resno));
+ create_tl_element((Var *) copyObject(v),
+ next_resno));
next_resno++;
}
}