This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
from c620e06f6a [Enhencement](Broker reader)Use smart Pointer instead of
native Pointers in broker reader
add 77a3288ce7 [feature](Nereids) support window function (#14397)
No new revisions were added by this update.
Summary of changes:
.../antlr4/org/apache/doris/nereids/DorisParser.g4 | 35 +-
.../org/apache/doris/analysis/AnalyticExpr.java | 8 +-
.../org/apache/doris/analysis/AnalyticWindow.java | 6 +-
.../java/org/apache/doris/analysis/Analyzer.java | 4 +-
.../apache/doris/catalog/AggregateFunction.java | 4 +
.../doris/catalog/BuiltinWindowFunctions.java | 54 ++
.../org/apache/doris/catalog/FunctionHelper.java | 11 +
.../org/apache/doris/catalog/FunctionRegistry.java | 1 +
.../org/apache/doris/nereids/NereidsPlanner.java | 4 -
.../glue/translator/ExpressionTranslator.java | 48 +-
.../glue/translator/PhysicalPlanTranslator.java | 231 ++++++++-
.../glue/translator/PlanTranslatorContext.java | 15 +
.../jobs/batch/NereidsRewriteJobExecutor.java | 7 +
.../java/org/apache/doris/nereids/memo/Memo.java | 4 +-
.../doris/nereids/parser/LogicalPlanBuilder.java | 111 ++++-
.../nereids/properties/PhysicalProperties.java | 4 +
.../nereids/properties/RequestPropertyDeriver.java | 2 +-
.../org/apache/doris/nereids/rules/RuleSet.java | 2 +
.../org/apache/doris/nereids/rules/RuleType.java | 4 +-
.../nereids/rules/analysis/BindExpression.java | 3 +-
.../rules/analysis/ProjectToGlobalAggregate.java | 6 +-
.../rules/analysis/WindowFunctionChecker.java | 438 +++++++++++++++++
.../LogicalWindowToPhysicalWindow.java | 545 +++++++++++++++++++++
.../CheckAndStandardizeWindowFunctionAndFrame.java | 65 +++
.../ExtractAndNormalizeWindowExpression.java | 117 +++++
.../rules/rewrite/logical/NormalizeAggregate.java | 37 +-
.../rules/rewrite/logical/NormalizeToSlot.java | 4 +
.../doris/nereids/stats/StatsCalculator.java | 38 ++
.../trees/expressions/WindowExpression.java | 215 ++++++++
.../nereids/trees/expressions/WindowFrame.java | 270 ++++++++++
.../expressions/functions/window/DenseRank.java | 61 +++
.../functions/window/FirstOrLastValue.java | 48 ++
.../expressions/functions/window/FirstValue.java | 52 ++
.../trees/expressions/functions/window/Lag.java | 84 ++++
.../expressions/functions/window/LastValue.java | 42 ++
.../trees/expressions/functions/window/Lead.java | 85 ++++
.../trees/expressions/functions/window/Ntile.java | 76 +++
.../trees/expressions/functions/window/Rank.java | 61 +++
.../expressions/functions/window/RowNumber.java | 62 +++
.../functions/window/WindowFunction.java | 56 +++
.../expressions/visitor/ExpressionVisitor.java | 19 +-
.../expressions/visitor/WindowFunctionVisitor.java | 66 +++
.../apache/doris/nereids/trees/plans/PlanType.java | 2 +
.../doris/nereids/trees/plans/algebra/Window.java | 89 ++++
.../nereids/trees/plans/logical/LogicalWindow.java | 156 ++++++
.../trees/plans/physical/PhysicalQuickSort.java | 17 +-
.../trees/plans/physical/PhysicalWindow.java | 164 +++++++
.../nereids/trees/plans/visitor/PlanVisitor.java | 10 +
.../org/apache/doris/nereids/types/DataType.java | 4 +
.../org/apache/doris/planner/AnalyticEvalNode.java | 30 +-
.../org/apache/doris/planner/AnalyticPlanner.java | 6 +-
.../doris/nereids/parser/NereidsParserTest.java | 21 +-
.../CheckAndStandardizeWindowFunctionTest.java | 260 ++++++++++
.../ExtractAndNormalizeWindowExpressionTest.java | 233 +++++++++
.../logical/LogicalWindowToPhysicalWindowTest.java | 95 ++++
.../java/org/apache/doris/planner/PlannerTest.java | 2 -
.../data/nereids_syntax_p0/window_function.out | 359 ++++++++++++++
.../nereids_syntax_p0/window_function.groovy | 119 +++++
58 files changed, 4513 insertions(+), 59 deletions(-)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinWindowFunctions.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/WindowFunctionChecker.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalWindowToPhysicalWindow.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/CheckAndStandardizeWindowFunctionAndFrame.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/ExtractAndNormalizeWindowExpression.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/WindowExpression.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/WindowFrame.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/DenseRank.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/FirstOrLastValue.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/FirstValue.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/Lag.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/LastValue.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/Lead.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/Ntile.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/Rank.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/RowNumber.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/window/WindowFunction.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/WindowFunctionVisitor.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/algebra/Window.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalWindow.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/logical/CheckAndStandardizeWindowFunctionTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/logical/ExtractAndNormalizeWindowExpressionTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/logical/LogicalWindowToPhysicalWindowTest.java
create mode 100644 regression-test/data/nereids_syntax_p0/window_function.out
create mode 100644
regression-test/suites/nereids_syntax_p0/window_function.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]