pub struct RelationParser<'a> {
tree: TreeBuilder<'a>,
}
Fields§
§tree: TreeBuilder<'a>
Implementations§
Source§impl<'a> RelationParser<'a>
impl<'a> RelationParser<'a>
pub fn parse_line( &mut self, line: IndentedLine<'a>, line_no: i64, ) -> Result<(), ParseError>
Sourcefn parse_relation(
&self,
extensions: &SimpleExtensions,
line_no: i64,
pair: Pair<'_, Rule>,
child_relations: Vec<Box<Rel>>,
input_field_count: usize,
) -> Result<Rel, ParseError>
fn parse_relation( &self, extensions: &SimpleExtensions, line_no: i64, pair: Pair<'_, Rule>, child_relations: Vec<Box<Rel>>, input_field_count: usize, ) -> Result<Rel, ParseError>
Parse a relation from a Pest pair of rule ‘relation’ into a Substrait Rel.
Sourcefn parse_rel<T: RelationParsePair>(
&self,
extensions: &SimpleExtensions,
line_no: i64,
pair: Pair<'_, Rule>,
child_relations: Vec<Box<Rel>>,
input_field_count: usize,
) -> Result<Rel, ParseError>
fn parse_rel<T: RelationParsePair>( &self, extensions: &SimpleExtensions, line_no: i64, pair: Pair<'_, Rule>, child_relations: Vec<Box<Rel>>, input_field_count: usize, ) -> Result<Rel, ParseError>
Parse a specific relation type from a Pest pair of matching rule into a Substrait Rel.
Sourcefn build_rel(
&self,
extensions: &SimpleExtensions,
node: LineNode<'_>,
) -> Result<Rel, ParseError>
fn build_rel( &self, extensions: &SimpleExtensions, node: LineNode<'_>, ) -> Result<Rel, ParseError>
Convert a given LineNode into a Substrait Rel. Also recursively builds children.
Sourcefn build_plan_rel(
&self,
extensions: &SimpleExtensions,
node: LineNode<'_>,
) -> Result<PlanRel, ParseError>
fn build_plan_rel( &self, extensions: &SimpleExtensions, node: LineNode<'_>, ) -> Result<PlanRel, ParseError>
Build a tree of relations from a LineNode, with the root in the form of a PlanRel - the root type in a Substrait Plan.
Sourcefn build(
self,
extensions: &SimpleExtensions,
) -> Result<Vec<PlanRel>, ParseError>
fn build( self, extensions: &SimpleExtensions, ) -> Result<Vec<PlanRel>, ParseError>
Build all the trees we have into PlanRel
s.
Trait Implementations§
Source§impl<'a> Clone for RelationParser<'a>
impl<'a> Clone for RelationParser<'a>
Source§fn clone(&self) -> RelationParser<'a>
fn clone(&self) -> RelationParser<'a>
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<'a> Debug for RelationParser<'a>
impl<'a> Debug for RelationParser<'a>
Source§impl<'a> Default for RelationParser<'a>
impl<'a> Default for RelationParser<'a>
Source§fn default() -> RelationParser<'a>
fn default() -> RelationParser<'a>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<'a> Freeze for RelationParser<'a>
impl<'a> RefUnwindSafe for RelationParser<'a>
impl<'a> !Send for RelationParser<'a>
impl<'a> !Sync for RelationParser<'a>
impl<'a> Unpin for RelationParser<'a>
impl<'a> UnwindSafe for RelationParser<'a>
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