From 47aa95e951c8291239f15e400d767ea32b5be9b3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 2 Oct 2004 22:39:49 +0000 Subject: =?UTF-8?q?Clean=20up=20handling=20of=20inherited-table=20update?= =?UTF-8?q?=20queries,=20per=20bug=20report=20from=20Sebastian=20B=C3=B6ck?= =?UTF-8?q?.=20=20The=20fix=20involves=20being=20more=20consistent=20about?= =?UTF-8?q?=20when=20rangetable=20entries=20are=20copied=20or=20modified.?= =?UTF-8?q?=20=20Someday=20we=20really=20need=20to=20fix=20this=20stuff=20?= =?UTF-8?q?to=20not=20scribble=20on=20its=20input=20data=20structures=20in?= =?UTF-8?q?=20the=20first=20place...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/optimizer/util/clauses.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/backend/optimizer/util/clauses.c') diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index de0e7a539c2..1f848cd9bdb 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/util/clauses.c,v 1.180 2004/08/29 05:06:44 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/util/clauses.c,v 1.181 2004/10/02 22:39:48 tgl Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -3254,10 +3254,20 @@ query_tree_mutator(Query *query, CHECKFLATCOPY(newrte->subquery, rte->subquery, Query); MUTATE(newrte->subquery, newrte->subquery, Query *); } + else + { + /* else, copy RT subqueries as-is */ + newrte->subquery = copyObject(rte->subquery); + } break; case RTE_JOIN: if (!(flags & QTW_IGNORE_JOINALIASES)) MUTATE(newrte->joinaliasvars, rte->joinaliasvars, List *); + else + { + /* else, copy join aliases as-is */ + newrte->joinaliasvars = copyObject(rte->joinaliasvars); + } break; case RTE_FUNCTION: MUTATE(newrte->funcexpr, rte->funcexpr, Node *); -- cgit v1.2.3