pub fn logical_cleanup_pass() -> Self {
        let transforms: Vec<Box<dyn crate::Transform>> = vec![
            // Delete unnecessary maps.
            Box::new(crate::fusion::map::Map),
            Box::new(crate::Fixpoint {
                limit: 100,
                transforms: vec![
                    // Projection pushdown may unblock fusing joins and unions.
                    Box::new(crate::fusion::join::Join),
                    Box::new(crate::redundant_join::RedundantJoin::default()),
                    // Redundant join produces projects that need to be fused.
                    Box::new(crate::fusion::project::Project),
                    Box::new(crate::fusion::union::Union),
                    // This goes after union fusion so we can cancel out
                    // more branches at a time.
                    Box::new(crate::union_cancel::UnionBranchCancellation),
                    Box::new(crate::cse::relation_cse::RelationCSE),
                    Box::new(crate::inline_let::InlineLet::new(true)),
                ],
            }),
        ];
        Self { transforms }
    }
/// Contains the logical optimizations that should run after cross-view
/// transformations run.
Contains the logical optimizations that should run after cross-view
transformations run.
Contains the logical optimizations that should run after cross - view transformations run .
pub fn logical_cleanup_pass() -> Self {
        let transforms: Vec<Box<dyn crate::Transform>> = vec![
            // Delete unnecessary maps.
            Box::new(crate::fusion::map::Map),
            Box::new(crate::Fixpoint {
                limit: 100,
                transforms: vec![
                    // Projection pushdown may unblock fusing joins and unions.
                    Box::new(crate::fusion::join::Join),
                    Box::new(crate::redundant_join::RedundantJoin::default()),
                    // Redundant join produces projects that need to be fused.
                    Box::new(crate::fusion::project::Project),
                    Box::new(crate::fusion::union::Union),
                    // This goes after union fusion so we can cancel out
                    // more branches at a time.
                    Box::new(crate::union_cancel::UnionBranchCancellation),
                    Box::new(crate::cse::relation_cse::RelationCSE),
                    Box::new(crate::inline_let::InlineLet::new(true)),
                ],
            }),
        ];
        Self { transforms }
    }
pub fn logical_cleanup_pass ( ) -> Self { let transforms : Vec < Box < dyn crate :: Transform > > = vec ! [ // Delete unnecessary maps. Box new ( crate fusion map Map ) Box new ( crate Fixpoint { limit 100 transforms vec [ // Projection pushdown may unblock fusing joins and unions. Box new ( crate fusion join Join ) Box new ( crate redundant_join RedundantJoin default ( ) ) // Redundant join produces projects that need to be fused. Box new ( crate fusion project Project ) Box new ( crate fusion union Union ) // This goes after union fusion so we can cancel out // more branches at a time. Box new ( crate union_cancel UnionBranchCancellation ) Box new ( crate cse relation_cse RelationCSE ) Box new ( crate inline_let InlineLet new ( true ) ) ] } ) ] ; Self { transforms } }
Contains the logical optimizations that should run after cross-view
transformations run.
Contains the logical optimizations that should run after cross - view transformations run .