pub fn validate_resolved_time_range_clause_shapes(
where_clauses: &[WhereClause],
resolved_time_ranges: &[ResolvedTimeRange],
) -> Result<(), Error>Expand description
Rejects a query whose resolution provenance and clause shapes disagree:
every field in resolved_time_ranges must appear in the where
clauses as exactly one Equal clause — the only shape
resolve_time_range_bucket_clause produces.
A range or In clause on a resolved field means the caller attached
provenance to a clause the resolver never built. Executors that fan a
clause out per value (the per-In-value count/sum paths rewrite each In
value into an equality) would then present raw client values to the index
pickers as if they were resolved bucket starts, and the pickers would
admit the bucketed index for them. The wire path can never produce the
mismatch — provenance is not parseable from the wire, and the abci handler
pushes the resolved equality itself — so this guards direct API callers,
and it runs identically under server and verify.