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

ptoth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new c3b102bf3ea4 [SPARK-54304][SQL][TESTS] MergeScalarSubqueriesSuite code 
cleanup
c3b102bf3ea4 is described below

commit c3b102bf3ea4a1b2a48a99068c5bbf436a373544
Author: Peter Toth <[email protected]>
AuthorDate: Tue Nov 11 18:43:46 2025 +0100

    [SPARK-54304][SQL][TESTS] MergeScalarSubqueriesSuite code cleanup
    
    ### What changes were proposed in this pull request?
    
    This is minor code cleaup in `MergeScalarSubqueriesSuite`.
    
    ### Why are the changes needed?
    
    No change in tests just better readability before adding new ones.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Existing UTs.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    No.
    
    Closes #52998 from 
peter-toth/SPARK-54304-mergescalarsubqueriessuite-code-cleanup.
    
    Authored-by: Peter Toth <[email protected]>
    Signed-off-by: Peter Toth <[email protected]>
---
 .../optimizer/MergeScalarSubqueriesSuite.scala     | 305 ++++++++++-----------
 1 file changed, 146 insertions(+), 159 deletions(-)

diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/MergeScalarSubqueriesSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/MergeScalarSubqueriesSuite.scala
index c167b80c1827..008b4a89ce60 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/MergeScalarSubqueriesSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/MergeScalarSubqueriesSuite.scala
@@ -35,28 +35,33 @@ class MergeScalarSubqueriesSuite extends PlanTest {
     val batches = Batch("MergeScalarSubqueries", Once, MergeScalarSubqueries) 
:: Nil
   }
 
-  val testRelation = LocalRelation(Symbol("a").int, Symbol("b").int, 
Symbol("c").string)
+  val testRelation = LocalRelation($"a".int, $"b".int, $"c".string)
   val testRelationWithNonBinaryCollation = LocalRelation(
-    Symbol("utf8_binary").string("UTF8_BINARY"),
-    Symbol("utf8_lcase").string("UTF8_LCASE"))
+    $"utf8_binary".string("UTF8_BINARY"),
+    $"utf8_lcase".string("UTF8_LCASE"))
 
   private def definitionNode(plan: LogicalPlan, cteIndex: Int) = {
     CTERelationDef(plan, cteIndex, underSubquery = true)
   }
 
