pub struct KleenePlusClosureNode { /* private fields */ }
Expand description
Represents a Kleene-plus path closure node. This node computes the Kleene plus closure
of the inner paths. This closure is the result of the +
operator in SPARQL property paths.
Implementations§
Source§impl KleenePlusClosureNode
impl KleenePlusClosureNode
Sourcepub fn try_new(
inner: LogicalPlan,
disallow_cross_graph_paths: bool,
) -> Result<KleenePlusClosureNode, DataFusionError>
pub fn try_new( inner: LogicalPlan, disallow_cross_graph_paths: bool, ) -> Result<KleenePlusClosureNode, DataFusionError>
Tries to create a new KleenePlusClosureNode.
See KleenePlusClosureNode::disallow_cross_graph_paths for details on
allow_cross_graph_paths
.
§Errors
Returns an error if inner
does not have the expected schema.
pub fn inner(&self) -> &LogicalPlan
Sourcepub fn disallow_cross_graph_paths(&self) -> bool
pub fn disallow_cross_graph_paths(&self) -> bool
Indicates whether paths can cross graphs.
Trait Implementations§
Source§impl Debug for KleenePlusClosureNode
impl Debug for KleenePlusClosureNode
Source§impl Hash for KleenePlusClosureNode
impl Hash for KleenePlusClosureNode
Source§impl PartialEq for KleenePlusClosureNode
impl PartialEq for KleenePlusClosureNode
Source§impl PartialOrd for KleenePlusClosureNode
impl PartialOrd for KleenePlusClosureNode
Source§impl UserDefinedLogicalNodeCore for KleenePlusClosureNode
impl UserDefinedLogicalNodeCore for KleenePlusClosureNode
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<KleenePlusClosureNode, DataFusionError>
fn with_exprs_and_inputs( &self, exprs: Vec<Expr>, inputs: Vec<LogicalPlan>, ) -> Result<KleenePlusClosureNode, 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 KleenePlusClosureNode
impl StructuralPartialEq for KleenePlusClosureNode
Auto Trait Implementations§
impl Freeze for KleenePlusClosureNode
impl !RefUnwindSafe for KleenePlusClosureNode
impl Send for KleenePlusClosureNode
impl Sync for KleenePlusClosureNode
impl Unpin for KleenePlusClosureNode
impl !UnwindSafe for KleenePlusClosureNode
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