This is an automated email from the ASF dual-hosted git repository.
ngangam 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 5c872d4d4c0 HIVE-26192: JDBC data connector queries occur exception at
cbo stage (#3260)
5c872d4d4c0 is described below
commit 5c872d4d4c0e8623b8010552c7aaf0fc484f05b6
Author: Butao Zhang <[email protected]>
AuthorDate: Wed Aug 10 12:06:19 2022 +0800
HIVE-26192: JDBC data connector queries occur exception at cbo stage (#3260)
---
.../queries/clientpositive/dataconnector_mysql.q | 3 ++
.../clientpositive/llap/dataconnector_mysql.q.out | 33 ++++++++++++++++++++++
.../jdbc/AbstractJDBCConnectorProvider.java | 3 +-
3 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/ql/src/test/queries/clientpositive/dataconnector_mysql.q
b/ql/src/test/queries/clientpositive/dataconnector_mysql.q
index edab15c2452..757c2f77387 100644
--- a/ql/src/test/queries/clientpositive/dataconnector_mysql.q
+++ b/ql/src/test/queries/clientpositive/dataconnector_mysql.q
@@ -14,6 +14,9 @@ SHOW DATABASES;
USE db_mysql;
SHOW TABLES;
+SHOW CREATE TABLE country;
+SELECT * FROM country;
+
-- clean up so it won't affect other tests
DROP DATABASE db_mysql;
DROP CONNECTOR mysql_qtest;
diff --git a/ql/src/test/results/clientpositive/llap/dataconnector_mysql.q.out
b/ql/src/test/results/clientpositive/llap/dataconnector_mysql.q.out
index c771d29d98a..351f6d2fea7 100644
--- a/ql/src/test/results/clientpositive/llap/dataconnector_mysql.q.out
+++ b/ql/src/test/results/clientpositive/llap/dataconnector_mysql.q.out
@@ -50,6 +50,39 @@ POSTHOOK: Input: database:db_mysql
city
country
state
+PREHOOK: query: SHOW CREATE TABLE country
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: db_mysql@country
+POSTHOOK: query: SHOW CREATE TABLE country
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: db_mysql@country
+CREATE EXTERNAL TABLE `country`(
+ `name` varchar(255) COMMENT 'from deserializer')
+ROW FORMAT SERDE
+ 'org.apache.hive.storage.jdbc.JdbcSerDe'
+STORED BY
+ 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+WITH SERDEPROPERTIES (
+ 'serialization.format'='1')
+TBLPROPERTIES (
+ 'hive.sql.database.type'='MYSQL',
+ 'hive.sql.dbcp.password'='qtestpassword',
+ 'hive.sql.dbcp.username'='root',
+ 'hive.sql.jdbc.driver'='com.mysql.jdbc.Driver',
+ 'hive.sql.jdbc.url'='jdbc:mysql://localhost:3306/qtestDB',
+ 'hive.sql.schema'='qtestDB',
+ 'hive.sql.table'='country')
+PREHOOK: query: SELECT * FROM country
+PREHOOK: type: QUERY
+PREHOOK: Input: db_mysql@country
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM country
+POSTHOOK: type: QUERY
+POSTHOOK: Input: db_mysql@country
+#### A masked pattern was here ####
+India
+Russia
+USA
PREHOOK: query: DROP DATABASE db_mysql
PREHOOK: type: DROPDATABASE
PREHOOK: Input: database:db_mysql
diff --git
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/AbstractJDBCConnectorProvider.java
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/AbstractJDBCConnectorProvider.java
index 09d0784b929..d392a2567ae 100644
---
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/AbstractJDBCConnectorProvider.java
+++
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/AbstractJDBCConnectorProvider.java
@@ -241,7 +241,8 @@ public abstract class AbstractJDBCConnectorProvider extends
AbstractDataConnecto
//Setting the table properties.
table.getParameters().put(JDBC_DATABASE_TYPE, this.type);
table.getParameters().put(JDBC_DRIVER, this.driverClassName);
- table.getParameters().put(JDBC_TABLE, scoped_db+"."+tableName);
+ table.getParameters().put(JDBC_TABLE, tableName);
+ table.getParameters().put(JDBC_SCHEMA, scoped_db);
table.getParameters().put(JDBC_URL, this.jdbcUrl);
table.getParameters().put(hive_metastoreConstants.META_TABLE_STORAGE,
JDBC_HIVE_STORAGE_HANDLER_ID);
table.getParameters().put("EXTERNAL", "TRUE");