pgsql: Fix an old corner-case error in match_unsorted_outer(): don't

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix an old corner-case error in match_unsorted_outer(): don't
Date: 2009-02-05 01:24:55
Message-ID: 20090205012455.B3E9B7559ED@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix an old corner-case error in match_unsorted_outer(): don't consider
the cheapest-total inner path as a new candidate while truncating the
sort key list, if it already matched the full sort key list. This is
too much of a corner case to be worth back-patching, since it's unusual
for the cheapest total path to be sorted, and anyway no real harm is
done (except in JOIN_SEMI/ANTI cases where cost_mergejoin is a bit
broken at the moment). But it wasn't behaving as intended, so fix it.
Noted while examining a test case from Kevin Grittner. This error doesn't
explain his issue, but it does explain why "set enable_seqscan = off"
seemed to reproduce it for me.

Modified Files:
--------------
pgsql/src/backend/optimizer/path:
joinpath.c (r1.120 -> r1.121)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinpath.c?r1=1.120&r2=1.121)

Browse pgsql-committers by date

  From Date Subject
Next Message User Itagaki 2009-02-05 02:21:13 orafce - orafce: Add decode(date, date, ...).
Previous Message Alvaro Herrera 2009-02-04 21:30:41 pgsql: Fix some SGML-compiler warnings on -wxml mode.