This is an automated email from the ASF dual-hosted git repository.
dkuzmenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 8b312d54ea HIVE-26433: StorageHandler authorization doesn't work with
"METASTORE" db type (Denys Kuzmenko, reviewed by Sai Hemanth Gantasala)
8b312d54ea is described below
commit 8b312d54ea206461cb50450ac95ec267aba60b21
Author: Denys Kuzmenko <[email protected]>
AuthorDate: Thu Aug 4 09:57:20 2022 +0200
HIVE-26433: StorageHandler authorization doesn't work with "METASTORE" db
type (Denys Kuzmenko, reviewed by Sai Hemanth Gantasala)
Closes #3482
---
.../main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
index cfc126fcae..bcb051b629 100644
---
a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
+++
b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
@@ -28,6 +28,8 @@ import org.apache.hadoop.hive.serde2.AbstractSerDe;
import org.apache.hadoop.mapred.InputFormat;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.OutputFormat;
+import org.apache.hive.storage.jdbc.conf.DatabaseType;
+import org.apache.hive.storage.jdbc.conf.JdbcStorageConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -99,7 +101,10 @@ public class JdbcStorageHandler implements
HiveStorageHandler {
@Override
public URI getURIForAuth(Table table) throws URISyntaxException {
Map<String, String> tableProperties =
HiveCustomStorageHandlerUtils.getTableProperties(table);
- String host_url = tableProperties.get(Constants.JDBC_URL);
+ DatabaseType dbType = DatabaseType.valueOf(
+ tableProperties.get(JdbcStorageConfig.DATABASE_TYPE.getPropertyName()));
+ String host_url = DatabaseType.METASTORE == dbType ?
+ "jdbc:metastore://" : tableProperties.get(Constants.JDBC_URL);
String table_name = tableProperties.get(Constants.JDBC_TABLE);
return new URI(host_url+"/"+table_name);
}