pub struct ExprStatisticsGraph { /* private fields */ }
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 copy of the value. Read more
1.0.0 · 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 Freeze for ExprStatisticsGraph
impl !RefUnwindSafe for ExprStatisticsGraph
impl Send for ExprStatisticsGraph
impl Sync for ExprStatisticsGraph
impl Unpin for ExprStatisticsGraph
impl !UnwindSafe 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