diff --git a/datafusion/functions/src/strings.rs b/datafusion/functions/src/strings.rs index c788c6fb1f33f..58223e33d3815 100644 --- a/datafusion/functions/src/strings.rs +++ b/datafusion/functions/src/strings.rs @@ -39,7 +39,7 @@ use datafusion_common::cast::{ use datafusion_expr_common::columnar_value::ColumnarValue; /// Trait abstracting concatenating string and binary collections. -pub(crate) trait ConcatBuilder { +pub trait ConcatBuilder { fn write( &mut self, column: &ColumnarValueRef, @@ -61,13 +61,13 @@ pub(crate) trait ConcatBuilder { /// /// For the common "produce one `&str` per row" pattern, prefer /// `GenericStringArrayBuilder` instead. -pub(crate) struct ConcatGenericStringBuilder { +pub struct ConcatGenericStringBuilder { offsets_buffer: MutableBuffer, value_buffer: MutableBuffer, _phantom: PhantomData, } -pub(crate) type ConcatStringBuilder = ConcatGenericStringBuilder; -pub(crate) type ConcatLargeStringBuilder = ConcatGenericStringBuilder; +pub type ConcatStringBuilder = ConcatGenericStringBuilder; +pub type ConcatLargeStringBuilder = ConcatGenericStringBuilder; impl ConcatGenericStringBuilder { pub fn with_capacity(item_capacity: usize, data_capacity: usize) -> Self { @@ -184,10 +184,12 @@ impl ConcatBuilder /// fragment) followed by a single `append_offset` to commit the row /// as a single string view. The output null buffer is supplied by the caller /// at `finish` time, avoiding per-row NULL handling work. -/// -/// For the common "produce one `&str` per row" pattern, prefer -/// [`StringViewArrayBuilder`] instead. -pub(crate) struct ConcatStringViewBuilder { +// +// Add below to the doc comment if StringViewArrayBuilder is made public: +// +// For the common "produce one `&str` per row" pattern, prefer +// [`StringViewArrayBuilder`] instead. +pub struct ConcatStringViewBuilder { views: Vec, data: Vec, block: Vec, @@ -1217,7 +1219,7 @@ pub(crate) fn append_view( } #[derive(Debug)] -pub(crate) enum ColumnarValueRef<'a> { +pub enum ColumnarValueRef<'a> { Scalar(&'a [u8]), NullableArray(&'a StringArray), NonNullableArray(&'a StringArray),