• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

getdozer / dozer / 3974044832

pending completion
3974044832

Pull #703

github

GitHub
Merge 6f30ce3b1 into 9fa836726
Pull Request #703: fix: forbid duplicated cte names

27 of 27 new or added lines in 1 file covered. (100.0%)

22298 of 33673 relevant lines covered (66.22%)

35756.78 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.14
/dozer-cache/src/cache/lmdb/query/helper.rs
1
use crate::errors::{CacheError, QueryError};
2
use dozer_types::{bincode, serde};
3
use lmdb::{Database, Transaction};
4
use lmdb_sys as ffi;
5
use std::{cmp::Ordering, ffi::c_void};
6
pub fn get<T>(txn: &impl Transaction, db: Database, id: &[u8]) -> Result<T, CacheError>
612,474✔
7
where
612,474✔
8
    T: for<'a> serde::de::Deserialize<'a>,
612,474✔
9
{
612,474✔
10
    let rec = txn
612,474✔
11
        .get(db, &id)
612,474✔
12
        .map_err(|e| CacheError::QueryError(QueryError::GetValue(e)))?;
612,474✔
13
    bincode::deserialize(rec).map_err(CacheError::map_deserialization_error)
612,466✔
14
}
612,474✔
15

16
pub fn lmdb_cmp<T: Transaction>(txn: &T, db: Database, a: &[u8], b: &[u8]) -> Ordering {
996,326✔
17
    let a: ffi::MDB_val = ffi::MDB_val {
996,326✔
18
        mv_size: a.len(),
996,326✔
19
        mv_data: a.as_ptr() as *mut c_void,
996,326✔
20
    };
996,326✔
21
    let b: ffi::MDB_val = ffi::MDB_val {
996,326✔
22
        mv_size: b.len(),
996,326✔
23
        mv_data: b.as_ptr() as *mut c_void,
996,326✔
24
    };
996,326✔
25
    let result = unsafe { lmdb_sys::mdb_cmp(txn.txn(), db.dbi(), &a, &b) };
996,326✔
26
    result.cmp(&0)
996,326✔
27
}
996,326✔
28

29
pub fn lmdb_stat<T: Transaction>(txn: &T, db: Database) -> Result<ffi::MDB_stat, lmdb::Error> {
10,589✔
30
    let mut stat = ffi::MDB_stat {
10,589✔
31
        ms_psize: 0,
10,589✔
32
        ms_depth: 0,
10,589✔
33
        ms_branch_pages: 0,
10,589✔
34
        ms_leaf_pages: 0,
10,589✔
35
        ms_overflow_pages: 0,
10,589✔
36
        ms_entries: 0,
10,589✔
37
    };
10,589✔
38
    let code = unsafe { lmdb_sys::mdb_stat(txn.txn(), db.dbi(), &mut stat) };
10,589✔
39
    if code == ffi::MDB_SUCCESS {
10,589✔
40
        Ok(stat)
10,589✔
41
    } else {
42
        Err(lmdb::Error::from_err_code(code))
×
43
    }
44
}
10,589✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc