You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2021/07/28 02:19:43 UTC
[iotdb] 01/01: [IOTDB-1532] CI fails on testSelectInto() in E2E test
This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch iotdb-1532
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 46e61efee565e92e81bfd3d7ae1cf54c941dc810
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Wed Jul 28 10:17:30 2021 +0800
[IOTDB-1532] CI fails on testSelectInto() in E2E test
---
.../iotdb/db/integration/IoTDBSelectIntoIT.java | 53 ++++++++++++++++++++++
.../test/java/org/apache/iotdb/db/sql/Cases.java | 38 +++++++++++++---
2 files changed, 85 insertions(+), 6 deletions(-)
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBSelectIntoIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBSelectIntoIT.java
index be5a23b..8d2be9e 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBSelectIntoIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBSelectIntoIT.java
@@ -561,4 +561,57 @@ public class IoTDBSelectIntoIT {
throwable.getMessage().contains("target paths in into clause should be different."));
}
}
+
+ @Test
+ public void testContainerCase() throws SQLException {
+ try (Statement statement =
+ DriverManager.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root")
+ .createStatement()) {
+
+ for (int i = 0; i < 10; i++) {
+ statement.execute(
+ String.format("INSERT INTO root.sg.device%s(timestamp,s) VALUES(1,1)", i));
+ }
+
+ statement.execute(
+ "SELECT device0.s, device1.s, device2.s, device3.s, device4.s, device5.s, device6.s, device7.s, device8.s, device9.s "
+ + "into device0.t device1.t, device2.t, device3.t, device4.t, device5.t, device6.t, device7.t, device8.t, device9.t "
+ + "from root.sg;");
+
+ for (int i = 0; i < 10; i++) {
+ statement.execute(
+ String.format("INSERT INTO root.sg.device%s(timestamp,s) VALUES(2,2)", i));
+ statement.execute(String.format("SELECT device%s.s into device%s.t from root.sg;", i, i));
+ }
+
+ for (int i = 0; i < 10; ++i) {
+ try (ResultSet resultSet =
+ statement.executeQuery(String.format("SELECT s, t FROM root.sg.device%s", i))) {
+ assertTrue(resultSet.next());
+ assertEquals(1, Double.parseDouble(resultSet.getString(1)), 0);
+ assertEquals(
+ Double.parseDouble(resultSet.getString(1)),
+ Double.parseDouble(resultSet.getString(2)),
+ 0);
+ assertEquals(
+ Double.parseDouble(resultSet.getString(2)),
+ Double.parseDouble(resultSet.getString(3)),
+ 0);
+
+ assertTrue(resultSet.next());
+ assertEquals(2, Double.parseDouble(resultSet.getString(1)), 0);
+ assertEquals(
+ Double.parseDouble(resultSet.getString(1)),
+ Double.parseDouble(resultSet.getString(2)),
+ 0);
+ assertEquals(
+ Double.parseDouble(resultSet.getString(2)),
+ Double.parseDouble(resultSet.getString(3)),
+ 0);
+
+ assertFalse(resultSet.next());
+ }
+ }
+ }
+ }
}
diff --git a/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java b/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java
index fbbc3fa..181d020 100644
--- a/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java
+++ b/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java
@@ -466,21 +466,47 @@ public abstract class Cases {
public void testSelectInto() throws SQLException {
for (int i = 0; i < 10; i++) {
writeStatement.execute(
- String.format("INSERT INTO root.sg.d%s(timestamp,s) VALUES(%s,%s)", i, i, i));
+ String.format("INSERT INTO root.sg.device%s(timestamp,s) VALUES(1,1)", i));
}
writeStatement.execute(
- "SELECT d0.s, d1.s, d2.s, d3.s, d4.s into d0.t, d1.t, d2.t, d3.t, d4.t from root.sg;");
- for (int i = 5; i < 10; ++i) {
- writeStatement.execute(String.format("SELECT d%s.s into d%s.t from root.sg;", i, i));
+ "SELECT device0.s, device1.s, device2.s, device3.s, device4.s, device5.s, device6.s, device7.s, device8.s, device9.s "
+ + "into device0.t device1.t, device2.t, device3.t, device4.t, device5.t, device6.t, device7.t, device8.t, device9.t "
+ + "from root.sg;");
+
+ for (int i = 0; i < 10; i++) {
+ writeStatement.execute(
+ String.format("INSERT INTO root.sg.device%s(timestamp,s) VALUES(2,2)", i));
+ writeStatement.execute(
+ String.format("SELECT device%s.s into device%s.t from root.sg;", i, i));
}
for (Statement readStatement : readStatements) {
for (int i = 0; i < 10; ++i) {
try (ResultSet resultSet =
- readStatement.executeQuery(String.format("SELECT s, t FROM root.sg.d%s", i))) {
+ readStatement.executeQuery(String.format("SELECT s, t FROM root.sg.device%s", i))) {
Assert.assertTrue(resultSet.next());
- Assert.assertEquals(resultSet.getDouble(2), resultSet.getDouble(3), 0);
+ Assert.assertEquals(1, Double.parseDouble(resultSet.getString(1)), 0);
+ Assert.assertEquals(
+ Double.parseDouble(resultSet.getString(1)),
+ Double.parseDouble(resultSet.getString(2)),
+ 0);
+ Assert.assertEquals(
+ Double.parseDouble(resultSet.getString(2)),
+ Double.parseDouble(resultSet.getString(3)),
+ 0);
+
+ Assert.assertTrue(resultSet.next());
+ Assert.assertEquals(2, Double.parseDouble(resultSet.getString(1)), 0);
+ Assert.assertEquals(
+ Double.parseDouble(resultSet.getString(1)),
+ Double.parseDouble(resultSet.getString(2)),
+ 0);
+ Assert.assertEquals(
+ Double.parseDouble(resultSet.getString(2)),
+ Double.parseDouble(resultSet.getString(3)),
+ 0);
+
Assert.assertFalse(resultSet.next());
}
}