pub struct Pull<P: Implementable> {
pub variables: Vec<u32>,
pub paths: Vec<P>,
}
Expand description
A plan stage for pull queries split into individual paths. So
[:parent/name {:parent/child [:child/name]}]
would be
represented as:
(?parent) <- [:parent/name] | no constraints (?parent :parent/child ?child) <- [:child/name] | [?parent :parent/child ?child]
Fields§
§variables: Vec<u32>
TODO
paths: Vec<P>
Individual paths to pull.
Trait Implementations§
Source§impl<'de, P> Deserialize<'de> for Pull<P>where
P: Deserialize<'de> + Implementable,
impl<'de, P> Deserialize<'de> for Pull<P>where
P: Deserialize<'de> + Implementable,
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<P: Implementable> Implementable for Pull<P>
impl<P: Implementable> Implementable for Pull<P>
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 implement<'b, T, I, S>(
&self,
nested: &mut Iterative<'b, S, u64>,
local_arrangements: &HashMap<String, Variable<Iterative<'b, S, u64>, Vec<Value>, isize>>,
context: &mut I,
) -> (Implemented<'b, S>, ShutdownHandle)
fn implement<'b, T, I, S>( &self, nested: &mut Iterative<'b, S, u64>, local_arrangements: &HashMap<String, Variable<Iterative<'b, S, u64>, Vec<Value>, isize>>, context: &mut I, ) -> (Implemented<'b, S>, ShutdownHandle)
Implements the type as a simple relation.
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<P: Ord + Implementable> Ord for Pull<P>
impl<P: Ord + Implementable> Ord for Pull<P>
Source§impl<P: PartialOrd + Implementable> PartialOrd for Pull<P>
impl<P: PartialOrd + Implementable> PartialOrd for Pull<P>
impl<P: Eq + Implementable> Eq for Pull<P>
impl<P: Implementable> StructuralPartialEq for Pull<P>
Auto Trait Implementations§
impl<P> Freeze for Pull<P>
impl<P> RefUnwindSafe for Pull<P>where
P: RefUnwindSafe,
impl<P> Send for Pull<P>where
P: Send,
impl<P> Sync for Pull<P>where
P: Sync,
impl<P> Unpin for Pull<P>where
P: Unpin,
impl<P> UnwindSafe for Pull<P>where
P: UnwindSafe,
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