This is an automated email from the ASF dual-hosted git repository.
gabriellee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 578a855b3e [Bug](topn-opt) filter condition for analytic info for two
phase read opt (#16173)
578a855b3e is described below
commit 578a855b3e5e114e9fe94f2b8432ae6586aaf020
Author: lihangyu <[email protected]>
AuthorDate: Sun Jan 29 12:06:18 2023 +0800
[Bug](topn-opt) filter condition for analytic info for two phase read opt
(#16173)
two phase read optimization should not be enabled when query has analytic
info
---
.../java/org/apache/doris/analysis/SelectStmt.java | 3 +-
.../string_functions/sql/analytic_query.out | 79 ++++++++++++++++++++++
.../string_functions/sql/analytic_query.sql | 19 ++++++
3 files changed, 100 insertions(+), 1 deletion(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
index d2fb2636f2..399043555e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
@@ -667,7 +667,8 @@ public class SelectStmt extends QueryStmt {
// Only handle the simplest `SELECT ... FROM <tbl> WHERE ... ORDER BY
... LIMIT ...` query
if (getAggInfo() != null
|| getHavingPred() != null
- || getWithClause() != null) {
+ || getWithClause() != null
+ || getAnalyticInfo() != null) {
return false;
}
if (!analyzer.isRootAnalyzer()) {
diff --git
a/regression-test/data/query_p0/sql_functions/string_functions/sql/analytic_query.out
b/regression-test/data/query_p0/sql_functions/string_functions/sql/analytic_query.out
new file mode 100644
index 0000000000..3807e5fcf9
--- /dev/null
+++
b/regression-test/data/query_p0/sql_functions/string_functions/sql/analytic_query.out
@@ -0,0 +1,79 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- !analytic_query --
+4627 1830 257.82 4627 4627 1830 4627 257.82 257.82 5.7.99
60
+4535 1201 218.04 4535 4535 1201 4535 218.04 218.04 5.7.99
76
+2581 1971 931.05 2581 2581 1971 2581 931.05 931.05 5.7.99
4
+3554 317 332.0 3554 3554 317 3554 332.0 332.0 5.7.99
18
+5517 1658 968.84 5517 5517 1658 5517 968.84 968.84 5.7.99
82
+8761 1053 106.7 8761 8761 1053 8761 106.7 106.7 5.7.99
24
+2972 57 123.11 2972 2972 57 2972 123.11 123.11 5.7.99
58
+717 254 564.77 717 717 254 717 564.77 564.77 5.7.99
82
+1674 705 102.28 1674 1674 705 1674 102.28 102.28 5.7.99
38
+796 971 318.79 796 796 971 796 318.79 318.79 5.7.99
72
+6707 1634 372.29 6707 6707 1634 6707 372.29 372.29 5.7.99
35
+4049 1872 447.75 4049 4049 1872 4049 447.75 447.75 5.7.99
73
+8067 1376 912.31 8067 8067 1376 8067 912.31 912.31 5.7.99
53
+2313 1214 438.22 2313 2313 1214 2313 438.22 438.22 5.7.99
52
+5327 73 108.96 5327 5327 73 5327 108.96 108.96 5.7.99
24
+5500 1821 882.5 5500 5500 1821 5500 882.5 882.5 5.7.99
51
+1798 433 128.56 1798 1798 433 1798 128.56 128.56 5.7.99
92
+5475 39 532.26 5475 5475 39 5475 532.26 532.26 5.7.99
90
+6054 1606 486.42 6054 6054 1606 6054 486.42 486.42 5.7.99
89
+6875 1082 826.47 6875 6875 1082 6875 826.47 826.47 5.7.99
53
+3180 1873 629.18 3180 3180 1873 3180 629.18 629.18 5.7.99
17
+3391 1793 588.68 3391 3391 1793 3391 588.68 588.68 5.7.99
78
+517 964 517.38 517 517 964 517 517.38 517.38 5.7.99
65
+4580 97 761.41 4580 4580 97 4580 761.41 761.41 5.7.99
73
+8071 1390 612.13 8071 8071 1390 8071 612.13 612.13 5.7.99
91
+7236 736 872.53 7236 7236 736 7236 872.53 872.53 5.7.99
37
+3126 1403 173.62 3126 3126 1403 3126 173.62 173.62 5.7.99
21
+9755 1053 189.42 9755 9755 1053 9755 189.42 189.42 5.7.99
54
+9702 26 821.89 9702 9702 26 9702 821.89 821.89 5.7.99
2
+2356 1188 841.79 2356 2356 1188 2356 841.79 841.79 5.7.99
89
+626 747 91.87 626 626 747 626 91.87 91.87 5.7.99
80
+1285 1518 335.15 1285 1285 1518 1285 335.15 335.15 5.7.99
99
+8316 959 435.36 8316 8316 959 8316 435.36 435.36 5.7.99
62
+2338 1228 658.94 2338 2338 1228 2338 658.94 658.94 5.7.99
29
+8112 1860 215.52 8112 8112 1860 8112 215.52 215.52 5.7.99
4
+8915 1134 839.18 8915 8915 1134 8915 839.18 839.18 5.7.99
71
+1303 772 942.93 1303 1303 772 1303 942.93 942.93 5.7.99
5
+3238 648 69.51 3238 3238 648 3238 69.51 69.51 5.7.99
80
+2205 850 219.21 2205 2205 850 2205 219.21 219.21 5.7.99
17
+1064 1589 439.88 1064 1064 1589 1064 439.88 439.88 5.7.99
30
+3224 1958 829.21 3224 3224 1958 3224 829.21 829.21 5.7.99
3
+7645 252 275.23 7645 7645 252 7645 275.23 275.23 5.7.99
34
+1550 999 136.14 1550 1550 999 1550 136.14 136.14 5.7.99
2
+3896 1292 924.38 3896 3896 1292 3896 924.38 924.38 5.7.99
4
+7278 972 967.71 7278 7278 972 7278 967.71 967.71 5.7.99
75
+753 1365 871.48 753 753 1365 753 871.48 871.48 5.7.99
80
+5985 663 332.39 5985 5985 663 5985 332.39 332.39 5.7.99
57
+7347 1747 461.67 7347 7347 1747 7347 461.67 461.67 5.7.99
90
+352 536 143.93 352 352 536 352 143.93 143.93 5.7.99
97
+2261 1794 157.22 2261 2261 1794 2261 157.22 157.22 5.7.99
95
+3793 503 68.79 3793 3793 503 3793 68.79 68.79 5.7.99
34
+282 1423 800.36 282 282 1423 282 800.36 800.36 5.7.99
41
+1567 1809 991.6 1567 1567 1809 1567 991.6 991.6 5.7.99
39
+7407 922 457.36 7407 7407 922 7407 457.36 457.36 5.7.99
91
+5827 1159 645.53 5827 5827 1159 5827 645.53 645.53 5.7.99
68
+5472 1602 547.06 5472 5472 1602 5472 547.06 547.06 5.7.99
85
+6971 723 108.21 6971 6971 723 6971 108.21 108.21 5.7.99
20
+6443 598 265.4 6443 6443 598 6443 265.4 265.4 5.7.99
99
+3242 1392 673.51 3242 3242 1392 3242 673.51 673.51 5.7.99
7
+2113 1953 148.78 2113 2113 1953 2113 148.78 148.78 5.7.99
86
+7244 951 709.23 7244 7244 951 7244 709.23 709.23 5.7.99
52
+2894 1367 951.21 2894 2894 1367 2894 951.21 951.21 5.7.99
82
+9489 1873 405.31 9489 9489 1873 9489 405.31 405.31 5.7.99
3
+2708 1566 571.65 2708 2708 1566 2708 571.65 571.65 5.7.99
87
+1019 122 451.29 1019 1019 122 1019 451.29 451.29 5.7.99
23
+1821 1906 386.55 1821 1821 1906 1821 386.55 386.55 5.7.99
39
+5058 1712 338.6 5058 5058 1712 5058 338.6 338.6 5.7.99
13
+1695 1776 138.16 1695 1695 1776 1695 138.16 138.16 5.7.99
77
+3058 343 18.48 3058 3058 343 3058 18.48 18.48 5.7.99
44
+6105 516 600.29 6105 6105 516 6105 600.29 600.29 5.7.99
17
+7441 289 519.98 7441 7441 289 7441 519.98 519.98 5.7.99
71
+341 889 931.12 341 341 889 341 931.12 931.12 5.7.99
23
+1168 1301 624.73 1168 1168 1301 1168 624.73 624.73 5.7.99
16
+2307 119 473.64 2307 2307 119 2307 473.64 473.64 5.7.99
20
+4692 113 141.48 4692 4692 113 4692 141.48 141.48 5.7.99
92
+1726 1111 22.72 1726 1726 1111 1726 22.72 22.72 5.7.99
84
+
diff --git
a/regression-test/suites/query_p0/sql_functions/string_functions/sql/analytic_query.sql
b/regression-test/suites/query_p0/sql_functions/string_functions/sql/analytic_query.sql
new file mode 100644
index 0000000000..60d7071818
--- /dev/null
+++
b/regression-test/suites/query_p0/sql_functions/string_functions/sql/analytic_query.sql
@@ -0,0 +1,19 @@
+SELECT /*+ SET_VAR(query_timeout = 600) */ ref_0.`availqty` AS c0,
+ ref_0.`partkey` AS c1,
+ coalesce(ref_0.`supplycost`,
ref_0.`supplycost`) AS c2,
+ ref_0.`availqty` AS c3,
+ ref_0.`availqty` AS c4,
+ ref_0.`partkey` AS c5,
+ max(cast(ref_0.`availqty` AS int))
OVER (PARTITION BY ref_0.`supplycost`,
+
ref_0.`comment`,
+
ref_0.`partkey`
+
ORDER BY ref_0.`supplycost`) AS c6,
+
ref_0.`supplycost` AS c7,
+
ref_0.`supplycost` AS c8,
+
version() AS c9,
+
ref_0.`suppkey` AS c10
+FROM
regression_test_query_p0_sql_functions_string_functions.tpch_tiny_partsupp AS
ref_0
+WHERE TRUE
+ORDER BY ref_0.`comment`
+LIMIT 76
+OFFSET 120
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]