pub struct ExtendNode { /* private fields */ }
Expand description
A logical node that represents the SPARQL Extend
operator.
This node is used to add a new variable to the solution sequence, bound to the result of evaluating an expression.
Implementations§
Source§impl ExtendNode
impl ExtendNode
Sourcepub fn try_new(
inner: LogicalPlan,
variable: Variable,
expression: Expr,
) -> Result<ExtendNode, DataFusionError>
pub fn try_new( inner: LogicalPlan, variable: Variable, expression: Expr, ) -> Result<ExtendNode, DataFusionError>
Creates a new ExtendNode.
Sourcepub fn inner(&self) -> &LogicalPlan
pub fn inner(&self) -> &LogicalPlan
Returns the input plan.
Sourcepub fn expression(&self) -> &Expr
pub fn expression(&self) -> &Expr
Returns the expression to evaluate.
Trait Implementations§
Source§impl Debug for ExtendNode
impl Debug for ExtendNode
Source§impl Hash for ExtendNode
impl Hash for ExtendNode
Source§impl PartialEq for ExtendNode
impl PartialEq for ExtendNode
Source§impl PartialOrd for ExtendNode
impl PartialOrd for ExtendNode
Source§impl UserDefinedLogicalNodeCore for ExtendNode
impl UserDefinedLogicalNodeCore for ExtendNode
Source§fn inputs(&self) -> Vec<&LogicalPlan>
fn inputs(&self) -> Vec<&LogicalPlan>
Return the logical plan’s inputs.
Source§fn expressions(&self) -> Vec<Expr>
fn expressions(&self) -> Vec<Expr>
Returns all expressions in the current logical plan node. This
should not include expressions of any inputs (aka
non-recursively). These expressions are used for optimizer
passes and rewrites.
Source§fn fmt_for_explain(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt_for_explain(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Write a single line, human readable string to
f
for use in explain plan. Read moreSource§fn with_exprs_and_inputs(
&self,
exprs: Vec<Expr>,
inputs: Vec<LogicalPlan>,
) -> Result<ExtendNode, DataFusionError>
fn with_exprs_and_inputs( &self, exprs: Vec<Expr>, inputs: Vec<LogicalPlan>, ) -> Result<ExtendNode, DataFusionError>
Create a new
UserDefinedLogicalNode
with the specified children
and expressions. This function is used during optimization
when the plan is being rewritten and a new instance of the
UserDefinedLogicalNode
must be created. Read moreSource§fn check_invariants(
&self,
_check: InvariantLevel,
) -> Result<(), DataFusionError>
fn check_invariants( &self, _check: InvariantLevel, ) -> Result<(), DataFusionError>
Perform check of invariants for the extension node. Read more
Source§fn prevent_predicate_push_down_columns(&self) -> HashSet<String>
fn prevent_predicate_push_down_columns(&self) -> HashSet<String>
A list of output columns (e.g. the names of columns in
self.schema()) for which predicates can not be pushed below
this node without changing the output. Read more
Source§fn necessary_children_exprs(
&self,
_output_columns: &[usize],
) -> Option<Vec<Vec<usize>>>
fn necessary_children_exprs( &self, _output_columns: &[usize], ) -> Option<Vec<Vec<usize>>>
Returns the necessary input columns for this node required to compute
the columns in the output schema Read more
Source§fn supports_limit_pushdown(&self) -> bool
fn supports_limit_pushdown(&self) -> bool
Returns
true
if a limit can be safely pushed down through this
UserDefinedLogicalNode
node. Read moreimpl Eq for ExtendNode
impl StructuralPartialEq for ExtendNode
Auto Trait Implementations§
impl Freeze for ExtendNode
impl !RefUnwindSafe for ExtendNode
impl Send for ExtendNode
impl Sync for ExtendNode
impl Unpin for ExtendNode
impl !UnwindSafe for ExtendNode
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 moreSource§impl<T> UserDefinedLogicalNode for Twhere
T: UserDefinedLogicalNodeCore,
impl<T> UserDefinedLogicalNode for Twhere
T: UserDefinedLogicalNodeCore,
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Return a reference to self as Any, to support dynamic downcasting Read more
Source§fn inputs(&self) -> Vec<&LogicalPlan>
fn inputs(&self) -> Vec<&LogicalPlan>
Return the logical plan’s inputs.
Source§fn check_invariants(&self, check: InvariantLevel) -> Result<(), DataFusionError>
fn check_invariants(&self, check: InvariantLevel) -> Result<(), DataFusionError>
Perform check of invariants for the extension node.
Source§fn expressions(&self) -> Vec<Expr>
fn expressions(&self) -> Vec<Expr>
Returns all expressions in the current logical plan node. This should
not include expressions of any inputs (aka non-recursively). Read more
Source§fn prevent_predicate_push_down_columns(&self) -> HashSet<String>
fn prevent_predicate_push_down_columns(&self) -> HashSet<String>
A list of output columns (e.g. the names of columns in
self.schema()) for which predicates can not be pushed below
this node without changing the output. Read more
Source§fn fmt_for_explain(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt_for_explain(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Write a single line, human readable string to
f
for use in explain plan. Read moreSource§fn with_exprs_and_inputs(
&self,
exprs: Vec<Expr>,
inputs: Vec<LogicalPlan>,
) -> Result<Arc<dyn UserDefinedLogicalNode>, DataFusionError>
fn with_exprs_and_inputs( &self, exprs: Vec<Expr>, inputs: Vec<LogicalPlan>, ) -> Result<Arc<dyn UserDefinedLogicalNode>, DataFusionError>
Create a new
UserDefinedLogicalNode
with the specified children
and expressions. This function is used during optimization
when the plan is being rewritten and a new instance of the
UserDefinedLogicalNode
must be created. Read moreSource§fn necessary_children_exprs(
&self,
output_columns: &[usize],
) -> Option<Vec<Vec<usize>>>
fn necessary_children_exprs( &self, output_columns: &[usize], ) -> Option<Vec<Vec<usize>>>
Returns the necessary input columns for this node required to compute
the columns in the output schema Read more
Source§fn dyn_eq(&self, other: &dyn UserDefinedLogicalNode) -> bool
fn dyn_eq(&self, other: &dyn UserDefinedLogicalNode) -> bool
fn dyn_ord(&self, other: &dyn UserDefinedLogicalNode) -> Option<Ordering>
Source§fn supports_limit_pushdown(&self) -> bool
fn supports_limit_pushdown(&self) -> bool
Returns
true
if a limit can be safely pushed down through this
UserDefinedLogicalNode
node. Read more