linkrs_storage/engine/sync_wrapper/
undo.rs1use super::SyncWrapper;
2use crate::StorageClient;
3use std::sync::Arc;
4
5impl<S: linkrs_transaction::UndoTarget + StorageClient> linkrs_transaction::UndoTarget
6 for SyncWrapper<S>
7{
8 fn delete_vertex_type(
9 &self,
10 label: linkrs_core::types::LabelId,
11 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
12 self.inner.delete_vertex_type(label)
13 }
14
15 fn delete_edge_type(
16 &self,
17 edge_key: linkrs_core::types::EdgeKey,
18 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
19 self.inner.delete_edge_type(edge_key)
20 }
21
22 fn delete_vertex(
23 &self,
24 vertex: linkrs_core::types::VertexIdentifier,
25 ts: linkrs_transaction::wal::Timestamp,
26 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
27 self.inner.delete_vertex(vertex, ts)
28 }
29
30 fn delete_edge(
31 &self,
32 edge_ctx: linkrs_core::types::EdgeDeletionContext,
33 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
34 self.inner.delete_edge(edge_ctx)
35 }
36
37 fn restore_edge(
38 &self,
39 edge: linkrs_core::types::EdgeIdentifier,
40 properties: Vec<(std::sync::Arc<str>, linkrs_core::Value)>,
41 ts: linkrs_transaction::wal::Timestamp,
42 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
43 self.inner.restore_edge(edge, properties, ts)
44 }
45
46 fn undo_update_edge_property(
47 &self,
48 edge_id: linkrs_core::types::EdgeIdentifier,
49 col_id: linkrs_core::types::ColumnId,
50 value: linkrs_core::Value,
51 ts: linkrs_transaction::wal::Timestamp,
52 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
53 self.inner
54 .undo_update_edge_property(edge_id, col_id, value, ts)
55 }
56
57 fn revert_delete_edge(
58 &self,
59 edge_ctx: linkrs_core::types::EdgeDeletionContext,
60 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
61 self.inner.revert_delete_edge(edge_ctx)
62 }
63
64 fn revert_delete_vertex_properties(
65 &self,
66 label_name: &str,
67 prop_names: &[Arc<str>],
68 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
69 self.inner
70 .revert_delete_vertex_properties(label_name, prop_names)
71 }
72
73 fn revert_delete_edge_properties(
74 &self,
75 src_label: &str,
76 dst_label: &str,
77 edge_label: &str,
78 prop_names: &[Arc<str>],
79 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
80 self.inner
81 .revert_delete_edge_properties(src_label, dst_label, edge_label, prop_names)
82 }
83
84 fn revert_delete_vertex_label(
85 &self,
86 label_name: &str,
87 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
88 self.inner.revert_delete_vertex_label(label_name)
89 }
90
91 fn revert_delete_edge_label(
92 &self,
93 src_label: &str,
94 dst_label: &str,
95 edge_label: &str,
96 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
97 self.inner
98 .revert_delete_edge_label(src_label, dst_label, edge_label)
99 }
100
101 fn revert_rename_vertex_properties(
102 &self,
103 label_name: &str,
104 current_names: &[Arc<str>],
105 original_names: &[Arc<str>],
106 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
107 self.inner
108 .revert_rename_vertex_properties(label_name, current_names, original_names)
109 }
110
111 fn revert_rename_edge_properties(
112 &self,
113 src_label: &str,
114 dst_label: &str,
115 edge_label: &str,
116 current_names: &[Arc<str>],
117 original_names: &[Arc<str>],
118 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
119 self.inner.revert_rename_edge_properties(
120 src_label,
121 dst_label,
122 edge_label,
123 current_names,
124 original_names,
125 )
126 }
127
128 fn staged_write_mark(
129 &self,
130 txn_id: linkrs_core::types::TransactionId,
131 ) -> Option<linkrs_core::types::StagedWriteMark> {
132 self.inner.staged_write_mark(txn_id)
133 }
134
135 fn rollback_staged_writes(
136 &self,
137 txn_id: linkrs_core::types::TransactionId,
138 mark: linkrs_core::types::StagedWriteMark,
139 ) -> linkrs_transaction::undo_log::UndoLogResult<()> {
140 self.inner.rollback_staged_writes(txn_id, mark)
141 }
142}