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

gurwls223 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 bb3c4bfeb9a [SPARK-40809][CONNECT] Add as(alias: String) to connect DSL
bb3c4bfeb9a is described below

commit bb3c4bfeb9a12209e6737a4a6dc5ad055195d3c4
Author: Rui Wang <rui.w...@databricks.com>
AuthorDate: Sun Oct 16 23:27:31 2022 +0900

    [SPARK-40809][CONNECT] Add as(alias: String) to connect DSL
    
    ### What changes were proposed in this pull request?
    
    Add as(alias: String) to connect DSL and also test the implementation in 
connect matches with catalyst.
    
    ### Why are the changes needed?
    
    Improve testing coverage.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No
    ### How was this patch tested?
    
    UT
    
    Closes #38272 from amaliujia/test_subquery_alias.
    
    Authored-by: Rui Wang <rui.w...@databricks.com>
    Signed-off-by: Hyukjin Kwon <gurwls...@apache.org>
---
 .../main/scala/org/apache/spark/sql/connect/dsl/package.scala    | 6 ++++++
 .../spark/sql/connect/planner/SparkConnectProtoSuite.scala       | 9 +++++++++
 2 files changed, 15 insertions(+)

diff --git 
a/connector/connect/src/main/scala/org/apache/spark/sql/connect/dsl/package.scala
 
b/connector/connect/src/main/scala/org/apache/spark/sql/connect/dsl/package.scala
index 4a932afd64c..f6553f7e90b 100644
--- 
a/connector/connect/src/main/scala/org/apache/spark/sql/connect/dsl/package.scala
+++ 
b/connector/connect/src/main/scala/org/apache/spark/sql/connect/dsl/package.scala
@@ -144,6 +144,12 @@ package object dsl {
         relation.setJoin(join).build()
       }
 
+      def as(alias: String): proto.Relation = {
+        proto.Relation.newBuilder(logicalPlan)
+          .setCommon(proto.RelationCommon.newBuilder().setAlias(alias))
+          .build()
+      }
+
       def groupBy(
           groupingExprs: proto.Expression*)(aggregateExprs: 
proto.Expression*): proto.Relation = {
         val agg = proto.Aggregate.newBuilder()
diff --git 
a/connector/connect/src/test/scala/org/apache/spark/sql/connect/planner/SparkConnectProtoSuite.scala
 
b/connector/connect/src/test/scala/org/apache/spark/sql/connect/planner/SparkConnectProtoSuite.scala
index 418965e78eb..7395307903e 100644
--- 
a/connector/connect/src/test/scala/org/apache/spark/sql/connect/planner/SparkConnectProtoSuite.scala
+++ 
b/connector/connect/src/test/scala/org/apache/spark/sql/connect/planner/SparkConnectProtoSuite.scala
@@ -108,4 +108,13 @@ class SparkConnectProtoSuite extends PlanTest with 
SparkConnectPlanTest {
     val sparkPlan = sparkTestRelation.groupBy($"id", $"name")()
     comparePlans(connectPlan.analyze, sparkPlan.analyze, false)
   }
+
+  test("Test as(alias: String)") {
+    val connectPlan = {
+      import org.apache.spark.sql.connect.dsl.plans._
+      transform(connectTestRelation.as("target_table"))
+    }
+    val sparkPlan = sparkTestRelation.as("target_table")
+    comparePlans(connectPlan.analyze, sparkPlan.analyze, false)
+  }
 }


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

Reply via email to