You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by ab...@apache.org on 2023/08/04 09:19:18 UTC

[druid] branch 27.0.0 updated: Fix the bug in getIndexInfo for mysql (#14750) (#14756)

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

abhishek pushed a commit to branch 27.0.0
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/27.0.0 by this push:
     new f100ca27b4 Fix the bug in getIndexInfo for mysql (#14750) (#14756)
f100ca27b4 is described below

commit f100ca27b4eb5485cec1279ba9bbfab05b603c74
Author: AmatyaAvadhanula <am...@imply.io>
AuthorDate: Fri Aug 4 14:49:11 2023 +0530

    Fix the bug in getIndexInfo for mysql (#14750) (#14756)
    
    Co-authored-by: Pranav <pr...@gmail.com>
---
 .../druid/metadata/SQLMetadataConnector.java       | 26 ++++++++++++++++------
 .../metadata/storage/derby/DerbyConnector.java     | 18 +++++++++++++++
 2 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/server/src/main/java/org/apache/druid/metadata/SQLMetadataConnector.java b/server/src/main/java/org/apache/druid/metadata/SQLMetadataConnector.java
index 5c8c9d39c2..a6e0dbe396 100644
--- a/server/src/main/java/org/apache/druid/metadata/SQLMetadataConnector.java
+++ b/server/src/main/java/org/apache/druid/metadata/SQLMetadataConnector.java
@@ -864,13 +864,7 @@ public abstract class SQLMetadataConnector implements MetadataStorageConnector
         {
           DatabaseMetaData databaseMetaData = handle.getConnection().getMetaData();
           // Fetch the index for given table
-          ResultSet resultSet = databaseMetaData.getIndexInfo(
-              null,
-              null,
-              StringUtils.toUpperCase(tableName),
-              false,
-              false
-          );
+          ResultSet resultSet = getIndexInfo(databaseMetaData, tableName);
           while (resultSet.next()) {
             String indexName = resultSet.getString("INDEX_NAME");
             if (org.apache.commons.lang.StringUtils.isNotBlank(indexName)) {
@@ -887,6 +881,24 @@ public abstract class SQLMetadataConnector implements MetadataStorageConnector
     return ImmutableSet.copyOf(res);
   }
 
+  /**
+   * Get the ResultSet for indexInfo for given table
+   *
+   * @param databaseMetaData DatabaseMetaData
+   * @param tableName        Name of table
+   * @return ResultSet with index info
+   */
+  public ResultSet getIndexInfo(DatabaseMetaData databaseMetaData, String tableName) throws SQLException
+  {
+    return databaseMetaData.getIndexInfo(
+        null,
+        null,
+        tableName,  // tableName is case-sensitive in mysql default setting
+        false,
+        false
+    );
+  }
+
   /**
    * create index on the table with retry if not already exist, to be called after createTable
    *
diff --git a/server/src/main/java/org/apache/druid/metadata/storage/derby/DerbyConnector.java b/server/src/main/java/org/apache/druid/metadata/storage/derby/DerbyConnector.java
index 19d0c6b04f..a84b1e975c 100644
--- a/server/src/main/java/org/apache/druid/metadata/storage/derby/DerbyConnector.java
+++ b/server/src/main/java/org/apache/druid/metadata/storage/derby/DerbyConnector.java
@@ -168,6 +168,24 @@ public class DerbyConnector extends SQLMetadataConnector
     );
   }
 
+  /**
+   * Get the ResultSet for indexInfo for given table
+   *
+   * @param databaseMetaData DatabaseMetaData
+   * @param tableName        Name of table
+   * @return ResultSet with index info
+   */
+  @Override
+  public ResultSet getIndexInfo(DatabaseMetaData databaseMetaData, String tableName) throws SQLException
+  {
+    return databaseMetaData.getIndexInfo(
+        null,
+        null,
+        StringUtils.toUpperCase(tableName),  // tableName needs to be uppercase in derby default setting
+        false,
+        false
+    );
+  }
   @LifecycleStart
   public void start()
   {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org