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

Method del_inode

atomic-core/src/pristine/txn/write/mod.rs:1458–1481  ·  view source on GitHub ↗
(&mut self, inode: Inode)

Source from the content-addressed store, hash-verified

1456 }
1457
1458 fn del_inode(&mut self, inode: Inode) -> PristineResult<Option<Position<NodeId>>> {
1459 let pos = {
1460 let mut table = self.txn.open_table(INODES)?;
1461 let removed = table.remove(inode.get())?;
1462 match removed {
1463 Some(value) => {
1464 let (change_id, pos) = decode_position(value.value());
1465 Some(Position::new(
1466 NodeId::new(change_id),
1467 ChangePosition::new(pos),
1468 ))
1469 }
1470 None => None,
1471 }
1472 };
1473
1474 if let Some(ref p) = pos {
1475 let pos_bytes = encode_position(p.change.get(), p.pos.get());
1476 let mut table = self.txn.open_table(REV_INODES)?;
1477 table.remove(&pos_bytes)?;
1478 }
1479
1480 Ok(pos)
1481 }
1482
1483 fn get_deps(&self, change_id: NodeId) -> PristineResult<Vec<NodeId>> {
1484 let table = self.txn.open_multimap_table(DEPS)?;

Callers 6

test_inode_operationsFunction · 0.80
write_import_recordedMethod · 0.80
write_recordedMethod · 0.80
remove_from_treeFunction · 0.80

Calls 4

decode_positionFunction · 0.85
encode_positionFunction · 0.85
removeMethod · 0.65
getMethod · 0.65

Tested by 1

test_inode_operationsFunction · 0.64