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

Method del_conflicts_prefix

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

Source from the content-addressed store, hash-verified

1470 }
1471
1472 fn del_conflicts_prefix(&mut self, view_id: u64) -> PristineResult<()> {
1473 // Collect the keys in range first to avoid iterating while removing.
1474 let keys: Vec<[u8; 16]> = {
1475 let table = self.txn.open_table(CONFLICTS)?;
1476 let start = encode_view_seq(view_id, 0);
1477 let end = encode_view_seq(view_id, u64::MAX);
1478 let mut keys = Vec::new();
1479 for entry in table.range::<&[u8; 16]>(&start..=&end)? {
1480 let (key, _) = entry?;
1481 keys.push(*key.value());
1482 }
1483 keys
1484 };
1485 let mut table = self.txn.open_table(CONFLICTS)?;
1486 for key in &keys {
1487 table.remove(key)?;
1488 }
1489 Ok(())
1490 }
1491
1492 fn put_tree(&mut self, path: &str, inode: Inode) -> PristineResult<()> {
1493 {

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