Export all documents as key-value pairs (for snapshot transfer).
(&self)
| 256 | |
| 257 | /// Export all documents as key-value pairs (for snapshot transfer). |
| 258 | pub fn export_documents(&self) -> crate::Result<Vec<(String, Vec<u8>)>> { |
| 259 | let txn = self.db.begin_read().map_err(|e| redb_err("read txn", e))?; |
| 260 | let table = txn |
| 261 | .open_table(DOCUMENTS) |
| 262 | .map_err(|e| redb_err("open docs", e))?; |
| 263 | let mut pairs = Vec::new(); |
| 264 | let iter = table |
| 265 | .range::<&str>(..) |
| 266 | .map_err(|e| redb_err("iter docs", e))?; |
| 267 | for entry in iter { |
| 268 | let entry = entry.map_err(|e| redb_err("read doc entry", e))?; |
| 269 | pairs.push((entry.0.value().to_string(), entry.1.value().to_vec())); |
| 270 | } |
| 271 | Ok(pairs) |
| 272 | } |
| 273 | |
| 274 | /// Export all index entries as key-value pairs (for snapshot transfer). |
| 275 | pub fn export_indexes(&self) -> crate::Result<Vec<(String, Vec<u8>)>> { |
no test coverage detected