pub struct JoinQuery {
pub head: Predicate,
pub body: Vec<Predicate>,
}Expand description
A parsed Datalog join query of the form Head :- Body1, Body2, ... .
For example: path(X, Z) :- edge(X, Y), edge(Y, Z).
Implements FromStr for parsing from a string.
Fields§
§head: PredicateThe head predicate defining the output schema.
body: Vec<Predicate>The body predicates to be joined.
Trait Implementations§
Source§impl FromStr for JoinQuery
impl FromStr for JoinQuery
Source§fn from_str(s: &str) -> Result<JoinQuery, <JoinQuery as FromStr>::Err>
fn from_str(s: &str) -> Result<JoinQuery, <JoinQuery as FromStr>::Err>
Parses a Datalog rule into a JoinQuery.
§Errors
Returns an error if s is not a single well-formed rule of the shape
Head(…) :- Body1(…), …, BodyN(…). — including missing :-, empty
body, missing terminating ., trailing content after the ., or
identifiers that don’t match the syntax rules.
Source§type Err = ErrMode<ContextError>
type Err = ErrMode<ContextError>
The associated error which can be returned from parsing.
impl Eq for JoinQuery
impl StructuralPartialEq for JoinQuery
Auto Trait Implementations§
impl Freeze for JoinQuery
impl RefUnwindSafe for JoinQuery
impl Send for JoinQuery
impl Sync for JoinQuery
impl Unpin for JoinQuery
impl UnsafeUnpin for JoinQuery
impl UnwindSafe for JoinQuery
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