mirror of
https://github.com/tursodatabase/limbo.git
synced 2025-07-14 16:05:01 +00:00
28 lines
1 KiB
Rust
28 lines
1 KiB
Rust
//! The storage layer.
|
|
//!
|
|
//! This module contains the storage layer for Limbo. The storage layer is
|
|
//! responsible for managing access to the database and its pages. The main
|
|
//! interface to the storage layer is the `Pager` struct, which is
|
|
//! responsible for managing the database file and the pages it contains.
|
|
//!
|
|
//! Pages in a database are stored in one of the following to data structures:
|
|
//! `DatabaseStorage` or `Wal`. The `DatabaseStorage` trait is responsible
|
|
//! for reading and writing pages to the database file, either local or
|
|
//! remote. The `Wal` struct is responsible for managing the write-ahead log
|
|
//! for the database, also either local or remote.
|
|
pub(crate) mod btree;
|
|
pub(crate) mod buffer_pool;
|
|
pub(crate) mod database;
|
|
pub(crate) mod page_cache;
|
|
#[allow(clippy::arc_with_non_send_sync)]
|
|
pub(crate) mod pager;
|
|
pub(crate) mod sqlite3_ondisk;
|
|
#[allow(clippy::arc_with_non_send_sync)]
|
|
pub(crate) mod wal;
|
|
|
|
#[macro_export]
|
|
macro_rules! return_corrupt {
|
|
($msg:expr) => {
|
|
return Err(LimboError::Corrupt($msg.into()));
|
|
};
|
|
}
|