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

Method del_inode

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

Source from the content-addressed store, hash-verified

935 }
936
937 fn del_inode(&mut self, inode: Inode) -> PristineResult<Option<Position<NodeId>>> {
938 let pos = {
939 let mut table = self.txn.open_table(INODES)?;
940 let removed = table.remove(inode.get())?;
941 match removed {
942 Some(value) => {
943 let (change_id, pos) = decode_position(value.value());
944 Some(Position::new(
945 NodeId::new(change_id),
946 ChangePosition::new(pos),
947 ))
948 }
949 None => None,
950 }
951 };
952
953 if let Some(ref p) = pos {
954 let pos_bytes = encode_position(p.change.get(), p.pos.get());
955 let mut table = self.txn.open_table(REV_INODES)?;
956 table.remove(&pos_bytes)?;
957 }
958
959 Ok(pos)
960 }
961
962 fn get_deps(&self, change_id: NodeId) -> PristineResult<Vec<NodeId>> {
963 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