pub trait LogicalPlanNode:
PlanNodeCommon<Logical>
+ ColPrunable
+ PredicatePushdown
+ ToBatch
+ ToStream { }Implementations§
Source§impl dyn LogicalPlanNode
impl dyn LogicalPlanNode
Sourcepub fn is<__T: LogicalPlanNode>(&self) -> bool
pub fn is<__T: LogicalPlanNode>(&self) -> bool
Returns true if the trait object wraps an object of type __T.
Sourcepub fn downcast<__T: LogicalPlanNode>(
self: Box<Self>,
) -> Result<Box<__T>, Box<Self>>
pub fn downcast<__T: LogicalPlanNode>( 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.
Sourcepub fn downcast_rc<__T: LogicalPlanNode>(
self: Rc<Self>,
) -> Result<Rc<__T>, Rc<Self>>
pub fn downcast_rc<__T: LogicalPlanNode>( 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.
Sourcepub fn downcast_ref<__T: LogicalPlanNode>(&self) -> Option<&__T>
pub fn downcast_ref<__T: LogicalPlanNode>(&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.
Sourcepub fn downcast_mut<__T: LogicalPlanNode>(&mut self) -> Option<&mut __T>
pub fn downcast_mut<__T: LogicalPlanNode>(&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 LogicalPlanNode
Directly implement methods for PlanNode to access the fields defined in GenericPlanRef.
impl dyn LogicalPlanNode
Directly implement methods for PlanNode to access the fields defined in GenericPlanRef.
pub fn id(&self) -> PlanNodeId
pub fn ctx(&self) -> OptimizerContextRef
pub fn schema(&self) -> &Schema
pub fn stream_key(&self) -> Option<&[usize]>
pub fn functional_dependency(&self) -> &FunctionalDependencySet
pub fn explain_myself_to_string(&self) -> String
Source§impl dyn LogicalPlanNode
impl dyn LogicalPlanNode
pub fn as_logical_agg(&self) -> Option<&LogicalAgg>
pub fn as_logical_apply(&self) -> Option<&LogicalApply>
pub fn as_logical_filter(&self) -> Option<&LogicalFilter>
pub fn as_logical_project(&self) -> Option<&LogicalProject>
pub fn as_logical_scan(&self) -> Option<&LogicalScan>
pub fn as_logical_cdc_scan(&self) -> Option<&LogicalCdcScan>
pub fn as_logical_sys_scan(&self) -> Option<&LogicalSysScan>
pub fn as_logical_source(&self) -> Option<&LogicalSource>
pub fn as_logical_insert(&self) -> Option<&LogicalInsert>
pub fn as_logical_delete(&self) -> Option<&LogicalDelete>
pub fn as_logical_update(&self) -> Option<&LogicalUpdate>
pub fn as_logical_join(&self) -> Option<&LogicalJoin>
pub fn as_logical_values(&self) -> Option<&LogicalValues>
pub fn as_logical_limit(&self) -> Option<&LogicalLimit>
pub fn as_logical_top_n(&self) -> Option<&LogicalTopN>
pub fn as_logical_hop_window(&self) -> Option<&LogicalHopWindow>
pub fn as_logical_table_function(&self) -> Option<&LogicalTableFunction>
pub fn as_logical_multi_join(&self) -> Option<&LogicalMultiJoin>
pub fn as_logical_expand(&self) -> Option<&LogicalExpand>
pub fn as_logical_project_set(&self) -> Option<&LogicalProjectSet>
pub fn as_logical_union(&self) -> Option<&LogicalUnion>
pub fn as_logical_over_window(&self) -> Option<&LogicalOverWindow>
pub fn as_logical_now(&self) -> Option<&LogicalNow>
pub fn as_logical_dedup(&self) -> Option<&LogicalDedup>
pub fn as_logical_intersect(&self) -> Option<&LogicalIntersect>
pub fn as_logical_except(&self) -> Option<&LogicalExcept>
pub fn as_logical_max_one_row(&self) -> Option<&LogicalMaxOneRow>
pub fn as_logical_kafka_scan(&self) -> Option<&LogicalKafkaScan>
pub fn as_logical_iceberg_scan(&self) -> Option<&LogicalIcebergScan>
pub fn as_logical_iceberg_intermediate_scan( &self, ) -> Option<&LogicalIcebergIntermediateScan>
pub fn as_logical_change_log(&self) -> Option<&LogicalChangeLog>
pub fn as_logical_file_scan(&self) -> Option<&LogicalFileScan>
pub fn as_logical_postgres_query(&self) -> Option<&LogicalPostgresQuery>
pub fn as_logical_my_sql_query(&self) -> Option<&LogicalMySqlQuery>
pub fn as_logical_gap_fill(&self) -> Option<&LogicalGapFill>
pub fn as_logical_vector_search(&self) -> Option<&LogicalVectorSearch>
pub fn as_logical_get_channel_delta_stats( &self, ) -> Option<&LogicalGetChannelDeltaStats>
pub fn as_logical_locality_provider(&self) -> Option<&LogicalLocalityProvider>
pub fn as_logical_vector_search_lookup_join( &self, ) -> Option<&LogicalVectorSearchLookupJoin>
Trait Implementations§
impl Eq for dyn LogicalPlanNode
Source§impl Hash for dyn LogicalPlanNode
impl Hash for dyn LogicalPlanNode
Source§impl PartialEq for dyn LogicalPlanNode
impl PartialEq for dyn LogicalPlanNode
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".