[][src]Module transform::map_lifting

Hoist literal values from maps wherever possible.

This transform specifically looks for RelationExpr::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.

Structs

LiteralLifting

Hoist literal values from maps wherever possible.