Rindle docs and package mapSkip to main content

build_query_parts

Function build_query_parts 

Source
pub fn build_query_parts(
    ast: &Ast,
    schemas: Vec<TableWireSchema>,
) -> (NormalizeFold, Vec<TableWireSchema>, u64, BTreeMap<Box<str>, Vec<usize>>)
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).