pub type LogicalPlanRoot = PlanRoot<PlanPhaseLogical>;
Aliased Type§
pub struct LogicalPlanRoot {
pub plan: PlanRef<Logical>,
_phase: PhantomData<PlanPhaseLogical>,
required_dist: RequiredDist,
required_order: Order,
out_fields: FixedBitSet,
out_names: Vec<String>,
}
Fields§
§plan: PlanRef<Logical>
§_phase: PhantomData<PlanPhaseLogical>
§required_dist: RequiredDist
§required_order: Order
§out_fields: FixedBitSet
§out_names: Vec<String>
Implementations§
Source§impl LogicalPlanRoot
impl LogicalPlanRoot
pub fn new_with_logical_plan( plan: LogicalPlanRef, required_dist: RequiredDist, required_order: Order, out_fields: FixedBitSet, out_names: Vec<String>, ) -> Self
Source§impl LogicalPlanRoot
impl LogicalPlanRoot
Sourcepub fn into_unordered_subplan(self) -> LogicalPlanRef
pub fn into_unordered_subplan(self) -> LogicalPlanRef
Sourcepub fn into_array_agg(self) -> Result<LogicalPlanRef>
pub fn into_array_agg(self) -> Result<LogicalPlanRef>
Sourcepub fn gen_optimized_logical_plan_for_stream(self) -> Result<LogicalPlanRoot>
pub fn gen_optimized_logical_plan_for_stream(self) -> Result<LogicalPlanRoot>
Apply logical optimization to the plan for stream.
Sourcepub fn gen_optimized_logical_plan_for_batch(
self,
) -> Result<BatchOptimizedLogicalPlanRoot>
pub fn gen_optimized_logical_plan_for_batch( self, ) -> Result<BatchOptimizedLogicalPlanRoot>
Apply logical optimization to the plan for batch.
pub fn gen_batch_plan(self) -> Result<BatchPlanRoot>
Source§impl LogicalPlanRoot
impl LogicalPlanRoot
Sourcefn gen_optimized_stream_plan(
self,
emit_on_window_close: bool,
allow_snapshot_backfill: bool,
) -> Result<StreamOptimizedLogicalPlanRoot>
fn gen_optimized_stream_plan( self, emit_on_window_close: bool, allow_snapshot_backfill: bool, ) -> Result<StreamOptimizedLogicalPlanRoot>
Generate optimized stream plan
fn gen_optimized_stream_plan_inner( self, emit_on_window_close: bool, stream_scan_type: StreamScanType, ) -> Result<StreamOptimizedLogicalPlanRoot>
Sourcefn gen_stream_plan(
self,
emit_on_window_close: bool,
stream_scan_type: StreamScanType,
) -> Result<StreamOptimizedLogicalPlanRoot>
fn gen_stream_plan( self, emit_on_window_close: bool, stream_scan_type: StreamScanType, ) -> Result<StreamOptimizedLogicalPlanRoot>
Generate create index or create materialize view plan.
Sourcefn compute_cardinality(&self) -> Cardinality
fn compute_cardinality(&self) -> Cardinality
Visit the plan root and compute the cardinality.
Panics if not called on a logical plan.
Sourcepub fn gen_table_plan(
self,
context: OptimizerContextRef,
table_name: String,
database_id: u32,
schema_id: u32,
_: CreateTableInfo,
_: CreateTableProps,
) -> Result<StreamMaterialize>
pub fn gen_table_plan( self, context: OptimizerContextRef, table_name: String, database_id: u32, schema_id: u32, _: CreateTableInfo, _: CreateTableProps, ) -> Result<StreamMaterialize>
Optimize and generate a create table plan.
Sourcepub fn gen_materialize_plan(
self,
database_id: u32,
schema_id: u32,
mv_name: String,
definition: String,
emit_on_window_close: bool,
) -> Result<StreamMaterialize>
pub fn gen_materialize_plan( self, database_id: u32, schema_id: u32, mv_name: String, definition: String, emit_on_window_close: bool, ) -> Result<StreamMaterialize>
Optimize and generate a create materialized view plan.
Sourcepub fn gen_index_plan(
self,
index_name: String,
database_id: u32,
schema_id: u32,
definition: String,
retention_seconds: Option<NonZeroU32>,
) -> Result<StreamMaterialize>
pub fn gen_index_plan( self, index_name: String, database_id: u32, schema_id: u32, definition: String, retention_seconds: Option<NonZeroU32>, ) -> Result<StreamMaterialize>
Optimize and generate a create index plan.
Sourcepub fn gen_sink_plan(
self,
sink_name: String,
definition: String,
properties: WithOptionsSecResolved,
emit_on_window_close: bool,
db_name: String,
sink_from_table_name: String,
format_desc: Option<SinkFormatDesc>,
without_backfill: bool,
target_table: Option<Arc<TableCatalog>>,
partition_info: Option<PartitionComputeInfo>,
user_specified_columns: bool,
auto_refresh_schema_from_table: Option<Arc<TableCatalog>>,
) -> Result<StreamSink>
pub fn gen_sink_plan( self, sink_name: String, definition: String, properties: WithOptionsSecResolved, emit_on_window_close: bool, db_name: String, sink_from_table_name: String, format_desc: Option<SinkFormatDesc>, without_backfill: bool, target_table: Option<Arc<TableCatalog>>, partition_info: Option<PartitionComputeInfo>, user_specified_columns: bool, auto_refresh_schema_from_table: Option<Arc<TableCatalog>>, ) -> Result<StreamSink>
Optimize and generate a create sink plan.