MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / del_conflicts_prefix

Method del_conflicts_prefix

atomic-core/src/pristine/txn/write/mod.rs:1378–1396  ·  view source on GitHub ↗
(&mut self, view_id: u64)

Source from the content-addressed store, hash-verified

1376 }
1377
1378 fn del_conflicts_prefix(&mut self, view_id: u64) -> PristineResult<()> {
1379 // Collect the keys in range first to avoid iterating while removing.
1380 let keys: Vec<[u8; 16]> = {
1381 let table = self.txn.open_table(CONFLICTS)?;
1382 let start = encode_view_seq(view_id, 0);
1383 let end = encode_view_seq(view_id, u64::MAX);
1384 let mut keys = Vec::new();
1385 for entry in table.range::<&[u8; 16]>(&start..=&end)? {
1386 let (key, _) = entry?;
1387 keys.push(*key.value());
1388 }
1389 keys
1390 };
1391 let mut table = self.txn.open_table(CONFLICTS)?;
1392 for key in &keys {
1393 table.remove(key)?;
1394 }
1395 Ok(())
1396 }
1397
1398 fn put_tree(&mut self, path: &str, inode: Inode) -> PristineResult<()> {
1399 {

Callers 2

del_viewMethod · 0.80

Calls 3

encode_view_seqFunction · 0.85
removeMethod · 0.65
pushMethod · 0.45

Tested by

no test coverage detected