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]

Reply via email to