Struct trustfall_core::interpreter::ResolveInfo
source · #[non_exhaustive]pub struct ResolveInfo { /* private fields */ }
Expand description
Enables adapter optimizations by showing how a query uses a vertex. Implements VertexInfo
.
Implementations§
Trait Implementations§
source§impl Clone for ResolveInfo
impl Clone for ResolveInfo
source§impl Debug for ResolveInfo
impl Debug for ResolveInfo
source§impl PartialEq for ResolveInfo
impl PartialEq for ResolveInfo
source§fn eq(&self, other: &ResolveInfo) -> bool
fn eq(&self, other: &ResolveInfo) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ResolveInfo
impl StructuralEq for ResolveInfo
impl StructuralPartialEq for ResolveInfo
Auto Trait Implementations§
impl RefUnwindSafe for ResolveInfo
impl Send for ResolveInfo
impl Sync for ResolveInfo
impl Unpin for ResolveInfo
impl UnwindSafe for ResolveInfo
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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<T> VertexInfo for Twhere
T: InternalVertexInfo + __Sealed,
impl<T> VertexInfo for Twhere T: InternalVertexInfo + __Sealed,
source§fn vid(&self) -> Vid
fn vid(&self) -> Vid
The unique ID of the vertex this
VertexInfo
describes.source§fn coerced_to_type(&self) -> Option<&Arc<str>>
fn coerced_to_type(&self) -> Option<&Arc<str>>
The type coercion (
... on SomeType
) applied by the query at this vertex, if any.source§fn required_properties(&self) -> Box<dyn Iterator<Item = RequiredProperty> + '_>
fn required_properties(&self) -> Box<dyn Iterator<Item = RequiredProperty> + '_>
Return all properties required for the current vertex, including: output, filtered, and
tagged properties. It’s guaranteed that each property will only show once in the iterator,
so even if a property has been used as a filter and output, it will only show once. Read more
source§fn statically_required_property(
&self,
property: &str
) -> Option<CandidateValue<FieldValue>>
fn statically_required_property( &self, property: &str ) -> Option<CandidateValue<FieldValue>>
Check whether the query demands this vertex property to have specific values:
a single value, or one of a set or range of values. The candidate values
are known statically: up-front, without executing any of the query. Read more
source§fn dynamically_required_property(
&self,
property: &str
) -> Option<DynamicallyResolvedValue<'_>>
fn dynamically_required_property( &self, property: &str ) -> Option<DynamicallyResolvedValue<'_>>
Check whether the query demands this vertex property to have specific values:
a single value, or one of a set or range of values. The candidate values
are only known dynamically i.e. require some of the query
to have already been executed at the point when this method is called. Read more
source§fn edges_with_name<'a>(
&'a self,
name: &'a str
) -> Box<dyn Iterator<Item = EdgeInfo> + 'a>
fn edges_with_name<'a>( &'a self, name: &'a str ) -> Box<dyn Iterator<Item = EdgeInfo> + 'a>
Returns an iterator of all not-yet-resolved edges by that name originating from this vertex. Read more
source§fn mandatory_edges_with_name<'a>(
&'a self,
name: &'a str
) -> Box<dyn Iterator<Item = EdgeInfo> + 'a>
fn mandatory_edges_with_name<'a>( &'a self, name: &'a str ) -> Box<dyn Iterator<Item = EdgeInfo> + 'a>
Returns an iterator of all not-yet-resolved edges by that name that are mandatory:
this vertex must contain the edge, or its result set will be discarded. Read more