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