Trait ToDistributedBatch

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

    // Provided method
    fn to_distributed_with_required(
        &self,
        required_order: &Order,
        required_dist: &RequiredDist,
    ) -> Result<BatchPlanRef> { ... }
}
Expand description

ToDistributedBatch allows to convert a batch physical plan to distributed batch plan, by insert exchange node, with an optional required order and distributed.

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

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

Required Methods§

Source

fn to_distributed(&self) -> Result<BatchPlanRef>

to_distributed is equivalent to to_distributed_with_required(&Order::any(), &RequiredDist::Any)

Provided Methods§

Source

fn to_distributed_with_required( &self, required_order: &Order, required_dist: &RequiredDist, ) -> Result<BatchPlanRef>

insert the exchange in batch physical plan to satisfy the required Distribution and Order.

Implementors§

Source§

impl ToDistributedBatch for BatchDelete

Source§

impl ToDistributedBatch for BatchExchange

Source§

impl ToDistributedBatch for BatchExpand

Source§

impl ToDistributedBatch for BatchFileScan

Source§

impl ToDistributedBatch for BatchFilter

Source§

impl ToDistributedBatch for BatchGroupTopN

Source§

impl ToDistributedBatch for BatchHashAgg

Source§

impl ToDistributedBatch for BatchHashJoin

Source§

impl ToDistributedBatch for BatchHopWindow

Source§

impl ToDistributedBatch for BatchIcebergScan

Source§

impl ToDistributedBatch for BatchInsert

Source§

impl ToDistributedBatch for BatchKafkaScan

Source§

impl ToDistributedBatch for BatchLimit

Source§

impl ToDistributedBatch for BatchLogSeqScan

Source§

impl ToDistributedBatch for BatchLookupJoin

Source§

impl ToDistributedBatch for BatchMaxOneRow

Source§

impl ToDistributedBatch for BatchMySqlQuery

Source§

impl ToDistributedBatch for BatchNestedLoopJoin

Source§

impl ToDistributedBatch for BatchOverWindow

Source§

impl ToDistributedBatch for BatchPostgresQuery

Source§

impl ToDistributedBatch for BatchProject

Source§

impl ToDistributedBatch for BatchProjectSet

Source§

impl ToDistributedBatch for BatchSeqScan

Source§

impl ToDistributedBatch for BatchSimpleAgg

Source§

impl ToDistributedBatch for BatchSort

Source§

impl ToDistributedBatch for BatchSortAgg

Source§

impl ToDistributedBatch for BatchSource

Source§

impl ToDistributedBatch for BatchSysSeqScan

Source§

impl ToDistributedBatch for BatchTableFunction

Source§

impl ToDistributedBatch for BatchTopN

Source§

impl ToDistributedBatch for BatchUnion

Source§

impl ToDistributedBatch for BatchUpdate

Source§

impl ToDistributedBatch for BatchValues