fn order_by(
        &self,
        plan: &LogicalPlan,
        order_by: &[OrderByExpr],
    ) -> Result<LogicalPlan> {
        if order_by.is_empty() {
            return Ok(plan.clone());
        }

        let order_by_rex = order_by
            .iter()
            .map(|e| self.order_by_to_sort_expr(e))
            .into_iter()
            .collect::<Result<Vec<_>>>()?;

        LogicalPlanBuilder::from(&plan).sort(order_by_rex)?.build()
    }
/// Wrap the logical in a sort
Wrap the logical in a sort
Wrap the logical in a sort
fn order_by(
        &self,
        plan: &LogicalPlan,
        order_by: &[OrderByExpr],
    ) -> Result<LogicalPlan> {
        if order_by.is_empty() {
            return Ok(plan.clone());
        }
        let order_by_rex = order_by
            .iter()
            .map(|e| self.order_by_to_sort_expr(e))
            .into_iter()
            .collect::<Result<Vec<_>>>()?;
        LogicalPlanBuilder::from(&plan).sort(order_by_rex)?.build()
    }
fn order_by ( & self , plan : & LogicalPlan , order_by : & [ OrderByExpr ] , ) -> Result < LogicalPlan > { if order_by . is_empty ( ) { return Ok ( plan . clone ( ) ) ; } let order_by_rex = order_by . iter ( ) . map ( | e | self . order_by_to_sort_expr ( e ) ) . into_iter ( ) . collect :: < Result < Vec < _ > > > ( ) ? ; LogicalPlanBuilder :: from ( & plan ) . sort ( order_by_rex ) ? . build ( ) }
Wrap the logical in a sort
Wrap the logical in a sort
&self
plan
&LogicalPlan
order_by
&[OrderByExpr]
&self
plan
&LogicalPlan
order_by
&[OrderByExpr]