mz_expr::explain

Function enforce_linear_chains

Source
pub fn enforce_linear_chains(
    expr: &mut MirRelationExpr,
) -> Result<(), ExplainError>
Expand description

Normalize the way inputs of multi-input variants are rendered.

After the transform is applied, non-trival inputs $input of variants with more than one input are wrapped in a let $x = $input in $x blocks.

If these blocks are subsequently pulled up by NormalizeLets, the rendered version of the resulting tree will only have linear chains.