You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2020/03/02 15:01:01 UTC
[incubator-iotdb] 02/02: use NOW() operator in Group by
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch now_In_GroupBy
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit e36c27836889d8d7d27337023a7dab16cdd28173
Author: HTHou <hh...@outlook.com>
AuthorDate: Mon Mar 2 23:00:00 2020 +0800
use NOW() operator in Group by
---
server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 | 1 +
.../main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
index 8dc81d2..9e547e3 100644
--- a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
+++ b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
@@ -258,6 +258,7 @@ timeInterval
timeValue
: dateFormat
+ | dateExpression
| INT
;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
index 272bc14..b67f048 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
@@ -688,11 +688,15 @@ public class LogicalGenerator extends SqlBaseBaseListener {
TimeIntervalContext timeInterval = ctx.timeInterval();
if (timeInterval.timeValue(0).INT() != null) {
startTime = Long.parseLong(timeInterval.timeValue(0).INT().getText());
+ } else if (timeInterval.timeValue(0).dateExpression() != null) {
+ startTime = parseDateExpression(timeInterval.timeValue(0).dateExpression());
} else {
startTime = parseTimeFormat(timeInterval.timeValue(0).dateFormat().getText());
}
if (timeInterval.timeValue(1).INT() != null) {
endTime = Long.parseLong(timeInterval.timeValue(1).INT().getText());
+ } else if (timeInterval.timeValue(1).dateExpression() != null) {
+ endTime = parseDateExpression(timeInterval.timeValue(1).dateExpression());
} else {
endTime = parseTimeFormat(timeInterval.timeValue(1).dateFormat().getText());
}