Module flat_map_elimination

Source
Expand description

For a FlatMap where the table function’s arguments are all constants, turns it into Map if only 1 row is produced by the table function, or turns it into an empty constant collection if 0 rows are produced by the table function.

It does an additional optimization on the Wrap table function: when Wrap’s width is larger than its number of arguments, it removes the FlatMap Wrap ..., because such Wraps would have no effect.

Structs§

FlatMapElimination
Attempts to eliminate FlatMaps that are sure to have 0 or 1 results on each input row.