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 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 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