Trait StreamPlanNode

Source
pub trait StreamPlanNode: PlanNodeCommon<Stream> + TryToStreamPb { }
Expand description

The common trait over all plan nodes. Used by optimizer framework which will treat all node as dyn PlanNode

We split the trait into lots of sub-trait so that we can easily use macro to impl them.

Implementations§

Source§

impl dyn StreamPlanNode

Source

pub fn is<__T: StreamPlanNode>(&self) -> bool

Returns true if the trait object wraps an object of type __T.

Source

pub fn downcast<__T: StreamPlanNode>( self: Box<Self>, ) -> Result<Box<__T>, Box<Self>>

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn’t.

Source

pub fn downcast_rc<__T: StreamPlanNode>( self: Rc<Self>, ) -> Result<Rc<__T>, Rc<Self>>

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn’t.

Source

pub fn downcast_ref<__T: StreamPlanNode>(&self) -> Option<&__T>

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_mut<__T: StreamPlanNode>(&mut self) -> Option<&mut __T>

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source§

impl dyn StreamPlanNode

Directly implement methods for PlanNode to access the fields defined in GenericPlanRef.

Source§

impl dyn StreamPlanNode

Source

pub fn to_stream_prost( &self, state: &mut BuildFragmentGraphState, ) -> Result<PbStreamPlan, SchedulerError>

Serialize the plan node and its children to a stream plan proto.

Note that some operators has their own implementation of to_stream_prost. We have a hook inside to do some ad-hoc things.

Source§

impl dyn StreamPlanNode

Source

pub fn as_stream_project(&self) -> Option<&StreamProject>

Source

pub fn as_stream_filter(&self) -> Option<&StreamFilter>

Source

pub fn as_stream_table_scan(&self) -> Option<&StreamTableScan>

Source

pub fn as_stream_cdc_table_scan(&self) -> Option<&StreamCdcTableScan>

Source

pub fn as_stream_sink(&self) -> Option<&StreamSink>

Source

pub fn as_stream_source(&self) -> Option<&StreamSource>

Source

pub fn as_stream_source_scan(&self) -> Option<&StreamSourceScan>

Source

pub fn as_stream_hash_join(&self) -> Option<&StreamHashJoin>

Source

pub fn as_stream_exchange(&self) -> Option<&StreamExchange>

Source

pub fn as_stream_hash_agg(&self) -> Option<&StreamHashAgg>

Source

pub fn as_stream_simple_agg(&self) -> Option<&StreamSimpleAgg>

Source

pub fn as_stream_stateless_simple_agg( &self, ) -> Option<&StreamStatelessSimpleAgg>

Source

pub fn as_stream_materialize(&self) -> Option<&StreamMaterialize>

Source

pub fn as_stream_top_n(&self) -> Option<&StreamTopN>

Source

pub fn as_stream_hop_window(&self) -> Option<&StreamHopWindow>

Source

pub fn as_stream_delta_join(&self) -> Option<&StreamDeltaJoin>

Source

pub fn as_stream_expand(&self) -> Option<&StreamExpand>

Source

pub fn as_stream_dynamic_filter(&self) -> Option<&StreamDynamicFilter>

Source

pub fn as_stream_project_set(&self) -> Option<&StreamProjectSet>

Source

pub fn as_stream_group_top_n(&self) -> Option<&StreamGroupTopN>

Source

pub fn as_stream_union(&self) -> Option<&StreamUnion>

Source

pub fn as_stream_row_id_gen(&self) -> Option<&StreamRowIdGen>

Source

pub fn as_stream_dml(&self) -> Option<&StreamDml>

Source

pub fn as_stream_now(&self) -> Option<&StreamNow>

Source

pub fn as_stream_share(&self) -> Option<&StreamShare>

Source

pub fn as_stream_watermark_filter(&self) -> Option<&StreamWatermarkFilter>

Source

pub fn as_stream_temporal_join(&self) -> Option<&StreamTemporalJoin>