-  private def extractorExpression(cteIndex: Int, output: Seq[Attribute], 
fieldIndex: Int) = {
-    GetStructField(ScalarSubquery(
-      CTERelationRef(cteIndex, _resolved = true, output, isStreaming = 
false)), fieldIndex)
-      .as("scalarsubquery()")
+  private def extractorExpression(
+      cteIndex: Int,
+      output: Seq[Attribute],
+      fieldIndex: Int,
+      alias: String = "scalarsubquery()") = {
+    GetStructField(
+      ScalarSubquery(CTERelationRef(cteIndex, _resolved = true, output, 
isStreaming = false)),
+      fieldIndex)
+      .as(alias)
   }
 
   test("Merging subqueries with projects") {
-    val subquery1 = ScalarSubquery(testRelation.select((Symbol("a") + 
1).as("a_plus1")))
-    val subquery2 = ScalarSubquery(testRelation.select((Symbol("a") + 
2).as("a_plus2")))
-    val subquery3 = ScalarSubquery(testRelation.select(Symbol("b")))
-    val subquery4 = ScalarSubquery(testRelation.select((Symbol("a") + 
1).as("a_plus1_2")))
-    val subquery5 = ScalarSubquery(testRelation.select((Symbol("a") + 
2).as("a_plus2_2")))
-    val subquery6 = ScalarSubquery(testRelation.select(Symbol("b").as("b_2")))
+    val subquery1 = ScalarSubquery(testRelation.select(($"a" + 
1).as("a_plus1")))
+    val subquery2 = ScalarSubquery(testRelation.select(($"a" + 
2).as("a_plus2")))
+    val subquery3 = ScalarSubquery(testRelation.select($"b"))
+    val subquery4 = ScalarSubquery(testRelation.select(($"a" + 
1).as("a_plus1_2")))
+    val subquery5 = ScalarSubquery(testRelation.select(($"a" + 
2).as("a_plus2_2")))
+    val subquery6 = ScalarSubquery(testRelation.select($"b".as("b_2")))
     val originalQuery = testRelation
       .select(
         subquery1,
@@ -68,14 +73,14 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
     val mergedSubquery = testRelation
       .select(
-        (Symbol("a") + 1).as("a_plus1"),
-        (Symbol("a") + 2).as("a_plus2"),
-        Symbol("b"))
+        ($"a" + 1).as("a_plus1"),
+        ($"a" + 2).as("a_plus2"),
+        $"b")
       .select(
         CreateNamedStruct(Seq(
-          Literal("a_plus1"), Symbol("a_plus1"),
-          Literal("a_plus2"), Symbol("a_plus2"),
-          Literal("b"), Symbol("b")
+          Literal("a_plus1"), $"a_plus1",
+          Literal("a_plus2"), $"a_plus2",
+          Literal("b"), $"b"
         )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -93,14 +98,12 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Merging subqueries with aggregates") {
-    val subquery1 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(max(Symbol("a")).as("max_a")))
-    val subquery2 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(sum(Symbol("a")).as("sum_a")))
-    val subquery3 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(Symbol("b")))
-    val subquery4 = ScalarSubquery(
-      testRelation.groupBy(Symbol("b"))(max(Symbol("a")).as("max_a_2")))
-    val subquery5 = ScalarSubquery(
-      testRelation.groupBy(Symbol("b"))(sum(Symbol("a")).as("sum_a_2")))
-    val subquery6 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(Symbol("b").as("b_2")))
+    val subquery1 = 
ScalarSubquery(testRelation.groupBy($"b")(max($"a").as("max_a")))
+    val subquery2 = 
ScalarSubquery(testRelation.groupBy($"b")(sum($"a").as("sum_a")))
+    val subquery3 = ScalarSubquery(testRelation.groupBy($"b")($"b"))
+    val subquery4 = 
ScalarSubquery(testRelation.groupBy($"b")(max($"a").as("max_a_2")))
+    val subquery5 = 
ScalarSubquery(testRelation.groupBy($"b")(sum($"a").as("sum_a_2")))
+    val subquery6 = ScalarSubquery(testRelation.groupBy($"b")($"b".as("b_2")))
     val originalQuery = testRelation
       .select(
         subquery1,
@@ -111,14 +114,14 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         subquery6)
 
     val mergedSubquery = testRelation
