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

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


The following commit(s) were added to refs/heads/master by this push:
     new 03651db315 [ISSUE-6774] Fix connection error when using DBeaver with 
JDBC driver (#6961)
03651db315 is described below

commit 03651db315152969c93c9a4f2afe3c96c8faa021
Author: Summer <[email protected]>
AuthorDate: Fri Aug 12 09:12:52 2022 +0800

    [ISSUE-6774] Fix connection error when using DBeaver with JDBC driver 
(#6961)
---
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   | 36 ++++++++++++++++++++++
 1 file changed, 36 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 fdc4c4ac13..a500b06d7c 100644
--- a/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
+++ b/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
@@ -738,14 +738,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;
     }
 
@@ -1880,14 +1889,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;
     }
 
@@ -2019,14 +2037,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;
     }
 
@@ -2264,14 +2291,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);

Reply via email to