Struct mz_sql::query_model::rewrite::rule::simplify_outer_joins::SimplifyOuterJoins
source · pub(crate) struct SimplifyOuterJoins;
Trait Implementations§
source§impl Rule for SimplifyOuterJoins
impl Rule for SimplifyOuterJoins
§type Match = (BoxId, Vec<QuantifierId, Global>)
type Match = (BoxId, Vec<QuantifierId, Global>)
A (non-empty) sequence of ids corresponding to quantifiers whose type
should be changed from QuantifierType::PRESERVED_FOREACH
to
QuantifierType::FOREACH
, and the box that the quantifiers belong to.
source§fn strategy(&self) -> ApplyStrategy
fn strategy(&self) -> ApplyStrategy
The
ApplyStrategy
for the rule.source§fn required_attributes(&self) -> HashSet<Box<dyn Attribute>>
fn required_attributes(&self) -> HashSet<Box<dyn Attribute>>
Derived attributes required by this
Rule
.source§fn check(&self, model: &Model, box_id_to_check: BoxId) -> Option<Self::Match>
fn check(&self, model: &Model, box_id_to_check: BoxId) -> Option<Self::Match>
Determines how to rewrite the box. Read more
source§fn rewrite(&self, model: &mut Model, mat: Self::Match)
fn rewrite(&self, model: &mut Model, mat: Self::Match)
Rewrites the
Model
based on the parameters of Self::Match
determined by a previous Rule::check
call.Auto Trait Implementations§
impl RefUnwindSafe for SimplifyOuterJoins
impl Send for SimplifyOuterJoins
impl Sync for SimplifyOuterJoins
impl Unpin for SimplifyOuterJoins
impl UnwindSafe for SimplifyOuterJoins
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
.