Writing the reference counts when committing
[?]
Feb 21, 2021, 7:14 PM
3QM7P3RRVYYDEJNFDG3GHZDMSSHPPJC3WQOJGETGREOM4I2A6D5ACDependencies
- [2]
E4MD6T3LProofreading and commenting of this crate (massive bug fixes included) - [3]
YXKP4AIWNew file locks, with multiple sets of free pages - [4]
WS4ZQM4RDebugging, tests, etc. - [5]
W2MIZD5BSingle file databases + CRC for the root pages (checking the other pages makes everything very slow) - [6]
OP6SVMODResetting history - [7]
YWFYZNLZCleanup + inter-process concurrency - [8]
AOX2XQISActually, with the correct functions, Unsized pages are always slower than Sized pages (especially for writing)
Change contents
- replacement in sanakirja/src/environment/muttxn.rs at line 19
parent: T,parent: Option<T>, - replacement in sanakirja/src/environment/muttxn.rs at line 56
let env = self.env.borrow();unsafe {env.mut_txn_unlock().unwrap_or(());env.roots[self.root].rw.unlock_exclusive();env.unlock(self.root).unwrap_or(())if self.parent.is_none() {let env = self.env.borrow();unsafe {env.mut_txn_unlock().unwrap_or(());env.roots[self.root].rw.unlock_exclusive();env.unlock(self.root).unwrap_or(())} - replacement in sanakirja/src/environment/muttxn.rs at line 78
self.parent.length = self.length;self.parent.free = self.free;self.parentlet parent = self.parent.as_mut().unwrap();parent.length = self.length;parent.free = self.free;parent.rc = self.rc.take();parent - replacement in sanakirja/src/environment/muttxn.rs at line 85
self.parent.free_owned_pages.extend(self.free_owned_pages.iter());self.parent.free_pages.extend(self.free_pages.iter());parent.free_owned_pages.extend(self.free_owned_pages.iter());parent.free_pages.extend(self.free_pages.iter()); - replacement in sanakirja/src/environment/muttxn.rs at line 89
self.parent.roots[u] = *vparent.roots[u] = *v - replacement in sanakirja/src/environment/muttxn.rs at line 94
if self.parent.roots.get(n).is_none() {self.parent.roots.resize(n + 1, 0u64)if parent.roots.get(n).is_none() {parent.roots.resize(n + 1, 0u64) - replacement in sanakirja/src/environment/muttxn.rs at line 97
self.parent.roots[n] = rparent.roots[n] = r - replacement in sanakirja/src/environment/muttxn.rs at line 175
parent: (),parent: None, - edit in sanakirja/src/environment/muttxn.rs at line 279
if let Some(ref rc_db) = self.rc {debug!("COMMIT: rc_db = 0x{:x}", rc_db.db);globptr.rc_db = rc_db.db.to_le();}