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

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


The following commit(s) were added to refs/heads/addAggregationIT by this push:
     new 989551f800 add aggregation IT
989551f800 is described below

commit 989551f8000987017f79f5699138ae7cf6e0b453
Author: Alima777 <[email protected]>
AuthorDate: Mon Jun 20 11:13:20 2022 +0800

    add aggregation IT
---
 .../db/it}/aggregation/IoTDBAggregationIT.java     | 491 +++++++++------------
 1 file changed, 218 insertions(+), 273 deletions(-)

diff --git 
a/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
similarity index 72%
rename from 
integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationIT.java
rename to 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
index bb2c8a7124..ed7a7e639a 100644
--- 
a/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.integration.aggregation;
+package org.apache.iotdb.db.it.aggregation;
 
-import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.integration.env.ConfigFactory;
-import org.apache.iotdb.integration.env.EnvFactory;
-import org.apache.iotdb.itbase.category.ClusterTest;
-import org.apache.iotdb.itbase.category.LocalStandaloneTest;
+import org.apache.iotdb.it.env.ConfigFactory;
+import org.apache.iotdb.it.env.EnvFactory;
+import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -51,7 +51,7 @@ import static org.apache.iotdb.db.constant.TestConstant.sum;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.fail;
 
-@Category({LocalStandaloneTest.class, ClusterTest.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBAggregationIT {
 
   private static final double DETLA = 1e-6;
@@ -91,13 +91,13 @@ public class IoTDBAggregationIT {
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.sg.d1(timestamp,s1) values(5,5)",
         "insert into root.sg.d1(timestamp,s1) values(12,12)",
-        "flush",
+        ConfigFactory.getConfig().getFlushCommand(),
         "insert into root.sg.d1(timestamp,s1) values(15,15)",
         "insert into root.sg.d1(timestamp,s1) values(25,25)",
-        "flush",
+        ConfigFactory.getConfig().getFlushCommand(),
         "insert into root.sg.d1(timestamp,s1) values(1,111)",
         "insert into root.sg.d1(timestamp,s1) values(20,200)",
-        "flush"
+        ConfigFactory.getConfig().getFlushCommand(),
       };
   private final String d0s0 = "root.vehicle.d0.s0";
   private final String d0s1 = "root.vehicle.d0.s1";
@@ -109,9 +109,6 @@ public class IoTDBAggregationIT {
 
   @BeforeClass
   public static void setUp() throws Exception {
-
-    prevPartitionInterval = 
IoTDBDescriptor.getInstance().getConfig().getPartitionInterval();
-    ConfigFactory.getConfig().setPartitionInterval(1000);
     EnvFactory.getEnv().initBeforeClass();
     prepareData();
   }
@@ -119,7 +116,6 @@ public class IoTDBAggregationIT {
   @AfterClass
   public static void tearDown() throws Exception {
     EnvFactory.getEnv().cleanAfterClass();
-    ConfigFactory.getConfig().setPartitionInterval(prevPartitionInterval);
   }
 
   // add test for part of points in page don't satisfy filter
@@ -130,12 +126,10 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute("SELECT count(temperature) FROM root.ln.wf01.wt01 
WHERE time > 3");
-
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT count(temperature) FROM root.ln.wf01.wt01 WHERE time > 
3")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -148,11 +142,9 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
-              "SELECT count(temperature) FROM root.ln.wf01.wt01 WHERE time > 3 
order by time desc");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT count(temperature) FROM root.ln.wf01.wt01 WHERE time > 3 
order by time desc")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -165,11 +157,9 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute("SELECT min_time(temperature) FROM 
root.ln.wf01.wt01 WHERE time > 3");
-
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT min_time(temperature) FROM root.ln.wf01.wt01 WHERE time 
> 3")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -181,12 +171,9 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(2, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
-              "SELECT min_time(temperature) FROM root.ln.wf01.wt01 WHERE 
temperature > 3");
-
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT min_time(temperature) FROM root.ln.wf01.wt01 WHERE 
temperature > 3")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -199,7 +186,7 @@ public class IoTDBAggregationIT {
       }
 
       try {
-        statement.execute("SELECT max(root.temperature) from 
root.ln.wf01.wt01");
+        statement.executeQuery("SELECT max(root.temperature) from 
root.ln.wf01.wt01");
         fail();
       } catch (Exception ignored) {
       }
@@ -214,14 +201,12 @@ public class IoTDBAggregationIT {
     String[] retArray = new String[] {"0,2001,2001,2001,2001", 
"0,7500,7500,7500,7500"};
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT count(s0),count(s1),count(s2),count(s3) "
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000");
 
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT count(s0),count(s1),count(s2),count(s3) "
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -240,12 +225,9 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
-              "SELECT count(s0),count(s1),count(s2),count(s3) " + "FROM 
root.vehicle.d0");
-
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT count(s0),count(s1),count(s2),count(s3) " + "FROM 
root.vehicle.d0")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -264,12 +246,10 @@ public class IoTDBAggregationIT {
       }
 
       // keep the correctness of `order by time desc`
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT count(s0),count(s1),count(s2),count(s3) "
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 9000 
order by time desc");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 9000 
order by time desc")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -288,12 +268,10 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT count(s0),count(s1),count(s2),count(s3) "
-                  + "FROM root.vehicle.d0 order by time desc");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 order by time desc")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -322,13 +300,11 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT 
first_value(s0),first_value(s1),first_value(s2),first_value(s3) "
-                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time <= 
9000");
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT 
first_value(s0),first_value(s1),first_value(s2),first_value(s3) "
+                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time <= 
9000")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -347,12 +323,10 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT 
first_value(s0),first_value(s1),first_value(s2),first_value(s3) "
-                  + "FROM root.vehicle.d0");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -371,12 +345,10 @@ public class IoTDBAggregationIT {
       }
 
       // keep the correctness of `order by time desc`
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT 
first_value(s0),first_value(s1),first_value(s2),first_value(s3) "
-                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time <= 9000 
order by time desc");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time <= 9000 
order by time desc")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -406,13 +378,11 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT last_value(s0),last_value(s2) "
-                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time < 9000");
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT last_value(s0),last_value(s2) "
+                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time < 
9000")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -427,11 +397,10 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
-              "SELECT last_value(s0),last_value(s2) " + "FROM root.vehicle.d0 
WHERE time <= 1600");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT last_value(s0),last_value(s2) "
+                  + "FROM root.vehicle.d0 WHERE time <= 1600")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -445,12 +414,10 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(2, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
-              "SELECT last_value(s0),last_value(s2) " + "FROM root.vehicle.d0 
WHERE time <= 2200");
-
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT last_value(s0),last_value(s2) "
+                  + "FROM root.vehicle.d0 WHERE time <= 2200")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -464,13 +431,10 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(3, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT last_value(s0),last_value(s2) "
-                  + "FROM root.vehicle.d0 WHERE time <= 2200 order by time 
desc");
-
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time <= 2200 order by time 
desc")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -486,12 +450,10 @@ public class IoTDBAggregationIT {
       }
 
       // keep the correctness of `order by time desc`
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT last_value(s0),last_value(s2) "
-                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time < 9000 
order by time desc");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 1500 AND time < 9000 
order by time desc")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -517,13 +479,11 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT max_time(s0),min_time(s2) "
-                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000");
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT max_time(s0),min_time(s2) "
+                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000")) 
{
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -538,12 +498,10 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT max_time(s0),min_time(s2) "
-                  + "FROM root.vehicle.d0 WHERE time <= 2500 AND time > 1800");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time <= 2500 AND time > 
1800")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -558,12 +516,10 @@ public class IoTDBAggregationIT {
       }
 
       // keep the correctness of `order by time desc`
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT max_time(s0),min_time(s2) "
-                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000 
order by time desc");
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000 
order by time desc")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -592,13 +548,11 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT first_value(temperature),last_value(temperature) "
-                  + "FROM root.ln.wf01.wt01 WHERE time > 1 AND time < 5");
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT first_value(temperature),last_value(temperature) "
+                  + "FROM root.ln.wf01.wt01 WHERE time > 1 AND time < 5")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -621,14 +575,11 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT max_value(s0),min_value(s2) "
-                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000");
-
-      Assert.assertTrue(hasResultSet);
       int cnt;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT max_value(s0),min_value(s2) "
+                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000")) 
{
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -643,12 +594,9 @@ public class IoTDBAggregationIT {
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
-              "SELECT max_value(s0),min_value(s2) " + "FROM root.vehicle.d0 
WHERE time < 2500");
-
-      Assert.assertTrue(hasResultSet);
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT max_value(s0),min_value(s2) " + "FROM root.vehicle.d0 
WHERE time < 2500")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -663,14 +611,11 @@ public class IoTDBAggregationIT {
       }
 
       // keep the correctness of `order by time desc`
-      hasResultSet =
-          statement.execute(
-              "SELECT max_value(s0),min_value(s2) "
-                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000 
order by time desc");
-
-      Assert.assertTrue(hasResultSet);
       cnt = 0;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT max_value(s0),min_value(s2) "
+                  + "FROM root.vehicle.d0 WHERE time >= 100 AND time < 9000 
order by time desc")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -699,37 +644,31 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT sum(s0),avg(s2)"
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000");
-
-      Assert.assertTrue(hasResultSet);
       int cnt = 0;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT sum(s0),avg(s2)"
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000")) {
         while (resultSet.next()) {
           double[] ans = new double[3];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s0)));
-          ans[2] = Double.valueOf(resultSet.getString(avg(d0s2)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s0)));
+          ans[2] = Double.parseDouble(resultSet.getString(avg(d0s2)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT sum(s0),avg(s2)"
-                  + "FROM root.vehicle.d0 WHERE time >= 1000 AND time <= 
2000");
-      Assert.assertTrue(hasResultSet);
-
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 1000 AND time <= 
2000")) {
         while (resultSet.next()) {
           double[] ans = new double[3];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s0)));
