pgsql: Fix thinko in new match_join_clauses_to_index() logic.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix thinko in new match_join_clauses_to_index() logic.
Date: 2012-02-28 23:10:52
Message-ID: E1S2WC4-0003Pp-KI@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/0140a11b9ba5b22e1e4807e178bca770d46c3e28

Modified Files
--------------
src/backend/optimizer/path/indxpath.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2012-02-29 00:54:08 pgsql: Move CRC tables to libpgport, and provide them in a separate inc
Previous Message Peter Eisentraut 2012-02-28 10:44:10 pgsql: Add const qualifiers where they are accidentally cast away