#[derive(Debug, Clone)]
pub enum TxnOp {
Insert {
tree_id: u64,
seq: u64,
key: Vec<u8>,
value: Vec<u8>,
prev_value: Option<Vec<u8>>,
},
Erase {
tree_id: u64,
seq: u64,
key: Vec<u8>,
value: Vec<u8>,
},
Split {
parent_blob: [u8; 16],
pre_split_node: u16,
new_child_blob: [u8; 16],
new_child_entry: u16,
},
Merge {
parent_blob: [u8; 16],
pre_merge_node: u16,
child_blob: [u8; 16],
},
Compact {
blob: [u8; 16],
reason: super::super::engine::compact::CompactReason,
},
RenameObject {
tree_id: u64,
seq: u64,
src_key: Vec<u8>,
dst_key: Vec<u8>,
force: bool,
},
Rename {
src_tree_id: u64,
dst_tree_id: u64,
seq: u64,
src_key: Vec<u8>,
dst_key: Vec<u8>,
force: bool,
},
NewTree {
tree_id: u64,
name: Vec<u8>,
},
RmTree {
tree_id: u64,
},
MemMarker {
seq: u64,
},
Batch {
tree_id: u64,
ops: Vec<TxnOp>,
},
}