lmdb

Struct EnvironmentBuilder

Source
pub struct EnvironmentBuilder { /* private fields */ }
Expand description

Options for opening or creating an environment.

Implementations§

Source§

impl EnvironmentBuilder

Source

pub fn open(&self, path: &Path) -> Result<Environment>

Open an environment.

On UNIX, the database files will be opened with 644 permissions.

The path may not contain the null character, Windows UNC (Uniform Naming Convention) paths are not supported either.

Source

pub fn open_with_permissions( &self, path: &Path, mode: mdb_mode_t, ) -> Result<Environment>

Open an environment with the provided UNIX permissions.

On Windows, the permissions will be ignored.

The path may not contain the null character, Windows UNC (Uniform Naming Convention) paths are not supported either.

Source

pub fn set_flags(&mut self, flags: EnvironmentFlags) -> &mut EnvironmentBuilder

Sets the provided options in the environment.

Source

pub fn set_max_readers( &mut self, max_readers: c_uint, ) -> &mut EnvironmentBuilder

Sets the maximum number of threads or reader slots for the environment.

This defines the number of slots in the lock table that is used to track readers in the the environment. The default is 126. Starting a read-only transaction normally ties a lock table slot to the current thread until the environment closes or the thread exits. If MDB_NOTLS is in use, Environment::open_txn instead ties the slot to the Transaction object until it or the Environment object is destroyed.

Source

pub fn set_max_dbs(&mut self, max_dbs: c_uint) -> &mut EnvironmentBuilder

Sets the maximum number of named databases for the environment.

This function is only needed if multiple databases will be used in the environment. Simpler applications that use the environment as a single unnamed database can ignore this option.

Currently a moderate number of slots are cheap but a huge number gets expensive: 7-120 words per transaction, and every Transaction::open_db does a linear search of the opened slots.

Source

pub fn set_map_size(&mut self, map_size: size_t) -> &mut EnvironmentBuilder

Sets the size of the memory map to use for the environment.

The size should be a multiple of the OS page size. The default is 1048576 bytes. The size of the memory map is also the maximum size of the database. The value should be chosen as large as possible, to accommodate future growth of the database. It may be increased at later times.

Any attempt to set a size smaller than the space already consumed by the environment will be silently changed to the current size of the used space.

Trait Implementations§

Source§

impl Clone for EnvironmentBuilder

Source§

fn clone(&self) -> EnvironmentBuilder

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
Source§

impl Debug for EnvironmentBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for EnvironmentBuilder

Source§

fn eq(&self, other: &EnvironmentBuilder) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for EnvironmentBuilder

Source§

impl Eq for EnvironmentBuilder

Source§

impl StructuralPartialEq for EnvironmentBuilder

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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 T
where 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> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.