pub enum CacheExpression {
ExtractDate32 {
field: Date32Field,
},
VariantGet {
requests: Arc<[VariantRequest]>,
},
PredicateColumn,
SubstringSearch,
}Expand description
Experimental expression descriptor for cache lookups.
Variants§
ExtractDate32
Extract a specific component (YEAR/MONTH/DAY/DOW) from a Date32 column.
Fields
field: Date32FieldComponent to extract (YEAR/MONTH/DAY).
VariantGet
Extract a field from a variant column via variant_get.
Fields
requests: Arc<[VariantRequest]>The set of dotted paths requested by the query.
PredicateColumn
A column used for predicate evaluation.
SubstringSearch
A column used primarily for substring search (LIKE ‘%foo%’).
Implementations§
Source§impl CacheExpression
impl CacheExpression
Sourcepub fn extract_date32(field: Date32Field) -> Self
pub fn extract_date32(field: Date32Field) -> Self
Build an extract expression for a Date32/timestamp column.
Sourcepub fn variant_get(path: impl Into<Arc<str>>, data_type: DataType) -> Self
pub fn variant_get(path: impl Into<Arc<str>>, data_type: DataType) -> Self
Build a variant-get expression for the provided dotted path.
Sourcepub fn variant_get_many<I, S>(requests: I) -> Self
pub fn variant_get_many<I, S>(requests: I) -> Self
Build a variant-get expression covering multiple paths.
Sourcepub fn substring_search() -> Self
pub fn substring_search() -> Self
Build a substring-search expression hint.
Sourcepub fn try_from_date_part_str(value: &str) -> Option<Self>
pub fn try_from_date_part_str(value: &str) -> Option<Self>
Attempt to parse a metadata value (e.g. "YEAR") into an expression.
The value is compared case-insensitively against supported components.
Sourcepub fn as_date32_field(&self) -> Option<Date32Field>
pub fn as_date32_field(&self) -> Option<Date32Field>
Return the requested Date32 component when this is an extract expression.
Sourcepub fn variant_path(&self) -> Option<&str>
pub fn variant_path(&self) -> Option<&str>
Return the associated variant path when this is a variant-get expression.
Sourcepub fn variant_data_type(&self) -> Option<&DataType>
pub fn variant_data_type(&self) -> Option<&DataType>
Return the associated Arrow data type when this is a variant-get expression.
Sourcepub fn variant_requests(&self) -> Option<&[VariantRequest]>
pub fn variant_requests(&self) -> Option<&[VariantRequest]>
Return all typed variant paths carried by this expression.
Trait Implementations§
Source§impl Clone for CacheExpression
impl Clone for CacheExpression
Source§fn clone(&self) -> CacheExpression
fn clone(&self) -> CacheExpression
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CacheExpression
impl Debug for CacheExpression
Source§impl Display for CacheExpression
impl Display for CacheExpression
Source§impl Hash for CacheExpression
impl Hash for CacheExpression
Source§impl PartialEq for CacheExpression
impl PartialEq for CacheExpression
Source§impl Serialize for CacheExpression
impl Serialize for CacheExpression
impl Eq for CacheExpression
impl StructuralPartialEq for CacheExpression
Auto Trait Implementations§
impl Freeze for CacheExpression
impl RefUnwindSafe for CacheExpression
impl Send for CacheExpression
impl Sync for CacheExpression
impl Unpin for CacheExpression
impl UnsafeUnpin for CacheExpression
impl UnwindSafe for CacheExpression
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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