Commit dd8e1913 authored by Jeff Davis's avatar Jeff Davis

Consider disk-based hash aggregation to implement DISTINCT.

Correct oversight in 1f39bce0. If enable_hashagg_disk=true, we should
consider hash aggregation for DISTINCT when applicable.
parent 3649133b
...@@ -4868,8 +4868,8 @@ create_distinct_paths(PlannerInfo *root, ...@@ -4868,8 +4868,8 @@ create_distinct_paths(PlannerInfo *root,
Size hashentrysize = hash_agg_entry_size( Size hashentrysize = hash_agg_entry_size(
0, cheapest_input_path->pathtarget->width, 0); 0, cheapest_input_path->pathtarget->width, 0);
/* Allow hashing only if hashtable is predicted to fit in work_mem */ allow_hash = enable_hashagg_disk ||
allow_hash = (hashentrysize * numDistinctRows <= work_mem * 1024L); (hashentrysize * numDistinctRows <= work_mem * 1024L);
} }
if (allow_hash && grouping_is_hashable(parse->distinctClause)) if (allow_hash && grouping_is_hashable(parse->distinctClause))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment