pub struct ExprStatisticsGraphNode { /* private fields */ }Expand description
This is a node in the DAEG; it encapsulates a reference to the actual
PhysicalExpr as well as its statistics/distribution.
Implementations§
Source§impl ExprStatisticsGraphNode
impl ExprStatisticsGraphNode
Sourcepub fn distribution(&self) -> &Distribution
pub fn distribution(&self) -> &Distribution
Get the Distribution object representing the statistics of the
expression.
Sourcepub fn make_node(
node: &ExprTreeNode<NodeIndex>,
schema: &Schema,
) -> Result<Self>
pub fn make_node( node: &ExprTreeNode<NodeIndex>, schema: &Schema, ) -> Result<Self>
This function creates a DAEG node from DataFusion’s ExprTreeNode
object. Literals are created with Uniform distributions with a
definite, singleton interval. Expressions with a Boolean data type
result in aBernoulli distribution with an unknown success probability.
Any other expression starts with an Unknown distribution with an
indefinite range (i.e. [-∞, ∞]).
Trait Implementations§
Source§impl Clone for ExprStatisticsGraphNode
impl Clone for ExprStatisticsGraphNode
Source§fn clone(&self) -> ExprStatisticsGraphNode
fn clone(&self) -> ExprStatisticsGraphNode
Returns a duplicate 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 ExprStatisticsGraphNode
impl !RefUnwindSafe for ExprStatisticsGraphNode
impl Send for ExprStatisticsGraphNode
impl Sync for ExprStatisticsGraphNode
impl Unpin for ExprStatisticsGraphNode
impl !UnwindSafe for ExprStatisticsGraphNode
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