This is an automated email from the ASF dual-hosted git repository.

zhouyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new ce3ca70109 [GLUTEN-12856][TEST] Use withTable for table cleanup 
(#13405)
ce3ca70109 is described below

commit ce3ca70109259f9330ed9d2a2ceae6ac57aaed3b
Author: Shivadarshan Devadiga <[email protected]>
AuthorDate: Thu Oct 29 18:34:41 2026 +0530

    [GLUTEN-12856][TEST] Use withTable for table cleanup (#13405)
---
 .../hive/execution/GlutenHiveSQLQuerySuite.scala   |  54 +++----
 .../hive/execution/GlutenHiveSQLQuerySuite.scala   | 155 +++++++++-----------
 .../hive/execution/GlutenHiveSQLQuerySuite.scala   | 163 ++++++++++-----------
 .../hive/execution/GlutenHiveSQLQuerySuite.scala   | 163 ++++++++++-----------
 .../hive/execution/GlutenHiveSQLQuerySuite.scala   | 163 ++++++++++-----------
 5 files changed, 328 insertions(+), 370 deletions(-)

diff --git 
a/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
 
b/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
index 8be19c216a..a2dc452228 100644
--- 
a/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
+++ 
b/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
@@ -18,7 +18,6 @@ package org.apache.spark.sql.hive.execution
 
 import org.apache.spark.SparkConf
 import org.apache.spark.sql.Row
-import org.apache.spark.sql.catalyst.TableIdentifier
 import org.apache.spark.sql.hive.{HiveExternalCatalog, 
HiveTableScanExecTransformer}
 import org.apache.spark.sql.hive.client.HiveClient
 
@@ -33,20 +32,17 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("hive orc scan") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test_1', 'red')")
-      val df = spark.sql("select * from test_orc")
-      checkAnswer(df, Seq(Row("test_1", "red")))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test_1', 'red')")
+        val df = spark.sql("select * from test_orc")
+        checkAnswer(df, Seq(Row("test_1", "red")))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 
   testGluten("orc.force.positional.evolution maps Hive ORC columns by 
position") {
@@ -173,22 +169,20 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("avoid unnecessary filter binding for subfield during scan") {
-    withSQLConf(
-      "spark.sql.hive.convertMetastoreParquet" -> "false") {
-      sql("DROP TABLE IF EXISTS test_subfield")
-      sql(
-        "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
-          " label STRUCT<label_1:STRING, label_2:STRING>) USING hive 
OPTIONS(fileFormat 'parquet')")
-      sql(
-        "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
-          "'label_2', 'label-b'))")
-      val df = spark.sql("select * from test_subfield where name='test_1'")
-      checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_subfield") {
+      withSQLConf(
+        "spark.sql.hive.convertMetastoreParquet" -> "false") {
+        sql(
+          "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
+            " label STRUCT<label_1:STRING, label_2:STRING>)" +
+            " USING hive OPTIONS(fileFormat 'parquet')")
+        sql(
+          "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
+            "'label_2', 'label-b'))")
+        val df = spark.sql("select * from test_subfield where name='test_1'")
+        checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_subfield"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 }
diff --git 
a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
 
b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
index f34e9e307f..f442da9767 100644
--- 
a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
+++ 
b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
@@ -21,7 +21,6 @@ import 
org.apache.gluten.execution.FileSourceScanExecTransformer
 
 import org.apache.spark.SparkConf
 import org.apache.spark.sql.Row
-import org.apache.spark.sql.catalyst.TableIdentifier
 import org.apache.spark.sql.execution.SparkPlan
 import org.apache.spark.sql.hive.{HiveExternalCatalog, 
HiveTableScanExecTransformer}
 import org.apache.spark.sql.hive.client.HiveClient
@@ -39,84 +38,78 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("hive orc scan") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test_1', 'red')")
-      val df = spark.sql("select * from test_orc")
-      checkAnswer(df, Seq(Row("test_1", "red")))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test_1', 'red')")
+        val df = spark.sql("select * from test_orc")
+        checkAnswer(df, Seq(Row("test_1", "red")))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 
   // copy from GLUTEN-4796, which only added to spark33
   testGluten("Add orc char type validation") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name char(10), id int)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test', 1)")
-    }
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name char(10), id int)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test', 1)")
+      }
 
-    def testExecPlan(
-        convertMetastoreOrc: String,
-        charTypeFallbackEnabled: String,
-        shouldFindTransformer: Boolean,
-        transformerClass: Class[_ <: SparkPlan]
-    ): Unit = {
+      def testExecPlan(
+          convertMetastoreOrc: String,
+          charTypeFallbackEnabled: String,
+          shouldFindTransformer: Boolean,
+          transformerClass: Class[_ <: SparkPlan]
+      ): Unit = {
 
-      withSQLConf(
-        "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
-        GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
-      ) {
-        val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
+        withSQLConf(
+          "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
+          GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
+        ) {
+          val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
 
-        queries.foreach {
-          query =>
-            val executedPlan = getExecutedPlan(spark.sql(query))
-            val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+          queries.foreach {
+            query =>
+              val executedPlan = getExecutedPlan(spark.sql(query))
+              val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
 
-            if (shouldFindTransformer) {
-              assert(planCondition)
-            } else {
-              assert(!planCondition)
-            }
+              if (shouldFindTransformer) {
+                assert(planCondition)
+              } else {
+                assert(!planCondition)
+              }
+          }
         }
       }
-    }
 
-    testExecPlan(
-      "false",
-      "true",
-      shouldFindTransformer = false,
-      classOf[HiveTableScanExecTransformer])
-    testExecPlan(
-      "false",
-      "false",
-      shouldFindTransformer = true,
-      classOf[HiveTableScanExecTransformer])
+      testExecPlan(
+        "false",
+        "true",
+        shouldFindTransformer = false,
+        classOf[HiveTableScanExecTransformer])
+      testExecPlan(
+        "false",
+        "false",
+        shouldFindTransformer = true,
+        classOf[HiveTableScanExecTransformer])
 
-    testExecPlan(
-      "true",
-      "true",
-      shouldFindTransformer = false,
-      classOf[FileSourceScanExecTransformer])
-    testExecPlan(
-      "true",
-      "false",
-      shouldFindTransformer = true,
-      classOf[FileSourceScanExecTransformer])
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
+      testExecPlan(
+        "true",
+        "true",
+        shouldFindTransformer = false,
+        classOf[FileSourceScanExecTransformer])
+      testExecPlan(
+        "true",
+        "false",
+        shouldFindTransformer = true,
+        classOf[FileSourceScanExecTransformer])
+    }
   }
 
   ignoreGluten("orc.force.positional.evolution maps Hive ORC columns by 
position") {
@@ -285,22 +278,20 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("avoid unnecessary filter binding for subfield during scan") {
-    withSQLConf(
-      "spark.sql.hive.convertMetastoreParquet" -> "false") {
-      sql("DROP TABLE IF EXISTS test_subfield")
-      sql(
-        "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
-          " label STRUCT<label_1:STRING, label_2:STRING>) USING hive 
OPTIONS(fileFormat 'parquet')")
-      sql(
-        "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
-          "'label_2', 'label-b'))")
-      val df = spark.sql("select * from test_subfield where name='test_1'")
-      checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_subfield") {
+      withSQLConf(
+        "spark.sql.hive.convertMetastoreParquet" -> "false") {
+        sql(
+          "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
+            " label STRUCT<label_1:STRING, label_2:STRING>)" +
+            " USING hive OPTIONS(fileFormat 'parquet')")
+        sql(
+          "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
+            "'label_2', 'label-b'))")
+        val df = spark.sql("select * from test_subfield where name='test_1'")
+        checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_subfield"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 }
diff --git 
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
 
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
index ddd61613ee..7cf3b831b5 100644
--- 
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
+++ 
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
@@ -21,7 +21,6 @@ import 
org.apache.gluten.execution.FileSourceScanExecTransformer
 
 import org.apache.spark.SparkConf
 import org.apache.spark.sql.Row
-import org.apache.spark.sql.catalyst.TableIdentifier
 import org.apache.spark.sql.execution.SparkPlan
 import org.apache.spark.sql.hive.{HiveExternalCatalog, 
HiveTableScanExecTransformer}
 import org.apache.spark.sql.hive.client.HiveClient
@@ -39,84 +38,78 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("hive orc scan") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test_1', 'red')")
-      val df = spark.sql("select * from test_orc")
-      checkAnswer(df, Seq(Row("test_1", "red")))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test_1', 'red')")
+        val df = spark.sql("select * from test_orc")
+        checkAnswer(df, Seq(Row("test_1", "red")))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 
   // copy from GLUTEN-4796, which only added to spark33
   testGluten("Add orc char type validation") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name char(10), id int)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test', 1)")
-    }
-
-    def testExecPlan(
-        convertMetastoreOrc: String,
-        charTypeFallbackEnabled: String,
-        shouldFindTransformer: Boolean,
-        transformerClass: Class[_ <: SparkPlan]
-    ): Unit = {
-
-      withSQLConf(
-        "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
-        GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
-      ) {
-        val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
-
-        queries.foreach {
-          query =>
-            val executedPlan = getExecutedPlan(spark.sql(query))
-            val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name char(10), id int)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test', 1)")
+      }
 
-            if (shouldFindTransformer) {
-              assert(planCondition)
-            } else {
-              assert(!planCondition)
-            }
+      def testExecPlan(
+          convertMetastoreOrc: String,
+          charTypeFallbackEnabled: String,
+          shouldFindTransformer: Boolean,
+          transformerClass: Class[_ <: SparkPlan]
+      ): Unit = {
+
+        withSQLConf(
+          "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
+          GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
+        ) {
+          val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
+
+          queries.foreach {
+            query =>
+              val executedPlan = getExecutedPlan(spark.sql(query))
+              val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+
+              if (shouldFindTransformer) {
+                assert(planCondition)
+              } else {
+                assert(!planCondition)
+              }
+          }
         }
       }
-    }
 
-    testExecPlan(
-      "false",
-      "true",
-      shouldFindTransformer = false,
-      classOf[HiveTableScanExecTransformer])
-    testExecPlan(
-      "false",
-      "false",
-      shouldFindTransformer = true,
-      classOf[HiveTableScanExecTransformer])
-
-    testExecPlan(
-      "true",
-      "true",
-      shouldFindTransformer = false,
-      classOf[FileSourceScanExecTransformer])
-    testExecPlan(
-      "true",
-      "false",
-      shouldFindTransformer = true,
-      classOf[FileSourceScanExecTransformer])
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
+      testExecPlan(
+        "false",
+        "true",
+        shouldFindTransformer = false,
+        classOf[HiveTableScanExecTransformer])
+      testExecPlan(
+        "false",
+        "false",
+        shouldFindTransformer = true,
+        classOf[HiveTableScanExecTransformer])
+
+      testExecPlan(
+        "true",
+        "true",
+        shouldFindTransformer = false,
+        classOf[FileSourceScanExecTransformer])
+      testExecPlan(
+        "true",
+        "false",
+        shouldFindTransformer = true,
+        classOf[FileSourceScanExecTransformer])
+    }
   }
 
   testGluten("orc.force.positional.evolution maps Hive ORC columns by 
position") {
@@ -243,22 +236,20 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("avoid unnecessary filter binding for subfield during scan") {
-    withSQLConf(
-      "spark.sql.hive.convertMetastoreParquet" -> "false") {
-      sql("DROP TABLE IF EXISTS test_subfield")
-      sql(
-        "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
-          " label STRUCT<label_1:STRING, label_2:STRING>) USING hive 
OPTIONS(fileFormat 'parquet')")
-      sql(
-        "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
-          "'label_2', 'label-b'))")
-      val df = spark.sql("select * from test_subfield where name='test_1'")
-      checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_subfield") {
+      withSQLConf(
+        "spark.sql.hive.convertMetastoreParquet" -> "false") {
+        sql(
+          "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
+            " label STRUCT<label_1:STRING, label_2:STRING>)" +
+            " USING hive OPTIONS(fileFormat 'parquet')")
+        sql(
+          "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
+            "'label_2', 'label-b'))")
+        val df = spark.sql("select * from test_subfield where name='test_1'")
+        checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_subfield"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 }
diff --git 
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
 
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
index ddd61613ee..7cf3b831b5 100644
--- 
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
+++ 
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
@@ -21,7 +21,6 @@ import 
org.apache.gluten.execution.FileSourceScanExecTransformer
 
 import org.apache.spark.SparkConf
 import org.apache.spark.sql.Row
-import org.apache.spark.sql.catalyst.TableIdentifier
 import org.apache.spark.sql.execution.SparkPlan
 import org.apache.spark.sql.hive.{HiveExternalCatalog, 
HiveTableScanExecTransformer}
 import org.apache.spark.sql.hive.client.HiveClient
@@ -39,84 +38,78 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("hive orc scan") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test_1', 'red')")
-      val df = spark.sql("select * from test_orc")
-      checkAnswer(df, Seq(Row("test_1", "red")))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test_1', 'red')")
+        val df = spark.sql("select * from test_orc")
+        checkAnswer(df, Seq(Row("test_1", "red")))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 
   // copy from GLUTEN-4796, which only added to spark33
   testGluten("Add orc char type validation") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name char(10), id int)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test', 1)")
-    }
-
-    def testExecPlan(
-        convertMetastoreOrc: String,
-        charTypeFallbackEnabled: String,
-        shouldFindTransformer: Boolean,
-        transformerClass: Class[_ <: SparkPlan]
-    ): Unit = {
-
-      withSQLConf(
-        "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
-        GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
-      ) {
-        val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
-
-        queries.foreach {
-          query =>
-            val executedPlan = getExecutedPlan(spark.sql(query))
-            val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name char(10), id int)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test', 1)")
+      }
 
-            if (shouldFindTransformer) {
-              assert(planCondition)
-            } else {
-              assert(!planCondition)
-            }
+      def testExecPlan(
+          convertMetastoreOrc: String,
+          charTypeFallbackEnabled: String,
+          shouldFindTransformer: Boolean,
+          transformerClass: Class[_ <: SparkPlan]
+      ): Unit = {
+
+        withSQLConf(
+          "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
+          GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
+        ) {
+          val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
+
+          queries.foreach {
+            query =>
+              val executedPlan = getExecutedPlan(spark.sql(query))
+              val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+
+              if (shouldFindTransformer) {
+                assert(planCondition)
+              } else {
+                assert(!planCondition)
+              }
+          }
         }
       }
-    }
 
-    testExecPlan(
-      "false",
-      "true",
-      shouldFindTransformer = false,
-      classOf[HiveTableScanExecTransformer])
-    testExecPlan(
-      "false",
-      "false",
-      shouldFindTransformer = true,
-      classOf[HiveTableScanExecTransformer])
-
-    testExecPlan(
-      "true",
-      "true",
-      shouldFindTransformer = false,
-      classOf[FileSourceScanExecTransformer])
-    testExecPlan(
-      "true",
-      "false",
-      shouldFindTransformer = true,
-      classOf[FileSourceScanExecTransformer])
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
+      testExecPlan(
+        "false",
+        "true",
+        shouldFindTransformer = false,
+        classOf[HiveTableScanExecTransformer])
+      testExecPlan(
+        "false",
+        "false",
+        shouldFindTransformer = true,
+        classOf[HiveTableScanExecTransformer])
+
+      testExecPlan(
+        "true",
+        "true",
+        shouldFindTransformer = false,
+        classOf[FileSourceScanExecTransformer])
+      testExecPlan(
+        "true",
+        "false",
+        shouldFindTransformer = true,
+        classOf[FileSourceScanExecTransformer])
+    }
   }
 
   testGluten("orc.force.positional.evolution maps Hive ORC columns by 
position") {
@@ -243,22 +236,20 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("avoid unnecessary filter binding for subfield during scan") {
-    withSQLConf(
-      "spark.sql.hive.convertMetastoreParquet" -> "false") {
-      sql("DROP TABLE IF EXISTS test_subfield")
-      sql(
-        "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
-          " label STRUCT<label_1:STRING, label_2:STRING>) USING hive 
OPTIONS(fileFormat 'parquet')")
-      sql(
-        "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
-          "'label_2', 'label-b'))")
-      val df = spark.sql("select * from test_subfield where name='test_1'")
-      checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_subfield") {
+      withSQLConf(
+        "spark.sql.hive.convertMetastoreParquet" -> "false") {
+        sql(
+          "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
+            " label STRUCT<label_1:STRING, label_2:STRING>)" +
+            " USING hive OPTIONS(fileFormat 'parquet')")
+        sql(
+          "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
+            "'label_2', 'label-b'))")
+        val df = spark.sql("select * from test_subfield where name='test_1'")
+        checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_subfield"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 }
diff --git 
a/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
 
b/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
index ddd61613ee..7cf3b831b5 100644
--- 
a/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
+++ 
b/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/hive/execution/GlutenHiveSQLQuerySuite.scala
@@ -21,7 +21,6 @@ import 
org.apache.gluten.execution.FileSourceScanExecTransformer
 
 import org.apache.spark.SparkConf
 import org.apache.spark.sql.Row
-import org.apache.spark.sql.catalyst.TableIdentifier
 import org.apache.spark.sql.execution.SparkPlan
 import org.apache.spark.sql.hive.{HiveExternalCatalog, 
HiveTableScanExecTransformer}
 import org.apache.spark.sql.hive.client.HiveClient
@@ -39,84 +38,78 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("hive orc scan") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test_1', 'red')")
-      val df = spark.sql("select * from test_orc")
-      checkAnswer(df, Seq(Row("test_1", "red")))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name STRING, favorite_color STRING)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test_1', 'red')")
+        val df = spark.sql("select * from test_orc")
+        checkAnswer(df, Seq(Row("test_1", "red")))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 
   // copy from GLUTEN-4796, which only added to spark33
   testGluten("Add orc char type validation") {
-    withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
-      sql("DROP TABLE IF EXISTS test_orc")
-      sql(
-        "CREATE TABLE test_orc (name char(10), id int)" +
-          " USING hive OPTIONS(fileFormat 'orc')")
-      sql("INSERT INTO test_orc VALUES('test', 1)")
-    }
-
-    def testExecPlan(
-        convertMetastoreOrc: String,
-        charTypeFallbackEnabled: String,
-        shouldFindTransformer: Boolean,
-        transformerClass: Class[_ <: SparkPlan]
-    ): Unit = {
-
-      withSQLConf(
-        "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
-        GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
-      ) {
-        val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
-
-        queries.foreach {
-          query =>
-            val executedPlan = getExecutedPlan(spark.sql(query))
-            val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+    withTable("test_orc") {
+      withSQLConf("spark.sql.hive.convertMetastoreOrc" -> "false") {
+        sql(
+          "CREATE TABLE test_orc (name char(10), id int)" +
+            " USING hive OPTIONS(fileFormat 'orc')")
+        sql("INSERT INTO test_orc VALUES('test', 1)")
+      }
 
-            if (shouldFindTransformer) {
-              assert(planCondition)
-            } else {
-              assert(!planCondition)
-            }
+      def testExecPlan(
+          convertMetastoreOrc: String,
+          charTypeFallbackEnabled: String,
+          shouldFindTransformer: Boolean,
+          transformerClass: Class[_ <: SparkPlan]
+      ): Unit = {
+
+        withSQLConf(
+          "spark.sql.hive.convertMetastoreOrc" -> convertMetastoreOrc,
+          GlutenConfig.VELOX_FORCE_ORC_CHAR_TYPE_SCAN_FALLBACK.key -> 
charTypeFallbackEnabled
+        ) {
+          val queries = Seq("select id from test_orc", "select name, id from 
test_orc")
+
+          queries.foreach {
+            query =>
+              val executedPlan = getExecutedPlan(spark.sql(query))
+              val planCondition = 
executedPlan.exists(_.find(transformerClass.isInstance).isDefined)
+
+              if (shouldFindTransformer) {
+                assert(planCondition)
+              } else {
+                assert(!planCondition)
+              }
+          }
         }
       }
-    }
 
-    testExecPlan(
-      "false",
-      "true",
-      shouldFindTransformer = false,
-      classOf[HiveTableScanExecTransformer])
-    testExecPlan(
-      "false",
-      "false",
-      shouldFindTransformer = true,
-      classOf[HiveTableScanExecTransformer])
-
-    testExecPlan(
-      "true",
-      "true",
-      shouldFindTransformer = false,
-      classOf[FileSourceScanExecTransformer])
-    testExecPlan(
-      "true",
-      "false",
-      shouldFindTransformer = true,
-      classOf[FileSourceScanExecTransformer])
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_orc"),
-      ignoreIfNotExists = true,
-      purge = false)
+      testExecPlan(
+        "false",
+        "true",
+        shouldFindTransformer = false,
+        classOf[HiveTableScanExecTransformer])
+      testExecPlan(
+        "false",
+        "false",
+        shouldFindTransformer = true,
+        classOf[HiveTableScanExecTransformer])
+
+      testExecPlan(
+        "true",
+        "true",
+        shouldFindTransformer = false,
+        classOf[FileSourceScanExecTransformer])
+      testExecPlan(
+        "true",
+        "false",
+        shouldFindTransformer = true,
+        classOf[FileSourceScanExecTransformer])
+    }
   }
 
   testGluten("orc.force.positional.evolution maps Hive ORC columns by 
position") {
@@ -243,22 +236,20 @@ class GlutenHiveSQLQuerySuite extends 
GlutenHiveSQLQuerySuiteBase {
   }
 
   testGluten("avoid unnecessary filter binding for subfield during scan") {
-    withSQLConf(
-      "spark.sql.hive.convertMetastoreParquet" -> "false") {
-      sql("DROP TABLE IF EXISTS test_subfield")
-      sql(
-        "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
-          " label STRUCT<label_1:STRING, label_2:STRING>) USING hive 
OPTIONS(fileFormat 'parquet')")
-      sql(
-        "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
-          "'label_2', 'label-b'))")
-      val df = spark.sql("select * from test_subfield where name='test_1'")
-      checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
-      checkOperatorMatch[HiveTableScanExecTransformer](df)
+    withTable("test_subfield") {
+      withSQLConf(
+        "spark.sql.hive.convertMetastoreParquet" -> "false") {
+        sql(
+          "CREATE TABLE test_subfield (name STRING, favorite_color STRING," +
+            " label STRUCT<label_1:STRING, label_2:STRING>)" +
+            " USING hive OPTIONS(fileFormat 'parquet')")
+        sql(
+          "INSERT INTO test_subfield VALUES('test_1', 'red', 
named_struct('label_1', 'label-a'," +
+            "'label_2', 'label-b'))")
+        val df = spark.sql("select * from test_subfield where name='test_1'")
+        checkAnswer(df, Seq(Row("test_1", "red", Row("label-a", "label-b"))))
+        checkOperatorMatch[HiveTableScanExecTransformer](df)
+      }
     }
-    spark.sessionState.catalog.dropTable(
-      TableIdentifier("test_subfield"),
-      ignoreIfNotExists = true,
-      purge = false)
   }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to