pub enum Plan {
Show 16 variants
Project(Project<Plan>),
Aggregate(Aggregate<Plan>),
Union(Union<Plan>),
Join(Join<Plan, Plan>),
Hector(Hector),
Antijoin(Antijoin<Plan, Plan>),
Negate(Box<Plan>),
Filter(Filter<Plan>),
Transform(Transform<Plan>),
MatchA(u32, Aid, u32),
MatchEA(Eid, Aid, u32),
MatchAV(u32, Aid, Value),
NameExpr(Vec<u32>, String),
Pull(Pull<Plan>),
PullLevel(PullLevel<Plan>),
PullAll(PullAll),
}
Expand description
Possible query plan types.
Variants§
Project(Project<Plan>)
Projection
Aggregate(Aggregate<Plan>)
Aggregation
Union(Union<Plan>)
Union
Join(Join<Plan, Plan>)
Equijoin
Hector(Hector)
WCO
Antijoin(Antijoin<Plan, Plan>)
Antijoin
Negate(Box<Plan>)
Negation
Filter(Filter<Plan>)
Filters bindings by one of the built-in predicates
Transform(Transform<Plan>)
Transforms a binding by a function expression
MatchA(u32, Aid, u32)
Data pattern of the form [?e a ?v]
MatchEA(Eid, Aid, u32)
Data pattern of the form [e a ?v]
MatchAV(u32, Aid, Value)
Data pattern of the form [?e a v]
NameExpr(Vec<u32>, String)
Sources data from another relation.
Pull(Pull<Plan>)
Pull expression
PullLevel(PullLevel<Plan>)
Single-level pull expression
PullAll(PullAll)
Single-level pull expression
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Plan
impl<'de> Deserialize<'de> for Plan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Implementable for Plan
impl Implementable for Plan
Source§fn dependencies(&self) -> Dependencies
fn dependencies(&self) -> Dependencies
Returns names of any other implementable things that need to
be available before implementing this one. Attributes are not
mentioned explicitley as dependencies.
Source§fn into_bindings(&self) -> Vec<Binding>
fn into_bindings(&self) -> Vec<Binding>
Transforms an implementable into an equivalent set of bindings
that can be unified by Hector.
Source§impl Ord for Plan
impl Ord for Plan
Source§impl PartialOrd for Plan
impl PartialOrd for Plan
impl Eq for Plan
impl StructuralPartialEq for Plan
Auto Trait Implementations§
impl Freeze for Plan
impl RefUnwindSafe for Plan
impl Send for Plan
impl Sync for Plan
impl Unpin for Plan
impl UnwindSafe for Plan
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