pub struct ProjectionExtraction;
Expand description
Transform column references in a Map
into a Project
, or repeated
aggregations in a Reduce
into a Project
.
Implementations§
source§impl ProjectionExtraction
impl ProjectionExtraction
sourcepub fn action(relation: &mut MirRelationExpr) -> Result<(), TransformError>
pub fn action(relation: &mut MirRelationExpr) -> Result<(), TransformError>
Transform column references in a Map
into a Project
.
Trait Implementations§
source§impl Debug for ProjectionExtraction
impl Debug for ProjectionExtraction
source§impl Transform for ProjectionExtraction
impl Transform for ProjectionExtraction
source§fn 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.
source§fn recursion_safe(&self) -> bool
fn recursion_safe(&self) -> bool
Indicates if the transform can be safely applied to expressions containing
LetRec
AST nodes.Auto Trait Implementations§
impl RefUnwindSafe for ProjectionExtraction
impl Send for ProjectionExtraction
impl Sync for ProjectionExtraction
impl Unpin for ProjectionExtraction
impl UnwindSafe for ProjectionExtraction
Blanket Implementations§
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> Pointable for T
impl<T> Pointable 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
.