Thread: pgsql: Remove cost_hashjoin's very ancient hack to discourage (once,

pgsql: Remove cost_hashjoin's very ancient hack to discourage (once,

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Remove cost_hashjoin's very ancient hack to discourage (once, entirely forbid)
hash joins with the estimated-larger relation on the inside.  There are
several cases where doing that makes perfect sense, and in cases where it
doesn't, the regular cost computation really ought to be able to figure that
out.  Make some marginal tweaks in said computation to try to get results
approximating reality a bit better.  Per an example from Shane Ambler.

Also, fix an oversight in the original patch to add seq_page_cost: the costs
of spilling a hash join to disk should be scaled by seq_page_cost.

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.172 -> r1.173)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.172&r2=1.173)