#[non_exhaustive]pub struct Decision {
pub node: String,
pub taken: bool,
pub reason: String,
pub runtime_fallback: bool,
pub groups: Option<GroupChoice>,
}Expand description
One node the rule looked at, one replaced aggregate’s run-time choice, or one runtime fallback.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.node: StringThe node, as DataFusion prints it on one line.
taken: boolAt plan time: the node was replaced by a MetalExec. For a run-time choice: the aggregate
ran on ArrowMetal.
reason: StringWhy it was taken or left.
runtime_fallback: boolTrue for a MetalExec that hit an ArrowMetal error at run time and ran DataFusion instead.
groups: Option<GroupChoice>For a replaced aggregate’s run-time choice: what it was decided from. taken is then
whether it ran on ArrowMetal.
Implementations§
Source§impl Decision
impl Decision
Sourcepub fn is_runtime_choice(&self) -> bool
pub fn is_runtime_choice(&self) -> bool
A replaced aggregate’s run-time choice (see AggregateChoice).
Sourcepub fn is_data_dependent(&self) -> bool
pub fn is_data_dependent(&self) -> bool
A runtime fallback (the runtime_fallback field) caused by the data, not an error.
Trait Implementations§
impl StructuralPartialEq for Decision
Auto Trait Implementations§
impl Freeze for Decision
impl RefUnwindSafe for Decision
impl Send for Decision
impl Sync for Decision
impl Unpin for Decision
impl UnsafeUnpin for Decision
impl UnwindSafe for Decision
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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