You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2021/11/23 03:34:09 UTC
[iotdb] 01/02: Fix Time Filter doesn't take effect in last query bug
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch LastBug
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c52638650a978fb2103de8c59c1608319910f987
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Tue Nov 23 11:33:08 2021 +0800
Fix Time Filter doesn't take effect in last query bug
---
.../iotdb/db/query/executor/LastQueryExecutor.java | 26 ++++++++++------------
.../IoTDBLastQueryWithTimeFilterIT.java | 3 ++-
2 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
index 5216943..8d9e4fd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
@@ -19,6 +19,16 @@
package org.apache.iotdb.db.query.executor;
+import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_TIMESERIES;
+import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_TIMESERIES_DATATYPE;
+import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_VALUE;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.StorageEngine;
import org.apache.iotdb.db.engine.querycontext.QueryDataSource;
@@ -45,21 +55,9 @@ import org.apache.iotdb.tsfile.read.filter.basic.Filter;
import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet;
import org.apache.iotdb.tsfile.utils.Binary;
import org.apache.iotdb.tsfile.utils.Pair;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_TIMESERIES;
-import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_TIMESERIES_DATATYPE;
-import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_VALUE;
-
public class LastQueryExecutor {
private List<PartialPath> selectedSeries;
@@ -177,7 +175,7 @@ public class LastQueryExecutor {
for (int i = 0; i < nonCachedPaths.size(); i++) {
QueryDataSource dataSource =
QueryResourceManager.getInstance()
- .getQueryDataSource(nonCachedPaths.get(i), context, null);
+ .getQueryDataSource(nonCachedPaths.get(i), context, filter);
LastPointReader lastReader =
new LastPointReader(
nonCachedPaths.get(i),
@@ -186,7 +184,7 @@ public class LastQueryExecutor {
context,
dataSource,
Long.MAX_VALUE,
- null);
+ filter);
readerList.add(lastReader);
}
} finally {
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastQueryWithTimeFilterIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastQueryWithTimeFilterIT.java
index a9aa84a..6808933 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastQueryWithTimeFilterIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastQueryWithTimeFilterIT.java
@@ -85,7 +85,7 @@ public class IoTDBLastQueryWithTimeFilterIT {
String[] retArray =
new String[] {
- "root.sg1,d1.s1,1",
+ "root.sg1.d1.s1,1.0",
};
try (Connection connection =
DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
@@ -98,6 +98,7 @@ public class IoTDBLastQueryWithTimeFilterIT {
while (resultSet.next()) {
String ans = resultSet.getString(TIMESEIRES_STR) + "," + resultSet.getString(VALUE_STR);
Assert.assertEquals(retArray[cnt], ans);
+ cnt++;
}
Assert.assertEquals(retArray.length, cnt);
}