You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by ja...@apache.org on 2023/01/29 12:42:36 UTC
[doris] branch master updated: [Fix](Nereids): fix error of X-Z function for nereids (#16171)
This is an automated email from the ASF dual-hosted git repository.
jakevin 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 1db7882bb5 [Fix](Nereids): fix error of X-Z function for nereids (#16171)
1db7882bb5 is described below
commit 1db7882bb5313f71e06456639ed0bb9fb31da5d7
Author: mch_ucchi <41...@users.noreply.github.com>
AuthorDate: Sun Jan 29 20:42:30 2023 +0800
[Fix](Nereids): fix error of X-Z function for nereids (#16171)
---
.../doris/nereids/parser/LogicalPlanBuilder.java | 5 -
.../nereids_function_p0/scalar_function/A-F.out | 102 +++++++++++++-
.../nereids_function_p0/scalar_function/X-Z.out | 150 +++++++++++++++++++++
.../nereids_function_p0/scalar_function/A-F.groovy | 15 +--
.../nereids_function_p0/scalar_function/X-Z.groovy | 23 ++--
5 files changed, 262 insertions(+), 33 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
index 575f20c994..db976292b1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
@@ -215,8 +215,6 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalUnion;
import org.apache.doris.nereids.trees.plans.logical.RelationUtil;
import org.apache.doris.nereids.trees.plans.logical.UsingJoin;
import org.apache.doris.nereids.types.DataType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.TinyIntType;
import org.apache.doris.nereids.util.ExpressionUtils;
import org.apache.doris.policy.PolicyTypeEnum;
import org.apache.doris.qe.ConnectContext;
@@ -828,9 +826,6 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor<Object> {
public Expression visitDate_sub(Date_subContext ctx) {
Expression timeStamp = (Expression) visit(ctx.timestamp);
Expression amount = (Expression) visit(ctx.unitsAmount);
- if (! (amount.getDataType() instanceof TinyIntType)) {
- amount = new Cast(amount, IntegerType.INSTANCE);
- }
if (ctx.unit == null) {
//use "DAY" as unit by default
return new DaysSub(timeStamp, amount);
diff --git a/regression-test/data/nereids_function_p0/scalar_function/A-F.out b/regression-test/data/nereids_function_p0/scalar_function/A-F.out
index d59832d042..9a405a8c16 100644
--- a/regression-test/data/nereids_function_p0/scalar_function/A-F.out
+++ b/regression-test/data/nereids_function_p0/scalar_function/A-F.out
@@ -346,15 +346,15 @@
-- !sql --
\N
-0.4641588833612779
-0.5848035476425733
-0.6694329500821695
-0.7368062997280773
+0.46415888336127786
+0.5848035476425731
+0.6694329500821694
+0.7368062997280772
0.7937005259840998
0.8434326653017492
0.8879040017426008
-0.9283177667225558
-0.9654893846056298
+0.9283177667225557
+0.9654893846056297
1.0
1.0322801154563672
1.0626585691826111
@@ -1229,6 +1229,21 @@ varchar13
2012-03-11T11:10:11
2012-03-12T12:11:12
+-- !sql --
+\N
+2012-03-01T01:00:01
+2012-03-02T02:01:02
+2012-03-03T03:02:03
+2012-03-04T04:03:04
+2012-03-05T05:04:05
+2012-03-06T06:05:06
+2012-03-07T07:06:07
+2012-03-08T08:07:08
+2012-03-09T09:08:09
+2012-03-10T10:09:10
+2012-03-11T11:10:11
+2012-03-12T12:11:12
+
-- !sql --
\N
2012-03-01
@@ -1394,6 +1409,21 @@ varchar13
2012-03-11T11:10:11
2012-03-12T12:11:12
+-- !sql --
+\N
+2012-03-01T01:00:01
+2012-03-02T02:01:02
+2012-03-03T03:02:03
+2012-03-04T04:03:04
+2012-03-05T05:04:05
+2012-03-06T06:05:06
+2012-03-07T07:06:07
+2012-03-08T08:07:08
+2012-03-09T09:08:09
+2012-03-10T10:09:10
+2012-03-11T11:10:11
+2012-03-12T12:11:12
+
-- !sql --
\N
2012-03-01
@@ -1784,6 +1814,66 @@ Monday
0
0
+-- !sql --
+\N
+2012-02-29T01:00:01
+2012-02-29T02:01:02
+2012-02-29T03:02:03
+2012-02-29T04:03:04
+2012-02-29T05:04:05
+2012-02-29T06:05:06
+2012-02-29T07:06:07
+2012-02-29T08:07:08
+2012-02-29T09:08:09
+2012-02-29T10:09:10
+2012-02-29T11:10:11
+2012-02-29T12:11:12
+
+-- !sql --
+\N
+2012-02-29T01:00:01
+2012-02-29T02:01:02
+2012-02-29T03:02:03
+2012-02-29T04:03:04
+2012-02-29T05:04:05
+2012-02-29T06:05:06
+2012-02-29T07:06:07
+2012-02-29T08:07:08
+2012-02-29T09:08:09
+2012-02-29T10:09:10
+2012-02-29T11:10:11
+2012-02-29T12:11:12
+
+-- !sql --
+\N
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+
+-- !sql --
+\N
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+2012-02-29
+
-- !sql --
\N
1.0
diff --git a/regression-test/data/nereids_function_p0/scalar_function/X-Z.out b/regression-test/data/nereids_function_p0/scalar_function/X-Z.out
index 4e91706419..9c6ca6ad01 100644
--- a/regression-test/data/nereids_function_p0/scalar_function/X-Z.out
+++ b/regression-test/data/nereids_function_p0/scalar_function/X-Z.out
@@ -494,6 +494,81 @@
201210
201211
+-- !sql --
+\N
+2013-03-01T01:00:01
+2014-03-02T02:01:02
+2015-03-03T03:02:03
+2016-03-04T04:03:04
+2017-03-05T05:04:05
+2018-03-06T06:05:06
+2019-03-07T07:06:07
+2020-03-08T08:07:08
+2021-03-09T09:08:09
+2022-03-10T10:09:10
+2023-03-11T11:10:11
+2024-03-12T12:11:12
+
+-- !sql --
+\N
+2013-03-01T01:00:01
+2014-03-02T02:01:02
+2015-03-03T03:02:03
+2016-03-04T04:03:04
+2017-03-05T05:04:05
+2018-03-06T06:05:06
+2019-03-07T07:06:07
+2020-03-08T08:07:08
+2021-03-09T09:08:09
+2022-03-10T10:09:10
+2023-03-11T11:10:11
+2024-03-12T12:11:12
+
+-- !sql --
+\N
+2013-03-01
+2014-03-02
+2015-03-03
+2016-03-04
+2017-03-05
+2018-03-06
+2019-03-07
+2020-03-08
+2021-03-09
+2022-03-10
+2023-03-11
+2024-03-12
+
+-- !sql --
+\N
+2013-03-01
+2014-03-02
+2015-03-03
+2016-03-04
+2017-03-05
+2018-03-06
+2019-03-07
+2020-03-08
+2021-03-09
+2022-03-10
+2023-03-11
+2024-03-12
+
+-- !sql --
+\N
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
-- !sql --
\N
0
@@ -599,3 +674,78 @@
0
0
+-- !sql --
+\N
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+-- !sql --
+\N
+2011-03-01T01:00:01
+2010-03-02T02:01:02
+2009-03-03T03:02:03
+2008-03-04T04:03:04
+2007-03-05T05:04:05
+2006-03-06T06:05:06
+2005-03-07T07:06:07
+2004-03-08T08:07:08
+2003-03-09T09:08:09
+2002-03-10T10:09:10
+2001-03-11T11:10:11
+2000-03-12T12:11:12
+
+-- !sql --
+\N
+2011-03-01T01:00:01
+2010-03-02T02:01:02
+2009-03-03T03:02:03
+2008-03-04T04:03:04
+2007-03-05T05:04:05
+2006-03-06T06:05:06
+2005-03-07T07:06:07
+2004-03-08T08:07:08
+2003-03-09T09:08:09
+2002-03-10T10:09:10
+2001-03-11T11:10:11
+2000-03-12T12:11:12
+
+-- !sql --
+\N
+2011-03-01
+2010-03-02
+2009-03-03
+2008-03-04
+2007-03-05
+2006-03-06
+2005-03-07
+2004-03-08
+2003-03-09
+2002-03-10
+2001-03-11
+2000-03-12
+
+-- !sql --
+\N
+2011-03-01
+2010-03-02
+2009-03-03
+2008-03-04
+2007-03-05
+2006-03-06
+2005-03-07
+2004-03-08
+2003-03-09
+2002-03-10
+2001-03-11
+2000-03-12
+
diff --git a/regression-test/suites/nereids_function_p0/scalar_function/A-F.groovy b/regression-test/suites/nereids_function_p0/scalar_function/A-F.groovy
index f97796c346..8ea8296e1d 100644
--- a/regression-test/suites/nereids_function_p0/scalar_function/A-F.groovy
+++ b/regression-test/suites/nereids_function_p0/scalar_function/A-F.groovy
@@ -145,8 +145,7 @@ suite("nereids_scalar_fn_1") {
qt_sql "select day_ceil(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
qt_sql "select day_ceil(kdtv2, kdtv2) from fn_test order by kdtv2, kdtv2"
qt_sql "select day_ceil(kdtv2, kint) from fn_test order by kdtv2, kint"
- // core
- // qt_sql "select day_ceil(kdtm, kint, kdtm) from fn_test order by kdtm, kint, kdtm"
+ qt_sql "select day_ceil(kdtm, kint, kdtm) from fn_test order by kdtm, kint, kdtm"
qt_sql "select day_ceil(kdtmv2s1, kint, kdtmv2s1) from fn_test order by kdtmv2s1, kint, kdtmv2s1"
qt_sql "select day_ceil(kdtv2, kint, kdtv2) from fn_test order by kdtv2, kint, kdtv2"
qt_sql "select day_floor(kdtm) from fn_test order by kdtm"
@@ -158,8 +157,7 @@ suite("nereids_scalar_fn_1") {
qt_sql "select day_floor(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
qt_sql "select day_floor(kdtv2, kdtv2) from fn_test order by kdtv2, kdtv2"
qt_sql "select day_floor(kdtv2, kint) from fn_test order by kdtv2, kint"
- // core
- // qt_sql "select day_floor(kdtm, kint, kdtm) from fn_test order by kdtm, kint, kdtm"
+ qt_sql "select day_floor(kdtm, kint, kdtm) from fn_test order by kdtm, kint, kdtm"
qt_sql "select day_floor(kdtmv2s1, kint, kdtmv2s1) from fn_test order by kdtmv2s1, kint, kdtmv2s1"
qt_sql "select day_floor(kdtv2, kint, kdtv2) from fn_test order by kdtv2, kint, kdtv2"
qt_sql "select dayname(kdtm) from fn_test order by kdtm"
@@ -187,11 +185,10 @@ suite("nereids_scalar_fn_1") {
qt_sql "select days_diff(kdtm, kdtv2) from fn_test order by kdtm, kdtv2"
qt_sql "select days_diff(kdtmv2s1, kdtm) from fn_test order by kdtmv2s1, kdtm"
qt_sql "select days_diff(kdtm, kdtmv2s1) from fn_test order by kdtm, kdtmv2s1"
- // cannot find function
- // qt_sql "select days_sub(kdtm, kint) from fn_test order by kdtm, kint"
- // qt_sql "select days_sub(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
- // qt_sql "select days_sub(kdt, kint) from fn_test order by kdt, kint"
- // qt_sql "select days_sub(kdtv2, kint) from fn_test order by kdtv2, kint"
+ qt_sql "select days_sub(kdtm, kint) from fn_test order by kdtm, kint"
+ qt_sql "select days_sub(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
+ qt_sql "select days_sub(kdt, kint) from fn_test order by kdt, kint"
+ qt_sql "select days_sub(kdtv2, kint) from fn_test order by kdtv2, kint"
qt_sql "select dceil(kdbl) from fn_test order by kdbl"
qt_sql "select degrees(kdbl) from fn_test order by kdbl"
// data out of double range
diff --git a/regression-test/suites/nereids_function_p0/scalar_function/X-Z.groovy b/regression-test/suites/nereids_function_p0/scalar_function/X-Z.groovy
index 57832c5414..1769146a3d 100644
--- a/regression-test/suites/nereids_function_p0/scalar_function/X-Z.groovy
+++ b/regression-test/suites/nereids_function_p0/scalar_function/X-Z.groovy
@@ -47,30 +47,27 @@ suite("nereids_scalar_fn_5") {
qt_sql "select year_floor(kdtm, kint, kdtm) from fn_test order by kdtm, kint, kdtm"
qt_sql "select year_floor(kdtmv2s1, kint, kdtmv2s1) from fn_test order by kdtmv2s1, kint, kdtmv2s1"
qt_sql "select year_floor(kdtv2, kint, kdtv2) from fn_test order by kdtv2, kint, kdtv2"
- // cannot find function
qt_sql "select yearweek(kdtm) from fn_test order by kdtm"
qt_sql "select yearweek(kdtmv2s1) from fn_test order by kdtmv2s1"
qt_sql "select yearweek(kdtv2) from fn_test order by kdtv2"
qt_sql "select yearweek(kdtm, kint) from fn_test order by kdtm, kint"
qt_sql "select yearweek(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
qt_sql "select yearweek(kdtv2, kint) from fn_test order by kdtv2, kint"
- // qt_sql "select years_add(kdtm, kint) from fn_test order by kdtm, kint"
- // qt_sql "select years_add(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
- // qt_sql "select years_add(kdt, kint) from fn_test order by kdt, kint"
- // qt_sql "select years_add(kdtv2, kint) from fn_test order by kdtv2, kint"
+ qt_sql "select years_add(kdtm, kint) from fn_test order by kdtm, kint"
+ qt_sql "select years_add(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
+ qt_sql "select years_add(kdt, kint) from fn_test order by kdt, kint"
+ qt_sql "select years_add(kdtv2, kint) from fn_test order by kdtv2, kint"
qt_sql "select years_diff(kdtm, kdtm) from fn_test order by kdtm, kdtm"
qt_sql "select years_diff(kdtmv2s1, kdtmv2s1) from fn_test order by kdtmv2s1, kdtmv2s1"
qt_sql "select years_diff(kdtv2, kdtmv2s1) from fn_test order by kdtv2, kdtmv2s1"
qt_sql "select years_diff(kdtmv2s1, kdtv2) from fn_test order by kdtmv2s1, kdtv2"
qt_sql "select years_diff(kdtv2, kdtv2) from fn_test order by kdtv2, kdtv2"
- // result error
- // qt_sql "select years_diff(kdtv2, kdtm) from fn_test order by kdtv2, kdtm"
- // qt_sql "select years_diff(kdtm, kdtv2) from fn_test order by kdtm, kdtv2"
+ qt_sql "select years_diff(kdtv2, kdtm) from fn_test order by kdtv2, kdtm"
+ qt_sql "select years_diff(kdtm, kdtv2) from fn_test order by kdtm, kdtv2"
qt_sql "select years_diff(kdtmv2s1, kdtm) from fn_test order by kdtmv2s1, kdtm"
qt_sql "select years_diff(kdtm, kdtmv2s1) from fn_test order by kdtm, kdtmv2s1"
- // cannot find function
- // qt_sql "select years_sub(kdtm, kint) from fn_test order by kdtm, kint"
- // qt_sql "select years_sub(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
- // qt_sql "select years_sub(kdt, kint) from fn_test order by kdt, kint"
- // qt_sql "select years_sub(kdtv2, kint) from fn_test order by kdtv2, kint"
+ qt_sql "select years_sub(kdtm, kint) from fn_test order by kdtm, kint"
+ qt_sql "select years_sub(kdtmv2s1, kint) from fn_test order by kdtmv2s1, kint"
+ qt_sql "select years_sub(kdt, kint) from fn_test order by kdt, kint"
+ qt_sql "select years_sub(kdtv2, kint) from fn_test order by kdtv2, kint"
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org