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

Method del_inode

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

Source from the content-addressed store, hash-verified

1408 }
1409
1410 fn del_inode(&mut self, inode: Inode) -> PristineResult<Option<Position<NodeId>>> {
1411 let pos = {
1412 let mut table = self.txn.open_table(INODES)?;
1413 let removed = table.remove(inode.get())?;
1414 match removed {
1415 Some(value) => {
1416 let (change_id, pos) = decode_position(value.value());
1417 Some(Position::new(
1418 NodeId::new(change_id),
1419 ChangePosition::new(pos),
1420 ))
1421 }
1422 None => None,
1423 }
1424 };
1425
1426 if let Some(ref p) = pos {
1427 let pos_bytes = encode_position(p.change.get(), p.pos.get());
1428 let mut table = self.txn.open_table(REV_INODES)?;
1429 table.remove(&pos_bytes)?;
1430 }
1431
1432 Ok(pos)
1433 }
1434
1435 fn get_deps(&self, change_id: NodeId) -> PristineResult<Vec<NodeId>> {
1436 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