postgresql/src/include/nodes
David Rowley 22c4e88ebf Allow parallel DISTINCT
We've supported parallel aggregation since e06a38965.  At the time, we
didn't quite get around to also adding parallel DISTINCT. So, let's do
that now.

This is implemented by introducing a two-phase DISTINCT.  Phase 1 is
performed on parallel workers, rows are made distinct there either by
hashing or by sort/unique.  The results from the parallel workers are
combined and the final distinct phase is performed serially to get rid of
any duplicate rows that appear due to combining rows for each of the
parallel workers.

Author: David Rowley
Reviewed-by: Zhihong Yu
Discussion: https://postgr.es/m/CAApHDvrjRxVKwQN0he79xS+9wyotFXL=RmoWqGGO2N45Farpgw@mail.gmail.com
2021-08-22 23:31:16 +12:00
..
bitmapset.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
execnodes.h Make nodeSort.c use Datum sorts for single column sorts 2021-07-22 14:03:19 +12:00
extensible.h Allow CustomScan providers to say whether they support projections. 2021-07-06 18:10:20 -04:00
lockoptions.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
makefuncs.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
memnodes.h Add function to log the memory contexts of specified backend process. 2021-04-06 13:44:15 +09:00
nodeFuncs.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
nodes.h Remove T_MemoryContext 2021-08-07 23:21:24 +02:00
params.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
parsenodes.h Avoid trying to lock OLD/NEW in a rule with FOR UPDATE. 2021-08-19 12:12:35 -04:00
pathnodes.h Allow parallel DISTINCT 2021-08-22 23:31:16 +12:00
pg_list.h Implement GROUP BY DISTINCT 2021-03-18 18:22:18 +01:00
plannodes.h Change SeqScan node to contain Scan node 2021-08-08 18:46:34 +02:00
primnodes.h Add missing enum tags in enums used in nodes 2021-07-21 11:03:25 +02:00
print.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
readfuncs.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
replnodes.h Remove two_phase variable from CreateReplicationSlotCmd struct. 2021-06-07 09:32:06 +05:30
subscripting.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
supportnodes.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
tidbitmap.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
value.h Update copyright for 2021 2021-01-02 13:06:25 -05:00