icydb-core 0.213.37

IcyDB — A schema-first typed query engine and persistence runtime for Internet Computer canisters
Documentation
//! Module: index
//! Responsibility: index key encoding, index entry modeling, and index-store access.
//! Does not own: query planning policy, commit orchestration, or relation semantics.
//! Boundary: executor/query/commit may depend on index; index depends on data primitives.

mod cardinality;
mod entry;
pub(in crate::db) mod envelope;
mod expression_contract;
mod key;
mod plan;
#[cfg(any(test, feature = "sql"))]
pub(in crate::db) mod predicate;
mod range;
mod readers;
mod scan;
mod store;

pub(in crate::db) use crate::db::key_taxonomy::IndexEntryValue;
pub(in crate::db) use entry::IndexEntryExistenceWitness;
#[cfg(any(test, feature = "sql"))]
pub(in crate::db) use entry::IndexEntryRowWitness;
pub(in crate::db) use entry::IndexRowIdentity;
pub(in crate::db) use envelope::{envelope_is_empty, key_within_envelope};
#[cfg(any(test, feature = "sql"))]
pub(in crate::db) use envelope::{
    resume_bounds_for_continuation, validate_index_scan_continuation_advancement,
};
pub(in crate::db) use expression_contract::SemanticIndexExpression;
#[cfg(any(test, feature = "sql"))]
pub(in crate::db) use key::{
    EncodedValue, IndexExpressionSourceClass, encode_accepted_index_literal_component,
};
pub(in crate::db) use key::{
    IndexId, IndexKey, IndexKeyKind, RawIndexStoreKey, derive_index_expression_value,
};
pub(in crate::db) use plan::{
    AcceptedIndexInspectionDomain, AcceptedIndexInspectionPlan, IndexDelta, IndexDeltaGroup,
    IndexMembershipDelta, IndexMutationPlan, IndexPlanReadView,
    plan_index_mutation_for_slot_reader_structural,
};
#[cfg(any(test, feature = "sql"))]
pub(in crate::db) use predicate::{
    IndexCompareOp, IndexCompilePolicy, IndexLiteral, IndexPredicateProgram, compile_index_program,
    compile_index_program_for_targets,
};
pub(in crate::db) use range::raw_keys_for_component_prefix_with_kind;
#[cfg(any(test, feature = "sql"))]
pub(in crate::db) use range::{
    IndexBoundsSpec, IndexRangeBoundEncodeError, TextPrefixBoundMode,
    build_index_bounds_lowering_for_arity, build_index_component_range_with_encoded_prefix,
    build_index_prefix_bounds_for_encoded_components, starts_with_component_bounds,
};
pub(in crate::db) use readers::{
    IndexReadContract, StructuralIndexEntryReader, StructuralPrimaryRowReader,
};
pub(in crate::db) use store::IndexStoreVisit;
pub use store::{IndexState, IndexStore};