pub struct ReadonlyTransaction<'a> { /* private fields */ }
Implementations§
Source§impl<'a> ReadonlyTransaction<'a>
impl<'a> ReadonlyTransaction<'a>
pub fn new_ro_child(&self) -> MdbResult<ReadonlyTransaction<'_>>
Sourcepub fn abort(&mut self)
pub fn abort(&mut self)
Aborts transaction. But readonly transaction could be
reused later by calling renew
Sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Resets read only transaction, handle is kept. Must be followed
by call to renew
Sourcepub fn renew(&mut self) -> MdbResult<()>
pub fn renew(&mut self) -> MdbResult<()>
Acquires a new reader lock after transaction
abort
or reset
Sourcepub fn bind(&self, db_handle: &DbHandle) -> Database<'_>
pub fn bind(&self, db_handle: &DbHandle) -> Database<'_>
Examples found in repository?
examples/simple.rs (line 31)
5fn main() {
6 let env = EnvBuilder::new().open("test-lmdb", 0o777).unwrap();
7
8 let db_handle = env.get_default_db(DbFlags::empty()).unwrap();
9 let txn = env.new_transaction().unwrap();
10 {
11 let db = txn.bind(&db_handle); // get a database bound to this transaction
12
13 let pairs = vec![("Albert", "Einstein",),
14 ("Joe", "Smith",),
15 ("Jack", "Daniels")];
16
17 for &(name, surname) in pairs.iter() {
18 db.set(&surname, &name).unwrap();
19 }
20 }
21
22 // Note: `commit` is choosen to be explicit as
23 // in case of failure it is responsibility of
24 // the client to handle the error
25 match txn.commit() {
26 Err(_) => panic!("failed to commit!"),
27 Ok(_) => ()
28 }
29
30 let reader = env.get_reader().unwrap();
31 let db = reader.bind(&db_handle);
32 let name = db.get::<&str>(&"Smith").unwrap();
33 println!("It's {} Smith", name);
34}
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ReadonlyTransaction<'a>
impl<'a> RefUnwindSafe for ReadonlyTransaction<'a>
impl<'a> !Send for ReadonlyTransaction<'a>
impl<'a> !Sync for ReadonlyTransaction<'a>
impl<'a> Unpin for ReadonlyTransaction<'a>
impl<'a> UnwindSafe for ReadonlyTransaction<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more