Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions datafusion/physical-plan/src/aggregates/group_values/mod.rs
Original file line numberDiff line numberDiff line change
Expand Up@@ -35,6 +35,7 @@ pub use row::GroupValuesRows;
mod single_group_by;
use datafusion_physical_expr::binary_map::OutputType;
use multi_group_by::GroupValuesColumn;
use multi_group_by::dict::{GroupDictionaryColumn, supported_dictionary_schema};

pub(crate) use single_group_by::primitive::HashValue;

Expand DownExpand Up@@ -200,6 +201,11 @@ pub fn new_group_values(
}
}

// Route 2+ all-dictionary columns to the specialised implementation.
if schema.fields().len() >= 2 && supported_dictionary_schema(schema.as_ref()) {
return Ok(Box::new(GroupDictionaryColumn::new(schema)?));
}

if multi_group_by::supported_schema(schema.as_ref()) {
if matches!(group_ordering, GroupOrdering::None) {
Ok(Box::new(GroupValuesColumn::<false>::try_new(schema)?))
Expand Down
Loading
Loading