diff options
Diffstat (limited to 'src/backend/optimizer/util')
| -rw-r--r-- | src/backend/optimizer/util/clauses.c | 5 | ||||
| -rw-r--r-- | src/backend/optimizer/util/tlist.c | 6 | ||||
| -rw-r--r-- | src/backend/optimizer/util/var.c | 3 |
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)) { |
