risingwave_frontend::optimizer::plan_node::convert

Trait ToBatch

source
pub trait ToBatch {
    // Required method
    fn to_batch(&self) -> Result<PlanRef, RwError>;

    // Provided method
    fn to_batch_with_order_required(
        &self,
        required_order: &Order,
    ) -> Result<PlanRef, RwError> { ... }
}
Expand description

ToBatch allows to convert a logical plan node to batch physical node with an optional required order.

The generated plan has single distribution and doesn’t have any exchange nodes inserted. Use either ToLocalBatch or ToDistributedBatch after ToBatch to get a distributed plan.

To implement this trait you can choose one of the two ways:

  • Implement to_batch and use the default implementation of to_batch_with_order_required
  • Or, if a better plan can be generated when a required order is given, you can implement to_batch_with_order_required, and implement to_batch with to_batch_with_order_required(&Order::any()).

Required Methods§

source

fn to_batch(&self) -> Result<PlanRef, RwError>

to_batch is equivalent to to_batch_with_order_required(&Order::any())

Provided Methods§

source

fn to_batch_with_order_required( &self, required_order: &Order, ) -> Result<PlanRef, RwError>

convert the plan to batch physical plan and satisfy the required Order

Implementors§

source§

impl ToBatch for BatchDelete

source§

impl ToBatch for BatchExchange

source§

impl ToBatch for BatchExpand

source§

impl ToBatch for BatchFileScan

source§

impl ToBatch for BatchFilter

source§

impl ToBatch for BatchGroupTopN

source§

impl ToBatch for BatchHashAgg

source§

impl ToBatch for BatchHashJoin

source§

impl ToBatch for BatchHopWindow

source§

impl ToBatch for BatchIcebergScan

source§

impl ToBatch for BatchInsert

source§

impl ToBatch for BatchKafkaScan

source§

impl ToBatch for BatchLimit

source§

impl ToBatch for BatchLogSeqScan

source§

impl ToBatch for BatchLookupJoin

source§

impl ToBatch for BatchMaxOneRow

source§

impl ToBatch for BatchMySqlQuery

source§

impl ToBatch for BatchNestedLoopJoin

source§

impl ToBatch for BatchOverWindow

source§

impl ToBatch for BatchPostgresQuery

source§

impl ToBatch for BatchProject

source§

impl ToBatch for BatchProjectSet

source§

impl ToBatch for BatchSeqScan

source§

impl ToBatch for BatchSimpleAgg

source§

impl ToBatch for BatchSort

source§

impl ToBatch for BatchSortAgg

source§

impl ToBatch for BatchSource

source§

impl ToBatch for BatchSysSeqScan

source§

impl ToBatch for BatchTableFunction

source§

impl ToBatch for BatchTopN

source§

impl ToBatch for BatchUnion

source§

impl ToBatch for BatchUpdate

source§

impl ToBatch for BatchValues

source§

impl ToBatch for LogicalAgg

source§

impl ToBatch for LogicalApply

source§

impl ToBatch for LogicalCdcScan

source§

impl ToBatch for LogicalChangeLog

source§

impl ToBatch for LogicalCteRef

source§

impl ToBatch for LogicalDedup

source§

impl ToBatch for LogicalDelete

source§

impl ToBatch for LogicalExcept

source§

impl ToBatch for LogicalExpand

source§

impl ToBatch for LogicalFileScan

source§

impl ToBatch for LogicalFilter

source§

impl ToBatch for LogicalHopWindow

source§

impl ToBatch for LogicalIcebergScan

source§

impl ToBatch for LogicalInsert

source§

impl ToBatch for LogicalIntersect

source§

impl ToBatch for LogicalJoin

source§

impl ToBatch for LogicalKafkaScan

source§

impl ToBatch for LogicalLimit

source§

impl ToBatch for LogicalMaxOneRow

source§

impl ToBatch for LogicalMultiJoin

source§

impl ToBatch for LogicalMySqlQuery

source§

impl ToBatch for LogicalNow

source§

impl ToBatch for LogicalOverWindow

source§

impl ToBatch for LogicalPostgresQuery

source§

impl ToBatch for LogicalProject

source§

impl ToBatch for LogicalProjectSet

source§

impl ToBatch for LogicalRecursiveUnion

source§

impl ToBatch for LogicalScan

source§

impl ToBatch for LogicalShare

source§

impl ToBatch for LogicalSource

source§

impl ToBatch for LogicalSysScan

source§

impl ToBatch for LogicalTableFunction

source§

impl ToBatch for LogicalTopN

source§

impl ToBatch for LogicalUnion

source§

impl ToBatch for LogicalUpdate

source§

impl ToBatch for LogicalValues

source§

impl ToBatch for StreamAsOfJoin

source§

impl ToBatch for StreamCdcTableScan

source§

impl ToBatch for StreamChangeLog

source§

impl ToBatch for StreamDedup

source§

impl ToBatch for StreamDeltaJoin

source§

impl ToBatch for StreamDml

source§

impl ToBatch for StreamDynamicFilter

source§

impl ToBatch for StreamEowcOverWindow

source§

impl ToBatch for StreamExchange

source§

impl ToBatch for StreamExpand

source§

impl ToBatch for StreamFilter

source§

impl ToBatch for StreamFsFetch

source§

impl ToBatch for StreamGlobalApproxPercentile

source§

impl ToBatch for StreamGroupTopN

source§

impl ToBatch for StreamHashAgg

source§

impl ToBatch for StreamHashJoin

source§

impl ToBatch for StreamHopWindow

source§

impl ToBatch for StreamLocalApproxPercentile

source§

impl ToBatch for StreamMaterialize

source§

impl ToBatch for StreamNow

source§

impl ToBatch for StreamOverWindow

source§

impl ToBatch for StreamProject

source§

impl ToBatch for StreamProjectSet

source§

impl ToBatch for StreamRowIdGen

source§

impl ToBatch for StreamRowMerge

source§

impl ToBatch for StreamShare

source§

impl ToBatch for StreamSimpleAgg

source§

impl ToBatch for StreamSink

source§

impl ToBatch for StreamEowcSort

source§

impl ToBatch for StreamSource

source§

impl ToBatch for StreamSourceScan

source§

impl ToBatch for StreamStatelessSimpleAgg

source§

impl ToBatch for StreamTableScan

source§

impl ToBatch for StreamTemporalJoin

source§

impl ToBatch for StreamTopN

source§

impl ToBatch for StreamUnion

source§

impl ToBatch for StreamValues

source§

impl ToBatch for StreamWatermarkFilter