use crate::error::InternalError;
struct RouteFastPathSpecContract;
impl RouteFastPathSpecContract {
fn invariant() -> InternalError {
InternalError::query_executor_invariant()
}
fn ensure_spec_at_most_one_if_enabled(
fast_path_enabled: bool,
spec_count: usize,
) -> Result<(), InternalError> {
(!(fast_path_enabled && spec_count > 1))
.then_some(())
.ok_or_else(Self::invariant)
}
}
pub(in crate::db::executor) fn ensure_load_fast_path_spec_arity(
_secondary_pushdown_eligible: bool,
_index_prefix_spec_count: usize,
index_range_pushdown_eligible: bool,
index_range_spec_count: usize,
) -> Result<(), InternalError> {
RouteFastPathSpecContract::ensure_spec_at_most_one_if_enabled(
index_range_pushdown_eligible,
index_range_spec_count,
)?;
Ok(())
}