This is an automated email from the ASF dual-hosted git repository.
sivabalan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 2506c0fd2c [HUDI-4875] Fix NoSuchTableException when dropping
temporary view after applied HoodieSparkSessionExtension in Spark 3.2 (#6709)
2506c0fd2c is described below
commit 2506c0fd2ce9865e778e6f2f80ddd9da7c7fc861
Author: dohongdayi <[email protected]>
AuthorDate: Tue Sep 20 23:44:51 2022 +0800
[HUDI-4875] Fix NoSuchTableException when dropping temporary view after
applied HoodieSparkSessionExtension in Spark 3.2 (#6709)
---
.../spark/sql/hudi/analysis/HoodieAnalysis.scala | 4 ++--
.../org/apache/spark/sql/hudi/TestDropTable.scala | 23 +++++++++++++++++++++-
2 files changed, 24 insertions(+), 3 deletions(-)
diff --git
a/hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieAnalysis.scala
b/hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieAnalysis.scala
index ecc5d4a901..c8add03098 100644
---
a/hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieAnalysis.scala
+++
b/hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieAnalysis.scala
@@ -581,9 +581,9 @@ case class HoodiePostAnalysisRule(sparkSession:
SparkSession) extends Rule[Logic
if sparkAdapter.isHoodieTable(table) =>
CreateHoodieTableCommand(table, ignoreIfExists)
// Rewrite the DropTableCommand to DropHoodieTableCommand
- case DropTableCommand(tableName, ifExists, isView, purge)
+ case DropTableCommand(tableName, ifExists, false, purge)
if sparkAdapter.isHoodieTable(tableName, sparkSession) =>
- DropHoodieTableCommand(tableName, ifExists, isView, purge)
+ DropHoodieTableCommand(tableName, ifExists, false, purge)
// Rewrite the AlterTableDropPartitionCommand to
AlterHoodieTableDropPartitionCommand
case AlterTableDropPartitionCommand(tableName, specs, ifExists, purge,
retainData)
if sparkAdapter.isHoodieTable(tableName, sparkSession) =>
diff --git
a/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/TestDropTable.scala
b/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/TestDropTable.scala
index 1beb78e27e..4470712e02 100644
---
a/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/TestDropTable.scala
+++
b/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/spark/sql/hudi/TestDropTable.scala
@@ -314,7 +314,6 @@ class TestDropTable extends HoodieSparkSqlTestBase {
}
}
-
test("Drop an MANAGED table which path is lost.") {
val tableName = generateTableName
spark.sql(
@@ -341,6 +340,28 @@ class TestDropTable extends HoodieSparkSqlTestBase {
checkAnswer("show tables")()
}
+ test("Drop local temporary view should not fail") {
+ val viewName = generateTableName
+ spark.sql(
+ s"""
+ |create temporary view $viewName as
+ | select 1
+ |""".stripMargin)
+
+ spark.sql(s"drop view $viewName")
+ }
+
+ test("Drop global temporary view should not fail") {
+ val viewName = generateTableName
+ spark.sql(
+ s"""
+ |create global temporary view $viewName as
+ | select 1
+ |""".stripMargin)
+
+ spark.sql(s"drop view global_temp.$viewName")
+ }
+
private def alterSerdeProperties(sessionCatalog: SessionCatalog, tableIdt:
TableIdentifier,
newProperties: Map[String, String]): Unit = {
val catalogTable = spark.sessionState.catalog.getTableMetadata(tableIdt)