Trait ExprRewritable

Source
pub trait ExprRewritable<C: ConventionMarker> {
    // Provided methods
    fn has_rewritable_expr(&self) -> bool { ... }
    fn rewrite_exprs(&self, _r: &mut dyn ExprRewriter) -> PlanRef<C> { ... }
}
Expand description

Rewrites expressions in a PlanRef. Due to Share operator, the ExprRewriter needs to be idempotent i.e., applying it more than once to the same ExprImpl will be a noop on subsequent applications. rewrite_exprs should only return a plan with the given node modified. To rewrite recursively, call rewrite_exprs_recursive.

Provided Methods§

Source

fn has_rewritable_expr(&self) -> bool

Source

fn rewrite_exprs(&self, _r: &mut dyn ExprRewriter) -> PlanRef<C>

Implementors§

Source§

impl ExprRewritable<Batch> for BatchDelete

Source§

impl ExprRewritable<Batch> for BatchExchange

Source§

impl ExprRewritable<Batch> for BatchExpand

Source§

impl ExprRewritable<Batch> for BatchFileScan

Source§

impl ExprRewritable<Batch> for BatchFilter

Source§

impl ExprRewritable<Batch> for BatchGroupTopN

Source§

impl ExprRewritable<Batch> for BatchHashAgg

Source§

impl ExprRewritable<Batch> for BatchHashJoin

Source§

impl ExprRewritable<Batch> for BatchHopWindow

Source§

impl ExprRewritable<Batch> for BatchIcebergScan

Source§

impl ExprRewritable<Batch> for BatchInsert

Source§

impl ExprRewritable<Batch> for BatchKafkaScan

Source§

impl ExprRewritable<Batch> for BatchLimit

Source§

impl ExprRewritable<Batch> for BatchLogSeqScan

Source§

impl ExprRewritable<Batch> for BatchLookupJoin

Source§

impl ExprRewritable<Batch> for BatchMaxOneRow

Source§

impl ExprRewritable<Batch> for BatchMySqlQuery

Source§

impl ExprRewritable<Batch> for BatchNestedLoopJoin

Source§

impl ExprRewritable<Batch> for BatchOverWindow

Source§

impl ExprRewritable<Batch> for BatchPostgresQuery

Source§

impl ExprRewritable<Batch> for BatchProject

Source§

impl ExprRewritable<Batch> for BatchProjectSet

Source§

impl ExprRewritable<Batch> for BatchSeqScan

Source§

impl ExprRewritable<Batch> for BatchSimpleAgg

Source§

impl ExprRewritable<Batch> for BatchSort

Source§

impl ExprRewritable<Batch> for BatchSortAgg

Source§

impl ExprRewritable<Batch> for BatchSource

Source§

impl ExprRewritable<Batch> for BatchSysSeqScan

Source§

impl ExprRewritable<Batch> for BatchTableFunction

Source§

impl ExprRewritable<Batch> for BatchTopN

Source§

impl ExprRewritable<Batch> for BatchUnion

Source§

impl ExprRewritable<Batch> for BatchUpdate

Source§

impl ExprRewritable<Batch> for BatchValues

Source§

impl ExprRewritable<Logical> for LogicalAgg

Source§

impl ExprRewritable<Logical> for LogicalApply

Source§

impl ExprRewritable<Logical> for LogicalCdcScan

Source§

impl ExprRewritable<Logical> for LogicalChangeLog

Source§

impl ExprRewritable<Logical> for LogicalCteRef

Source§

impl ExprRewritable<Logical> for LogicalDedup

Source§

impl ExprRewritable<Logical> for LogicalDelete

Source§

impl ExprRewritable<Logical> for LogicalExcept

Source§

impl ExprRewritable<Logical> for LogicalExpand

Source§

impl ExprRewritable<Logical> for LogicalFileScan

Source§

impl ExprRewritable<Logical> for LogicalFilter

Source§

impl ExprRewritable<Logical> for LogicalHopWindow

Source§

impl ExprRewritable<Logical> for LogicalIcebergScan

Source§

impl ExprRewritable<Logical> for LogicalInsert

Source§

impl ExprRewritable<Logical> for LogicalIntersect

Source§

impl ExprRewritable<Logical> for LogicalJoin

Source§

impl ExprRewritable<Logical> for LogicalKafkaScan

