pub struct ExprStatisticsGraph { /* private fields */ }๐Deprecated since 54.0.0:
Part of the unused Statistics V2 framework; see https://github.com/apache/datafusion/pull/22071
Expand description
This object implements a directed acyclic expression graph (DAEG) that is used to compute statistics/distributions for expressions hierarchically.
Implementationsยง
Sourceยงimpl ExprStatisticsGraph
impl ExprStatisticsGraph
pub fn try_new(expr: Arc<dyn PhysicalExpr>, schema: &Schema) -> Result<Self>
Sourcepub fn assign_statistics(&mut self, assignments: &[(usize, Distribution)])
pub fn assign_statistics(&mut self, assignments: &[(usize, Distribution)])
This function assigns given distributions to expressions in the DAEG.
The argument assignments associates indices of sought expressions
with their corresponding new distributions.
Sourcepub fn evaluate_statistics(&mut self) -> Result<&Distribution>
pub fn evaluate_statistics(&mut self) -> Result<&Distribution>
Computes statistics/distributions for an expression via a bottom-up traversal.
Sourcepub fn propagate_statistics(
&mut self,
given_stats: Distribution,
) -> Result<PropagationResult>
pub fn propagate_statistics( &mut self, given_stats: Distribution, ) -> Result<PropagationResult>
Runs a propagation mechanism in a top-down manner to update statistics of leaf nodes.
Trait Implementationsยง
Sourceยงimpl Clone for ExprStatisticsGraph
impl Clone for ExprStatisticsGraph
Sourceยงfn clone(&self) -> ExprStatisticsGraph
fn clone(&self) -> ExprStatisticsGraph
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementationsยง
impl !RefUnwindSafe for ExprStatisticsGraph
impl !UnwindSafe for ExprStatisticsGraph
impl Freeze for ExprStatisticsGraph
impl Send for ExprStatisticsGraph
impl Sync for ExprStatisticsGraph
impl Unpin for ExprStatisticsGraph
impl UnsafeUnpin for ExprStatisticsGraph
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
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