Rachelint commented on code in PR #12996:
URL: https://github.com/apache/datafusion/pull/12996#discussion_r1807293142
##########
datafusion/physical-plan/src/aggregates/group_values/group_column.rs:
##########
@@ -128,6 +132,15 @@ impl<T: ArrowPrimitiveType, const NULLABLE: bool>
GroupColumn
}
}
+ fn append_non_nullable_val(&mut self, array: &ArrayRef, row: usize) {
+ if NULLABLE {
+ self.nulls.append(false);
Review Comment:
I add the `append_batch` function to support vectorized append more better.
But the improvement seems still not obvious.
https://github.com/apache/datafusion/pull/12996#issuecomment-2423766327
🤔 I guess, it is likely due the new introduced branch of `equal_to`:
```
if *group_idx < group_values_len {
for (i, group_val) in
self.group_values.iter().enumerate() {
if !check_row_equal(group_val.as_ref(), *group_idx,
&cols[i], row)
{
return false;
}
}
} else {
let row_idx_offset = group_idx - group_values_len;
let row_idx = self.append_rows_buffer[row_idx_offset];
return is_rows_eq(cols, row, cols, row_idx).unwrap();
}
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]