risingwave_frontend::optimizer::plan_node

Trait PlanNodeMeta

source
pub trait PlanNodeMeta {
    type Convention: ConventionMarker;

    const NODE_TYPE: PlanNodeType;

    // Required methods
    fn plan_base(&self) -> &PlanBase<Self::Convention>;
    fn plan_base_ref(&self) -> PlanBaseRef<'_>;
}
Expand description

The trait for accessing the meta data and PlanBase for plan nodes.

Required Associated Constants§

Required Associated Types§

Required Methods§

source

fn plan_base(&self) -> &PlanBase<Self::Convention>

Get the reference to the PlanBase with corresponding convention.

source

fn plan_base_ref(&self) -> PlanBaseRef<'_>

Get the reference to the PlanBase with erased convention.

This is mainly used for implementing AnyPlanNodeMeta. Callers should prefer PlanNodeMeta::plan_base instead as it is more type-safe.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl PlanNodeMeta for BatchDelete

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchDelete

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchExchange

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchExchange

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchExpand

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchExpand

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchFileScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchFileScan

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchFilter

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchFilter

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchGroupTopN

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchGroupTopN

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchHashAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchHashAgg

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchHashJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchHashJoin

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchHopWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchHopWindow

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchIcebergScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchIcebergScan

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchInsert

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchInsert

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchKafkaScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchKafkaScan

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchLimit

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchLimit

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchLogSeqScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchLogSeqScan

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchLookupJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchLookupJoin

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchMaxOneRow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchMaxOneRow

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchMySqlQuery

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchMySqlQuery

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchNestedLoopJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchNestedLoopJoin

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchOverWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchOverWindow

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchPostgresQuery

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchPostgresQuery

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchProject

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchProject

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchProjectSet

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchProjectSet

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchSeqScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchSeqScan

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchSimpleAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchSimpleAgg

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchSort

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchSort

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchSortAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchSortAgg

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchSource

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchSource

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchSysSeqScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchSysSeqScan

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchTableFunction

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchTableFunction

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchTopN

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchTopN

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchUnion

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchUnion

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchUpdate

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchUpdate

source§

type Convention = Batch

source§

impl PlanNodeMeta for BatchValues

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::BatchValues

source§

type Convention = Batch

source§

impl PlanNodeMeta for LogicalAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalAgg

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalApply

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalApply

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalCdcScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalCdcScan

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalChangeLog

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalChangeLog

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalCteRef

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalCteRef

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalDedup

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalDedup

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalDelete

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalDelete

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalExcept

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalExcept

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalExpand

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalExpand

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalFileScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalFileScan

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalFilter

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalFilter

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalHopWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalHopWindow

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalIcebergScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalIcebergScan

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalInsert

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalInsert

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalIntersect

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalIntersect

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalJoin

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalKafkaScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalKafkaScan

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalLimit

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalLimit

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalMaxOneRow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalMaxOneRow

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalMultiJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalMultiJoin

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalMySqlQuery

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalMySqlQuery

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalNow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalNow

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalOverWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalOverWindow

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalPostgresQuery

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalPostgresQuery

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalProject

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalProject

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalProjectSet

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalProjectSet

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalRecursiveUnion

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalRecursiveUnion

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalScan

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalShare

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalShare

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalSource

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalSource

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalSysScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalSysScan

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalTableFunction

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalTableFunction

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalTopN

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalTopN

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalUnion

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalUnion

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalUpdate

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalUpdate

source§

type Convention = Logical

source§

impl PlanNodeMeta for LogicalValues

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::LogicalValues

source§

type Convention = Logical

source§

impl PlanNodeMeta for StreamAsOfJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamAsOfJoin

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamCdcTableScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamCdcTableScan

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamChangeLog

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamChangeLog

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamDedup

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamDedup

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamDeltaJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamDeltaJoin

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamDml

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamDml

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamDynamicFilter

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamDynamicFilter

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamEowcOverWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamEowcOverWindow

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamExchange

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamExchange

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamExpand

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamExpand

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamFilter

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamFilter

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamFsFetch

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamFsFetch

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamGlobalApproxPercentile

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamGlobalApproxPercentile

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamGroupTopN

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamGroupTopN

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamHashAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamHashAgg

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamHashJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamHashJoin

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamHopWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamHopWindow

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamLocalApproxPercentile

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamLocalApproxPercentile

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamMaterialize

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamMaterialize

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamNow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamNow

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamOverWindow

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamOverWindow

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamProject

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamProject

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamProjectSet

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamProjectSet

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamRowIdGen

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamRowIdGen

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamRowMerge

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamRowMerge

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamShare

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamShare

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamSimpleAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamSimpleAgg

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamSink

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamSink

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamEowcSort

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamEowcSort

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamSource

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamSource

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamSourceScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamSourceScan

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamStatelessSimpleAgg

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamStatelessSimpleAgg

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamTableScan

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamTableScan

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamTemporalJoin

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamTemporalJoin

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamTopN

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamTopN

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamUnion

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamUnion

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamValues

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamValues

source§

type Convention = Stream

source§

impl PlanNodeMeta for StreamWatermarkFilter

source§

const NODE_TYPE: PlanNodeType = PlanNodeType::StreamWatermarkFilter

source§

type Convention = Stream