pub enum IndexBuildPolicy {
Deferred,
Eager,
}Expand description
When a bulk load (bulk_load / bulk_load_columns / bulk_load_fast)
builds the live in-memory indexes.
The engine is correct under either policy: with Self::Deferred the
indexes are rebuilt lazily by the first query/flush (Phase 14.7,
ensure_indexes_complete), with Self::Eager they are built — and
checkpointed to _idx/global.idx — inside the bulk load itself. The trade
is where the build cost lands: Deferred keeps the ingest critical path
minimal (write the run, persist the manifest, return); Eager gives
predictable first-query latency at the price of a slower load. Serving
deployments that load then immediately serve point queries (e.g. a warm
daemon) may prefer Eager; batch/ETL ingest wants Deferred.
Variants§
Deferred
Defer index building to the first query/flush — fastest ingest (default).
Eager
Build and checkpoint indexes inside the bulk load — fastest first query.
Trait Implementations§
Source§impl Clone for IndexBuildPolicy
impl Clone for IndexBuildPolicy
Source§fn clone(&self) -> IndexBuildPolicy
fn clone(&self) -> IndexBuildPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for IndexBuildPolicy
Source§impl Debug for IndexBuildPolicy
impl Debug for IndexBuildPolicy
Source§impl Default for IndexBuildPolicy
impl Default for IndexBuildPolicy
Source§fn default() -> IndexBuildPolicy
fn default() -> IndexBuildPolicy
impl Eq for IndexBuildPolicy
Source§impl PartialEq for IndexBuildPolicy
impl PartialEq for IndexBuildPolicy
Source§fn eq(&self, other: &IndexBuildPolicy) -> bool
fn eq(&self, other: &IndexBuildPolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IndexBuildPolicy
Auto Trait Implementations§
impl Freeze for IndexBuildPolicy
impl RefUnwindSafe for IndexBuildPolicy
impl Send for IndexBuildPolicy
impl Sync for IndexBuildPolicy
impl Unpin for IndexBuildPolicy
impl UnsafeUnpin for IndexBuildPolicy
impl UnwindSafe for IndexBuildPolicy
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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