pub fn build_query_parts(
ast: &Ast,
schemas: Vec<TableWireSchema>,
) -> (NormalizeFold, Vec<TableWireSchema>, u64, ProjMap)Expand description
The query-wide pieces a normalized subscription needs, derived once from the AST + the
surfaced-table schemas: the NormalizeFold (the shared footprint serializer over the
pipeline’s full rows), the projected wire table set and its normalized_fp, and
the ProjMap that drives project-at-emit. Splitting this out lets a shared engine
query own ONE fold + projection while each subscriber builds its own NormalizedHello
from the same projected table set (hello_from_parts) — fold, projection, and hello agree
by construction.
Panics if a surfaced table lacks a schema — a build-time config invariant (mirrors
NormalizeFold’s validate_pk).