Fix thinko in new match_join_clauses_to_index() logic.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 0140a11b9ba5b22e1e4807e178bca770d46c3e28
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-02-28T23:10:40Z
Releases: 9.2.0
Fix thinko in new match_join_clauses_to_index() logic.

We don't need to constrain the other side of an indexable join clause to
not be below an outer join; an example here is

SELECT FROM t1 LEFT JOIN t2 ON t1.a = t2.b LEFT JOIN t3 ON t2.c = t3.d;

We can consider an inner indexscan on t3.d using c = d as indexqual, even
though t2.c is potentially nulled by a previous outer join.  The comparable
logic in orindxpath.c has always worked that way, but I was being overly
cautious here.

Files

PathChange+/−
src/backend/optimizer/path/indxpath.c modified +4 −4