Skip to main content

Layout

Struct Layout 

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

Absolute paths of everything a database keeps on disk, by role — the port of the TS Layout, narrowed to the roles this engine actually writes (format 2 keeps no per-table schema files, and its write queue stages in memory rather than in a pending/ directory).

Implementations§

Source§

impl Layout

Source

pub fn new(root: &Path, kind: LayoutKind, metadata_file: &str) -> Layout

Source

pub fn kind(&self) -> LayoutKind

Source

pub fn root(&self) -> &Path

Source

pub fn metadata_file(&self) -> &str

Name of the metadata document in Layout::root — the value OpenOptions’ metadataFile/manifest takes.

Source

pub fn metadata_path(&self) -> &Path

Absolute path of the metadata document: Layout::root and Layout::metadata_file joined.

Source

pub fn tables(&self) -> &Path

Directory the table logs live in. A partitioned table gets a <table>/ subdirectory of this one; Table::open derives that from the log path it is handed, so nothing else here has to.

Source

pub fn indexes(&self) -> &Path

Directory the <table>.idx snapshots live in.

Source

pub fn runtime(&self) -> &Path

Directory the writer lock and the unit-of-work journal live in.

Source

pub fn log_path(&self, table: &str) -> PathBuf

Source

pub fn index_path(&self, table: &str) -> PathBuf

Source

pub fn lock_path(&self) -> PathBuf

Source

pub fn journal_path(&self) -> PathBuf

Source

pub fn directories(&self) -> Vec<PathBuf>

Directories a writable open has to create before anything touches them. Under the flat layout that is the database directory and nothing else, which is what makes an open with no layout options do exactly what it did before layouts existed.

Trait Implementations§

Source§

impl Clone for Layout

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Layout

Source§

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

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

impl Eq for Layout

Source§

impl PartialEq for Layout

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Layout

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> Same for T

Source§

type Output = T

Should always be Self
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.