This is an automated email from the ASF dual-hosted git repository.

jackietien pushed a commit to branch ca_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 66cb36d2edde039f15f2ee7cf0d4d7a2ea6894f8
Author: JackieTien97 <[email protected]>
AuthorDate: Sun Aug 6 15:08:26 2023 +0800

    Stop generating FilterExpression if we don't specify the time filter in 
last query session api
---
 .../protocol/thrift/impl/ClientRPCServiceImpl.java  |  2 +-
 .../queryengine/plan/parser/StatementGenerator.java | 21 ++++++++++++---------
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index a13f54c5d8f..06d2505dcac 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@ -952,7 +952,7 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
       paths.add(req.deviceId + "." + sensor);
     }
     TSLastDataQueryReq tsLastDataQueryReq =
-        new TSLastDataQueryReq(req.sessionId, paths, 0, req.statementId);
+        new TSLastDataQueryReq(req.sessionId, paths, Long.MIN_VALUE, 
req.statementId);
     tsLastDataQueryReq.setFetchSize(req.fetchSize);
     tsLastDataQueryReq.setEnableRedirectQuery(req.enableRedirectQuery);
     tsLastDataQueryReq.setLegalPathNodes(req.legalPathNodes);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
index 8a2e98d3be2..74cb4fb8aa2 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
@@ -197,18 +197,21 @@ public class StatementGenerator {
         new ResultColumn(
             new TimeSeriesOperand(new PartialPath("", false)), 
ResultColumn.ColumnType.RAW));
 
-    // set query filter
-    WhereCondition whereCondition = new WhereCondition();
-    GreaterEqualExpression predicate =
-        new GreaterEqualExpression(
-            new TimestampOperand(),
-            new ConstantOperand(TSDataType.INT64, 
Long.toString(lastDataQueryReq.getTime())));
-    whereCondition.setPredicate(predicate);
-
     QueryStatement lastQueryStatement = new QueryStatement();
+
+    if (lastDataQueryReq.getTime() != Long.MIN_VALUE) {
+      // set query filter
+      WhereCondition whereCondition = new WhereCondition();
+      GreaterEqualExpression predicate =
+          new GreaterEqualExpression(
+              new TimestampOperand(),
+              new ConstantOperand(TSDataType.INT64, 
Long.toString(lastDataQueryReq.getTime())));
+      whereCondition.setPredicate(predicate);
+      lastQueryStatement.setWhereCondition(whereCondition);
+    }
+
     lastQueryStatement.setSelectComponent(selectComponent);
     lastQueryStatement.setFromComponent(fromComponent);
-    lastQueryStatement.setWhereCondition(whereCondition);
     PERFORMANCE_OVERVIEW_METRICS.recordParseCost(System.nanoTime() - 
startTime);
 
     return lastQueryStatement;

Reply via email to