Support hashing for duplicate-elimination in INTERSECT and EXCEPT queries.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 7 Aug 2008 03:04:04 +0000 (03:04 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 7 Aug 2008 03:04:04 +0000 (03:04 +0000)
commitd6a64c8ec46640d9f26ebeda925b221c239ead00
treeb2e1b4acde7463d47e4231ce6a5b69fabbbf7790
parentdcac1c8d2d391e31aedf7d000c84dfe5e88b4e63
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.
src/backend/commands/explain.c
src/backend/executor/nodeSetOp.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/prep/prepunion.c
src/include/nodes/execnodes.h
src/include/nodes/plannodes.h
src/include/optimizer/planmain.h
src/test/regress/expected/union.out
src/test/regress/sql/union.sql