未验证 提交 2ec3916b 编写于 作者: B Boris 提交者: GitHub

fix a bug which caused delete timeseries unsuccessfully (#1664)

上级 afafc790
......@@ -977,7 +977,7 @@ public class PlanExecutor implements IPlanExecutor {
try {
List<String> failedNames = new LinkedList<>();
for (PartialPath path : deletePathList) {
StorageEngine.getInstance().deleteTimeseries(path, path.getMeasurement());
StorageEngine.getInstance().deleteTimeseries(path.getDevicePath(), path.getMeasurement());
String failedTimeseries = mManager.deleteTimeseries(path);
if (!failedTimeseries.isEmpty()) {
failedNames.add(failedTimeseries);
......
......@@ -55,7 +55,7 @@ public class IoTDBDeleteTimeseriesIT {
}
@Test
public void testDeleteTimeseries() throws Exception {
public void deleteTimeseriesAndCreateDifferentTypeTest() throws Exception {
Class.forName(Config.JDBC_DRIVER_NAME);
String[] retArray = new String[]{
"1,1,",
......@@ -115,4 +115,66 @@ public class IoTDBDeleteTimeseriesIT {
Assert.assertTrue(hasResult);
}
}
@Test
public void deleteTimeseriesAndCreateSameTypeTest() throws Exception {
Class.forName(Config.JDBC_DRIVER_NAME);
String[] retArray = new String[]{
"1,1,",
"2,5,"
};
int cnt = 0;
try (Connection connection = DriverManager.
getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
statement.execute(
"create timeseries root.turbine1.d1.s1 with datatype=INT64, encoding=PLAIN, compression=SNAPPY");
statement.execute(
"create timeseries root.turbine1.d1.s2 with datatype=INT64, encoding=PLAIN, compression=SNAPPY");
statement.execute("INSERT INTO root.turbine1.d1(timestamp,s1,s2) VALUES(1,1,2)");
boolean hasResult = statement.execute("SELECT s1 FROM root.turbine1.d1");
Assert.assertTrue(hasResult);
try (ResultSet resultSet = statement.getResultSet()) {
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
while (resultSet.next()) {
StringBuilder builder = new StringBuilder();
for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
builder.append(resultSet.getString(i)).append(",");
}
Assert.assertEquals(retArray[cnt], builder.toString());
cnt++;
}
}
statement.execute("DELETE timeseries root.turbine1.d1.s1");
statement.execute(
"create timeseries root.turbine1.d1.s1 with datatype=INT64, encoding=PLAIN, compression=SNAPPY");
statement.execute("INSERT INTO root.turbine1.d1(timestamp,s1) VALUES(2,5)");
statement.execute("FLUSH");
hasResult = statement.execute("SELECT s1 FROM root.turbine1.d1");
Assert.assertTrue(hasResult);
try (ResultSet resultSet = statement.getResultSet()) {
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
while (resultSet.next()) {
StringBuilder builder = new StringBuilder();
for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
builder.append(resultSet.getString(i)).append(",");
}
Assert.assertEquals(retArray[cnt], builder.toString());
cnt++;
}
}
}
EnvironmentUtils.restartDaemon();
try(Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root",
"root");
Statement statement = connection.createStatement()){
boolean hasResult = statement.execute("SELECT * FROM root");
Assert.assertTrue(hasResult);
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册