[][src]Struct lmdb::EnvironmentBuilder

pub struct EnvironmentBuilder { /* fields omitted */ }

Options for opening or creating an environment.

Methods

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, Windows UNC (Uniform Naming Convention) paths are not supported either.

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

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.

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
[src]

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

impl Eq for EnvironmentBuilder[src]

impl Copy for EnvironmentBuilder[src]

impl PartialEq<EnvironmentBuilder> for EnvironmentBuilder[src]

impl Clone for EnvironmentBuilder[src]

default fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for EnvironmentBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

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

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.