pub struct ExprIntervalGraphNode { /* private fields */ }
Expand description
This is a node in the DAEG; it encapsulates a reference to the actual PhysicalExpr as well as an interval containing expression bounds.
Implementations§
source§impl ExprIntervalGraphNode
impl ExprIntervalGraphNode
sourcepub fn new(expr: Arc<dyn PhysicalExpr>) -> Self
pub fn new(expr: Arc<dyn PhysicalExpr>) -> Self
Constructs a new DAEG node with an [-∞, ∞] range.
sourcepub fn new_with_interval(
expr: Arc<dyn PhysicalExpr>,
interval: Interval
) -> Self
pub fn new_with_interval( expr: Arc<dyn PhysicalExpr>, interval: Interval ) -> Self
Constructs a new DAEG node with the given range.
sourcepub fn interval(&self) -> &Interval
pub fn interval(&self) -> &Interval
Get the interval object representing the range of the expression.
sourcepub fn make_node(node: &ExprTreeNode<NodeIndex>) -> ExprIntervalGraphNode
pub fn make_node(node: &ExprTreeNode<NodeIndex>) -> ExprIntervalGraphNode
This function creates a DAEG node from Datafusion’s ExprTreeNode object. Literals are created with definite, singleton intervals while any other expression starts with an indefinite interval ([-∞, ∞]).
Trait Implementations§
source§impl Clone for ExprIntervalGraphNode
impl Clone for ExprIntervalGraphNode
source§fn clone(&self) -> ExprIntervalGraphNode
fn clone(&self) -> ExprIntervalGraphNode
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 moresource§impl Debug for ExprIntervalGraphNode
impl Debug for ExprIntervalGraphNode
source§impl Display for ExprIntervalGraphNode
impl Display for ExprIntervalGraphNode
source§impl PartialEq<ExprIntervalGraphNode> for ExprIntervalGraphNode
impl PartialEq<ExprIntervalGraphNode> for ExprIntervalGraphNode
source§fn eq(&self, other: &ExprIntervalGraphNode) -> bool
fn eq(&self, other: &ExprIntervalGraphNode) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.