Skip to main content

ValueDictionary

Struct ValueDictionary 

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

Per-collection value dictionary.

Implementations§

Source§

impl ValueDictionary

Source

pub fn new(config: ValueDictionaryConfig) -> Self

Create a dictionary with custom configuration.

Source

pub fn encode( &mut self, field_id: FieldId, value: &[u8], ) -> Result<StoredValue, DictionaryError>

Encode a value for a field.

Values are dictionary-encoded only when:

  • observed field cardinality is below low_cardinality_threshold, and
  • value length is at least min_len_for_dictionary.
Source

pub fn decode(&self, stored: &StoredValue) -> Result<Vec<u8>, DictionaryError>

Decode a stored value back to owned bytes.

Source

pub fn cardinality_estimate(&self, field_id: FieldId) -> usize

Return the configured cardinality estimate for a field.

Source

pub fn len(&self) -> usize

Number of unique values stored in the dictionary.

Source

pub fn is_empty(&self) -> bool

Returns true when the dictionary has no values.

Trait Implementations§

Source§

impl Debug for ValueDictionary

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ValueDictionary

Source§

fn default() -> ValueDictionary

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