Struct mz_transform::reduction::FoldConstants
source · [−]Expand description
Replace operators on constant collections with constant collections.
Fields
limit: Option<usize>
An optional maximum size, after which optimization can cease.
The None
value here indicates no maximum size, but does not
currently guarantee that any constant expression will be reduced
to a MirRelationExpr::Constant
variant.
Implementations
sourceimpl FoldConstants
impl FoldConstants
sourcepub fn action<'a, I>(
&self,
relation: &mut MirRelationExpr,
relation_type: &mut RelationType,
input_types: I
) -> Result<(), TransformError>where
I: Iterator<Item = &'a Vec<ColumnType>>,
pub fn action<'a, I>(
&self,
relation: &mut MirRelationExpr,
relation_type: &mut RelationType,
input_types: I
) -> Result<(), TransformError>where
I: Iterator<Item = &'a Vec<ColumnType>>,
Replace operators on constants collections with constant collections.
This transform will cease optimization if it encounters constant collections
that are larger than self.limit
, if that is set. It is not guaranteed that
a constant input within the limit will be reduced to a Constant
variant.
Trait Implementations
sourceimpl Debug for FoldConstants
impl Debug for FoldConstants
sourceimpl Transform for FoldConstants
impl Transform for FoldConstants
sourcefn transform(
&self,
relation: &mut MirRelationExpr,
_: TransformArgs<'_>
) -> Result<(), TransformError>
fn transform(
&self,
relation: &mut MirRelationExpr,
_: TransformArgs<'_>
) -> Result<(), TransformError>
Transform a relation into a functionally equivalent relation.
Auto Trait Implementations
impl RefUnwindSafe for FoldConstants
impl Send for FoldConstants
impl Sync for FoldConstants
impl Unpin for FoldConstants
impl UnwindSafe for FoldConstants
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.