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

Method export_edges

nodedb/src/engine/graph/edge_store/snapshot.rs:12–28  ·  view source on GitHub ↗

Export all forward edges as `(tenant, composite_key, properties)` triples for snapshot transfer. Reverse index is rebuilt on restore from the forward records — not shipped separately.

(&self)

Source from the content-addressed store, hash-verified

10 /// triples for snapshot transfer. Reverse index is rebuilt on
11 /// restore from the forward records — not shipped separately.
12 pub fn export_edges(&self) -> crate::Result<Vec<(TenantId, String, Vec<u8>)>> {
13 let txn = self.db.begin_read().map_err(|e| redb_err("read txn", e))?;
14 let table = txn
15 .open_table(EDGES)
16 .map_err(|e| redb_err("open edges", e))?;
17 let mut pairs = Vec::new();
18 for entry in table.iter().map_err(|e| redb_err("iter edges", e))? {
19 let (k, v) = entry.map_err(|e| redb_err("read edge", e))?;
20 let (tid, composite) = k.value();
21 pairs.push((
22 TenantId::new(tid),
23 composite.to_string(),
24 v.value().to_vec(),
25 ));
26 }
27 Ok(pairs)
28 }
29
30 /// Import edges from a snapshot. Each record is inserted via
31 /// [`EdgeStore::put_edge_raw`], which maintains the reverse index

Callers 1

export_snapshotMethod · 0.80

Calls 5

to_stringMethod · 0.80
redb_errFunction · 0.70
iterMethod · 0.45
pushMethod · 0.45
to_vecMethod · 0.45

Tested by

no test coverage detected