mirror of
https://github.com/postgres/postgres.git
synced 2025-08-22 21:53:06 +03:00
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.
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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);
|
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,
|
if (match_clause_to_indexcol(rel,
|
||||||
index,
|
index,
|
||||||
indexcol,
|
indexcol,
|
||||||
|
Reference in New Issue
Block a user