Skip to content
Snippets Groups Projects
  • Yin Huai's avatar
    e0701c75
    [SPARK-9830][SQL] Remove AggregateExpression1 and Aggregate Operator used to... · e0701c75
    Yin Huai authored
    [SPARK-9830][SQL] Remove AggregateExpression1 and Aggregate Operator used to evaluate AggregateExpression1s
    
    https://issues.apache.org/jira/browse/SPARK-9830
    
    This PR contains the following main changes.
    * Removing `AggregateExpression1`.
    * Removing `Aggregate` operator, which is used to evaluate `AggregateExpression1`.
    * Removing planner rule used to plan `Aggregate`.
    * Linking `MultipleDistinctRewriter` to analyzer.
    * Renaming `AggregateExpression2` to `AggregateExpression` and `AggregateFunction2` to `AggregateFunction`.
    * Updating places where we create aggregate expression. The way to create aggregate expressions is `AggregateExpression(aggregateFunction, mode, isDistinct)`.
    * Changing `val`s in `DeclarativeAggregate`s that touch children of this function to `lazy val`s (when we create aggregate expression in DataFrame API, children of an aggregate function can be unresolved).
    
    Author: Yin Huai <yhuai@databricks.com>
    
    Closes #9556 from yhuai/removeAgg1.
    e0701c75
    History
    [SPARK-9830][SQL] Remove AggregateExpression1 and Aggregate Operator used to...
    Yin Huai authored
    [SPARK-9830][SQL] Remove AggregateExpression1 and Aggregate Operator used to evaluate AggregateExpression1s
    
    https://issues.apache.org/jira/browse/SPARK-9830
    
    This PR contains the following main changes.
    * Removing `AggregateExpression1`.
    * Removing `Aggregate` operator, which is used to evaluate `AggregateExpression1`.
    * Removing planner rule used to plan `Aggregate`.
    * Linking `MultipleDistinctRewriter` to analyzer.
    * Renaming `AggregateExpression2` to `AggregateExpression` and `AggregateFunction2` to `AggregateFunction`.
    * Updating places where we create aggregate expression. The way to create aggregate expressions is `AggregateExpression(aggregateFunction, mode, isDistinct)`.
    * Changing `val`s in `DeclarativeAggregate`s that touch children of this function to `lazy val`s (when we create aggregate expression in DataFrame API, children of an aggregate function can be unresolved).
    
    Author: Yin Huai <yhuai@databricks.com>
    
    Closes #9556 from yhuai/removeAgg1.