Struct mz_expr::FilterCharacteristics
source · pub struct FilterCharacteristics { /* private fields */ }
Expand description
Filter characteristics that are used for ordering join inputs.
This can be created for a Vec<MirScalarExpr>
, which represents an AND of predicates.
The fields are ordered based on heuristic assumptions about their typical selectivity, so that Ord gives the right ordering for join inputs. Bigger is better, i.e., will tend to come earlier than other inputs.
Implementations§
source§impl FilterCharacteristics
impl FilterCharacteristics
pub fn none() -> FilterCharacteristics
pub fn explain(&self) -> String
pub fn filter_characteristics( filters: &Vec<MirScalarExpr> ) -> Result<FilterCharacteristics, RecursionLimitError>
pub fn add_literal_equality(&mut self)
pub fn worst_case_scaling_factor(&self) -> f64
Trait Implementations§
source§impl BitOrAssign for FilterCharacteristics
impl BitOrAssign for FilterCharacteristics
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|=
operation. Read moresource§impl Clone for FilterCharacteristics
impl Clone for FilterCharacteristics
source§fn clone(&self) -> FilterCharacteristics
fn clone(&self) -> FilterCharacteristics
Returns a copy 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 FilterCharacteristics
impl Debug for FilterCharacteristics
source§impl<'de> Deserialize<'de> for FilterCharacteristics
impl<'de> Deserialize<'de> for FilterCharacteristics
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for FilterCharacteristics
impl Hash for FilterCharacteristics
source§impl MzReflect for FilterCharacteristics
impl MzReflect for FilterCharacteristics
source§fn add_to_reflected_type_info(rti: &mut ReflectedTypeInfo)
fn add_to_reflected_type_info(rti: &mut ReflectedTypeInfo)
Adds names and types of the fields of the struct or enum to
rti
. Read moresource§impl Ord for FilterCharacteristics
impl Ord for FilterCharacteristics
source§fn cmp(&self, other: &FilterCharacteristics) -> Ordering
fn cmp(&self, other: &FilterCharacteristics) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for FilterCharacteristics
impl PartialEq for FilterCharacteristics
source§fn eq(&self, other: &FilterCharacteristics) -> bool
fn eq(&self, other: &FilterCharacteristics) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for FilterCharacteristics
impl PartialOrd for FilterCharacteristics
source§fn partial_cmp(&self, other: &FilterCharacteristics) -> Option<Ordering>
fn partial_cmp(&self, other: &FilterCharacteristics) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for FilterCharacteristics
impl Serialize for FilterCharacteristics
impl Eq for FilterCharacteristics
impl StructuralPartialEq for FilterCharacteristics
Auto Trait Implementations§
impl Freeze for FilterCharacteristics
impl RefUnwindSafe for FilterCharacteristics
impl Send for FilterCharacteristics
impl Sync for FilterCharacteristics
impl Unpin for FilterCharacteristics
impl UnwindSafe for FilterCharacteristics
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<R, O, T> CopyOnto<ConsecutiveOffsetPairs<R, O>> for T
impl<R, O, T> CopyOnto<ConsecutiveOffsetPairs<R, O>> for T
source§fn copy_onto(
self,
target: &mut ConsecutiveOffsetPairs<R, O>
) -> <ConsecutiveOffsetPairs<R, O> as Region>::Index
fn copy_onto( self, target: &mut ConsecutiveOffsetPairs<R, O> ) -> <ConsecutiveOffsetPairs<R, O> as Region>::Index
Copy self into the target container, returning an index that allows to
look up the corresponding read item.
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
Compare self to
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> PreferredContainer for T
impl<T> PreferredContainer for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.