pub struct GraphEdgeIntegrity {
pub duplicate_edge_id_groups: i64,
pub graph_edges_rows: i64,
pub graph_edges_seq_rows: i64,
pub pre_v14_duplicate_edge_state_detected: bool,
pub live_entities_carrying_merged_into: i64,
}Expand description
Live graph-edge rows compared with the durable list-cursor ledger.
duplicate_edge_id_groups > 0 is the exact pre-V14 state in which two
namespaces share an edge UUID and a multi-namespace cursor walk can drop
one row during ID-based deduplication. The two raw row counts are reported
separately because sequence rows intentionally survive hard deletion;
count inequality by itself is therefore not proof of corruption.
live_entities_carrying_merged_into counts entity rows that are live
(deleted_at IS NULL) while still carrying merge provenance. A merge
tombstones its source; a restore that ran before restore refused merge
tombstones cleared the tombstone and left the provenance, so such rows
read as merged by get and as live by list and search. Restore now
names them as live_merged_entity; this count is where an operator finds
them across all namespaces.
Fields§
§duplicate_edge_id_groups: i64§graph_edges_rows: i64§graph_edges_seq_rows: i64§pre_v14_duplicate_edge_state_detected: bool§live_entities_carrying_merged_into: i64Trait Implementations§
Source§impl Clone for GraphEdgeIntegrity
impl Clone for GraphEdgeIntegrity
impl Copy for GraphEdgeIntegrity
Source§impl Debug for GraphEdgeIntegrity
impl Debug for GraphEdgeIntegrity
impl Eq for GraphEdgeIntegrity
Source§impl PartialEq for GraphEdgeIntegrity
impl PartialEq for GraphEdgeIntegrity
Source§impl Serialize for GraphEdgeIntegrity
impl Serialize for GraphEdgeIntegrity
impl StructuralPartialEq for GraphEdgeIntegrity
Auto Trait Implementations§
impl Freeze for GraphEdgeIntegrity
impl RefUnwindSafe for GraphEdgeIntegrity
impl Send for GraphEdgeIntegrity
impl Sync for GraphEdgeIntegrity
impl Unpin for GraphEdgeIntegrity
impl UnsafeUnpin for GraphEdgeIntegrity
impl UnwindSafe for GraphEdgeIntegrity
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
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
key and return true if they are equal.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> ⓘ
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> ⓘ
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