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

Method invalidate_by_graph_version

graphlite/src/cache/subquery_cache.rs:516–547  ·  view source on GitHub ↗

Invalidate entries by graph version

(&self, version: u64)

Source from the content-addressed store, hash-verified

514
515 /// Invalidate entries by graph version
516 pub fn invalidate_by_graph_version(&self, version: u64) {
517 let mut entries = self.entries.write().unwrap();
518 let mut removed_keys = Vec::new();
519 let mut removed_size = 0;
520
521 entries.retain(|key, entry| {
522 if key.graph_version < version {
523 removed_keys.push(key.clone());
524 removed_size += entry.size_bytes();
525 false
526 } else {
527 true
528 }
529 });
530
531 // Update indices
532 for key in removed_keys {
533 self.update_indices(&key, false);
534 }
535
536 {
537 let mut current_memory = self.current_memory.write().unwrap();
538 *current_memory = current_memory.saturating_sub(removed_size);
539 }
540
541 {
542 let mut stats = self.stats.write().unwrap();
543 stats.invalidations += 1;
544 stats.current_entries = entries.len();
545 stats.memory_bytes = *self.current_memory.read().unwrap();
546 }
547 }
548
549 /// Invalidate entries by schema version
550 pub fn invalidate_by_schema_version(&self, version: u64) {

Callers

nothing calls this directly

Calls 5

unwrapMethod · 0.80
cloneMethod · 0.80
update_indicesMethod · 0.80
size_bytesMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected