Module infinitree::fields[][src]

Expand description

Traits and implementations for working with index members.

There are 3 ways to interact with an index field:

  • Store: Store the field into the index.
  • Query: Query the field and load selected values into memory.
  • Load: Load all contents of the field into memory.

To implement how a field is actually stored in the index, we define an access Strategy. Currently 2 access strategies are implemented in Infinitree, but the storage system is extensible.

  • SparseField: Store the key in the index, but the value in the object store
  • LocalField: Store both the key and the value in the index.

To learn more about index internals, see the module documentation in the index module.

Structs

A wrapper to allow working with trait objects and impl Trait types when accessing the index field.

A strategy that stores both keys and values in the index

A multithreaded map implementation that can be freely copied and used with internal mutability across all operations.

A wrapper type that allows using any type that’s serializable using serde to be used as a member of the index.

A strategy that stores values in the object pool, while keeping keys in the index

Enums

Result of a query predicate.

Traits

Query an index field, but do not automatically load it into memory

A marker trait for value that can be used as a key in an index.

Load all data from the index field into memory.

Load data into memory where a predicate indicates it’s needed

Store data into the index.

Allows decoupling a storage strategy for index fields from the in-memory representation.

A marker trait for values that can be serialized and used as a value for an index field.

Type Definitions