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();
+ }
}
}
}