drive/query/drive_document_ranked_query/executors/mod.rs
1//! Per-mode ranked executors on `impl Drive`. One file per response
2//! shape — the dispatcher ([`super::drive_dispatcher`]) picks between
3//! them on the request's `prove` flag.
4//!
5//! Each executor resolves the covering index, builds the
6//! [`DriveDocumentRankedQuery`], and runs the matching method on it. The
7//! resolution step is shared ([`ranked_query_for_mode`]) rather than
8//! duplicated per file: the no-proof and prove paths must agree on the
9//! index — and therefore the grove path — or a client would verify a
10//! proof about a different subtree than the one an unproven read
11//! returned.
12//!
13//! No re-exports needed: each file adds methods directly to `impl Drive`.
14
15pub mod top_k_no_proof;
16pub mod top_k_proof;
17
18// Resolution — covering-index pick + equality-pin encoding — is shared
19// with the SDK's proof helpers through
20// [`super::index_picker::resolve_ranked_query_for_mode`]: both sides
21// must land on the same index and the same prefix segments, or a client
22// would verify a proof about a different subtree than the one an
23// unproven read returned.
24pub(super) use super::index_picker::resolve_ranked_query_for_mode as ranked_query_for_mode;