You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2023/04/13 16:17:17 UTC

[iotdb] 04/04: add ITs

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

hui pushed a commit to branch lmh/FixOffsetPushDown
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit ad4eafde4700a12663eaee3ee07340af151ad964
Author: liuminghui233 <54...@qq.com>
AuthorDate: Fri Apr 14 00:08:01 2023 +0800

    add ITs
---
 .../iotdb/db/it/query/IoTDBPaginationIT.java       | 59 +++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
index 0e1fb007f5..f9d9a70a8a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
@@ -76,11 +76,36 @@ public class IoTDBPaginationIT {
         "insert into root.vehicle.d0(timestamp,s2) values(102,10.00)",
         "insert into root.vehicle.d0(timestamp,s2) values(105,11.11)",
         "insert into root.vehicle.d0(timestamp,s2) values(1000,1000.11)",
-        "insert into root.vehicle.d0(timestamp,s1) values(2000-01-01T08:00:00+08:00, 100)"
+        "insert into root.vehicle.d0(timestamp,s1) values(2000-01-01T08:00:00+08:00, 100)",
+        "CREATE DATABASE root.db",
+        "CREATE TIMESERIES root.db.d1.s1 INT32",
+        "insert into root.db.d1(timestamp,s1) values(0, 0)",
+        "insert into root.db.d1(timestamp,s1) values(1, 1)",
+        "insert into root.db.d1(timestamp,s1) values(2, 2)",
+        "insert into root.db.d1(timestamp,s1) values(3, 3)",
+        "insert into root.db.d1(timestamp,s1) values(4, 4)",
+        "flush",
+        "insert into root.db.d1(timestamp,s1) values(5, 5)",
+        "insert into root.db.d1(timestamp,s1) values(6, 6)",
+        "insert into root.db.d1(timestamp,s1) values(7, 7)",
+        "insert into root.db.d1(timestamp,s1) values(8, 8)",
+        "insert into root.db.d1(timestamp,s1) values(9, 9)",
+        "flush",
+        "insert into root.db.d1(timestamp,s1) values(10, 10)",
+        "insert into root.db.d1(timestamp,s1) values(11, 11)",
+        "insert into root.db.d1(timestamp,s1) values(12, 12)",
+        "insert into root.db.d1(timestamp,s1) values(13, 13)",
+        "insert into root.db.d1(timestamp,s1) values(14, 14)"
       };
 
   @BeforeClass
   public static void setUp() throws InterruptedException {
+    EnvFactory.getEnv()
+        .getConfig()
+        .getCommonConfig()
+        .setEnableSeqSpaceCompaction(false)
+        .setEnableUnseqSpaceCompaction(false)
+        .setEnableCrossSpaceCompaction(false);
     EnvFactory.getEnv().initClusterEnvironment();
     prepareData(SQLs);
   }
@@ -135,4 +160,36 @@ public class IoTDBPaginationIT {
       resultSetEqualTest(querySQLs.get(0), expectHeaders.get(0), retArrays.get(0));
     }
   }
+
+  @Test
+  public void limitOffsetPushDownTest() {
+    String expectedHeader = "Time,root.db.d1.s1,";
+    String[] retArray =
+        new String[] {
+          "3,3,",
+        };
+    resultSetEqualTest(
+        "select s1 from root.db.d1 where time > 1 offset 1 limit 1", expectedHeader, retArray);
+
+    retArray =
+        new String[] {
+          "5,5,",
+        };
+    resultSetEqualTest(
+        "select s1 from root.db.d1 where time > 1 offset 3 limit 1", expectedHeader, retArray);
+
+    retArray =
+        new String[] {
+          "7,7,",
+        };
+    resultSetEqualTest(
+        "select s1 from root.db.d1 where time > 1 offset 5 limit 1", expectedHeader, retArray);
+
+    retArray =
+        new String[] {
+          "12,12,",
+        };
+    resultSetEqualTest(
+        "select s1 from root.db.d1 where time > 1 offset 10 limit 1", expectedHeader, retArray);
+  }
 }