pub struct KvAggregateExtensionPlanner;Expand description
Plans Store aggregates when composing a custom DataFusion physical planner.
Trait Implementations§
Source§impl Debug for KvAggregateExtensionPlanner
impl Debug for KvAggregateExtensionPlanner
Source§impl Default for KvAggregateExtensionPlanner
impl Default for KvAggregateExtensionPlanner
Source§fn default() -> KvAggregateExtensionPlanner
fn default() -> KvAggregateExtensionPlanner
Returns the “default value” for a type. Read more
Source§impl ExtensionPlanner for KvAggregateExtensionPlanner
impl ExtensionPlanner for KvAggregateExtensionPlanner
Source§fn plan_extension<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'life7, 'async_trait>(
&'life0 self,
_planner: &'life1 dyn PhysicalPlanner,
node: &'life2 dyn UserDefinedLogicalNode,
_logical_inputs: &'life3 [&'life4 LogicalPlan],
_physical_inputs: &'life5 [Arc<dyn ExecutionPlan>],
session: &'life6 dyn Session,
planning_ctx: &'life7 PhysicalPlanningContext,
) -> Pin<Box<dyn Future<Output = DataFusionResult<Option<Arc<dyn ExecutionPlan>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
'life6: 'async_trait,
'life7: 'async_trait,
fn plan_extension<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'life7, 'async_trait>(
&'life0 self,
_planner: &'life1 dyn PhysicalPlanner,
node: &'life2 dyn UserDefinedLogicalNode,
_logical_inputs: &'life3 [&'life4 LogicalPlan],
_physical_inputs: &'life5 [Arc<dyn ExecutionPlan>],
session: &'life6 dyn Session,
planning_ctx: &'life7 PhysicalPlanningContext,
) -> Pin<Box<dyn Future<Output = DataFusionResult<Option<Arc<dyn ExecutionPlan>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
'life6: 'async_trait,
'life7: 'async_trait,
Create a physical plan for a
UserDefinedLogicalNode. Read moreSource§fn plan_table_scan<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_planner: &'life1 dyn PhysicalPlanner,
_scan: &'life2 TableScan,
_session: &'life3 dyn Session,
_planning_ctx: &'life4 PhysicalPlanningContext,
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<dyn ExecutionPlan>>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: Sync + 'async_trait,
fn plan_table_scan<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_planner: &'life1 dyn PhysicalPlanner,
_scan: &'life2 TableScan,
_session: &'life3 dyn Session,
_planning_ctx: &'life4 PhysicalPlanningContext,
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<dyn ExecutionPlan>>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: Sync + 'async_trait,
Create a physical plan for a
LogicalPlan::TableScan. Read moreAuto Trait Implementations§
impl Freeze for KvAggregateExtensionPlanner
impl RefUnwindSafe for KvAggregateExtensionPlanner
impl Send for KvAggregateExtensionPlanner
impl Sync for KvAggregateExtensionPlanner
impl Unpin for KvAggregateExtensionPlanner
impl UnsafeUnpin for KvAggregateExtensionPlanner
impl UnwindSafe for KvAggregateExtensionPlanner
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more