Github user yhuai commented on a diff in the pull request:
https://github.com/apache/spark/pull/14750#discussion_r86470657
--- Diff:
sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveExternalCatalog.scala ---
@@ -417,11 +429,12 @@ private[spark] class HiveExternalCatalog(conf:
SparkConf, hadoopConf: Configurat
}
override def renameTable(db: String, oldName: String, newName: String):
Unit = withClient {
- val rawTable = client.getTable(db, oldName)
+ val rawTable = getRawTable(db, oldName)
- val storageWithNewPath = if (rawTable.tableType == MANAGED) {
- // If it's a managed table and we are renaming it, then the path
option becomes inaccurate
- // and we need to update it according to the new table name.
+ val hasPathOption = new
CaseInsensitiveMap(rawTable.storage.properties).contains("path")
+ val storageWithNewPath = if (rawTable.tableType == MANAGED &&
hasPathOption) {
--- End diff --
Let's also explain why we are not changing locationUri at here (need to
mention that Hive will change it inside alterTable, line
https://github.com/apache/spark/pull/14750/files#diff-159191585e10542f013cb3a714f26075R448).
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]