pijul nest
guest [sign in]

Debugging, impls and version bump

[?]
Apr 20, 2021, 10:05 AM
PUOGOIJ3SCPHJADRYHIQJXIUQMJFKGFMHY4HWEQI6VQNNDSHVXJAC

Dependencies

  • [2] 2ZRCQBXP Version bump
  • [3] GPP7KJSF Version bump
  • [4] FZBLNBGN Diagnostic tools (add_refs, check_free) + cleanup
  • [5] DASFQGOR Debugging
  • [6] OP6SVMOD Resetting history
  • [7] DEKK3RUI Fixing a bug when splitting unsized pages
  • [8] T7QB6QEP Adding debug.rs
  • [9] W2MIZD5B Single file databases + CRC for the root pages (checking the other pages makes everything very slow)
  • [10] 5LSYTRQ6 More docs, example, and fixing the free page diagnostic function for mutable transactions
  • [11] 7T2CCH3P Fixing a segfault (wrong offset in page_unsized::del)
  • [*] HN6Z5DU4 Cleanup

Change contents

  • edit in sanakirja-core/src/lib.rs at line 272
    [13.1647]
    [13.1647]
    unsafe impl Sync for CowPage {}
    unsafe impl Send for CowPage {}
  • replacement in sanakirja-core/Cargo.toml at line 3
    [3.70812][2.0:18]()
    version = "1.2.0"
    [3.70812]
    [3.70847]
    version = "1.2.4"
  • replacement in sanakirja/src/debug.rs at line 205
    [3.4354][3.4354:4448]()
    pub fn add_refs<T: LoadPage, K: Storable + ?Sized, V: Storable + ?Sized, P: BTreePage<K, V>>(
    [3.4354]
    [3.4448]
    pub fn add_refs<T: LoadPage, K: Storable + Ord + ?Sized + std::fmt::Debug, V: Storable + Ord + ?Sized + std::fmt::Debug, P: BTreePage<K, V>>(
  • replacement in sanakirja/src/debug.rs at line 209
    [3.4540][3.4540:4568]()
    ) -> Result<(), T::Error> {
    [3.4540]
    [3.4568]
    ) -> Result<(), T::Error>
    where
    T::Error: std::fmt::Debug
    {
  • replacement in sanakirja/src/debug.rs at line 225
    [3.5034][3.5034:5118]()
    while let Some((_, _, r)) = P::next(txn, p.as_page(), &mut c) {
    [3.5034]
    [3.5118]
    }
    let mut kv = None;
    while let Some((k, v, r)) = P::next(txn, p.as_page(), &mut c) {
    debug!("{:?} {:?} {:?}", k, v, kv);
    if let Some((k_, v_)) = kv {
    debug!("{:?} {:?} {:?}", k_ > k, k_ == k, v_ > v);
    if k_ > k || (k_ == k && v_ > v) {
    debug(txn, &[db], "debug_ord", true);
    panic!("{:?} {:?} {:?} {:?} {:?}", kv, k_, v_, k_>k, v_>v);
    }
    }
    kv = Some((k, v));
    if r > 0 {