Module mz_transform::literal_lifting

source ·
Expand description

Hoist literal values from maps wherever possible.

This transform specifically looks for MirRelationExpr::Map operators where any of the ScalarExpr expressions are literals. Whenever it can, it lifts those expressions through or around operators.

The main feature of this operator is that it allows transformations to locally change the shape of operators, presenting fewer columns when they are unused and replacing them with mapped default values. The mapped default values can then be lifted and ideally absorbed. This type of transformation is difficult to make otherwise, as it is not easy to locally change the shape of relations.