-      .groupBy(Symbol("b"))(
-        max(Symbol("a")).as("max_a"),
-        sum(Symbol("a")).as("sum_a"),
-        Symbol("b"))
+      .groupBy($"b")(
+        max($"a").as("max_a"),
+        sum($"a").as("sum_a"),
+        $"b")
       .select(CreateNamedStruct(Seq(
-        Literal("max_a"), Symbol("max_a"),
-        Literal("sum_a"), Symbol("sum_a"),
-        Literal("b"), Symbol("b")
+        Literal("max_a"), $"max_a",
+        Literal("sum_a"), $"sum_a",
+        Literal("b"), $"b"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -136,13 +139,11 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Merging subqueries with aggregates with complex grouping expressions") 
{
-    val subquery1 = ScalarSubquery(testRelation.groupBy(
-      Symbol("b") > 1 && Symbol("a") === 2)(max(Symbol("a")).as("max_a")))
-    val subquery2 = ScalarSubquery(
-      testRelation
-        .select(Symbol("a"), Symbol("b").as("b_2"))
-        .groupBy(Literal(2) === Symbol("a") &&
-          Literal(1) < Symbol("b_2"))(sum(Symbol("a")).as("sum_a")))
+    val subquery1 = ScalarSubquery(
+      testRelation.groupBy($"b" > 1 && $"a" === 2)(max($"a").as("max_a")))
+    val subquery2 = ScalarSubquery(testRelation
+      .select($"a", $"b".as("b_2"))
+      .groupBy(Literal(2) === $"a" && Literal(1) < 
$"b_2")(sum($"a").as("sum_a")))
 
     val originalQuery = testRelation
       .select(
@@ -150,13 +151,13 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         subquery2)
 
     val mergedSubquery = testRelation
-      .select(Symbol("a"), Symbol("b"), Symbol("c"))
-      .groupBy(Symbol("b") > 1 && Symbol("a") === 2)(
-        max(Symbol("a")).as("max_a"),
-        sum(Symbol("a")).as("sum_a"))
+      .select($"a", $"b", $"c")
+      .groupBy($"b" > 1 && $"a" === 2)(
+        max($"a").as("max_a"),
+        sum($"a").as("sum_a"))
       .select(CreateNamedStruct(Seq(
-        Literal("max_a"), Symbol("max_a"),
-        Literal("sum_a"), Symbol("sum_a")
+        Literal("max_a"), $"max_a",
+        Literal("sum_a"), $"sum_a"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -171,10 +172,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
   test("Merging subqueries with aggregates with multiple grouping 
expressions") {
     // supports HashAggregate
-    val subquery1 = ScalarSubquery(testRelation.groupBy(Symbol("b"),
-      Symbol("c"))(max(Symbol("a")).as("max_a")))
-    val subquery2 = ScalarSubquery(testRelation.groupBy(Symbol("b"),
-      Symbol("c"))(min(Symbol("a")).as("min_a")))
+    val subquery1 = ScalarSubquery(testRelation.groupBy($"b", 
$"c")(max($"a").as("max_a")))
+    val subquery2 = ScalarSubquery(testRelation.groupBy($"b", 
$"c")(min($"a").as("min_a")))
 
     val originalQuery = testRelation
       .select(
@@ -182,12 +181,12 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         subquery2)
 
     val hashAggregates = testRelation
-      .groupBy(Symbol("b"), Symbol("c"))(
-        max(Symbol("a")).as("max_a"),
-        min(Symbol("a")).as("min_a"))
+      .groupBy($"b", $"c")(
+        max($"a").as("max_a"),
+        min($"a").as("min_a"))
       .select(CreateNamedStruct(Seq(
-        Literal("max_a"), Symbol("max_a"),
-        Literal("min_a"), Symbol("min_a")
+        Literal("max_a"), $"max_a",
+        Literal("min_a"), $"min_a"
       )).as("mergedValue"))
     val analyzedHashAggregates = hashAggregates.analyze
     val correctAnswer = WithCTE(
@@ -201,10 +200,10 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Avoid merge when mixing sort and hash aggs") {
-    val subquery1 = ScalarSubquery(testRelationWithNonBinaryCollation.groupBy(
-      Symbol("utf8_binary"))(max(Symbol("utf8_binary")).as("max_utf8_binary")))
-    val subquery2 = ScalarSubquery(testRelationWithNonBinaryCollation.groupBy(
-      Symbol("utf8_lcase"))(max(Symbol("utf8_lcase")).as("utf8_lcase")))
+    val subquery1 = ScalarSubquery(testRelationWithNonBinaryCollation
+      .groupBy($"utf8_binary")(max($"utf8_binary").as("max_utf8_binary")))
+    val subquery2 = ScalarSubquery(testRelationWithNonBinaryCollation
+      .groupBy($"utf8_lcase")(max($"utf8_lcase").as("utf8_lcase")))
     val originalQuery = testRelationWithNonBinaryCollation.select(subquery1, 
subquery2)
     Optimize.execute(originalQuery.analyze).collect {
       case WithCTE(_, _) => fail("Should not have merged")
@@ -212,16 +211,16 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Merging subqueries with filters") {
-    val subquery1 = ScalarSubquery(testRelation.where(Symbol("a") > 
1).select(Symbol("a")))
+    val subquery1 = ScalarSubquery(testRelation.where($"a" > 1).select($"a"))
     // Despite having an extra Project node, `subquery2` is mergeable with 
`subquery1`
-    val subquery2 = ScalarSubquery(testRelation.where(Symbol("a") > 1).select(
-      Symbol("b").as("b_1")).select(Symbol("b_1")))
+    val subquery2 = ScalarSubquery(
+      testRelation.where($"a" > 1).select($"b".as("b_1")).select($"b_1"))
     // Despite lacking a Project node, `subquery3` is mergeable with the 
result of merging
     // `subquery1` and `subquery2`
-    val subquery3 = ScalarSubquery(testRelation.select(
-      Symbol("a").as("a_2")).where(Symbol("a_2") > 1).select(Symbol("a_2")))
-    val subquery4 = ScalarSubquery(testRelation.select(
-      Symbol("a").as("a_2"), Symbol("b")).where(Symbol("a_2") > 
1).select(Symbol("b").as("b_2")))
+    val subquery3 = ScalarSubquery(
+      testRelation.select($"a".as("a_2")).where($"a_2" > 1).select($"a_2"))
+    val subquery4 = ScalarSubquery(
+      testRelation.select($"a".as("a_2"), $"b").where($"a_2" > 
1).select($"b".as("b_2")))
     val originalQuery = testRelation
       .select(
         subquery1,
@@ -230,13 +229,13 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         subquery4)
 
     val mergedSubquery = testRelation
-      .select(Symbol("a"), Symbol("b"), Symbol("c"))
-      .where(Symbol("a") > 1)
-      .select(Symbol("a"), Symbol("b"), Symbol("c"))
-      .select(Symbol("a"), Symbol("b"))
+      .select($"a", $"b", $"c")
+      .where($"a" > 1)
+      .select($"a", $"b", $"c")
+      .select($"a", $"b")
       .select(CreateNamedStruct(Seq(
-        Literal("a"), Symbol("a"),
-        Literal("b"), Symbol("b")
+        Literal("a"), $"a",
+        Literal("b"), $"b"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -252,25 +251,23 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Merging subqueries with complex filter conditions") {
-    val subquery1 = ScalarSubquery(
-      testRelation.where(Symbol("a") > 1 && Symbol("b") === 
2).select(Symbol("a")))
-    val subquery2 = ScalarSubquery(
-      testRelation
-        .select(Symbol("a").as("a_2"), Symbol("b"))
-        .where(Literal(2) === Symbol("b") && Literal(1) < Symbol("a_2"))
-        .select(Symbol("b").as("b_2")))
+    val subquery1 = ScalarSubquery(testRelation.where($"a" > 1 && $"b" === 
2).select($"a"))
+    val subquery2 = ScalarSubquery(testRelation
+      .select($"a".as("a_2"), $"b")
+      .where(Literal(2) === $"b" && Literal(1) < $"a_2")
+      .select($"b".as("b_2")))
     val originalQuery = testRelation
       .select(
         subquery1,
         subquery2)
 
     val mergedSubquery = testRelation
-      .select(Symbol("a"), Symbol("b"), Symbol("c"))
-      .where(Symbol("a") > 1 && Symbol("b") === 2)
-      .select(Symbol("a"), Symbol("b").as("b_2"))
+      .select($"a", $"b", $"c")
+      .where($"a" > 1 && $"b" === 2)
+      .select($"a", $"b".as("b_2"))
       .select(CreateNamedStruct(Seq(
-        Literal("a"), Symbol("a"),
-        Literal("b_2"), Symbol("b_2")
+        Literal("a"), $"a",
+        Literal("b_2"), $"b_2"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -284,8 +281,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Do not merge subqueries with different filter conditions") {
-    val subquery1 = ScalarSubquery(testRelation.where(Symbol("a") > 
1).select(Symbol("a")))
-    val subquery2 = ScalarSubquery(testRelation.where(Symbol("a") < 
1).select(Symbol("a")))
+    val subquery1 = ScalarSubquery(testRelation.where($"a" > 1).select($"a"))
+    val subquery2 = ScalarSubquery(testRelation.where($"a" < 1).select($"a"))
 
     val originalQuery = testRelation
       .select(
@@ -297,23 +294,23 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
   test("Merging subqueries with aggregate filters") {
     val subquery1 = ScalarSubquery(
-      
testRelation.having(Symbol("b"))(max(Symbol("a")).as("max_a"))(max(Symbol("a")) 
> 1))
+      testRelation.having($"b")(max($"a").as("max_a"))(max($"a") > 1))
     val subquery2 = ScalarSubquery(
-      
testRelation.having(Symbol("b"))(sum(Symbol("a")).as("sum_a"))(max(Symbol("a")) 
> 1))
+      testRelation.having($"b")(sum($"a").as("sum_a"))(max($"a") > 1))
     val originalQuery = testRelation.select(
       subquery1,
       subquery2)
 
     val mergedSubquery = testRelation
-      .having(Symbol("b"))(
-        max(Symbol("a")).as("max_a"),
-        sum(Symbol("a")).as("sum_a"))(Symbol("max_a") > 1)
+      .having($"b")(
+        max($"a").as("max_a"),
+        sum($"a").as("sum_a"))($"max_a" > 1)
       .select(
-        Symbol("max_a"),
-        Symbol("sum_a"))
+        $"max_a",
+        $"sum_a")
       .select(CreateNamedStruct(Seq(
-        Literal("max_a"), Symbol("max_a"),
-        Literal("sum_a"), Symbol("sum_a")
+        Literal("max_a"), $"max_a",
+        Literal("sum_a"), $"sum_a"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -334,13 +331,12 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         Some($"t1.b" === $"t2.b"))
       .select($"t1.a").analyze)
     val subquery2 = ScalarSubquery(testRelation.as("t1")
-      .select(Symbol("a").as("a_1"), Symbol("b").as("b_1"), 
Symbol("c").as("c_1"))
+      .select($"a".as("a_1"), $"b".as("b_1"), $"c".as("c_1"))
       .join(
-        testRelation.as("t2").select(Symbol("a").as("a_2"), 
Symbol("b").as("b_2"),
-          Symbol("c").as("c_2")),
+        testRelation.as("t2").select($"a".as("a_2"), $"b".as("b_2"), 
$"c".as("c_2")),
         Inner,
-        Some(Symbol("b_1") === Symbol("b_2")))
-      .select(Symbol("c_2")).analyze)
+        Some($"b_1" === $"b_2"))
+      .select($"c_2").analyze)
     val originalQuery = testRelation.select(
       subquery1,
       subquery2)
@@ -349,8 +345,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
       .join(testRelation.as("t2"), Inner, Some($"t1.b" === $"t2.b"))
       .select($"t1.a", $"t2.c")
       .select(CreateNamedStruct(Seq(
-        Literal("a"), Symbol("a"),
-        Literal("c"), Symbol("c")
+        Literal("a"), $"a",
+        Literal("c"), $"c"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -371,13 +367,12 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         Some($"t1.b" < $"t2.b" && $"t1.a" === $"t2.c"))
       .select($"t1.a").analyze)
     val subquery2 = ScalarSubquery(testRelation.as("t1")
-      .select(Symbol("a").as("a_1"), Symbol("b").as("b_1"), 
Symbol("c").as("c_1"))
+      .select($"a".as("a_1"), $"b".as("b_1"), $"c".as("c_1"))
       .join(
-        testRelation.as("t2").select(Symbol("a").as("a_2"), 
Symbol("b").as("b_2"),
-          Symbol("c").as("c_2")),
+        testRelation.as("t2").select($"a".as("a_2"), $"b".as("b_2"), 
$"c".as("c_2")),
         Inner,
-        Some(Symbol("c_2") === Symbol("a_1") && Symbol("b_1") < Symbol("b_2")))
-      .select(Symbol("c_2")).analyze)
+        Some($"c_2" === $"a_1" && $"b_1" < $"b_2"))
+      .select($"c_2").analyze)
     val originalQuery = testRelation.select(
       subquery1,
       subquery2)
@@ -386,8 +381,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
       .join(testRelation.as("t2"), Inner, Some($"t1.b" < $"t2.b" && $"t1.a" 
=== $"t2.c"))
       .select($"t1.a", $"t2.c")
       .select(CreateNamedStruct(Seq(
-        Literal("a"), Symbol("a"),
-        Literal("c"), Symbol("c")
+        Literal("a"), $"a",
+        Literal("c"), $"c"
       )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(
@@ -441,10 +436,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Do not merge subqueries with nondeterministic elements") {
-    val subquery1 = ScalarSubquery(
-      testRelation.select((Symbol("a") + rand(0)).as("rand_a")))
-    val subquery2 = ScalarSubquery(
-      testRelation.select((Symbol("b") + rand(0)).as("rand_b")))
+    val subquery1 = ScalarSubquery(testRelation.select(($"a" + 
rand(0)).as("rand_a")))
+    val subquery2 = ScalarSubquery(testRelation.select(($"b" + 
rand(0)).as("rand_b")))
     val originalQuery = testRelation
       .select(
         subquery1,
@@ -452,10 +445,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
     comparePlans(Optimize.execute(originalQuery.analyze), 
originalQuery.analyze)
 
-    val subquery3 = ScalarSubquery(
-      testRelation.where(Symbol("a") > rand(0)).select(Symbol("a")))
-    val subquery4 = ScalarSubquery(
-      testRelation.where(Symbol("a") > rand(0)).select(Symbol("b")))
+    val subquery3 = ScalarSubquery(testRelation.where($"a" > 
rand(0)).select($"a"))
+    val subquery4 = ScalarSubquery(testRelation.where($"a" > 
rand(0)).select($"b"))
     val originalQuery2 = testRelation
       .select(
         subquery3,
@@ -463,10 +454,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
     comparePlans(Optimize.execute(originalQuery2.analyze), 
originalQuery2.analyze)
 
-    val subquery5 = ScalarSubquery(
-      testRelation.groupBy()((max(Symbol("a")) + rand(0)).as("max_a")))
-    val subquery6 = ScalarSubquery(
-      testRelation.groupBy()((max(Symbol("b")) + rand(0)).as("max_b")))
+    val subquery5 = ScalarSubquery(testRelation.groupBy()((max($"a") + 
rand(0)).as("max_a")))
+    val subquery6 = ScalarSubquery(testRelation.groupBy()((max($"b") + 
rand(0)).as("max_b")))
     val originalQuery3 = testRelation
       .select(
         subquery5,
@@ -477,20 +466,20 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
   test("Do not merge different aggregate implementations") {
     // supports HashAggregate
-    val subquery1 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(max(Symbol("a")).as("max_a")))
-    val subquery2 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(min(Symbol("a")).as("min_a")))
+    val subquery1 = 
ScalarSubquery(testRelation.groupBy($"b")(max($"a").as("max_a")))
+    val subquery2 = 
ScalarSubquery(testRelation.groupBy($"b")(min($"a").as("min_a")))
 
     // supports ObjectHashAggregate
     val subquery3 = ScalarSubquery(testRelation
-      .groupBy(Symbol("b"))(CollectList(Symbol("a")).
+      .groupBy($"b")(CollectList($"a").
         toAggregateExpression(isDistinct = false).as("collectlist_a")))
     val subquery4 = ScalarSubquery(testRelation
-      .groupBy(Symbol("b"))(CollectSet(Symbol("a")).
+      .groupBy($"b")(CollectSet($"a").
         toAggregateExpression(isDistinct = false).as("collectset_a")))
 
     // supports SortAggregate
-    val subquery5 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(max(Symbol("c")).as("max_c")))
-    val subquery6 = 
ScalarSubquery(testRelation.groupBy(Symbol("b"))(min(Symbol("c")).as("min_c")))
+    val subquery5 = 
ScalarSubquery(testRelation.groupBy($"b")(max($"c").as("max_c")))
+    val subquery6 = 
ScalarSubquery(testRelation.groupBy($"b")(min($"c").as("min_c")))
 
     val originalQuery = testRelation
       .select(
@@ -502,30 +491,30 @@ class MergeScalarSubqueriesSuite extends PlanTest {
         subquery6)
 
     val hashAggregates = testRelation
-      .groupBy(Symbol("b"))(
-        max(Symbol("a")).as("max_a"),
-        min(Symbol("a")).as("min_a"))
+      .groupBy($"b")(
+        max($"a").as("max_a"),
+        min($"a").as("min_a"))
       .select(CreateNamedStruct(Seq(
-        Literal("max_a"), Symbol("max_a"),
-        Literal("min_a"), Symbol("min_a")
+        Literal("max_a"), $"max_a",
+        Literal("min_a"), $"min_a"
       )).as("mergedValue"))
     val analyzedHashAggregates = hashAggregates.analyze
     val objectHashAggregates = testRelation
-      .groupBy(Symbol("b"))(
-        CollectList(Symbol("a")).toAggregateExpression(isDistinct = 
false).as("collectlist_a"),
-        CollectSet(Symbol("a")).toAggregateExpression(isDistinct = 
false).as("collectset_a"))
+      .groupBy($"b")(
+        CollectList($"a").toAggregateExpression(isDistinct = 
false).as("collectlist_a"),
+        CollectSet($"a").toAggregateExpression(isDistinct = 
false).as("collectset_a"))
       .select(CreateNamedStruct(Seq(
-        Literal("collectlist_a"), Symbol("collectlist_a"),
-        Literal("collectset_a"), Symbol("collectset_a")
+        Literal("collectlist_a"), $"collectlist_a",
+        Literal("collectset_a"), $"collectset_a"
       )).as("mergedValue"))
     val analyzedObjectHashAggregates = objectHashAggregates.analyze
     val sortAggregates = testRelation
-      .groupBy(Symbol("b"))(
-        max(Symbol("c")).as("max_c"),
-        min(Symbol("c")).as("min_c"))
+      .groupBy($"b")(
+        max($"c").as("max_c"),
+        min($"c").as("min_c"))
       .select(CreateNamedStruct(Seq(
-        Literal("max_c"), Symbol("max_c"),
-        Literal("min_c"), Symbol("min_c")
+        Literal("max_c"), $"max_c",
+        Literal("min_c"), $"min_c"
       )).as("mergedValue"))
     val analyzedSortAggregates = sortAggregates.analyze
     val correctAnswer = WithCTE(
@@ -547,10 +536,8 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
   test("Do not merge subqueries with different aggregate grouping orders") {
     // supports HashAggregate
-    val subquery1 = ScalarSubquery(
-      testRelation.groupBy(Symbol("b"), 
Symbol("c"))(max(Symbol("a")).as("max_a")))
-    val subquery2 = ScalarSubquery(
-      testRelation.groupBy(Symbol("c"), 
Symbol("b"))(min(Symbol("a")).as("min_a")))
+    val subquery1 = ScalarSubquery(testRelation.groupBy($"b", 
$"c")(max($"a").as("max_a")))
+    val subquery2 = ScalarSubquery(testRelation.groupBy($"c", 
$"b")(min($"a").as("min_a")))
 
     val originalQuery = testRelation
       .select(
@@ -561,12 +548,12 @@ class MergeScalarSubqueriesSuite extends PlanTest {
   }
 
   test("Merging subqueries from different places") {
-    val subquery1 = ScalarSubquery(testRelation.select((Symbol("a") + 
1).as("a_plus1")))
-    val subquery2 = ScalarSubquery(testRelation.select((Symbol("a") + 
2).as("a_plus2")))
-    val subquery3 = ScalarSubquery(testRelation.select(Symbol("b")))
-    val subquery4 = ScalarSubquery(testRelation.select((Symbol("a") + 
1).as("a_plus1_2")))
-    val subquery5 = ScalarSubquery(testRelation.select((Symbol("a") + 
2).as("a_plus2_2")))
-    val subquery6 = ScalarSubquery(testRelation.select(Symbol("b").as("b_2")))
+    val subquery1 = ScalarSubquery(testRelation.select(($"a" + 
1).as("a_plus1")))
+    val subquery2 = ScalarSubquery(testRelation.select(($"a" + 
2).as("a_plus2")))
+    val subquery3 = ScalarSubquery(testRelation.select($"b"))
+    val subquery4 = ScalarSubquery(testRelation.select(($"a" + 
1).as("a_plus1_2")))
+    val subquery5 = ScalarSubquery(testRelation.select(($"a" + 
2).as("a_plus2_2")))
+    val subquery6 = ScalarSubquery(testRelation.select($"b".as("b_2")))
     val originalQuery = testRelation
       .where(
         subquery4 +
@@ -579,14 +566,14 @@ class MergeScalarSubqueriesSuite extends PlanTest {
 
     val mergedSubquery = testRelation
       .select(
-        (Symbol("a") + 1).as("a_plus1"),
-        (Symbol("a") + 2).as("a_plus2"),
-        Symbol("b"))
+        ($"a" + 1).as("a_plus1"),
+        ($"a" + 2).as("a_plus2"),
+        $"b")
       .select(
         CreateNamedStruct(Seq(
-          Literal("a_plus1"), Symbol("a_plus1"),
-          Literal("a_plus2"), Symbol("a_plus2"),
-          Literal("b"), Symbol("b")
+          Literal("a_plus1"), $"a_plus1",
+          Literal("a_plus2"), $"a_plus2",
+          Literal("b"), $"b"
         )).as("mergedValue"))
     val analyzedMergedSubquery = mergedSubquery.analyze
     val correctAnswer = WithCTE(


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

Reply via email to