pub struct BitmapIndex { /* private fields */ }Expand description
value → row-id set. Values are type-aware encoded bytes (lexicographically
comparable), matching the encoding used for page min/max.
Implementations§
Source§impl BitmapIndex
impl BitmapIndex
pub fn new() -> Self
pub fn insert(&mut self, value: Vec<u8>, row_id: RowId)
Sourcepub fn get(&self, value: &[u8]) -> RoaringBitmap
pub fn get(&self, value: &[u8]) -> RoaringBitmap
The row-id set for value (empty if absent).
Sourcepub fn intersect(sets: &[RoaringBitmap]) -> RoaringBitmap
pub fn intersect(sets: &[RoaringBitmap]) -> RoaringBitmap
Intersection of several sets — the workhorse of multi-condition queries.
pub fn value_count(&self) -> usize
Sourcepub fn keys(&self) -> Vec<&Vec<u8>>
pub fn keys(&self) -> Vec<&Vec<u8>>
All distinct values (keys) in this index — Phase 17.2 broadcast join.
Sourcepub fn entries(&self) -> Vec<(Vec<u8>, Vec<u8>)>
pub fn entries(&self) -> Vec<(Vec<u8>, Vec<u8>)>
Snapshot (value_bytes → serialized RoaringBitmap) pairs for
checkpointing to _idx/global.idx.
Sourcepub fn from_entries(
entries: Vec<(Vec<u8>, Vec<u8>)>,
) -> Result<Self, &'static str>
pub fn from_entries( entries: Vec<(Vec<u8>, Vec<u8>)>, ) -> Result<Self, &'static str>
Rebuild from a snapshot produced by BitmapIndex::entries.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BitmapIndex
impl RefUnwindSafe for BitmapIndex
impl Send for BitmapIndex
impl Sync for BitmapIndex
impl Unpin for BitmapIndex
impl UnsafeUnpin for BitmapIndex
impl UnwindSafe for BitmapIndex
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
Mutably borrows from an owned value. Read more
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>
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 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>
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