Github user gatorsmile commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20564#discussion_r167392786
  
    --- Diff: 
sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala 
---
    @@ -598,8 +598,22 @@ private[hive] class HiveClientImpl(
           db: String,
           table: String,
           newParts: Seq[CatalogTablePartition]): Unit = withHiveState {
    -    val hiveTable = toHiveTable(getTable(db, table), Some(userName))
    -    shim.alterPartitions(client, table, newParts.map { p => 
toHivePartition(p, hiveTable) }.asJava)
    +    // Note: Before altering table partitions in Hive, you *must* set the 
current database
    +    // to the one that contains the table of interest. Otherwise you will 
end up with the
    +    // most helpful error message ever: "Unable to alter partition. alter 
is not possible."
    +    // See HIVE-2742 for more detail.
    +    val original = state.getCurrentDatabase
    +    if (databaseExists(db)) {
    +      state.setCurrentDatabase(db)
    +    } else {
    +      throw new NoSuchDatabaseException(db)
    +    }
    --- End diff --
    
    Instead of copying the codes from `setCurrentDatabase`, why not directly 
calling it?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to