Struct transform::join_implementation::JoinImplementation [−][src]
pub struct JoinImplementation {
recursion_guard: RecursionGuard,
}
Expand description
Determines the join implementation for join operators.
Fields
recursion_guard: RecursionGuard
Implementations
pub fn action_recursive(
&self,
relation: &mut MirRelationExpr,
arranged: &mut HashMap<Id, Vec<Vec<MirScalarExpr>>>
) -> Result<(), TransformError>
pub fn action_recursive(
&self,
relation: &mut MirRelationExpr,
arranged: &mut HashMap<Id, Vec<Vec<MirScalarExpr>>>
) -> Result<(), TransformError>
Pre-order visitor for each MirRelationExpr
to find join operators.
This method accumulates state about let-bound arrangements, so that join operators can more accurately assess their available arrangements.
pub fn action(
&self,
relation: &mut MirRelationExpr,
indexes: &HashMap<Id, Vec<Vec<MirScalarExpr>>>
)
pub fn action(
&self,
relation: &mut MirRelationExpr,
indexes: &HashMap<Id, Vec<Vec<MirScalarExpr>>>
)
Determines the join implementation for join operators.
Trait Implementations
Extracts a reference to the recursion guard embedded within the type.
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 more
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
. Read more
Construct a new JoinImplementation
where recursion_guard
is initialized with RECURSION_LIMIT
as limit.
fn transform(
&self,
relation: &mut MirRelationExpr,
args: TransformArgs<'_>
) -> Result<(), TransformError>
fn transform(
&self,
relation: &mut MirRelationExpr,
args: TransformArgs<'_>
) -> Result<(), TransformError>
Transform a relation into a functionally equivalent relation.
Auto Trait Implementations
impl !RefUnwindSafe for JoinImplementation
impl Send for JoinImplementation
impl !Sync for JoinImplementation
impl Unpin for JoinImplementation
impl UnwindSafe for JoinImplementation
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more