-          ans[2] = Double.valueOf(resultSet.getString(avg(d0s2)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s0)));
+          ans[2] = Double.parseDouble(resultSet.getString(avg(d0s2)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
@@ -737,19 +676,16 @@ public class IoTDBAggregationIT {
       }
 
       // keep the correctness of `order by time desc`
-      hasResultSet =
-          statement.execute(
-              "SELECT sum(s0),avg(s2)"
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 9000 
order by time desc");
-
-      Assert.assertTrue(hasResultSet);
       cnt = 0;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT sum(s0),avg(s2)"
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 9000 
order by time desc")) {
         while (resultSet.next()) {
           double[] ans = new double[3];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s0)));
-          ans[2] = Double.valueOf(resultSet.getString(avg(d0s2)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s0)));
+          ans[2] = Double.parseDouble(resultSet.getString(avg(d0s2)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
@@ -761,14 +697,15 @@ public class IoTDBAggregationIT {
     }
   }
 
+  @Ignore
   @Test
   public void avgSumErrorTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       try {
-        statement.execute(
-            "SELECT avg(s3)" + "FROM root.vehicle.d0 WHERE time >= 6000 AND 
time <= 9000");
-        try (ResultSet resultSet = statement.getResultSet()) {
+        try (ResultSet resultSet =
+            statement.executeQuery(
+                "SELECT avg(s3) FROM root.vehicle.d0 WHERE time >= 6000 AND 
time <= 9000")) {
           resultSet.next();
           fail();
         }
@@ -780,9 +717,9 @@ public class IoTDBAggregationIT {
                     "Aggregate functions [AVG, SUM, EXTREME, MIN_VALUE, 
MAX_VALUE] only support numeric data types [INT32, INT64, FLOAT, DOUBLE]"));
       }
       try {
-        statement.execute(
-            "SELECT sum(s3)" + "FROM root.vehicle.d0 WHERE time >= 6000 AND 
time <= 9000");
-        try (ResultSet resultSet = statement.getResultSet()) {
+        try (ResultSet resultSet =
+            statement.executeQuery(
+                "SELECT sum(s3)" + "FROM root.vehicle.d0 WHERE time >= 6000 
AND time <= 9000")) {
           resultSet.next();
           fail();
         }
@@ -793,9 +730,9 @@ public class IoTDBAggregationIT {
                     "Aggregate functions [AVG, SUM, EXTREME, MIN_VALUE, 
MAX_VALUE] only support numeric data types [INT32, INT64, FLOAT, DOUBLE]"));
       }
       try {
-        statement.execute(
-            "SELECT avg(s4)" + "FROM root.vehicle.d0 WHERE time >= 6000 AND 
time <= 9000");
-        try (ResultSet resultSet = statement.getResultSet()) {
+        try (ResultSet resultSet =
+            statement.executeQuery(
+                "SELECT avg(s4)" + "FROM root.vehicle.d0 WHERE time >= 6000 
AND time <= 9000")) {
           resultSet.next();
           fail();
         }
@@ -806,9 +743,9 @@ public class IoTDBAggregationIT {
                     "Aggregate functions [AVG, SUM, EXTREME, MIN_VALUE, 
MAX_VALUE] only support numeric data types [INT32, INT64, FLOAT, DOUBLE]"));
       }
       try {
-        statement.execute(
-            "SELECT sum(s4)" + "FROM root.vehicle.d0 WHERE time >= 6000 AND 
time <= 9000");
-        try (ResultSet resultSet = statement.getResultSet()) {
+        try (ResultSet resultSet =
+            statement.executeQuery(
+                "SELECT sum(s4)" + "FROM root.vehicle.d0 WHERE time >= 6000 
AND time <= 9000")) {
           resultSet.next();
           fail();
         }
@@ -820,8 +757,8 @@ public class IoTDBAggregationIT {
                     "Aggregate functions [AVG, SUM, EXTREME, MIN_VALUE, 
MAX_VALUE] only support numeric data types [INT32, INT64, FLOAT, DOUBLE]"));
       }
       try {
-        statement.execute("SELECT avg(status) FROM root.ln.wf01.wt01");
-        try (ResultSet resultSet = statement.getResultSet()) {
+        try (ResultSet resultSet =
+            statement.executeQuery("SELECT avg(status) FROM 
root.ln.wf01.wt01")) {
           resultSet.next();
           fail();
         }
@@ -851,83 +788,71 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute(
-              "SELECT sum(s0), avg(s2), avg(s0), sum(s2)"
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000");
-
-      Assert.assertTrue(hasResultSet);
       int cnt = 0;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "SELECT sum(s0), avg(s2), avg(s0), sum(s2)"
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000")) {
         while (resultSet.next()) {
           double[] ans = new double[5];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s0)));
-          ans[2] = Double.valueOf(resultSet.getString(avg(d0s2)));
-          ans[3] = Double.valueOf(resultSet.getString(avg(d0s0)));
-          ans[4] = Double.valueOf(resultSet.getString(sum(d0s2)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s0)));
+          ans[2] = Double.parseDouble(resultSet.getString(avg(d0s2)));
+          ans[3] = Double.parseDouble(resultSet.getString(avg(d0s0)));
+          ans[4] = Double.parseDouble(resultSet.getString(sum(d0s2)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
         Assert.assertEquals(1, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT sum(s0), avg(s2), avg(s0), sum(s2)"
-                  + "FROM root.vehicle.d0 WHERE time >= 1000 AND time <= 
2000");
-      Assert.assertTrue(hasResultSet);
-
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 1000 AND time <= 
2000")) {
         while (resultSet.next()) {
           double[] ans = new double[5];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s0)));
-          ans[2] = Double.valueOf(resultSet.getString(avg(d0s2)));
-          ans[3] = Double.valueOf(resultSet.getString(avg(d0s0)));
-          ans[4] = Double.valueOf(resultSet.getString(sum(d0s2)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s0)));
+          ans[2] = Double.parseDouble(resultSet.getString(avg(d0s2)));
+          ans[3] = Double.parseDouble(resultSet.getString(avg(d0s0)));
+          ans[4] = Double.parseDouble(resultSet.getString(sum(d0s2)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
         Assert.assertEquals(2, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT sum(s0), count(s0), avg(s2), avg(s0)"
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000");
-      Assert.assertTrue(hasResultSet);
-
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000")) {
         while (resultSet.next()) {
           double[] ans = new double[5];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s0)));
-          ans[2] = Double.valueOf(resultSet.getString(count(d0s0)));
-          ans[3] = Double.valueOf(resultSet.getString(avg(d0s2)));
-          ans[4] = Double.valueOf(resultSet.getString(avg(d0s0)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s0)));
+          ans[2] = Double.parseDouble(resultSet.getString(count(d0s0)));
+          ans[3] = Double.parseDouble(resultSet.getString(avg(d0s2)));
+          ans[4] = Double.parseDouble(resultSet.getString(avg(d0s0)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
         Assert.assertEquals(3, cnt);
       }
 
-      hasResultSet =
-          statement.execute(
+      try (ResultSet resultSet =
+          statement.executeQuery(
               "SELECT sum(s2), count(s0), avg(s2), avg(s1), count(s2),sum(s0)"
-                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000");
-      Assert.assertTrue(hasResultSet);
-
-      try (ResultSet resultSet = statement.getResultSet()) {
+                  + "FROM root.vehicle.d0 WHERE time >= 6000 AND time <= 
9000")) {
         while (resultSet.next()) {
           double[] ans = new double[7];
-          ans[0] = Double.valueOf(resultSet.getString(TIMESTAMP_STR));
-          ans[1] = Double.valueOf(resultSet.getString(sum(d0s2)));
-          ans[2] = Double.valueOf(resultSet.getString(count(d0s0)));
-          ans[3] = Double.valueOf(resultSet.getString(avg(d0s2)));
-          ans[4] = Double.valueOf(resultSet.getString(avg(d0s1)));
-          ans[5] = Double.valueOf(resultSet.getString(count(d0s2)));
-          ans[6] = Double.valueOf(resultSet.getString(sum(d0s0)));
+          ans[0] = Double.parseDouble(resultSet.getString(TIMESTAMP_STR));
+          ans[1] = Double.parseDouble(resultSet.getString(sum(d0s2)));
+          ans[2] = Double.parseDouble(resultSet.getString(count(d0s0)));
+          ans[3] = Double.parseDouble(resultSet.getString(avg(d0s2)));
+          ans[4] = Double.parseDouble(resultSet.getString(avg(d0s1)));
+          ans[5] = Double.parseDouble(resultSet.getString(count(d0s2)));
+          ans[6] = Double.parseDouble(resultSet.getString(sum(d0s0)));
           assertArrayEquals(retArray[cnt], ans, DETLA);
           cnt++;
         }
@@ -948,12 +873,9 @@ public class IoTDBAggregationIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet =
-          statement.execute("SELECT max_time(s1) FROM root.sg.d1 where time < 
15");
-
-      Assert.assertTrue(hasResultSet);
       int cnt = 0;
-      try (ResultSet resultSet = statement.getResultSet()) {
+      try (ResultSet resultSet =
+          statement.executeQuery("SELECT max_time(s1) FROM root.sg.d1 where 
time < 15")) {
         while (resultSet.next()) {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
@@ -978,51 +900,76 @@ public class IoTDBAggregationIT {
         statement.execute(sql);
       }
 
+      // TODO: change insert to batch insert
       // prepare BufferWrite file
       for (int i = 5000; i < 7000; i++) {
-        statement.addBatch(
+        //        statement.addBatch(
+        //            String.format(
+        //                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, 
"'" + i + "'",
+        // "true"));
+        statement.execute(
             String.format(
                 Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "true"));
       }
-      statement.executeBatch();
-      statement.execute("FLUSH");
+      // statement.executeBatch();
+      statement.execute(ConfigFactory.getConfig().getFlushCommand());
+
       for (int i = 7500; i < 8500; i++) {
-        statement.addBatch(
+        statement.execute(
             String.format(
-                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "false"));
+                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "true"));
+        //        statement.addBatch(
+        //            String.format(
+        //                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, 
"'" + i + "'",
+        // "false"));
       }
-      statement.executeBatch();
-      statement.execute("FLUSH");
+      // statement.executeBatch();
+      statement.execute(ConfigFactory.getConfig().getFlushCommand());
       // prepare Unseq-File
       for (int i = 500; i < 1500; i++) {
-        statement.addBatch(
+        //        statement.addBatch(
+        //            String.format(
+        //                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, 
"'" + i + "'",
+        // "true"));
+        statement.execute(
             String.format(
                 Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "true"));
       }
-      statement.executeBatch();
-      statement.execute("FLUSH");
+      // statement.executeBatch();
+      statement.execute(ConfigFactory.getConfig().getFlushCommand());
       for (int i = 3000; i < 6500; i++) {
-        statement.addBatch(
+        //        statement.addBatch(
+        //            String.format(
+        //                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, 
"'" + i + "'",
+        // "false"));
+        statement.execute(
             String.format(
-                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "false"));
+                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "true"));
       }
-      statement.executeBatch();
-      statement.execute("MERGE");
+      // statement.executeBatch();
 
       // prepare BufferWrite cache
       for (int i = 9000; i < 10000; i++) {
-        statement.addBatch(
+        //        statement.addBatch(
+        //            String.format(
+        //                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, 
"'" + i + "'",
+        // "true"));
+        statement.execute(
             String.format(
                 Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "true"));
       }
-      statement.executeBatch();
+      // statement.executeBatch();
       // prepare Overflow cache
       for (int i = 2000; i < 2500; i++) {
-        statement.addBatch(
+        //        statement.addBatch(
+        //            String.format(
+        //                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, 
"'" + i + "'",
+        // "false"));
+        statement.execute(
             String.format(
-                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "false"));
+                Locale.ENGLISH, insertTemplate, i, i, i, (double) i, "'" + i + 
"'", "true"));
       }
-      statement.executeBatch();
+      // statement.executeBatch();
 
       for (String sql : dataSet3) {
         statement.execute(sql);
@@ -1040,21 +987,19 @@ public class IoTDBAggregationIT {
   public void timeWasNullTest() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      boolean hasResultSet =
-          statement.execute(
-              "select max_value(temperature),count(status) from 
root.ln.wf01.wt01 group by ([0, 600), 100ms);");
-      Assert.assertTrue(hasResultSet);
-      ResultSet resultSet = statement.getResultSet();
-      ResultSetMetaData metaData = resultSet.getMetaData();
-      int columnCount = metaData.getColumnCount();
-      while (resultSet.next()) {
-        for (int i = 1; i <= columnCount; i++) {
-          int ct = metaData.getColumnType(i);
-          if (ct == Types.TIMESTAMP) {
-            if (resultSet.wasNull()) {
-              Assert.assertTrue(false);
-            } else {
-              Assert.assertTrue(true);
+
+      try (ResultSet resultSet =
+          statement.executeQuery(
+              "select max_value(temperature),count(status) from 
root.ln.wf01.wt01 group by ([0, 600), 100ms)")) {
+        ResultSetMetaData metaData = resultSet.getMetaData();
+        int columnCount = metaData.getColumnCount();
+        while (resultSet.next()) {
+          for (int i = 1; i <= columnCount; i++) {
+            int ct = metaData.getColumnType(i);
+            if (ct == Types.TIMESTAMP) {
+              if (resultSet.wasNull()) {
+                fail();
+              }
             }
           }
         }

Reply via email to