From: Marc G. Fournier Date: Mon, 3 Mar 1997 23:26:45 +0000 (+0000) Subject: Patch from Martin due to changes in joinrels.c X-Git-Tag: REL6_1~509 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed8b7bdff9a7ab05ed7e34f575a3802b7cc3e51b;p=postgresql Patch from Martin due to changes in joinrels.c --- diff --git a/src/backend/optimizer/geqo/geqo_eval.c b/src/backend/optimizer/geqo/geqo_eval.c index 74ab0e6e78..72a10ee9df 100644 --- a/src/backend/optimizer/geqo/geqo_eval.c +++ b/src/backend/optimizer/geqo/geqo_eval.c @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: geqo_eval.c,v 1.5 1997/03/01 22:22:21 momjian Exp $ + * $Id: geqo_eval.c,v 1.6 1997/03/03 23:26:45 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -371,10 +371,18 @@ new_joininfo_list(List *joininfo_list, List *join_relids) List *xjoininfo = NIL; foreach (xjoininfo, joininfo_list) { + List *or; JInfo *joininfo = (JInfo*)lfirst(xjoininfo); new_otherrels = joininfo->otherrels; - if (nonoverlap_sets(new_otherrels,join_relids)) { + foreach (or, new_otherrels) + { + if ( intMember (lfirsti(or), join_relids) ) + new_otherrels = lremove ((void*)lfirst(or), new_otherrels); + } + joininfo->otherrels = new_otherrels; + if ( new_otherrels != NIL ) + { other_joininfo = joininfo_member(new_otherrels, current_joininfo_list); if(other_joininfo) {