(
dataflow: &mut DataflowDesc,
optimizer: &Optimizer,
ctx: &mut TransformCtx,
)
| 221 | fields(path.segment = optimizer.name) |
| 222 | )] |
| 223 | fn optimize_dataflow_relations( |
| 224 | dataflow: &mut DataflowDesc, |
| 225 | optimizer: &Optimizer, |
| 226 | ctx: &mut TransformCtx, |
| 227 | ) -> Result<(), TransformError> { |
| 228 | // Re-optimize each dataflow |
| 229 | for object in dataflow.objects_to_build.iter_mut() { |
| 230 | // Re-run all optimizations on the composite views. |
| 231 | ctx.set_global_id(object.id); |
| 232 | optimizer.transform(object.plan.as_inner_mut(), ctx)?; |
| 233 | ctx.reset_global_id(); |
| 234 | } |
| 235 | |
| 236 | mz_repr::explain::trace_plan(dataflow); |
| 237 | |
| 238 | Ok(()) |
| 239 | } |
| 240 | |
| 241 | /// Pushes demand information from published outputs to dataflow inputs, |
| 242 | /// projecting away unnecessary columns. |
no test coverage detected