summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc G. Fournier1996-07-25 20:36:46 +0000
committerMarc G. Fournier1996-07-25 20:36:46 +0000
commit5315d37c207c907c2b732ef9c34ab61aaee8fa13 (patch)
tree5fbc117392c20843459e8fdad8f21b5927ea464f
parentaac483943d45beaa00a8f1eeae4c96d1bc62b522 (diff)
Fix applied for NESTLOOP bug
submitted by: [email protected] (Vadim B. Mikheev)
-rw-r--r--src/backend/optimizer/util/clauses.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index daba4d8fdb0..dab4ea88467 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.1.1.1 1996/07/09 06:21:38 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.2 1996/07/25 20:36:46 scrappy Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -356,11 +356,21 @@ clause_relids_vars(Node *clause, List **relids, List **vars)
foreach (i, clvars) {
Var *var = (Var *)lfirst(i);
+ List *vi;
if (!intMember(var->varno, varno_list)) {
varno_list = lappendi(varno_list, var->varno);
- var_list = lappend(var_list, var);
}
+ foreach (vi, var_list)
+ {
+ Var *in_list = (Var *)lfirst(vi);
+
+ if ( in_list->varno == var->varno &&
+ in_list->varattno == var->varattno )
+ break;
+ }
+ if ( vi == NIL )
+ var_list = lappend(var_list, var);
}
*relids = varno_list;