Skip to main content

RedDBOptions

Struct RedDBOptions 

Source
pub struct RedDBOptions {
Show 20 fields pub mode: StorageMode, pub data_path: Option<PathBuf>, pub read_only: bool, pub create_if_missing: bool, pub verify_checksums: bool, pub durability_mode: DurabilityMode, pub group_commit: GroupCommitOptions, pub auto_checkpoint_pages: u32, pub cache_pages: usize, pub snapshot_retention: usize, pub export_retention: usize, pub feature_gates: CapabilitySet, pub force_create: bool, pub metadata: BTreeMap<String, String>, pub remote_backend: Option<Arc<dyn RemoteBackend>>, pub remote_backend_atomic: Option<Arc<dyn AtomicRemoteBackend>>, pub remote_key: Option<String>, pub replication: ReplicationConfig, pub auth: AuthConfig, pub auto_index_id: bool,
}

Fields§

§mode: StorageMode§data_path: Option<PathBuf>§read_only: bool§create_if_missing: bool§verify_checksums: bool§durability_mode: DurabilityMode§group_commit: GroupCommitOptions§auto_checkpoint_pages: u32§cache_pages: usize§snapshot_retention: usize§export_retention: usize§feature_gates: CapabilitySet§force_create: bool§metadata: BTreeMap<String, String>§remote_backend: Option<Arc<dyn RemoteBackend>>

Optional remote storage backend for snapshot transport.

§remote_backend_atomic: Option<Arc<dyn AtomicRemoteBackend>>

Optional CAS-capable handle to the same backend, populated by the factory when the configured backend implements AtomicRemoteBackend (S3/local always; HTTP only when RED_HTTP_CONDITIONAL_WRITES=true). None for backends that do not provide compare-and-swap (Turso, D1, plain HTTP). LeaseStore and any future CAS consumer pull from this field.

§remote_key: Option<String>

Remote object key used by the remote backend.

§replication: ReplicationConfig

Replication configuration.

§auth: AuthConfig

Authentication & authorization configuration.

§auto_index_id: bool

Auto-create a HASH index on a user id column the first time a row carrying that column is inserted into a collection. See UnifiedStoreConfig::auto_index_id. Defaults to true; set to false to opt out per workload (e.g. ingest pipelines that don’t need point-lookups by id).

Implementations§

Source§

impl RedDBOptions

Source

pub fn persistent<P: Into<PathBuf>>(path: P) -> Self

Source

pub fn in_memory() -> Self

Ephemeral, tempfile-backed database.

The underlying storage is a real persistent file placed under the system temp directory with a unique name — there is no longer a true in-memory execution mode. Prefer RedDBOptions::persistent when the data should outlive the process.

Source

pub fn with_mode(self, mode: StorageMode) -> Self

Source

pub fn with_data_path<P: Into<PathBuf>>(self, path: P) -> Self

Source

pub fn with_read_only(self, read_only: bool) -> Self

Source

pub fn with_auto_checkpoint(self, pages: u32) -> Self

Source

pub fn with_durability_mode(self, mode: DurabilityMode) -> Self

Source

pub fn with_group_commit_window_ms(self, window_ms: u64) -> Self

Source

pub fn with_group_commit_max_statements(self, max_statements: usize) -> Self

Source

pub fn with_group_commit_max_wal_bytes(self, max_wal_bytes: u64) -> Self

Source

pub fn with_cache_pages(self, pages: usize) -> Self

Source

pub fn with_snapshot_retention(self, limit: usize) -> Self

Source

pub fn with_export_retention(self, limit: usize) -> Self

Source

pub fn with_metadata<K: Into<String>, V: Into<String>>( self, key: K, value: V, ) -> Self

Source

pub fn with_auto_index_id(self, enabled: bool) -> Self

Toggle the implicit HASH index on user id columns at first insert (#112). Defaults to enabled — pass false to fall back to the legacy “scan unless CREATE INDEX is issued” behaviour.

Source

pub fn with_capability(self, capability: Capability) -> Self

Source

pub fn with_remote_backend( self, backend: Arc<dyn RemoteBackend>, key: impl Into<String>, ) -> Self

Attach a remote storage backend for snapshot transport.

On open, the database snapshot is downloaded from the remote key to the local data path. On flush, the local file is uploaded back to the remote backend under the same key.

Source

pub fn with_atomic_remote_backend( self, backend: Arc<dyn AtomicRemoteBackend>, ) -> Self

Attach a CAS-capable backend handle. Pass the same Arc as with_remote_backend (factories should construct the backend once and call both setters); this method exists so the type system, not runtime config, decides whether LeaseStore is reachable.

Source

pub fn with_replication(self, config: ReplicationConfig) -> Self

Source

pub fn with_auth(self, config: AuthConfig) -> Self

Source

pub fn resolved_path(&self, fallback: impl AsRef<Path>) -> PathBuf

Source

pub fn remote_namespace_prefix(&self) -> String

Source

pub fn default_backup_head_key(&self) -> String

Source

pub fn default_snapshot_prefix(&self) -> String

Source

pub fn default_wal_archive_prefix(&self) -> String

Source

pub fn has_capability(&self, capability: Capability) -> bool

Trait Implementations§

Source§

impl Clone for RedDBOptions

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 RedDBOptions

Source§

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

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

impl Default for RedDBOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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 = 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<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