Trait ToBatch

Source
pub trait ToBatch {
    // Required method
    fn to_batch(&self) -> Result<BatchPlanRef>;

    // Provided method
    fn to_batch_with_order_required(
        &self,
        required_order: &Order,
    ) -> Result<BatchPlanRef> { ... }
}
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<BatchPlanRef>

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<BatchPlanRef>

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

Implementors§

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 LogicalGetChannelDeltaStats

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 LogicalVectorSearch