pub fn analyze_typed(
hg: &HypergraphRule,
vertex_types: &BTreeMap<String, ScalarType>,
context: ExecutorContext,
) -> EligibilityExpand description
Typed eligibility analysis.
Same as analyze, but additionally consults vertex_types —
a map from variable name to inferred [ScalarType] — to emit
Boundary::UnsupportedKeyType for join-key vertices whose
type is outside WCOJ_SUPPORTED_KEY_TYPES.
“Join-key vertex” matches the same definition used by analyze:
a vertex that appears in two or more hyperedges. Projection-only
vertices (those appearing in exactly one hyperedge) are NOT
checked — their types do not affect WCOJ planning.
Locked policy (PR 5): unknown ≠ unsupported. Vertices
missing from vertex_types are NOT flagged. The
crate::hypergraph::typed gate populates this map via
schema-driven derivation from a
crate::hypergraph::RefRelationStore; vertices anchored only
through predicates absent from that store (e.g. an SCC
predicate referenced recursively before its first iteration)
stay absent and pass through. Transitive type propagation
across recursive predicates is a follow-up slice.