From: Tom Lane Date: Tue, 6 Dec 2005 16:59:22 +0000 (+0000) Subject: In a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfo X-Git-Tag: REL7_4_10~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a025aa179c4ca15915ea2c523894faa31b2ca2f9;p=postgresql In a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfo clauses even if it's an outer join. This is a corner case since such clauses could only arise from weird OUTER JOIN ON conditions, but worth fixing. Per example from Ron at cheapcomplexdevices.com. --- diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index 6c702c255d..28182c2372 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.147.4.1 2005/04/20 21:48:22 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.147.4.2 2005/12/06 16:59:22 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -666,10 +666,6 @@ group_clauses_by_indexkey_for_join(Query *root, { RestrictInfo *rinfo = (RestrictInfo *) lfirst(i); - /* Can't use pushed-down clauses in outer join */ - if (isouterjoin && rinfo->ispusheddown) - continue; - if (match_clause_to_indexcol(rel, index, indexcol,