(&mut self, view_id: u64)
| 1470 | } |
| 1471 | |
| 1472 | fn del_conflicts_prefix(&mut self, view_id: u64) -> PristineResult<()> { |
| 1473 | // Collect the keys in range first to avoid iterating while removing. |
| 1474 | let keys: Vec<[u8; 16]> = { |
| 1475 | let table = self.txn.open_table(CONFLICTS)?; |
| 1476 | let start = encode_view_seq(view_id, 0); |
| 1477 | let end = encode_view_seq(view_id, u64::MAX); |
| 1478 | let mut keys = Vec::new(); |
| 1479 | for entry in table.range::<&[u8; 16]>(&start..=&end)? { |
| 1480 | let (key, _) = entry?; |
| 1481 | keys.push(*key.value()); |
| 1482 | } |
| 1483 | keys |
| 1484 | }; |
| 1485 | let mut table = self.txn.open_table(CONFLICTS)?; |
| 1486 | for key in &keys { |
| 1487 | table.remove(key)?; |
| 1488 | } |
| 1489 | Ok(()) |
| 1490 | } |
| 1491 | |
| 1492 | fn put_tree(&mut self, path: &str, inode: Inode) -> PristineResult<()> { |
| 1493 | { |
no test coverage detected