pub struct SqueezedDate32Array { /* private fields */ }Expand description
A bit-packed array that stores a single extracted component (YEAR/MONTH/DAY/DOW)
from a Date32/Timestamp array.
Values are stored as unsigned offsets from reference_value, using the same
bit-packing machinery as primitive arrays.
Implementations§
Source§impl SqueezedDate32Array
impl SqueezedDate32Array
Sourcepub fn from_liquid_date32<T: LiquidPrimitiveType>(
array: &LiquidPrimitiveArray<T>,
field: Date32Field,
) -> Self
pub fn from_liquid_date32<T: LiquidPrimitiveType>( array: &LiquidPrimitiveArray<T>, field: Date32Field, ) -> Self
Build a squeezed representation (YEAR/MONTH/DAY/DAYOFWEEK) from a Date32 array.
Sourcepub fn from_liquid_timestamp<T: LiquidPrimitiveType>(
array: &LiquidPrimitiveArray<T>,
field: Date32Field,
) -> Self
pub fn from_liquid_timestamp<T: LiquidPrimitiveType>( array: &LiquidPrimitiveArray<T>, field: Date32Field, ) -> Self
Build a squeezed representation (YEAR/MONTH/DAY/DAYOFWEEK) from a timestamp array.
Sourcepub fn get_array_memory_size(&self) -> usize
pub fn get_array_memory_size(&self) -> usize
Memory size of the bit-packed representation plus reference value.
Sourcepub fn field(&self) -> Date32Field
pub fn field(&self) -> Date32Field
The extracted component type.
Sourcepub fn to_component_array(&self) -> ArrayRef
pub fn to_component_array(&self) -> ArrayRef
Convert to an Arrow array holding the extracted component.
Sourcepub fn to_component_date32(&self) -> PrimitiveArray<Date32Type>
pub fn to_component_date32(&self) -> PrimitiveArray<Date32Type>
Convert back to an Arrow Int32 array representing the extracted component values.
Useful for verification or future pushdown logic.
Sourcepub fn to_arrow_date32_lossy(&self) -> PrimitiveArray<Date32Type>
pub fn to_arrow_date32_lossy(&self) -> PrimitiveArray<Date32Type>
Lossy reconstruction to Arrow Date32 (days since epoch).
Mapping used:
- Year: (year, 1, 1)
- Month: (1970, month, 1)
- Day: (1970, 1, day)
- DayOfWeek: (1970, 1, 4 + dow) where 1970-01-04 is Sunday
Trait Implementations§
Source§impl Clone for SqueezedDate32Array
impl Clone for SqueezedDate32Array
Source§fn clone(&self) -> SqueezedDate32Array
fn clone(&self) -> SqueezedDate32Array
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SqueezedDate32Array
impl Debug for SqueezedDate32Array
Source§impl LiquidSqueezedArray for SqueezedDate32Array
impl LiquidSqueezedArray for SqueezedDate32Array
Source§fn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
Get the memory size of the Liquid array.
Source§fn to_arrow_array<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ArrayRef> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn to_arrow_array<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ArrayRef> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Convert the Liquid array to an Arrow array.
Source§fn data_type(&self) -> LiquidDataType
fn data_type(&self) -> LiquidDataType
Get the logical data type of the Liquid array.
Source§fn original_arrow_data_type(&self) -> DataType
fn original_arrow_data_type(&self) -> DataType
Get the original arrow data type of the Liquid squeezed array.
Source§fn filter<'life0, 'life1, 'async_trait>(
&'life0 self,
selection: &'life1 BooleanBuffer,
) -> Pin<Box<dyn Future<Output = ArrayRef> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn filter<'life0, 'life1, 'async_trait>(
&'life0 self,
selection: &'life1 BooleanBuffer,
) -> Pin<Box<dyn Future<Output = ArrayRef> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Filter the Liquid array with a boolean array and return an arrow array.
Source§fn try_eval_predicate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_predicate: &'life1 Arc<dyn PhysicalExpr>,
_filter: &'life2 BooleanBuffer,
) -> Pin<Box<dyn Future<Output = Option<BooleanArray>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn try_eval_predicate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_predicate: &'life1 Arc<dyn PhysicalExpr>,
_filter: &'life2 BooleanBuffer,
) -> Pin<Box<dyn Future<Output = Option<BooleanArray>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Try to evaluate a predicate on the Liquid array with a filter.
Returns
Ok(None) if the predicate is not supported. Read moreSource§fn to_best_arrow_array<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ArrayRef> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn to_best_arrow_array<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ArrayRef> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Convert the Liquid array to an Arrow array.
Except that it will pick the best encoding for the arrow array.
Meaning that it may not obey the data type of the original arrow array.
Source§fn disk_backing(&self) -> SqueezedBacking
fn disk_backing(&self) -> SqueezedBacking
Describe how the squeezed array persists its backing bytes on disk.
Auto Trait Implementations§
impl Freeze for SqueezedDate32Array
impl !RefUnwindSafe for SqueezedDate32Array
impl Send for SqueezedDate32Array
impl Sync for SqueezedDate32Array
impl Unpin for SqueezedDate32Array
impl UnsafeUnpin for SqueezedDate32Array
impl !UnwindSafe for SqueezedDate32Array
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request