pub struct EdgeNaturalKey {
pub namespace: String,
pub canon_source_id: Uuid,
pub canon_target_id: Uuid,
pub relation: EdgeRelation,
}Expand description
The natural key a committed symmetric edge update’s surviving row must
be looked up by (ADR-099 B3, second
half). khive-db’s edge_symmetric_refresh_or_update_inplace_statement
pair never trusts a prepare-time-computed target id (see that builder’s
doc comment); a caller rendering this op’s result derives the actual
surviving id by querying graph_edges’s own
UNIQUE(namespace, source_id, target_id, relation) constraint (e.g. via
KhiveRuntime::list_edges filtered on these fields — the same mechanism
the atomic link op’s own result rendering already uses), strictly
after commit.
Fields§
§namespace: String§canon_source_id: Uuid§canon_target_id: Uuid§relation: EdgeRelationTrait Implementations§
Source§impl Clone for EdgeNaturalKey
impl Clone for EdgeNaturalKey
Source§fn clone(&self) -> EdgeNaturalKey
fn clone(&self) -> EdgeNaturalKey
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 moreAuto Trait Implementations§
impl Freeze for EdgeNaturalKey
impl RefUnwindSafe for EdgeNaturalKey
impl Send for EdgeNaturalKey
impl Sync for EdgeNaturalKey
impl Unpin for EdgeNaturalKey
impl UnsafeUnpin for EdgeNaturalKey
impl UnwindSafe for EdgeNaturalKey
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more