This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit e36f3901341cb0ba22f8dd586952c83ec486e663 Author: starocean999 <[email protected]> AuthorDate: Mon Jan 29 16:45:35 2024 +0800 [fix](nereids)window expression's window frame may lost in NormalizeToSlot (#30378) --- .../java/org/apache/doris/nereids/rules/rewrite/NormalizeToSlot.java | 3 +++ .../suites/nereids_p0/aggregate/agg_window_project.groovy | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/NormalizeToSlot.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/NormalizeToSlot.java index 1cd56ad1298..efad94c665d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/NormalizeToSlot.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/NormalizeToSlot.java @@ -185,6 +185,9 @@ public interface NormalizeToSlot { } newChildren.add(newChild); } + if (windowExpression.getWindowFrame().isPresent()) { + newChildren.add(windowExpression.getWindowFrame().get()); + } return hasNewChildren ? windowExpression.withChildren(newChildren) : windowExpression; } } diff --git a/regression-test/suites/nereids_p0/aggregate/agg_window_project.groovy b/regression-test/suites/nereids_p0/aggregate/agg_window_project.groovy index 605f4da5ffd..0c9ea9d9fde 100644 --- a/regression-test/suites/nereids_p0/aggregate/agg_window_project.groovy +++ b/regression-test/suites/nereids_p0/aggregate/agg_window_project.groovy @@ -96,5 +96,10 @@ suite("agg_window_project") { order_qt_select4 """select a, c, sum(sum(b)) over(partition by c order by c rows between unbounded preceding and current row) from test_window_table2 group by a, c having a > 1;""" + explain { + sql("select a, c, sum(sum(b)) over(partition by c order by c rows between unbounded preceding and current row) from test_window_table2 group by a, c having a > 1;") + contains "ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW" + } + sql "DROP TABLE IF EXISTS test_window_table2;" } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
