fn optimize_dataflow_relations(
    dataflow: &mut DataflowDesc,
    indexes: &HashMap<GlobalId, Vec<(GlobalId, Vec<MirScalarExpr>)>>,
    optimizer: &Optimizer,
) -> Result<(), TransformError> {
    // Re-optimize each dataflow
    // TODO(mcsherry): we should determine indexes from the optimized representation
    // just before we plan to install the dataflow. This would also allow us to not
    // add indexes imperatively to `DataflowDesc`.
    for object in dataflow.objects_to_build.iter_mut() {
        // Re-name bindings to accommodate other analyses, specifically
        // `InlineLet` which probably wants a reworking in any case.
        // Re-run all optimizations on the composite views.
        optimizer.transform(object.view.as_inner_mut(), &indexes)?;
    }

    Ok(())
}
/// Performs either the logical or the physical optimization pass on the
/// dataflow using the supplied set of indexes.
Performs either the logical or the physical optimization pass on the
dataflow using the supplied set of indexes.
Performs either the logical or the physical optimization pass on the dataflow using the supplied set of indexes .
fn optimize_dataflow_relations(
    dataflow: &mut DataflowDesc,
    indexes: &HashMap<GlobalId, Vec<(GlobalId, Vec<MirScalarExpr>)>>,
    optimizer: &Optimizer,
) -> Result<(), TransformError> {
    // Re-optimize each dataflow
    // TODO(mcsherry): we should determine indexes from the optimized representation
    // just before we plan to install the dataflow. This would also allow us to not
    // add indexes imperatively to `DataflowDesc`.
    for object in dataflow.objects_to_build.iter_mut() {
        // Re-name bindings to accommodate other analyses, specifically
        // `InlineLet` which probably wants a reworking in any case.
        // Re-run all optimizations on the composite views.
        optimizer.transform(object.view.as_inner_mut(), &indexes)?;
    }
    Ok(())
}
fn optimize_dataflow_relations ( dataflow : & mut DataflowDesc , indexes : & HashMap < GlobalId , Vec < ( GlobalId , Vec < MirScalarExpr > ) > > , optimizer : & Optimizer , ) -> Result < ( ) , TransformError > { // Re-optimize each dataflow // TODO(mcsherry): we should determine indexes from the optimized representation // just before we plan to install the dataflow. This would also allow us to not // add indexes imperatively to `DataflowDesc`. for object in dataflow . objects_to_build . iter_mut ( ) { // Re-name bindings to accommodate other analyses, specifically // `InlineLet` which probably wants a reworking in any case. // Re-run all optimizations on the composite views. optimizer . transform ( object . view . as_inner_mut ( ) , & indexes ) ? ; } Ok ( ( ) ) }
Performs either the logical or the physical optimization pass on the
dataflow using the supplied set of indexes.
Performs either the logical or the physical optimization pass on the dataflow using the supplied set of indexes .
dataflow
&mut DataflowDesc
indexes
&HashMap<GlobalId, Vec<(GlobalId, Vec<MirScalarExpr>)>>
optimizer
&Optimizer
dataflow
&mut DataflowDesc
indexes
&HashMap<GlobalId, Vec<(GlobalId, Vec<MirScalarExpr>)>>
optimizer
&Optimizer