Source

pub fn as_stream_values(&self) -> Option<&StreamValues>

Source

pub fn as_stream_dedup(&self) -> Option<&StreamDedup>

Source

pub fn as_stream_eowc_over_window(&self) -> Option<&StreamEowcOverWindow>

Source

pub fn as_stream_eowc_sort(&self) -> Option<&StreamEowcSort>

Source

pub fn as_stream_over_window(&self) -> Option<&StreamOverWindow>

Source

pub fn as_stream_fs_fetch(&self) -> Option<&StreamFsFetch>

Source

pub fn as_stream_change_log(&self) -> Option<&StreamChangeLog>

Source

pub fn as_stream_global_approx_percentile( &self, ) -> Option<&StreamGlobalApproxPercentile>

Source

pub fn as_stream_local_approx_percentile( &self, ) -> Option<&StreamLocalApproxPercentile>

Source

pub fn as_stream_row_merge(&self) -> Option<&StreamRowMerge>

Source

pub fn as_stream_as_of_join(&self) -> Option<&StreamAsOfJoin>

Source

pub fn as_stream_sync_log_store(&self) -> Option<&StreamSyncLogStore>

Source

pub fn as_stream_materialized_exprs(&self) -> Option<&StreamMaterializedExprs>

Trait Implementations§

Source§

impl Hash for dyn StreamPlanNode

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
Source§

impl PartialEq for dyn StreamPlanNode

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for dyn StreamPlanNode

Implementors§

Source§

impl StreamPlanNode for StreamAsOfJoin

Source§

impl StreamPlanNode for StreamCdcTableScan

Source§

impl StreamPlanNode for StreamChangeLog

Source§

impl StreamPlanNode for StreamDedup

Source§

impl StreamPlanNode for StreamDeltaJoin

Source§

impl StreamPlanNode for StreamDml

Source§

impl StreamPlanNode for StreamDynamicFilter

Source§

impl StreamPlanNode for StreamEowcOverWindow

Source§

impl StreamPlanNode for StreamEowcSort

Source§

impl StreamPlanNode for StreamExchange

Source§

impl StreamPlanNode for StreamExpand

Source§

impl StreamPlanNode for StreamFilter

Source§

impl StreamPlanNode for StreamFsFetch

Source§

impl StreamPlanNode for StreamGlobalApproxPercentile

Source§

impl StreamPlanNode for StreamGroupTopN

Source§

impl StreamPlanNode for StreamHashAgg

Source§

impl StreamPlanNode for StreamHashJoin

Source§

impl StreamPlanNode for StreamHopWindow

Source§

impl StreamPlanNode for StreamLocalApproxPercentile

Source§

impl StreamPlanNode for StreamMaterialize

Source§

impl StreamPlanNode for StreamMaterializedExprs

Source§

impl StreamPlanNode for StreamNow

Source§

impl StreamPlanNode for StreamOverWindow

Source§

impl StreamPlanNode for StreamProject

Source§

impl StreamPlanNode for StreamProjectSet

Source§

impl StreamPlanNode for StreamRowIdGen

Source§

impl StreamPlanNode for StreamRowMerge

Source§

impl StreamPlanNode for StreamShare

Source§

impl StreamPlanNode for StreamSimpleAgg

Source§

impl StreamPlanNode for StreamSink

Source§

impl StreamPlanNode for StreamSource

Source§

impl StreamPlanNode for StreamSourceScan

Source§

impl StreamPlanNode for StreamStatelessSimpleAgg

Source§

impl StreamPlanNode for StreamSyncLogStore

Source§

impl StreamPlanNode for StreamTableScan

Source§

impl StreamPlanNode for StreamTemporalJoin

Source§

impl StreamPlanNode for StreamTopN

Source§

impl StreamPlanNode for StreamUnion

Source§

impl StreamPlanNode for StreamValues

Source§

impl StreamPlanNode for StreamWatermarkFilter