MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / delete_graph

Method delete_graph

graphlite/src/storage/data_adapter.rs:291–325  ·  view source on GitHub ↗

Delete a specific graph's data from storage

(
        &self,
        driver: &dyn StorageDriver<Tree = Box<dyn StorageTree>>,
        graph_name: &str,
    )

Source from the content-addressed store, hash-verified

289
290 /// Delete a specific graph's data from storage
291 pub fn delete_graph(
292 &self,
293 driver: &dyn StorageDriver<Tree = Box<dyn StorageTree>>,
294 graph_name: &str,
295 ) -> Result<(), Box<dyn std::error::Error>> {
296 use log::{debug, info};
297 let graph_prefix = Self::normalize_graph_path(graph_name);
298
299 // Delete graph-specific trees
300 let nodes_tree_name = format!("nodes_{}", graph_prefix);
301 let edges_tree_name = format!("edges_{}", graph_prefix);
302 let metadata_tree_name = format!("metadata_{}", graph_prefix);
303
304 // Open and clear graph-specific trees if they exist
305 if let Ok(nodes_tree) = driver.open_tree(&nodes_tree_name) {
306 nodes_tree.clear()?;
307 debug!("Cleared nodes tree for graph '{}'", graph_name);
308 }
309
310 if let Ok(edges_tree) = driver.open_tree(&edges_tree_name) {
311 edges_tree.clear()?;
312 debug!("Cleared edges tree for graph '{}'", graph_name);
313 }
314
315 if let Ok(metadata_tree) = driver.open_tree(&metadata_tree_name) {
316 metadata_tree.clear()?;
317 debug!("Cleared metadata tree for graph '{}'", graph_name);
318 }
319
320 // Flush changes to persistent storage
321 driver.flush()?;
322
323 info!("Successfully deleted all data for graph '{}'", graph_name);
324 Ok(())
325 }
326
327 /// Save catalog provider data to persistent storage
328 pub fn save_catalog_provider(

Callers 1

execute_ddl_operationMethod · 0.45

Calls 3

open_treeMethod · 0.45
clearMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected