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 ==
.Auto Trait Implementations§
impl !RefUnwindSafe for ExprIntervalGraphNode
impl Send for ExprIntervalGraphNode
impl Sync for ExprIntervalGraphNode
impl Unpin for ExprIntervalGraphNode
impl !UnwindSafe for ExprIntervalGraphNode
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