Struct SqliteStoreConfig

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

A configuration structure used for opening a store.

Implementations§

Source§

impl SqliteStoreConfig

Source

pub fn new<P>(path: P) -> Self
where P: AsRef<Path>,

Create a new SqliteStoreConfig with a path representing the directory containing the store database.

Source

pub fn passphrase(self, passphrase: Option<&str>) -> Self

Define the passphrase if the store is encoded.

Source

pub fn pool_max_size(self, max_size: usize) -> Self

Define the maximum pool size for deadpool_sqlite.

See deadpool_sqlite::PoolConfig::max_size to learn more.

Source

pub fn optimize(self, optimize: bool) -> Self

Optimize the database.

The SQLite documentation recommends to run this regularly and after any schema change. The easiest is to do it consistently when the store is constructed, after eventual migrations.

See [PRAGMA optimize] to learn more.

The default value is true.

Source

pub fn cache_size(self, cache_size: u32) -> Self

Define the maximum size in bytes the SQLite cache can use.

See PRAGMA cache_size to learn more.

The default value is 2Mib.

Source

pub fn journal_size_limit(self, limit: u32) -> Self

Limit the size of the WAL file, in bytes.

By default, while the DB connections of the databases are open, the size of the WAL file can keep increasing depending on the size needed for the transactions. A critical case is VACUUM which basically writes the content of the DB file to the WAL file before writing it back to the DB file, so we end up taking twice the size of the database.

By setting this limit, the WAL file is truncated after its content is written to the database, if it is bigger than the limit.

See PRAGMA journal_size_limit to learn more. The value limit corresponds to N in PRAGMA journal_size_limit = N.

The default value is 10Mib.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

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

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T

Source§

impl<T> SendOutsideWasm for T
where T: Send,

Source§

impl<T> SyncOutsideWasm for T
where T: Sync,