pub struct ProjectionLifting {
recursion_guard: RecursionGuard,
}
Expand description
Hoist projections through operators.
Fields§
§recursion_guard: RecursionGuard
Implementations§
source§impl ProjectionLifting
impl ProjectionLifting
sourcepub fn action(
&self,
relation: &mut MirRelationExpr,
gets: &mut BTreeMap<Id, (RelationType, Vec<usize>)>
) -> Result<(), TransformError>
pub fn action(
&self,
relation: &mut MirRelationExpr,
gets: &mut BTreeMap<Id, (RelationType, Vec<usize>)>
) -> Result<(), TransformError>
Hoist projections through operators.
Trait Implementations§
source§impl CheckedRecursion for ProjectionLifting
impl CheckedRecursion for ProjectionLifting
source§fn recursion_guard(&self) -> &RecursionGuard
fn recursion_guard(&self) -> &RecursionGuard
Extracts a reference to the recursion guard embedded within the type.
source§fn checked_recur<F, T, E>(&self, f: F) -> Result<T, E>where
F: FnOnce(&Self) -> Result<T, E>,
E: From<RecursionLimitError>,
fn checked_recur<F, T, E>(&self, f: F) -> Result<T, E>where
F: FnOnce(&Self) -> Result<T, E>,
E: From<RecursionLimitError>,
Checks whether it is safe to recur and calls
f
if so. Read moresource§fn checked_recur_mut<F, T, E>(&mut self, f: F) -> Result<T, E>where
F: FnOnce(&mut Self) -> Result<T, E>,
E: From<RecursionLimitError>,
fn checked_recur_mut<F, T, E>(&mut self, f: F) -> Result<T, E>where
F: FnOnce(&mut Self) -> Result<T, E>,
E: From<RecursionLimitError>,
Like
CheckedRecursion::checked_recur
, but operates on a mutable
reference to Self
.source§impl Debug for ProjectionLifting
impl Debug for ProjectionLifting
source§impl Default for ProjectionLifting
impl Default for ProjectionLifting
source§fn default() -> ProjectionLifting
fn default() -> ProjectionLifting
Returns the “default value” for a type. Read more
source§impl Transform for ProjectionLifting
impl Transform for ProjectionLifting
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 ProjectionLifting
impl Send for ProjectionLifting
impl !Sync for ProjectionLifting
impl Unpin for ProjectionLifting
impl UnwindSafe for ProjectionLifting
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
.