[][src]Struct lmdb::EnvironmentBuilder

pub struct EnvironmentBuilder { /* fields omitted */ }

Options for opening or creating an environment.


impl EnvironmentBuilder[src]

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

Open an environment.

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

The path may not contain the null character.

pub fn open_with_permissions(
    path: &Path,
    mode: 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.

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

Sets the provided options in the environment.

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.

pub fn set_max_dbs(&mut self, max_readers: c_uint) -> &mut EnvironmentBuilder[src]

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.

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

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 10485760 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

impl Clone for EnvironmentBuilder[src]

impl Copy for EnvironmentBuilder[src]

impl Debug for EnvironmentBuilder[src]

impl Eq for EnvironmentBuilder[src]

impl PartialEq<EnvironmentBuilder> for EnvironmentBuilder[src]

impl StructuralEq for EnvironmentBuilder[src]

impl StructuralPartialEq for EnvironmentBuilder[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.