This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 4e88a1b336 refactor: switch BooleanBufferBuilder to NullBufferBuilder
in sort function (#14183)
4e88a1b336 is described below
commit 4e88a1b336bd57028f7a19b55ae1f893d7be180e
Author: Ian Lai <[email protected]>
AuthorDate: Sun Jan 19 22:40:46 2025 +0800
refactor: switch BooleanBufferBuilder to NullBufferBuilder in sort function
(#14183)
Co-authored-by: Cheng-Yuan-Lai <a186235@g,ail.com>
---
datafusion/functions-nested/src/sort.rs | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/datafusion/functions-nested/src/sort.rs
b/datafusion/functions-nested/src/sort.rs
index 3f2ad57cbe..8e45ccbf74 100644
--- a/datafusion/functions-nested/src/sort.rs
+++ b/datafusion/functions-nested/src/sort.rs
@@ -20,7 +20,7 @@
use crate::utils::make_scalar_function;
use arrow::compute;
use arrow_array::{Array, ArrayRef, ListArray};
-use arrow_buffer::{BooleanBufferBuilder, NullBuffer, OffsetBuffer};
+use arrow_buffer::{NullBufferBuilder, OffsetBuffer};
use arrow_schema::DataType::{FixedSizeList, LargeList, List};
use arrow_schema::{DataType, Field, SortOptions};
use datafusion_common::cast::{as_list_array, as_string_array};
@@ -172,11 +172,11 @@ pub fn array_sort_inner(args: &[ArrayRef]) ->
Result<ArrayRef> {
let mut array_lengths = vec![];
let mut arrays = vec![];
- let mut valid = BooleanBufferBuilder::new(row_count);
+ let mut valid = NullBufferBuilder::new(row_count);
for i in 0..row_count {
if list_array.is_null(i) {
array_lengths.push(0);
- valid.append(false);
+ valid.append_null();
} else {
let arr_ref = list_array.value(i);
let arr_ref = arr_ref.as_ref();
@@ -184,7 +184,7 @@ pub fn array_sort_inner(args: &[ArrayRef]) ->
Result<ArrayRef> {
let sorted_array = compute::sort(arr_ref, sort_option)?;
array_lengths.push(sorted_array.len());
arrays.push(sorted_array);
- valid.append(true);
+ valid.append_non_null();
}
}
@@ -201,7 +201,7 @@ pub fn array_sort_inner(args: &[ArrayRef]) ->
Result<ArrayRef> {
Arc::new(Field::new_list_field(data_type, true)),
OffsetBuffer::from_lengths(array_lengths),
Arc::new(compute::concat(elements.as_slice())?),
- Some(NullBuffer::new(buffer)),
+ buffer,
);
Ok(Arc::new(list_arr))
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]