mod conditions;
mod fields;
mod literals;
mod optimization;
mod params;
pub(crate) use conditions::{
BruteForceKnnVector, all_value_sources, extract_bruteforce_knn, extract_matches_context,
extract_record_id_point_lookup, extract_table_from_matches, has_knn_k_operator,
has_knn_ktree_operator, has_knn_operator, has_top_level_or, strip_fts_condition,
strip_index_conditions, strip_knn_and_matches_from_condition, strip_knn_from_condition,
strip_union_index_conditions,
};
pub(crate) use fields::{
check_forbidden_group_by_params, derive_field_name, idiom_read_prefix, idiom_to_field_name,
idiom_to_field_path, paths_overlap,
};
pub(crate) use literals::{
apply_literal_part, fold_condition_expressions, key_lit_to_expr, literal_to_value,
source_field_reads_are_inert, try_expr_to_value, try_literal_to_value,
};
pub(crate) use optimization::{
extract_count_field_names, extract_version, get_effective_limit_literal, index_covers_ordering,
is_bounded_topk_downstream, is_count_all_eligible, is_indexed_count_eligible,
order_is_scan_compatible,
};
pub(crate) use params::{
SELECT_ITERATION_PARAMS, resolve_condition_params, resolve_param_value,
resolve_projection_field_idioms,
};