MCPcopy Create free account
hub / github.com/ExtendDB/extenddb / transact_write_items

Method transact_write_items

crates/storage-postgres/src/data/data_engine.rs:184–329  ·  view source on GitHub ↗
(
        &self,
        ops: &[TransactWriteOp<'_>],
        token: Option<(&str, &str)>,
    )

Source from the content-addressed store, hash-verified

182 }
183
184 fn transact_write_items(
185 &self,
186 ops: &[TransactWriteOp<'_>],
187 token: Option<(&str, &str)>,
188 ) -> BoxFuture<'_, Result<(), StorageError>> {
189 // Clone ops to owned data - unavoidable due to lifetime constraints
190 let owned_ops: Vec<_> = ops
191 .iter()
192 .map(|op| match op {
193 TransactWriteOp::Put {
194 key_info,
195 item,
196 condition,
197 maps,
198 return_values_on_ccf,
199 stream,
200 } => (
201 0u8,
202 (*key_info).clone(),
203 (*item).clone(),
204 None,
205 Vec::new(),
206 condition.cloned(),
207 (*maps).clone(),
208 *return_values_on_ccf,
209 stream.clone(),
210 ),
211 TransactWriteOp::Delete {
212 key_info,
213 key,
214 condition,
215 maps,
216 return_values_on_ccf,
217 stream,
218 } => (
219 1u8,
220 (*key_info).clone(),
221 (*key).clone(),
222 None,
223 Vec::new(),
224 condition.cloned(),
225 (*maps).clone(),
226 *return_values_on_ccf,
227 stream.clone(),
228 ),
229 TransactWriteOp::Update {
230 key_info,
231 key,
232 actions,
233 condition,
234 maps,
235 return_values_on_ccf,
236 stream,
237 } => (
238 2u8,
239 (*key_info).clone(),
240 (*key).clone(),
241 None,

Calls 3

as_strMethod · 0.80
cloneMethod · 0.45