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>) -> Self
pub const fn direct(fields: Vec<FieldSourceKey>) -> Self
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