pub enum BatchOp {
InsertNode {
label: String,
key: String,
props: Vec<(String, Value)>,
},
InsertEdge {
edge_type: String,
src_key: String,
dst_key: String,
},
SetProp {
key: String,
field: String,
value: Value,
},
RemoveProp {
key: String,
field: String,
},
DeleteEdge {
edge_type: String,
src_key: String,
dst_key: String,
},
DeleteNode {
key: String,
},
CreateRule(RuleDef),
DeleteRule {
name: String,
},
RenameNode {
old_key: String,
new_key: String,
},
InsertEdgeUpsert {
edge_type: String,
src_key: String,
dst_key: String,
placeholder_label: String,
},
InsertNodeOnConflict {
label: String,
key: String,
props: Vec<(String, Value)>,
on_conflict: OnConflict,
},
}Expand description
Queued mutation for a BatchBuilder or GraphDb::commit_group.
The submit_batch / commit_group APIs accept Vec<BatchOp> so that
callers can build a set of mutations without holding &mut GraphDb and
hand them off to the group-committing writer for durable, batched I/O.
Variants§
InsertNode
InsertEdge
SetProp
RemoveProp
DeleteEdge
DeleteNode
CreateRule(RuleDef)
DeleteRule
RenameNode
Rename a node’s key. Validated: old must exist, new must not.
InsertEdgeUpsert
Insert an edge, auto-creating any missing endpoint as a plain node with
placeholder_label and no props. Rules fire and last-change is updated
for each created endpoint (normal InsertNode semantics in the batch frame).
InsertNodeOnConflict
Insert key, or — when the key is already taken — do what on_conflict
says. Queued by BatchBuilder::insert_node_on_conflict; Error
queues a plain BatchOp::InsertNode instead, so this variant only
ever carries Skip or Replace.
Auto Trait Implementations§
impl Freeze for BatchOp
impl RefUnwindSafe for BatchOp
impl Send for BatchOp
impl Sync for BatchOp
impl Unpin for BatchOp
impl UnsafeUnpin for BatchOp
impl UnwindSafe for BatchOp
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.