pub struct GraphMutationReport {Show 20 fields
pub creates: usize,
pub merges: usize,
pub deletes: usize,
pub patches: usize,
pub property_removes: usize,
pub matched_rows: usize,
pub changed_nodes: usize,
pub changed_edges: usize,
pub node_upserts: usize,
pub edge_upserts: usize,
pub node_deletes: usize,
pub edge_deletes: usize,
pub node_patches: usize,
pub edge_patches: usize,
pub node_property_removes: usize,
pub edge_property_removes: usize,
pub node_inserts: usize,
pub node_updates: usize,
pub edge_inserts: usize,
pub edge_updates: usize,
}Expand description
Count-oriented mutation reporting.
Reports created from a GraphMutationPlan can know exact changed
node/edge counts only for single-identity operations. Matched or
row-producing operations increment their coarse operation counters at
planning time, while executors fill in matched_rows and granular
changed_* / *_patches / *_deletes / *_upserts counters after they
materialize the backend row set.
Fields§
§creates: usize§merges: usize§deletes: usize§patches: usize§property_removes: usize§matched_rows: usize§changed_nodes: usize§changed_edges: usize§node_upserts: usize§edge_upserts: usize§node_deletes: usize§edge_deletes: usize§node_patches: usize§edge_patches: usize§node_property_removes: usize§edge_property_removes: usize§node_inserts: usizeUpserts the executor could classify as inserting a new node, i.e. no element with the same identity existed before the write.
Only backends that can cheaply distinguish insert from update populate
these (for example the in-memory store). Upsert-oriented backends that
return PutOutcome::Upserted leave them at 0 and report the totals
through node_upserts / edge_upserts instead, so a zero here does not
mean “no inserts” — check the backend’s classification ability first.
node_updates: usizeUpserts the executor could classify as updating an existing node.
edge_inserts: usizeUpserts the executor could classify as inserting a new edge.
edge_updates: usizeUpserts the executor could classify as updating an existing edge.
Implementations§
Source§impl GraphMutationReport
impl GraphMutationReport
pub fn record(&mut self, operation: &GraphMutationPlanOp)
Trait Implementations§
Source§impl Clone for GraphMutationReport
impl Clone for GraphMutationReport
Source§fn clone(&self) -> GraphMutationReport
fn clone(&self) -> GraphMutationReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GraphMutationReport
impl Debug for GraphMutationReport
Source§impl Default for GraphMutationReport
impl Default for GraphMutationReport
Source§fn default() -> GraphMutationReport
fn default() -> GraphMutationReport
Source§impl<'de> Deserialize<'de> for GraphMutationReport
impl<'de> Deserialize<'de> for GraphMutationReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for GraphMutationReport
Source§impl PartialEq for GraphMutationReport
impl PartialEq for GraphMutationReport
Source§fn eq(&self, other: &GraphMutationReport) -> bool
fn eq(&self, other: &GraphMutationReport) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for GraphMutationReport
impl Serialize for GraphMutationReport
impl StructuralPartialEq for GraphMutationReport
Auto Trait Implementations§
impl Freeze for GraphMutationReport
impl RefUnwindSafe for GraphMutationReport
impl Send for GraphMutationReport
impl Sync for GraphMutationReport
impl Unpin for GraphMutationReport
impl UnsafeUnpin for GraphMutationReport
impl UnwindSafe for GraphMutationReport
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.