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

Method del_kg_node

atomic-core/src/pristine/txn/write/triples.rs:383–401  ·  view source on GitHub ↗
(&mut self, id: &str)

Source from the content-addressed store, hash-verified

381 }
382
383 fn del_kg_node(&mut self, id: &str) -> PristineResult<bool> {
384 // First delete all edges for this node
385 self.del_kg_edges_for_node(id)?;
386
387 // Remove indexed ID/label/summary tokens before the node ID can be
388 // reused. Otherwise old metadata can reappear in search results.
389 self.remove_kg_fts_entries(id)?;
390
391 // Delete the node
392 let mut table = match self.txn.open_table(KG_NODES) {
393 Ok(t) => t,
394 Err(redb::TableError::TableDoesNotExist(_)) => return Ok(false),
395 Err(e) => return Err(PristineError::from(e)),
396 };
397
398 let result = table.remove(id)?.is_some();
399 drop(table);
400 Ok(result)
401 }
402
403 fn del_kg_edge(&mut self, from_id: &str, to_id: &str, kind: &str) -> PristineResult<bool> {
404 let edge_key = encode_edge_key(from_id, to_id, kind);

Callers 5

vault_storeMethod · 0.80
vault_store_entryMethod · 0.80
vault_deleteMethod · 0.80
vault_store_kg_innerMethod · 0.80

Calls 3

del_kg_edges_for_nodeMethod · 0.80
remove_kg_fts_entriesMethod · 0.80
removeMethod · 0.65

Tested by 1