in merkledb/src/merkledb_debug.rs [121:143]
fn check_parent_invariant(&self) -> bool {
let mut ret = true;
for i in 0..self.get_sequence_number() {
if let Some(node) = self.find_node_by_id(i as MerkleNodeId) {
if let Some(attr) = self.node_attributes(i as MerkleNodeId) {
if attr.has_cas_data() {
let f = find_ancestor_reconstructor(self, &node, NodeDataType::CAS);
if f.is_err() {
eprintln!("Parent invariant broken on node {node:?}. Unable to track to CAS root");
}
ret &= f.is_ok();
} else if attr.has_file_data() {
let f = find_ancestor_reconstructor(self, &node, NodeDataType::FILE);
ret &= f.is_ok();
if f.is_err() {
eprintln!("Parent invariant broken on node {node:?}. Unable to track to File root");
}
};
}
}
}
ret
}