risingwave_frontend::expr::expr_rewriter

Trait ExprRewriter

source
pub trait ExprRewriter {
Show 13 methods // Provided methods fn rewrite_expr(&mut self, expr: ExprImpl) -> ExprImpl { ... } fn rewrite_function_call(&mut self, func_call: FunctionCall) -> ExprImpl { ... } fn rewrite_function_call_with_lambda( &mut self, func_call: FunctionCallWithLambda, ) -> ExprImpl { ... } fn rewrite_agg_call(&mut self, agg_call: AggCall) -> ExprImpl { ... } fn rewrite_parameter(&mut self, parameter: Parameter) -> ExprImpl { ... } fn rewrite_literal(&mut self, literal: Literal) -> ExprImpl { ... } fn rewrite_input_ref(&mut self, input_ref: InputRef) -> ExprImpl { ... } fn rewrite_subquery(&mut self, subquery: Subquery) -> ExprImpl { ... } fn rewrite_correlated_input_ref( &mut self, input_ref: CorrelatedInputRef, ) -> ExprImpl { ... } fn rewrite_table_function(&mut self, table_func: TableFunction) -> ExprImpl { ... } fn rewrite_window_function( &mut self, window_func: WindowFunction, ) -> ExprImpl { ... } fn rewrite_user_defined_function( &mut self, udf: UserDefinedFunction, ) -> ExprImpl { ... } fn rewrite_now(&mut self, now: Now) -> ExprImpl { ... }
}
Expand description

By default, ExprRewriter simply traverses the expression tree and leaves nodes unchanged. Implementations can override a subset of methods and perform transformation on some particular types of expression.

Provided Methods§

source

fn rewrite_expr(&mut self, expr: ExprImpl) -> ExprImpl

source

fn rewrite_function_call(&mut self, func_call: FunctionCall) -> ExprImpl

source

fn rewrite_function_call_with_lambda( &mut self, func_call: FunctionCallWithLambda, ) -> ExprImpl

source

fn rewrite_agg_call(&mut self, agg_call: AggCall) -> ExprImpl

source

fn rewrite_parameter(&mut self, parameter: Parameter) -> ExprImpl

source

fn rewrite_literal(&mut self, literal: Literal) -> ExprImpl

source

fn rewrite_input_ref(&mut self, input_ref: InputRef) -> ExprImpl

source

fn rewrite_subquery(&mut self, subquery: Subquery) -> ExprImpl

source

fn rewrite_correlated_input_ref( &mut self, input_ref: CorrelatedInputRef, ) -> ExprImpl

source

fn rewrite_table_function(&mut self, table_func: TableFunction) -> ExprImpl

source

fn rewrite_window_function(&mut self, window_func: WindowFunction) -> ExprImpl

source

fn rewrite_user_defined_function( &mut self, udf: UserDefinedFunction, ) -> ExprImpl

source

fn rewrite_now(&mut self, now: Now) -> ExprImpl

Implementors§

source§

impl ExprRewriter for ParamRewriter

source§

impl ExprRewriter for ConstEvalRewriter

source§

impl ExprRewriter for CseRewriter

source§

impl ExprRewriter for LogicalAggBuilder

source§

impl ExprRewriter for LookupJoinPredicateRewriter

source§

impl ExprRewriter for LookupJoinScanPredicateRewriter

source§

impl ExprRewriter for LogicalOverWindowBuilder<'_>

source§

impl ExprRewriter for risingwave_frontend::optimizer::rule::apply_join_transpose_rule::Rewriter

source§

impl ExprRewriter for ApplyOffsetRewriter

source§

impl ExprRewriter for ApplyOnCondRewriterForProjectSet

source§

impl ExprRewriter for ApplyOnConditionRewriter

source§

impl ExprRewriter for IndexPredicateRewriter<'_>

source§

impl ExprRewriter for risingwave_frontend::optimizer::rule::index_selection_rule::ShiftInputRefRewriter

source§

impl ExprRewriter for risingwave_frontend::optimizer::rule::join_commute_rule::Rewriter

source§

impl ExprRewriter for ExpressionSimplifyRewriter

source§

impl ExprRewriter for risingwave_frontend::optimizer::rule::pull_up_correlated_predicate_agg_rule::ShiftInputRefRewriter

source§

impl ExprRewriter for risingwave_frontend::optimizer::rule::pull_up_correlated_predicate_rule::Rewriter

source§

impl ExprRewriter for LikeExprRewriter

source§

impl ExprRewriter for NowAsInputRef

source§

impl ExprRewriter for ColIndexMapping

source§

impl ExprRewriter for IndexRewriter

source§

impl ExprRewriter for Substitute

source§

impl ExprRewriter for InlineNowProcTime

source§

impl ExprRewriter for RewriteNowToProcTime

source§

impl ExprRewriter for SessionTimezone

source§

impl ExprRewriter for BooleanConstantFolding

source§

impl ExprRewriter for NotPushDown