pgsql: Optimize multi-batch hash joins when the outer relation has a - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Optimize multi-batch hash joins when the outer relation has a
Date
Msg-id 20090321000440.72E57754ADE@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Optimize multi-batch hash joins when the outer relation has a nonuniform
distribution, by creating a special fast path for the (first few) most common
values of the outer relation.  Tuples having hashvalues matching the MCVs
are effectively forced to be in the first batch, so that we never write
them out to the batch temp files.

Bryce Cutt and Ramon Lawrence, with some editorialization by me.

Modified Files:
--------------
    pgsql/src/backend/executor:
        nodeHash.c (r1.117 -> r1.118)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c?r1=1.117&r2=1.118)
        nodeHashjoin.c (r1.97 -> r1.98)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHashjoin.c?r1=1.97&r2=1.98)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.426 -> r1.427)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.426&r2=1.427)
        outfuncs.c (r1.354 -> r1.355)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.354&r2=1.355)
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.204 -> r1.205)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c?r1=1.204&r2=1.205)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.255 -> r1.256)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.255&r2=1.256)
    pgsql/src/include/executor:
        hashjoin.h (r1.49 -> r1.50)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/hashjoin.h?r1=1.49&r2=1.50)
        nodeHash.h (r1.46 -> r1.47)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeHash.h?r1=1.46&r2=1.47)
    pgsql/src/include/nodes:
        execnodes.h (r1.201 -> r1.202)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.201&r2=1.202)
        plannodes.h (r1.108 -> r1.109)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h?r1=1.108&r2=1.109)

pgsql-committers by date:

Previous
From: c2main@pgfoundry.org (User C2main)
Date:
Subject: muninpgplugins - muninpgplugins: adding pod, compliant with upstream
Next
From: hinoue@pgfoundry.org (User Hinoue)
Date:
Subject: psqlodbc - psqlodbc: Fix an inconsistent declaration of a function.