Source§

impl ExprRewritable<Logical> for LogicalLimit

Source§

impl ExprRewritable<Logical> for LogicalMaxOneRow

Source§

impl ExprRewritable<Logical> for LogicalMultiJoin

Source§

impl ExprRewritable<Logical> for LogicalMySqlQuery

Source§

impl ExprRewritable<Logical> for LogicalNow

Source§

impl ExprRewritable<Logical> for LogicalOverWindow

Source§

impl ExprRewritable<Logical> for LogicalPostgresQuery

Source§

impl ExprRewritable<Logical> for LogicalProject

Source§

impl ExprRewritable<Logical> for LogicalProjectSet

Source§

impl ExprRewritable<Logical> for LogicalRecursiveUnion

Source§

impl ExprRewritable<Logical> for LogicalScan

Source§

impl ExprRewritable<Logical> for LogicalShare

Source§

impl ExprRewritable<Logical> for LogicalSource

Source§

impl ExprRewritable<Logical> for LogicalSysScan

Source§

impl ExprRewritable<Logical> for LogicalTableFunction

Source§

impl ExprRewritable<Logical> for LogicalTopN

Source§

impl ExprRewritable<Logical> for LogicalUnion

Source§

impl ExprRewritable<Logical> for LogicalUpdate

Source§

impl ExprRewritable<Logical> for LogicalValues

Source§

impl ExprRewritable<Stream> for StreamAsOfJoin

Source§

impl ExprRewritable<Stream> for StreamCdcTableScan

Source§

impl ExprRewritable<Stream> for StreamChangeLog

Source§

impl ExprRewritable<Stream> for StreamDedup

Source§

impl ExprRewritable<Stream> for StreamDeltaJoin

Source§

impl ExprRewritable<Stream> for StreamDml

Source§

impl ExprRewritable<Stream> for StreamDynamicFilter

Source§

impl ExprRewritable<Stream> for StreamEowcOverWindow

Source§

impl ExprRewritable<Stream> for StreamEowcSort

Source§

impl ExprRewritable<Stream> for StreamExchange

Source§

impl ExprRewritable<Stream> for StreamExpand

Source§

impl ExprRewritable<Stream> for StreamFilter

Source§

impl ExprRewritable<Stream> for StreamFsFetch

Source§

impl ExprRewritable<Stream> for StreamGlobalApproxPercentile

Source§

impl ExprRewritable<Stream> for StreamGroupTopN

Source§

impl ExprRewritable<Stream> for StreamHashAgg

Source§

impl ExprRewritable<Stream> for StreamHashJoin

Source§

impl ExprRewritable<Stream> for StreamHopWindow

Source§

impl ExprRewritable<Stream> for StreamLocalApproxPercentile

Source§

impl ExprRewritable<Stream> for StreamMaterialize

Source§

impl ExprRewritable<Stream> for StreamMaterializedExprs

Source§

impl ExprRewritable<Stream> for StreamNow

Source§

impl ExprRewritable<Stream> for StreamOverWindow

Source§

impl ExprRewritable<Stream> for StreamProject

Source§

impl ExprRewritable<Stream> for StreamProjectSet

Source§

impl ExprRewritable<Stream> for StreamRowIdGen

Source§

impl ExprRewritable<Stream> for StreamRowMerge

Source§

impl ExprRewritable<Stream> for StreamShare

Source§

impl ExprRewritable<Stream> for StreamSimpleAgg

Source§

impl ExprRewritable<Stream> for StreamSink

Source§

impl ExprRewritable<Stream> for StreamSource

Source§

impl ExprRewritable<Stream> for StreamSourceScan

Source§

impl ExprRewritable<Stream> for StreamStatelessSimpleAgg

Source§

impl ExprRewritable<Stream> for StreamSyncLogStore

Source§

impl ExprRewritable<Stream> for StreamTableScan

Source§

impl ExprRewritable<Stream> for StreamTemporalJoin

Source§

impl ExprRewritable<Stream> for StreamTopN

Source§

impl ExprRewritable<Stream> for StreamUnion

Source§

impl ExprRewritable<Stream> for StreamValues

Source§

impl ExprRewritable<Stream> for StreamWatermarkFilter

Source§

impl<C: ConventionMarker> ExprRewritable<C> for PlanRef<C>