pgsql: Support hashing for duplicate-elimination in INTERSECT and EXCEPT - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Support hashing for duplicate-elimination in INTERSECT and EXCEPT
Date
Msg-id 20080807030404.98331755315@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Support hashing for duplicate-elimination in INTERSECT and EXCEPT queries.
This completes my project of improving usage of hashing for duplicate
elimination (aggregate functions with DISTINCT remain undone, but that's
for some other day).

As with the previous patches, this means we can INTERSECT/EXCEPT on datatypes
that can hash but not sort, and it means that INTERSECT/EXCEPT without ORDER
BY are no longer certain to produce sorted output.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.175 -> r1.176)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c?r1=1.175&r2=1.176)
    pgsql/src/backend/executor:
        nodeSetOp.c (r1.25 -> r1.26)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSetOp.c?r1=1.25&r2=1.26)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.397 -> r1.398)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.397&r2=1.398)
        outfuncs.c (r1.331 -> r1.332)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.331&r2=1.332)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.242 -> r1.243)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.242&r2=1.243)
    pgsql/src/backend/optimizer/prep:
        prepunion.c (r1.150 -> r1.151)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c?r1=1.150&r2=1.151)
    pgsql/src/include/nodes:
        execnodes.h (r1.185 -> r1.186)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.185&r2=1.186)
        plannodes.h (r1.100 -> r1.101)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h?r1=1.100&r2=1.101)
    pgsql/src/include/optimizer:
        planmain.h (r1.108 -> r1.109)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h?r1=1.108&r2=1.109)
    pgsql/src/test/regress/expected:
        union.out (r1.12 -> r1.13)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/union.out?r1=1.12&r2=1.13)
    pgsql/src/test/regress/sql:
        union.sql (r1.7 -> r1.8)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/union.sql?r1=1.7&r2=1.8)

pgsql-committers by date:

Previous
From: achernow@pgfoundry.org (User Achernow)
Date:
Subject: libpqtypes - libpqtypes: datetime.c:bin2pgts bug - referencing a year
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Improve INTERSECT/EXCEPT hashing by realizing that we don't need