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

cloud-fan pushed a commit to branch branch-4.3
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/branch-4.3 by this push:
     new f5d674ef46bb [SPARK-58170][SQL][TEST] Provide sql shorthand in 
SparkSessionProvider
f5d674ef46bb is described below

commit f5d674ef46bbb2802cdaa6ad3d2085f5bf22ab00
Author: Matthis Gördel <[email protected]>
AuthorDate: Fri Aug 7 19:27:18 2026 +0800

    [SPARK-58170][SQL][TEST] Provide sql shorthand in SparkSessionProvider
    
    ### What changes were proposed in this pull request?
    
    Moves the definition of the `sql(...)` shorthand from `QueryTest` to 
`SparkSessionProvider`.
    
    ### Why are the changes needed?
    
    This makes the shorthand available in `SessionQueryTest` (c.f. 
https://github.com/apache/spark/pull/56190).
    
    ### Does this PR introduce _any_ user-facing change?
    
    No
    
    ### How was this patch tested?
    
    This change is covered by existing changes like e.g. `QueryTestSuite.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    No
    
    Closes #57300 from fwc/sparksessionprovider-add-sql-shorthand.
    
    Lead-authored-by: Matthis Gördel <[email protected]>
    Co-authored-by: Matthis Gördel <[email protected]>
    Signed-off-by: Wenchen Fan <[email protected]>
    (cherry picked from commit f982c8e34547acbc76dd7398e62632acc28df639)
    Signed-off-by: Wenchen Fan <[email protected]>
---
 .../test/scala/org/apache/spark/sql/connect/SessionQueryTest.scala   | 2 +-
 .../scala/org/apache/spark/sql/connect/SparkSessionProvider.scala    | 2 ++
 sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala         | 3 ---
 .../spark/sql/ReplaceIntegerLiteralsWithOrdinalsDataframeSuite.scala | 1 -
 .../src/test/scala/org/apache/spark/sql/SparkSessionProvider.scala   | 5 +++++
 .../test/scala/org/apache/spark/sql/classic/SparkSessionBinder.scala | 5 ++++-
 .../scala/org/apache/spark/sql/classic/SparkSessionProvider.scala    | 2 ++
 .../apache/spark/sql/collation/CollationExpressionWalkerSuite.scala  | 1 -
 .../apache/spark/sql/execution/datasources/SchemaPruningSuite.scala  | 1 -
 .../org/apache/spark/sql/sources/CreateTableAsSelectSuite.scala      | 1 -
 .../test/scala/org/apache/spark/sql/sources/FilteredScanSuite.scala  | 1 -
 .../src/test/scala/org/apache/spark/sql/sources/InsertSuite.scala    | 1 -
 .../test/scala/org/apache/spark/sql/sources/PrunedScanSuite.scala    | 1 -
 .../src/test/scala/org/apache/spark/sql/sources/SaveLoadSuite.scala  | 1 -
 .../src/test/scala/org/apache/spark/sql/sources/TableScanSuite.scala | 1 -
 .../scala/org/apache/spark/sql/hive/execution/HiveUDFSuite.scala     | 1 -
 16 files changed, 14 insertions(+), 15 deletions(-)

diff --git 
a/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SessionQueryTest.scala
 
b/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SessionQueryTest.scala
index 89e7ea90f8f4..13d9cf48638b 100644
--- 
a/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SessionQueryTest.scala
+++ 
b/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SessionQueryTest.scala
@@ -40,7 +40,7 @@ trait SessionQueryTest extends sql.SessionQueryTest with 
SparkSessionBinder {
   /**
    * Approximates [[sql.SessionQueryTest.isDfSorted]] by inspecting the 
explain string.
    */
-  override def isDfSorted(df: sql.DataFrame): Boolean = df match {
+  override def isDfSorted(df: org.apache.spark.sql.DataFrame): Boolean = df 
match {
     case df: DataFrame => 
sortOperator.unanchored.matches(df.explainString(extended = false))
     case df => super.isDfSorted(df)
   }
diff --git 
a/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SparkSessionProvider.scala
 
b/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SparkSessionProvider.scala
index 959e7fd89939..d139f2076df7 100644
--- 
a/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SparkSessionProvider.scala
+++ 
b/sql/connect/server/src/test/scala/org/apache/spark/sql/connect/SparkSessionProvider.scala
@@ -25,4 +25,6 @@ import org.apache.spark.sql
  */
 trait SparkSessionProvider extends sql.SparkSessionProvider {
   protected override def spark: SparkSession
+
+  override protected def sql(query: String): DataFrame = spark.sql(query)
 }
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala
index 02cb61787abc..04d633698604 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala
@@ -282,9 +282,6 @@ trait QueryTestBase
 
   protected def sparkContext = spark.sparkContext
 
-  // Shorthand for running a query using our SparkSession
-  protected lazy val sql: String => DataFrame = spark.sql _
-
   /**
    * A helper object for importing SQL implicits.
    *
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/ReplaceIntegerLiteralsWithOrdinalsDataframeSuite.scala
 
b/sql/core/src/test/scala/org/apache/spark/sql/ReplaceIntegerLiteralsWithOrdinalsDataframeSuite.scala
index 5c3b6a6ec696..92f54b553053 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/ReplaceIntegerLiteralsWithOrdinalsDataframeSuite.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/ReplaceIntegerLiteralsWithOrdinalsDataframeSuite.scala
@@ -24,7 +24,6 @@ import org.apache.spark.sql.internal.SQLConf
 import org.apache.spark.sql.test.SharedSparkSession
 
 class ReplaceIntegerLiteralsWithOrdinalsDataframeSuite extends 
SharedSparkSession {
-  import testImplicits._
 
   test("Group by ordinal - Dataframe") {
     val query = "SELECT * FROM VALUES(1,2),(1,3),(2,4)"
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/SparkSessionProvider.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/SparkSessionProvider.scala
index 67ff122efec8..1f0aaa1f39bf 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/SparkSessionProvider.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/SparkSessionProvider.scala
@@ -26,4 +26,9 @@ package org.apache.spark.sql
  */
 trait SparkSessionProvider {
   protected def spark: SparkSession
+
+  /**
+   * Shorthand for running a query using the [[SparkSession]]
+   */
+  protected def sql(query: String): DataFrame = spark.sql(query)
 }
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionBinder.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionBinder.scala
index 2f79876d841d..71c44cfd05b1 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionBinder.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionBinder.scala
@@ -22,6 +22,9 @@ import org.apache.spark.{sql, SparkFunSuite}
 /**
  * Overrides [[spark]] to provide a [[SparkSession classic.SparkSession]]
  */
-trait SparkSessionBinder extends sql.SparkSessionBinder { self: SparkFunSuite 
=>
+trait SparkSessionBinder
+  extends sql.SparkSessionBinder
+  with SparkSessionProvider { self: SparkFunSuite =>
+
   override protected def spark: SparkSession = 
super.spark.asInstanceOf[SparkSession]
 }
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionProvider.scala
 
b/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionProvider.scala
index 77de0db4bf68..288c1fe87958 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionProvider.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/classic/SparkSessionProvider.scala
@@ -21,4 +21,6 @@ import org.apache.spark.sql
 
 trait SparkSessionProvider extends sql.SparkSessionProvider {
   override protected def spark: SparkSession
+
+  override protected def sql(query: String): DataFrame = spark.sql(query)
 }
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/collation/CollationExpressionWalkerSuite.scala
 
b/sql/core/src/test/scala/org/apache/spark/sql/collation/CollationExpressionWalkerSuite.scala
index 41be966fdfef..51b2fefafce2 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/collation/CollationExpressionWalkerSuite.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/collation/CollationExpressionWalkerSuite.scala
@@ -34,7 +34,6 @@ import org.apache.spark.util.Utils
  *  collations
  */
 class CollationExpressionWalkerSuite extends SharedSparkSession {
-  import testImplicits._
 
   // Trait to distinguish different cases for generation
   sealed trait CollationType
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/SchemaPruningSuite.scala
 
b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/SchemaPruningSuite.scala
index 2b498cdf3c15..f79d9cb8a0e7 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/SchemaPruningSuite.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/SchemaPruningSuite.scala
@@ -860,7 +860,6 @@ abstract class SchemaPruningSuite
 
   testSchemaPruning("select nested field in Expand") {
     import org.apache.spark.sql.catalyst.dsl.expressions._
-    import testImplicits.castToImpl
 
     val query1 = Expand(
       Seq(
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/CreateTableAsSelectSuite.scala
 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/CreateTableAsSelectSuite.scala
index 95c2fcbd7b5d..34d87b6f91d7 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/CreateTableAsSelectSuite.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/CreateTableAsSelectSuite.scala
@@ -30,7 +30,6 @@ import org.apache.spark.util.Utils
 class CreateTableAsSelectSuite extends DataSourceTest with SharedSparkSession {
   import testImplicits._
 
-  protected override lazy val sql = spark.sql _
   private var path: File = null
 
   override def beforeAll(): Unit = {
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/FilteredScanSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/FilteredScanSuite.scala
index 786e50eea2e7..cbd92f0af190 100644
--- 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/FilteredScanSuite.scala
+++ 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/FilteredScanSuite.scala
@@ -134,7 +134,6 @@ object ColumnsRequired {
 }
 
 class FilteredScanSuite extends DataSourceTest with SharedSparkSession {
-  protected override lazy val sql = spark.sql _
 
   override def beforeAll(): Unit = {
     super.beforeAll()
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/InsertSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/InsertSuite.scala
index f2645e32e8a9..accf6439234a 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/sources/InsertSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/sources/InsertSuite.scala
@@ -60,7 +60,6 @@ case class SimpleInsert(userSpecifiedSchema: 
StructType)(@transient val sparkSes
 class InsertSuite extends DataSourceTest with SharedSparkSession {
   import testImplicits._
 
-  protected override lazy val sql = spark.sql _
   private var path: File = null
 
   override def beforeAll(): Unit = {
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/PrunedScanSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/PrunedScanSuite.scala
index f242f75f39f2..4e48d0246e57 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/sources/PrunedScanSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/sources/PrunedScanSuite.scala
@@ -54,7 +54,6 @@ case class SimplePrunedScan(from: Int, to: Int)(@transient 
val sparkSession: Spa
 }
 
 class PrunedScanSuite extends DataSourceTest with SharedSparkSession {
-  protected override lazy val sql = spark.sql _
 
   override def beforeAll(): Unit = {
     super.beforeAll()
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/SaveLoadSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/SaveLoadSuite.scala
index 1e0d9bd9990e..571b558c3c76 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/sources/SaveLoadSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/sources/SaveLoadSuite.scala
@@ -32,7 +32,6 @@ import org.apache.spark.util.Utils
 class SaveLoadSuite extends DataSourceTest with SharedSparkSession with 
BeforeAndAfter {
   import testImplicits._
 
-  protected override lazy val sql = spark.sql _
   private var originalDefaultSource: String = null
   private var path: File = null
   private var df: DataFrame = null
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/sources/TableScanSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/sources/TableScanSuite.scala
index eac77c293820..a22fecc237e1 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/sources/TableScanSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/sources/TableScanSuite.scala
@@ -123,7 +123,6 @@ class LegacyTimestampSource extends RelationProvider {
 }
 
 class TableScanSuite extends DataSourceTest with SharedSparkSession {
-  protected override lazy val sql = spark.sql _
 
   private lazy val tableWithSchemaExpected = (1 to 10).map { i =>
     Row(
diff --git 
a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDFSuite.scala
 
b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDFSuite.scala
index 01af6b3cc570..8999ff12d3c2 100644
--- 
a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDFSuite.scala
+++ 
b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDFSuite.scala
@@ -59,7 +59,6 @@ case class ListStringCaseClass(l: Seq[String])
 @SlowHiveTest
 class HiveUDFSuite extends QueryTest with TestHiveSingleton {
   import spark.implicits._
-  import testImplicits.castToImpl
 
   import spark.udf
 


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

Reply via email to