You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by su...@apache.org on 2020/03/05 13:04:09 UTC
[incubator-iotdb] 01/01: [IOTDB-545] Update checkPathValidity in
Session
This is an automated email from the ASF dual-hosted git repository.
sunzesong pushed a commit to branch 545
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 617c2df65267699fb665e85a813479ab55ae1fc6
Author: samperson1997 <sz...@mails.tsinghua.edu.cn>
AuthorDate: Thu Mar 5 21:03:21 2020 +0800
[IOTDB-545] Update checkPathValidity in Session
---
.../main/java/org/apache/iotdb/session/Config.java | 3 +-
.../java/org/apache/iotdb/session/Session.java | 4 +-
.../org/apache/iotdb/session/IoTDBSessionIT.java | 48 ++++++++++++++--------
3 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/session/src/main/java/org/apache/iotdb/session/Config.java b/session/src/main/java/org/apache/iotdb/session/Config.java
index e21eab6..181f2ff 100644
--- a/session/src/main/java/org/apache/iotdb/session/Config.java
+++ b/session/src/main/java/org/apache/iotdb/session/Config.java
@@ -29,6 +29,7 @@ public class Config {
public static final int DEFAULT_TIMEOUT_MS = 0;
public static final String PATH_MATCHER =
- PATH_ROOT + "([" + PATH_SEPARATOR + "](([a-zA-Z_][a-zA-Z0-9_-]*)|([+-]?[0-9]+)))+";
+ PATH_ROOT + "([" + PATH_SEPARATOR + "]([+-]?[a-zA-Z0-9_-]+))+"
+ + "[\"|\'a-zA-Z0-9_-[" + PATH_SEPARATOR + "a-zA-Z0-9_-]+\"|\']?";
}
diff --git a/session/src/main/java/org/apache/iotdb/session/Session.java b/session/src/main/java/org/apache/iotdb/session/Session.java
index 5406489..629f73d 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -652,9 +652,9 @@ public class Session {
}
private void checkPathValidity(String path) throws IoTDBSessionException {
- if (!Pattern.matches(PATH_MATCHER, path)) {
+ if (!Pattern.compile(PATH_MATCHER).matcher(path).find()) {
throw new IoTDBSessionException(
- String.format("Path [%s] is invalid", StringEscapeUtils.escapeJava(path)));
+ String.format("Path [%s] is invalid", path));
}
}
diff --git a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
index 3a7d627..ccd863b 100644
--- a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
+++ b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
@@ -48,8 +48,6 @@ import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class IoTDBSessionIT {
@@ -113,7 +111,7 @@ public class IoTDBSessionIT {
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- statement.execute("flush");
+ statement.execute("FLUSH");
}
//
insertRowBatchTest3("root.sg1.d1");
@@ -230,6 +228,19 @@ public class IoTDBSessionIT {
insertInBatch();
query4();
+
+ // special characters
+ session.createTimeseries("root.sg1.d1.1_2", TSDataType.INT64, TSEncoding.RLE,
+ CompressionType.SNAPPY);
+ session.createTimeseries("root.sg1.d1.\"1.2.3\"", TSDataType.INT64, TSEncoding.RLE,
+ CompressionType.SNAPPY);
+ session.createTimeseries("root.sg1.d1.\'1.2.4\'", TSDataType.INT64, TSEncoding.RLE,
+ CompressionType.SNAPPY);
+
+ session.setStorageGroup("root.1");
+ session.createTimeseries("root.1.2.3", TSDataType.INT64, TSEncoding.RLE,
+ CompressionType.SNAPPY);
+
// Add another storage group to test the deletion of storage group
session.setStorageGroup("root.sg2");
session.createTimeseries("root.sg2.d1.s1", TSDataType.INT64, TSEncoding.RLE,
@@ -392,6 +403,10 @@ public class IoTDBSessionIT {
private void deleteTimeseries() throws IoTDBSessionException {
session.deleteTimeseries("root.sg1.d1.s1");
+ session.deleteTimeseries("root.laptop.d1.1_2");
+ session.deleteTimeseries("root.laptop.d1.\"1.2.3\"");
+ session.deleteTimeseries("root.laptop.d1.\'1.2.4\'");
+ session.deleteTimeseries("root.1.2.3");
}
private void query() throws ClassNotFoundException, SQLException {
@@ -402,7 +417,7 @@ public class IoTDBSessionIT {
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("select * from root");
+ ResultSet resultSet = statement.executeQuery("SELECT * FROM root");
final ResultSetMetaData metaData = resultSet.getMetaData();
final int colCount = metaData.getColumnCount();
StringBuilder resultStr = new StringBuilder();
@@ -420,8 +435,9 @@ public class IoTDBSessionIT {
}
private void queryForAlignByDevice()
- throws SQLException, TException, IoTDBRPCException {
- SessionDataSet sessionDataSet = session.executeQueryStatement("select '11', s1, '11' from root.sg1.d1 align by device");
+ throws SQLException, TException, IoTDBRPCException {
+ SessionDataSet sessionDataSet = session
+ .executeQueryStatement("select '11', s1, '11' from root.sg1.d1 align by device");
sessionDataSet.setBatchSize(1024);
int count = 0;
while (sessionDataSet.hasNext()) {
@@ -438,8 +454,9 @@ public class IoTDBSessionIT {
}
private void queryForAlignByDevice2()
- throws SQLException, TException, IoTDBRPCException {
- SessionDataSet sessionDataSet = session.executeQueryStatement("select '11', s1, '11', s5, s1, s5 from root.sg1.d1 align by device");
+ throws SQLException, TException, IoTDBRPCException {
+ SessionDataSet sessionDataSet = session.executeQueryStatement(
+ "select '11', s1, '11', s5, s1, s5 from root.sg1.d1 align by device");
sessionDataSet.setBatchSize(1024);
int count = 0;
while (sessionDataSet.hasNext()) {
@@ -464,7 +481,7 @@ public class IoTDBSessionIT {
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("select * from root");
+ ResultSet resultSet = statement.executeQuery("SELECT * FROM root");
final ResultSetMetaData metaData = resultSet.getMetaData();
final int colCount = metaData.getColumnCount();
StringBuilder resultStr = new StringBuilder();
@@ -496,11 +513,11 @@ public class IoTDBSessionIT {
CompressionType.SNAPPY);
// using the query result as the QueryTest to verify the deletion and the new insertion
Class.forName(Config.JDBC_DRIVER_NAME);
- String standard = "Time\n" + "root.sg2.d1.s1\n" + "root.sg1.d1.s1\n";
+ String standard = "Time\n" + "root.1.2.3\n" + "root.sg2.d1.s1\n" + "root.sg1.d1.s1\n";
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("select * from root");
+ ResultSet resultSet = statement.executeQuery("SELECT * FROM root");
final ResultSetMetaData metaData = resultSet.getMetaData();
final int colCount = metaData.getColumnCount();
StringBuilder resultStr = new StringBuilder();
@@ -513,7 +530,7 @@ public class IoTDBSessionIT {
}
resultStr.append("\n");
}
- Assert.assertEquals(resultStr.toString(), standard);
+ Assert.assertEquals(standard, resultStr.toString());
List<String> storageGroups = new ArrayList<>();
storageGroups.add("root.sg1.d1");
storageGroups.add("root.sg2");
@@ -723,7 +740,6 @@ public class IoTDBSessionIT {
if (rowBatch.batchSize != 0) {
long start = System.currentTimeMillis();
session.insertBatch(rowBatch);
- countTime += System.currentTimeMillis() - start;
rowBatch.reset();
}
@@ -737,7 +753,7 @@ public class IoTDBSessionIT {
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("select * from root");
+ ResultSet resultSet = statement.executeQuery("SELECT * FROM root");
final ResultSetMetaData metaData = resultSet.getMetaData();
final int colCount = metaData.getColumnCount();
StringBuilder resultStr = new StringBuilder();
@@ -765,7 +781,7 @@ public class IoTDBSessionIT {
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "192.168.130.18:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("select s_0 from root.group_0.d_0 limit 10000");
+ ResultSet resultSet = statement.executeQuery("SELECT s_0 FROM root.group_0.d_0 LIMIT 10000");
final ResultSetMetaData metaData = resultSet.getMetaData();
final int colCount = metaData.getColumnCount();
StringBuilder resultStr = new StringBuilder();
@@ -805,7 +821,7 @@ public class IoTDBSessionIT {
try (Connection connection = DriverManager
.getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("select * from root");
+ ResultSet resultSet = statement.executeQuery("SELECT * FROM root");
final ResultSetMetaData metaData = resultSet.getMetaData();
final int colCount = metaData.getColumnCount();
StringBuilder resultStr = new StringBuilder();