From: Tom Lane Date: Tue, 6 Dec 2005 16:50:55 +0000 (+0000) Subject: In a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfo X-Git-Tag: REL8_0_5~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7563a16b116603db2c986b04883e18af6dda2be2;p=thirdparty%2Fpostgresql.git 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 5680cbbc6e3..dc26fc40cac 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/path/indxpath.c,v 1.167.4.2 2005/04/20 21:48:12 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/path/indxpath.c,v 1.167.4.3 2005/12/06 16:50:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -332,10 +332,6 @@ group_clauses_by_indexkey_for_join(Query *root, { RestrictInfo *rinfo = (RestrictInfo *) lfirst(l); - /* Can't use pushed-down clauses in outer join */ - if (isouterjoin && rinfo->is_pushed_down) - continue; - if (match_clause_to_indexcol(rel, index, indexcol,