pub struct PayloadIndexSet { /* private fields */ }Expand description
Set of per-field payload bitmap indexes for a collection.
Implementations§
Source§impl PayloadIndexSet
impl PayloadIndexSet
Sourcepub fn add_index(&mut self, field: impl Into<String>, kind: PayloadIndexKind)
pub fn add_index(&mut self, field: impl Into<String>, kind: PayloadIndexKind)
Register a new field index. Idempotent — safe to call multiple times for the same field (subsequent calls are no-ops).
Sourcepub fn insert_row(&mut self, node_id: u32, fields: &HashMap<String, Value>)
pub fn insert_row(&mut self, node_id: u32, fields: &HashMap<String, Value>)
Insert all indexed fields from fields for node_id.
Sourcepub fn delete_row(&mut self, node_id: u32, fields: &HashMap<String, Value>)
pub fn delete_row(&mut self, node_id: u32, fields: &HashMap<String, Value>)
Remove all indexed fields for node_id.
Sourcepub fn definitions_only(&self) -> Self
pub fn definitions_only(&self) -> Self
A set with the same registered fields and kinds and no rows.
Sourcepub fn clear_rows(&mut self)
pub fn clear_rows(&mut self)
Drop every node from every index. The registered fields and their
kinds stay, so the next insert_row indexes the same columns.
Sourcepub fn pre_filter(&self, predicate: &FilterPredicate) -> Option<RoaringBitmap>
pub fn pre_filter(&self, predicate: &FilterPredicate) -> Option<RoaringBitmap>
Evaluate a filter predicate against the bitmap indexes.
Returns Some(bitmap) when the predicate is fully covered by
indexed fields (every leaf field has an index). Returns None when any
leaf references an un-indexed field — the caller must then fall back to a
full post-filter scan. This avoids silently dropping un-indexed
predicates.
Sourcepub fn field_names(&self) -> impl Iterator<Item = &str>
pub fn field_names(&self) -> impl Iterator<Item = &str>
Return an iterator over all registered field names.
Source§impl PayloadIndexSet
impl PayloadIndexSet
Sourcepub fn to_snapshot(&self) -> PayloadIndexSetSnapshot
pub fn to_snapshot(&self) -> PayloadIndexSetSnapshot
Serialize to a snapshot for checkpointing.
Sourcepub fn from_snapshot(snap: PayloadIndexSetSnapshot) -> Self
pub fn from_snapshot(snap: PayloadIndexSetSnapshot) -> Self
Restore from a checkpoint snapshot.
Trait Implementations§
Source§impl Debug for PayloadIndexSet
impl Debug for PayloadIndexSet
Auto Trait Implementations§
impl Freeze for PayloadIndexSet
impl RefUnwindSafe for PayloadIndexSet
impl Send for PayloadIndexSet
impl Sync for PayloadIndexSet
impl Unpin for PayloadIndexSet
impl UnsafeUnpin for PayloadIndexSet
impl UnwindSafe for PayloadIndexSet
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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> 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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.