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 shaped like the original input, encoded so that
re-applying date_part (or any equivalent extraction) recovers the
component value originally squeezed.
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_timestamp_lossy(&self, unit: TimeUnit) -> ArrayRef
pub fn to_arrow_timestamp_lossy(&self, unit: TimeUnit) -> ArrayRef
Lossy reconstruction to Arrow Timestamp at the requested unit, using the
same date mapping as Self::to_arrow_date32_lossy (midnight UTC of the
reconstructed date).
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
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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
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,
Source§fn data_type(&self) -> LiquidDataType
fn data_type(&self) -> LiquidDataType
Source§fn original_arrow_data_type(&self) -> DataType
fn original_arrow_data_type(&self) -> DataType
Source§fn disk_backing(&self) -> SqueezedBacking
fn disk_backing(&self) -> SqueezedBacking
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,
Source§fn try_eval_predicate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
predicate: &'life1 LiquidExpr,
filter: &'life2 BooleanBuffer,
) -> Pin<Box<dyn Future<Output = 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 LiquidExpr,
filter: &'life2 BooleanBuffer,
) -> Pin<Box<dyn Future<Output = BooleanArray> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§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,
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
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>
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>
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>
T in a tonic::Request