Skip to content

Commit

Permalink
chkp
Browse files Browse the repository at this point in the history
Signed-off-by: jayzhan211 <jayzhan211@gmail.com>
  • Loading branch information
jayzhan211 committed Dec 14, 2023
1 parent 8ba1573 commit c1bf028
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions datafusion/physical-expr/src/aggregate/array_agg_ordered.rs
Original file line number Diff line number Diff line change
Expand Up @@ -233,29 +233,31 @@ impl Accumulator for OrderSensitiveArrayAggAccumulator {
// Existing values should be merged also.
partition_values.push(self.values.clone());
partition_ordering_values.push(self.ordering_values.clone());
println!("(1) partition_ordering_values: {:?}", partition_ordering_values);

assert!(as_list_array(array_agg_values).is_ok());
// Convert array to Scalars to sort them easily. Convert back to array at evaluation.
let array_agg_res =
ScalarValue::convert_list_array_to_scalar_vec(array_agg_values)?;
partition_values.extend(array_agg_res);

println!("agg_orderings: {:?}", agg_orderings);
let mut field_values: Vec<Vec<ScalarValue>> = Vec::new();
for index in 0..agg_orderings.len() {
let arr = agg_orderings.value(index);
println!("agg_orderings[{}]: {:?}", index, arr);
let struct_arr = as_struct_array(&arr)?;
println!("struct_arr: {:?}", struct_arr);
let col_num = struct_arr.num_columns();
for col_index in 0..col_num {
let col_array = struct_arr.column(col_index);
let col_scalar =
ScalarValue::convert_non_list_array_to_scalars(&col_array)?;
field_values.push(col_scalar);
}
assert_eq!(agg_orderings.len(), 1);
let agg_ordering_columns = agg_orderings.values();
let agg_ordering_columns = as_struct_array(agg_ordering_columns)?;
let num_columns = agg_ordering_columns.num_columns();
for col_index in 0..num_columns {
let col_array = agg_ordering_columns.column(col_index);
println!("col_array: {:?}", col_array);
let col_scalar =
ScalarValue::convert_non_list_array_to_scalars(&col_array)?;
println!("col_scalar: {:?}", col_scalar);
field_values.push(col_scalar);
}

partition_ordering_values.push(field_values);
println!("partition_ordering_values: {:?}", partition_ordering_values);

let sort_options = self
.ordering_req
Expand Down

0 comments on commit c1bf028

Please sign in to comment.