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

haonan pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.13 by this push:
     new ff96de6f80 [To rel/0.13][ISSUE-6774]connection error when using 
DBeaver with JDBC driver (#6963)
ff96de6f80 is described below

commit ff96de6f8077e069b0050201c8b3754260f20aae
Author: Summer <[email protected]>
AuthorDate: Fri Aug 12 09:14:49 2022 +0800

    [To rel/0.13][ISSUE-6774]connection error when using DBeaver with JDBC 
driver (#6963)
---
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   | 34 ++++++++++++++++++++++
 .../tsfile/read/query/dataset/QueryDataSet.java    |  4 +++
 2 files changed, 38 insertions(+)

diff --git 
a/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java 
b/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
index 8f9778ab7e..01d999d378 100644
--- a/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
+++ b/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
@@ -672,6 +672,7 @@ public class IoTDBDatabaseMetadata implements 
DatabaseMetaData {
       dataSet.putRecord(record);
     }
     dataSet.setDataTypes(listType);
+    dataSet.setColumnNum(listType.size());
   }
 
   @Override
@@ -736,14 +737,23 @@ public class IoTDBDatabaseMetadata implements 
DatabaseMetaData {
 
     String sql = "SHOW STORAGE GROUP";
     if (catalog != null && catalog.length() > 0) {
+      if (catalog.contains("%")) {
+        catalog = catalog.replaceAll("%", "*");
+      }
       sql = sql + " " + catalog;
     } else if (schemaPattern != null && schemaPattern.length() > 0) {
+      if (schemaPattern.contains("%")) {
+        schemaPattern = schemaPattern.replaceAll("%", "*");
+      }
       sql = sql + " " + schemaPattern;
     }
     if (((catalog != null && catalog.length() > 0)
             || schemaPattern != null && schemaPattern.length() > 0)
         && tableNamePattern != null
         && tableNamePattern.length() > 0) {
+      if (tableNamePattern.contains("%")) {
+        tableNamePattern = tableNamePattern.replaceAll("%", "*");
+      }
       sql = sql + "." + tableNamePattern;
     }
 
@@ -1878,14 +1888,23 @@ public class IoTDBDatabaseMetadata implements 
DatabaseMetaData {
 
     String sql = "SHOW STORAGE GROUP";
     if (catalog != null && catalog.length() > 0) {
+      if (catalog.contains("%")) {
+        catalog = catalog.replaceAll("%", "*");
+      }
       sql = sql + " " + catalog;
     } else if (schemaPattern != null && schemaPattern.length() > 0) {
+      if (schemaPattern.contains("%")) {
+        schemaPattern = schemaPattern.replaceAll("%", "*");
+      }
       sql = sql + " " + schemaPattern;
     }
     if (((catalog != null && catalog.length() > 0)
             || schemaPattern != null && schemaPattern.length() > 0)
         && tableNamePattern != null
         && tableNamePattern.length() > 0) {
+      if (tableNamePattern.contains("%")) {
+        tableNamePattern = tableNamePattern.replaceAll("%", "*");
+      }
       sql = sql + "." + tableNamePattern;
     }
 
@@ -2017,8 +2036,14 @@ public class IoTDBDatabaseMetadata implements 
DatabaseMetaData {
 
     String sql = "SHOW STORAGE GROUP";
     if (catalog != null && catalog.length() > 0) {
+      if (catalog.contains("%")) {
+        catalog = catalog.replaceAll("%", "*");
+      }
       sql = sql + " " + catalog;
     } else if (schemaPattern != null && schemaPattern.length() > 0) {
+      if (schemaPattern.contains("%")) {
+        schemaPattern = schemaPattern.replaceAll("%", "*");
+      }
       sql = sql + " " + schemaPattern;
     }
     if (((catalog != null && catalog.length() > 0)
@@ -2262,14 +2287,23 @@ public class IoTDBDatabaseMetadata implements 
DatabaseMetaData {
 
     String sql = "SHOW timeseries";
     if (catalog != null && catalog.length() > 0) {
+      if (catalog.contains("%")) {
+        catalog = catalog.replaceAll("%", "*");
+      }
       sql = sql + " " + catalog;
     } else if (schemaPattern != null && schemaPattern.length() > 0) {
+      if (schemaPattern.contains("%")) {
+        schemaPattern = schemaPattern.replaceAll("%", "*");
+      }
       sql = sql + " " + schemaPattern;
     }
     if (((catalog != null && catalog.length() > 0)
             || schemaPattern != null && schemaPattern.length() > 0)
         && tableNamePattern != null
         && tableNamePattern.length() > 0) {
+      if (tableNamePattern.contains("%")) {
+        tableNamePattern = tableNamePattern.replaceAll("%", "*");
+      }
       sql = sql + "." + tableNamePattern;
     }
     ResultSet rs = stmt.executeQuery(sql);
diff --git 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java
 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java
index 47376c68ad..40e6ee3d8f 100644
--- 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java
+++ 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java
@@ -259,4 +259,8 @@ public abstract class QueryDataSet {
   public int getColumnNum() {
     return columnNum;
   }
+
+  public void setColumnNum(int columnNum) {
+    this.columnNum = columnNum;
+  }
 }

Reply via email to