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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org