pub struct IndexHandleEntry {
pub kind: IndexKind,
pub handle: Arc<dyn IndexHandle>,
}Expand description
A live index handle keyed by index name (e.g., "vec_idx_embedding").
Unlike IndexKindProvider, which is plugin-registered via the
PluginRegistrar and describes a kind of index, an IndexHandleEntry
represents a specific live index — the runtime object produced by
IndexKindProvider::build().finalize() (or IndexKindProvider::open()).
Handles are inserted by the host (not by the plugin’s register() call)
because their lifetime tracks the storage layer rather than plugin
metadata.
The planner consults this table by index name when dispatching a vector
KNN query (see plan_vector_knn). When Some, the planner routes the
probe through the plugin handle; when None, the native storage path
runs (preserving the “no behavior change for built-ins” invariant).
Fields§
§kind: IndexKindKind that produced this handle (informational; matches the
IndexKindProvider::kind that built it).
handle: Arc<dyn IndexHandle>The live handle.
Trait Implementations§
Source§impl Clone for IndexHandleEntry
impl Clone for IndexHandleEntry
Source§fn clone(&self) -> IndexHandleEntry
fn clone(&self) -> IndexHandleEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for IndexHandleEntry
impl !UnwindSafe for IndexHandleEntry
impl Freeze for IndexHandleEntry
impl Send for IndexHandleEntry
impl Sync for IndexHandleEntry
impl Unpin for IndexHandleEntry
impl UnsafeUnpin for IndexHandleEntry
Blanket Implementations§
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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