pub struct EnsureCooperative {}Expand description
EnsureCooperative is a PhysicalOptimizerRule that inspects the physical plan for
sub plans that do not participate in cooperative scheduling. The plan is subdivided into sub
plans on eager evaluation boundaries. Leaf nodes and eager evaluation roots are checked
to see if they participate in cooperative scheduling. Those that do no are wrapped in
a CooperativeExec parent.
Implementations§
Source§impl EnsureCooperative
impl EnsureCooperative
pub fn new() -> EnsureCooperative
Trait Implementations§
Source§impl Debug for EnsureCooperative
impl Debug for EnsureCooperative
Source§impl Default for EnsureCooperative
impl Default for EnsureCooperative
Source§fn default() -> EnsureCooperative
fn default() -> EnsureCooperative
Returns the “default value” for a type. Read more
Source§impl PhysicalOptimizerRule for EnsureCooperative
impl PhysicalOptimizerRule for EnsureCooperative
Source§fn optimize(
&self,
plan: Arc<dyn ExecutionPlan>,
_config: &ConfigOptions,
) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
fn optimize( &self, plan: Arc<dyn ExecutionPlan>, _config: &ConfigOptions, ) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
Rewrite
plan to an optimized formSource§fn schema_check(&self) -> bool
fn schema_check(&self) -> bool
A flag to indicate whether the physical planner should validate that the rule will not
change the schema of the plan after the rewriting.
Some of the optimization rules might change the nullable properties of the schema
and should disable the schema check.
Auto Trait Implementations§
impl Freeze for EnsureCooperative
impl RefUnwindSafe for EnsureCooperative
impl Send for EnsureCooperative
impl Sync for EnsureCooperative
impl Unpin for EnsureCooperative
impl UnwindSafe for EnsureCooperative
Blanket Implementations§
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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