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

Method export_snapshot

nodedb-vector/src/collection/lifecycle_compact.rs:77–108  ·  view source on GitHub ↗

Export all live vectors for snapshot.

(&self)

Source from the content-addressed store, hash-verified

75
76 /// Export all live vectors for snapshot.
77 pub fn export_snapshot(&self) -> Vec<(u32, Vec<f32>, Option<Surrogate>)> {
78 let mut result = Vec::new();
79
80 for i in 0..self.growing.len() as u32 {
81 let vid = self.growing_base_id + i;
82 if let Some(data) = self.growing.get_vector(i) {
83 let surrogate = self.surrogate_map.get(&vid).copied();
84 result.push((vid, data.to_vec(), surrogate));
85 }
86 }
87
88 for seg in &self.sealed {
89 let vectors = seg.index.export_vectors();
90 for (i, vec_data) in vectors.into_iter().enumerate() {
91 let vid = seg.base_id + i as u32;
92 let surrogate = self.surrogate_map.get(&vid).copied();
93 result.push((vid, vec_data, surrogate));
94 }
95 }
96
97 for seg in &self.building {
98 for i in 0..seg.flat.len() as u32 {
99 let vid = seg.base_id + i;
100 if let Some(data) = seg.flat.get_vector(i) {
101 let surrogate = self.surrogate_map.get(&vid).copied();
102 result.push((vid, data.to_vec(), surrogate));
103 }
104 }
105 }
106
107 result
108 }
109}

Callers

nothing calls this directly

Calls 6

export_vectorsMethod · 0.80
lenMethod · 0.45
get_vectorMethod · 0.45
getMethod · 0.45
pushMethod · 0.45
to_vecMethod · 0.45

Tested by

no test coverage detected