MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / insert

Method insert

nodedb/src/event/cdc/registry.rs:39–60  ·  view source on GitHub ↗
(&mut self, def: ChangeStreamDef)

Source from the content-addressed store, hash-verified

37 }
38
39 fn insert(&mut self, def: ChangeStreamDef) {
40 let key_name = (def.tenant_id, def.name.clone());
41 let key_coll = (def.tenant_id, def.collection.clone());
42 let def_arc = Arc::new(def);
43
44 // Replace any prior entry under this name — removes its collection-index entry first.
45 if let Some(prev) = self.by_name.remove(&key_name) {
46 let prev_coll_key = (prev.tenant_id, prev.collection.clone());
47 if let Some(bucket) = self.by_collection.get_mut(&prev_coll_key) {
48 bucket.retain(|d| d.name != prev.name);
49 if bucket.is_empty() {
50 self.by_collection.remove(&prev_coll_key);
51 }
52 }
53 }
54
55 self.by_collection
56 .entry(key_coll)
57 .or_default()
58 .push(Arc::clone(&def_arc));
59 self.by_name.insert(key_name, def_arc);
60 }
61
62 fn remove(&mut self, tenant_id: u64, name: &str) -> bool {
63 let key_name = (tenant_id, name.to_string());

Callers 15

saveMethod · 0.45
parse_fieldFunction · 0.45
scheduler_loopFunction · 0.45
registerMethod · 0.45
updateMethod · 0.45
clear_and_reloadMethod · 0.45
load_from_catalogMethod · 0.45
recordMethod · 0.45
skips_trigger_sourceFunction · 0.45
registerMethod · 0.45
clear_and_reloadMethod · 0.45

Calls 6

entryMethod · 0.80
cloneMethod · 0.45
removeMethod · 0.45
get_mutMethod · 0.45
is_emptyMethod · 0.45
pushMethod · 0.45