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

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Support hashing for duplicate-elimination in INTERSECT and EXCEPT
Date: 2008-08-07 03:04:04
Message-ID: 20080807030404.98331755315@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-08-07 19:35:03 pgsql: Improve INTERSECT/EXCEPT hashing by realizing that we don't need
Previous Message User Achernow 2008-08-07 02:11:51 libpqtypes - libpqtypes: datetime.c:bin2pgts bug - referencing a year