pub enum RelationSourceFragment {
Direct {
fields: Vec<FieldSourceKey>,
},
Nested {
root: FieldSourceKey,
steps: Vec<RelationPathStepFragment>,
},
}Expand description
Current source program for one relation edge.
Variants§
Direct
Ordered entity-root fields for the direct relation fast path.
Fields
§
fields: Vec<FieldSourceKey>Nested
One deterministic path from an entity-root field to scalar targets.
Fields
§
root: FieldSourceKeyEntity-root field that owns the finite nested value.
§
steps: Vec<RelationPathStepFragment>Complete ordered traversal program below root.
Implementations§
Source§impl RelationSourceFragment
impl RelationSourceFragment
Sourcepub const fn direct(fields: Vec<FieldSourceKey>) -> RelationSourceFragment
pub const fn direct(fields: Vec<FieldSourceKey>) -> RelationSourceFragment
Construct a direct relation source from ordered root fields.
Sourcepub fn root_fields(&self) -> impl Iterator<Item = &FieldSourceKey>
pub fn root_fields(&self) -> impl Iterator<Item = &FieldSourceKey>
Borrow every entity-root field owned by this relation source.
Trait Implementations§
Source§impl Clone for RelationSourceFragment
impl Clone for RelationSourceFragment
Source§fn clone(&self) -> RelationSourceFragment
fn clone(&self) -> RelationSourceFragment
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RelationSourceFragment
impl Debug for RelationSourceFragment
impl Eq for RelationSourceFragment
Source§impl PartialEq for RelationSourceFragment
impl PartialEq for RelationSourceFragment
impl StructuralPartialEq for RelationSourceFragment
Auto Trait Implementations§
impl Freeze for RelationSourceFragment
impl RefUnwindSafe for RelationSourceFragment
impl Send for RelationSourceFragment
impl Sync for RelationSourceFragment
impl Unpin for RelationSourceFragment
impl UnsafeUnpin for RelationSourceFragment
impl UnwindSafe for RelationSourceFragment
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.