Fixing channel drop (cleanup in other tables + order of reference drop)
[?]
Apr 26, 2021, 1:43 PM
VSOT2QH5OFG6XX6P7TXZF62IDA2FL7PSEPA2YJCAEFQNJTD5MMLACDependencies
- [2]
NGCTMCDPcleaning up the deps and revdeps of unused changes after a channel drop - [3]
I24UEJQLVarious post-fire fixes - [4]
VO5OQW4WRemoving anyhow in libpijul - [5]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [6]
TZ42DX3BProperly dropping a channel
Change contents
- edit in libpijul/src/pristine/sanakirja.rs at line 1796
btree::del(&mut self.txn, &mut self.channels, &name, None)?; - edit in libpijul/src/pristine/sanakirja.rs at line 1816
let mut deps = Vec::new(); - replacement in libpijul/src/pristine/sanakirja.rs at line 1818
while btree::del(&mut self.txn, &mut self.dep, ch, None)? {}while btree::del(&mut self.txn, &mut self.revdep, ch, None)? {}for x in btree::iter(&self.txn, &self.dep, Some((ch, None)))? {let (k, v) = x?;if k > ch {break}deps.push((*k, *v));}for (k, v) in deps.drain(..) {btree::del(&mut self.txn, &mut self.revdep, &k, Some(&v))?;btree::del(&mut self.txn, &mut self.revdep, &v, Some(&k))?;} - edit in libpijul/src/pristine/sanakirja.rs at line 1834
Ok(true)} else {Ok(false) - edit in libpijul/src/pristine/sanakirja.rs at line 1838
Ok(btree::del(&mut self.txn, &mut self.channels, &name, None)?) - edit in libpijul/src/pristine/sanakirja.rs at line 1995
debug!("Commit_channel. This is not too safe.");