summaryrefslogtreecommitdiff
path: root/src/backend/optimizer/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/util')
-rw-r--r--src/backend/optimizer/util/clauses.c5
-rw-r--r--src/backend/optimizer/util/tlist.c6
-rw-r--r--src/backend/optimizer/util/var.c3
3 files changed, 9 insertions, 5 deletions
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index eab49abb1f..6f42df8ceb 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.13 1997/12/22 05:42:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.14 1998/01/20 22:11:39 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -377,7 +377,8 @@ clause_relids_vars(Node *clause, List **relids, List **vars)
Var *in_list = (Var *) lfirst(vi);
if (in_list->varno == var->varno &&
- in_list->varattno == var->varattno)
+ in_list->varattno == var->varattno &&
+ in_list->varlevelsup == var->varlevelsup)
break;
}
if (vi == NIL)
diff --git a/src/backend/optimizer/util/tlist.c b/src/backend/optimizer/util/tlist.c
index aa867f4b5a..edac3e8bf4 100644
--- a/src/backend/optimizer/util/tlist.c
+++ b/src/backend/optimizer/util/tlist.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.8 1997/11/25 22:00:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.9 1998/01/20 22:11:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -108,6 +108,7 @@ add_tl_element(Rel *rel, Var *var)
Var *newvar = makeVar(var->varno,
var->varattno,
var->vartype,
+ var->varlevelsup,
var->varno,
var->varoattno);
@@ -287,7 +288,8 @@ match_varid(Var *test_var, List *tlist)
* changed to INNER/OUTER.
*/
if (tlvar->varnoold == test_var->varnoold &&
- tlvar->varoattno == test_var->varoattno)
+ tlvar->varoattno == test_var->varoattno &&
+ tlvar->varlevelsup == test_var->varlevelsup)
{
if (tlvar->vartype == type_var)
diff --git a/src/backend/optimizer/util/var.c b/src/backend/optimizer/util/var.c
index 7ba3ce5d97..e3ed305ed8 100644
--- a/src/backend/optimizer/util/var.c
+++ b/src/backend/optimizer/util/var.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/var.c,v 1.7 1997/12/22 05:42:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/var.c,v 1.8 1998/01/20 22:11:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -209,6 +209,7 @@ var_equal(Var *var1, Var *var2)
if (IsA(var1, Var) &&IsA(var2, Var) &&
(((Var *) var1)->varno == ((Var *) var2)->varno) &&
(((Var *) var1)->vartype == ((Var *) var2)->vartype) &&
+ (((Var *) var1)->varlevelsup == ((Var *) var2)->varlevelsup) &&
(((Var *) var1)->varattno == ((Var *) var2)->varattno))
{