You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/08/12 01:12:57 UTC

[iotdb] branch master updated: [ISSUE-6774] Fix connection error when using DBeaver with JDBC driver (#6961)

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 <43...@users.noreply.github.com>
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);