pub enum WalRecord {
Show 23 variants
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,
},
CreateRule {
def_bytes: Vec<u8>,
},
DeleteRule {
name: String,
},
RemoveProp {
key: String,
field: String,
},
DeleteEdge {
edge_type: String,
src_key: String,
dst_key: String,
},
DeleteNode {
key: String,
},
Batch(Vec<WalRecord>),
RebuildRule {
name: String,
},
CreateView {
def_bytes: Vec<u8>,
},
DeleteView {
name: String,
},
EnableFulltext {
label: String,
field: String,
},
DisableFulltext {
label: String,
field: String,
},
InsertNodeId {
label: u32,
key: String,
props: Vec<(u32, Value)>,
},
SetPropId {
id: u32,
field: u32,
value: Value,
},
InsertEdgeId {
etype: u32,
src: u32,
dst: u32,
},
Intern {
id: u32,
text: String,
},
DerivedEdgeAdded {
rule: String,
edge_type: String,
src_key: String,
dst_key: String,
},
DerivedEdgeRetracted {
rule: String,
edge_type: String,
src_key: String,
dst_key: String,
},
RenameNode {
old_key: String,
new_key: String,
},
EnableIndex {
label: String,
field: String,
},
DisableIndex {
label: String,
field: String,
},
}Variants§
InsertNode
InsertEdge
SetProp
CreateRule
DeleteRule
RemoveProp
DeleteEdge
DeleteNode
Batch(Vec<WalRecord>)
One WAL frame = one atomic batch. Nested Batch inside a Batch is
invalid: encode_record debug-asserts against it, and decode_all
treats a frame whose payload deserialises to a nested Batch as corrupt
(stops cleanly before that frame, returning the valid prefix).
RebuildRule
Recompute one rule from scratch (un-trip / repair). Appended after
Batch; bincode discriminant is 9. Batch stays at 8.
CreateView
Create (or restore) a materialized property view. Bincoded ViewDef
bytes keep core-storage free of core-rules types. Discriminant 10.
DeleteView
Delete a named view and remove its values from all nodes. Discriminant 11.
EnableFulltext
Enable full-text indexing on all nodes of label for field field.
The index is rebuilt from live data on open; this record only persists
the declaration. Discriminant 12.
DisableFulltext
Disable full-text indexing for (label, field) and drop its postings.
Discriminant 13.
InsertNodeId
Insert a node using interned label/field ids. Key remains a string once. Discriminant 14.
SetPropId
Set a property using dense node id and interned field id. Discriminant 15.
InsertEdgeId
Insert an edge using interned etype and dense node ids. Discriminant 16.
Intern
Bind intern id id to text so subsequent *Id records can replay
without a snapshot intern table. Discriminant 17. Apply is idempotent
when the string is already bound to id.
Discriminant order is append-order, not emit-order: in a WAL stream
Intern always precedes the *Id records that reference it, even
though it carries the highest discriminant of the 14–17 group.
DerivedEdgeAdded
A rule-derived edge was added. Discriminant 18.
DerivedEdgeRetracted
A rule-derived edge was retracted. Discriminant 19.
RenameNode
Rename a node’s key. Dense id is unchanged. Discriminant 20.
EnableIndex
Enable an equality index on (label, field). Discriminant 21.
DisableIndex
Disable the equality index on (label, field) and drop its postings.
Discriminant 22.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WalRecord
impl<'de> Deserialize<'de> for WalRecord
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 StructuralPartialEq for WalRecord
Auto Trait Implementations§
impl Freeze for WalRecord
impl RefUnwindSafe for WalRecord
impl Send for WalRecord
impl Sync for WalRecord
impl Unpin for WalRecord
impl UnsafeUnpin for WalRecord
impl UnwindSafe for WalRecord
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.