pub(crate) mod canonical;
pub(in crate::db) mod capabilities;
pub(in crate::db) mod dispatch;
pub(in crate::db) mod execution_contract;
pub(crate) mod lowering;
mod order_pushdown;
pub(crate) mod path;
pub(crate) mod plan;
#[cfg(test)]
mod tests;
pub(crate) mod validate;
pub(crate) use canonical::normalize_access_plan_value;
pub(crate) use order_pushdown::{
PushdownApplicability, PushdownSurfaceEligibility, SecondaryOrderPushdownEligibility,
SecondaryOrderPushdownRejection,
};
pub(crate) use path::{AccessPath, SemanticIndexRangeSpec};
pub(crate) use plan::AccessPlan;
pub(crate) use validate::{AccessPlanError, validate_access_structure_model};
pub(in crate::db) use capabilities::{AccessCapabilities, single_path_capabilities};
pub(in crate::db) use dispatch::{
AccessPathDispatch, AccessPathKind, AccessPlanDispatch, dispatch_access_plan,
};
pub(in crate::db) use execution_contract::{
AccessStrategy, ExecutableAccessNode, ExecutableAccessPath, ExecutableAccessPlan,
ExecutionBounds, ExecutionPathPayload,
};
pub(in crate::db) use lowering::{
LoweredAccessError, LoweredIndexPrefixSpec, LoweredIndexRangeSpec, LoweredKey, lower_access,
};