Module mz_transform::source ·
A dataflow may contain multiple views, each of which may only be optimized locally. However, information like demand and predicate pushdown can be applied across views once we understand the context in which the views will be executed.
Inline views used in one other view, and in no exported objects.
Optimizes the implementation of each dataflow.
Pushes demand information from published outputs to dataflow inputs, projecting away unnecessary columns.
Pushes demand through views in
view_sequencein order, removing columns not demanded.
Pushes predicate to dataflow inputs.
Pushes filters down through views in
Restricts the indexes imported by
dataflowto only the ones it needs.
Propagates information about monotonic inputs through operators.
Performs either the logical or the physical optimization pass on the dataflow using the supplied set of indexes.