pub trait PushdownRule: Send + Sync {
// Required methods
fn name(&self) -> &'static str;
fn try_convert(
&self,
expr: &Expression,
ctx: &PushdownContext<'_>,
) -> PushdownResult;
}Expand description
Trait for pushdown rules
Each rule is responsible for:
- Checking if it can handle an expression
- Converting the expression to a storage expression
Required Methods§
Sourcefn try_convert(
&self,
expr: &Expression,
ctx: &PushdownContext<'_>,
) -> PushdownResult
fn try_convert( &self, expr: &Expression, ctx: &PushdownContext<'_>, ) -> PushdownResult
Try to convert an expression to a storage expression.
Returns:
Converted(expr)if successfully convertedNotApplicableif this rule doesn’t handle this expression typeCannotPushif the expression matches but cannot be pushed down
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".