This is an automated email from the ASF dual-hosted git repository. kangkaisen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new 79b4f92 Rewrite GroupByClause.oriGroupingExprs (#4197) 79b4f92 is described below commit 79b4f92cb717ce49d5dd29e96c38fd8811df1c66 Author: Lijia Liu <liutang...@yeah.net> AuthorDate: Wed Jul 29 12:27:15 2020 +0800 Rewrite GroupByClause.oriGroupingExprs (#4197) --- .../src/main/java/org/apache/doris/analysis/GroupByClause.java | 4 ++++ .../src/main/java/org/apache/doris/analysis/SelectStmt.java | 4 ++++ .../src/test/java/org/apache/doris/analysis/SelectStmtTest.java | 6 ++++++ .../src/test/java/org/apache/doris/utframe/MockedBackend.java | 8 ++++++++ 4 files changed, 22 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java index 005d882..70f6424 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java @@ -114,6 +114,10 @@ public class GroupByClause implements ParseNode { } } + public List<Expr> getOriGroupingExprs() { + return oriGroupingExprs; + } + public ArrayList<Expr> getGroupingExprs() { if (!exprGenerated) { try { 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 1e3fef3..f2b057a 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 @@ -1407,6 +1407,10 @@ public class SelectStmt extends QueryStmt { if (groupingExprs != null) { rewriter.rewriteList(groupingExprs, analyzer); } + List<Expr> oriGroupingExprs = groupByClause.getOriGroupingExprs(); + if (oriGroupingExprs != null) { + rewriter.rewriteList(oriGroupingExprs, analyzer); + } } if (orderByElements != null) { for (OrderByElement orderByElem : orderByElements) { diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/SelectStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/SelectStmtTest.java index 3cb0f2f..86c6153 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/SelectStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/SelectStmtTest.java @@ -331,4 +331,10 @@ public class SelectStmtTest { System.out.println(e.getMessage()); } } + + @Test + public void testGroupByConstantExpression() throws Exception { + String sql = "SELECT k1 - 4*60*60 FROM baseall GROUP BY k1 - 4*60*60"; + dorisAssert.query(sql).explainQuery(); + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackend.java b/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackend.java index bd65b6c..844828b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackend.java +++ b/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackend.java @@ -18,11 +18,14 @@ package org.apache.doris.utframe; import org.apache.doris.common.ThriftServer; +import org.apache.doris.common.util.JdkUtils; import org.apache.doris.thrift.BackendService; import org.apache.doris.thrift.HeartbeatService; import org.apache.doris.thrift.TNetworkAddress; import org.apache.doris.utframe.MockedBackendFactory.BeThriftService; +import com.baidu.bjf.remoting.protobuf.utils.JDKCompilerHelper; +import com.baidu.bjf.remoting.protobuf.utils.compiler.JdkCompiler; import com.baidu.jprotobuf.pbrpc.transport.RpcServer; import org.apache.thrift.TProcessor; @@ -56,6 +59,11 @@ public class MockedBackend { // This must be set explicitly after creating mocked Backend private TNetworkAddress feAddress; + static { + int javaRuntimeVersion = JdkUtils.getJavaVersionAsInteger(System.getProperty("java.version")); + JDKCompilerHelper.setCompiler(new JdkCompiler(JdkCompiler.class.getClassLoader(), String.valueOf(javaRuntimeVersion))); + } + public MockedBackend(String host, int heartbeatPort, int thriftPort, int brpcPort, int httpPort, HeartbeatService.Iface hbService, BeThriftService backendService, --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org