pub fn optimize_and_lower(self, config: &OptimizerConfig) -> expr::MirRelationExpr {
        if config.qgm_optimizations {
            // create a query graph model from this HirRelationExpr
            let model = Model::from(self);

            // @todo: perform optimizing algebraic rewrites on the qgm
            // ...

            // decorrelate and lower the optimized query graph model into a MirRelationExpr
            model.lower()
        } else {
            // directly decorrelate and lower into a MirRelationExpr
            self.lower()
        }
    }
/// Perform optimizing algebraic rewrites on this [`HirRelationExpr`] and lower it to a [`expr::MirRelationExpr`].
///
/// The optimization path is fully-determined by the values of the feature flag defined in the [`OptimizerConfig`].
Perform optimizing algebraic rewrites on this [`HirRelationExpr`] and lower it to a [`expr::MirRelationExpr`].
The optimization path is fully-determined by the values of the feature flag defined in the [`OptimizerConfig`].
Perform optimizing algebraic rewrites on this [ ` HirRelationExpr ` ] and lower it to a [ ` expr :: MirRelationExpr ` ] . The optimization path is fully - determined by the values of the feature flag defined in the [ ` OptimizerConfig ` ] .
pub fn optimize_and_lower(self, config: &OptimizerConfig) -> expr::MirRelationExpr {
        if config.qgm_optimizations {
            // create a query graph model from this HirRelationExpr
            let model = Model::from(self);
            // @todo: perform optimizing algebraic rewrites on the qgm
            // ...
            // decorrelate and lower the optimized query graph model into a MirRelationExpr
            model.lower()
        } else {
            // directly decorrelate and lower into a MirRelationExpr
            self.lower()
        }
    }
pub fn optimize_and_lower ( self , config : & OptimizerConfig ) -> expr :: MirRelationExpr { if config . qgm_optimizations { // create a query graph model from this HirRelationExpr let model = Model :: from ( self ) ; // @todo: perform optimizing algebraic rewrites on the qgm // ... // decorrelate and lower the optimized query graph model into a MirRelationExpr model . lower ( ) } else { // directly decorrelate and lower into a MirRelationExpr self . lower ( ) } }
Perform optimizing algebraic rewrites on this [`HirRelationExpr`] and lower it to a [`expr::MirRelationExpr`].
Perform optimizing algebraic rewrites on this [ ` HirRelationExpr ` ] and lower it to a [ ` expr :: MirRelationExpr ` ] .
self
config
&OptimizerConfig
self
config
&OptimizerConfig