Skip to main content

ZoneMapBuilder

Struct ZoneMapBuilder 

Source
pub struct ZoneMapBuilder { /* private fields */ }
Expand description

Incrementally builds a zone map entry as you add values.

Feed it values one at a time; it tracks min/max/nulls automatically.

By default, Bloom filters are enabled for efficient equality checks. Use without_bloom_filter if you don’t need them.

Implementations§

Source§

impl ZoneMapBuilder

Source

pub fn new() -> Self

Creates a new zone map builder with Bloom filter enabled by default.

Uses reasonable defaults:

  • Expected items: 2048 (typical chunk size)
  • False positive rate: 1%
Source

pub fn without_bloom_filter() -> Self

Creates a builder without Bloom filter support.

Use this when you know you won’t need equality checks, or when memory is constrained and the Bloom filter overhead isn’t worth it.

Source

pub fn with_bloom_filter( expected_items: usize, false_positive_rate: f64, ) -> Self

Creates a builder with custom Bloom filter settings.

§Arguments
  • expected_items - Expected number of items in the chunk
  • false_positive_rate - Desired false positive rate (e.g., 0.01 for 1%)
Source

pub fn add(&mut self, value: &Value)

Adds a value to the zone map.

Source

pub fn build(self) -> ZoneMapEntry

Builds the zone map entry.

Trait Implementations§

Source§

impl Default for ZoneMapBuilder

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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, 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.