pgsql: Remove cost_hashjoin's very ancient hack to discourage (once, - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Remove cost_hashjoin's very ancient hack to discourage (once,
Date
Msg-id 20070108160922.930A19FB21D@postgresql.org
Whole thread Raw
List pgsql-committers
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)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Remove cost_hashjoin's very ancient hack to discourage (once,
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Tweak joinlist creation to avoid generating useless one-element