Struct jammdb::DB

source ·
pub struct DB { /* private fields */ }
Expand description

A database

A DB can created from an OpenOptions builder, or by calling open. From a DB, you can create a Tx to access the data in the database. If you want to use the database across threads, so you can clone the database to have concurrent transactions (you’re really just cloning an Arc so it’s pretty cheap). Do not try to open multiple transactions in the same thread, you’re pretty likely to cause a deadlock.

Implementations§

source§

impl DB

source

pub fn open<P: AsRef<Path>>(path: P) -> Result<DB, Error>

Opens a database using the default OpenOptions.

Same as calling OpenOptions::new().open(path). Please read the documentation for OpenOptions::open for details.

Examples
use jammdb::{DB};

let db = DB::open("my.db")?;

// do whatever you want with the DB
source

pub fn tx(&self, writable: bool) -> Result<Tx<'_>, Error>

Creates a Tx. This transaction is either read-only or writable depending on the writable parameter. Please read the docs on a Tx for more details.

source

pub fn pagesize(&self) -> u64

Returns the database’s pagesize.

Trait Implementations§

source§

impl Clone for DB

source§

fn clone(&self) -> DB

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for DB

§

impl Send for DB

§

impl Sync for DB

§

impl Unpin for DB

§

impl UnwindSafe for DB

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.