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

dongjoon 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 da49f50  [SPARK-25121][SQL][FOLLOWUP] Add more unit tests for 
multi-part identifiers in join strategy hints
da49f50 is described below

commit da49f50621b201822a64358624c19be3fae0a855
Author: Takeshi Yamamuro <yamam...@apache.org>
AuthorDate: Wed Mar 25 08:37:28 2020 -0700

    [SPARK-25121][SQL][FOLLOWUP] Add more unit tests for multi-part identifiers 
in join strategy hints
    
    ### What changes were proposed in this pull request?
    
    This pr intends to add unit tests for the other join hints (`MERGEJOIN`, 
`SHUFFLE_HASH`, and `SHUFFLE_REPLICATE_NL`). This is a followup PR of #27935.
    
    ### Why are the changes needed?
    
    For better test coverage.
    
    ### Does this PR introduce any user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Added unit tests.
    
    Closes #28013 from maropu/SPARK-25121-FOLLOWUP.
    
    Authored-by: Takeshi Yamamuro <yamam...@apache.org>
    Signed-off-by: Dongjoon Hyun <dongj...@apache.org>
---
 .../sql/catalyst/analysis/ResolveHintsSuite.scala  | 93 ++++++++++++----------
 1 file changed, 49 insertions(+), 44 deletions(-)

diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveHintsSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveHintsSuite.scala
index ca7d284..d3bd5d0 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveHintsSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveHintsSuite.scala
@@ -242,51 +242,56 @@ class ResolveHintsSuite extends AnalysisTest {
       caseSensitive = false)
   }
 
-  test("Supports multi-part table names for broadcast hint resolution") {
-    // local temp table (single-part identifier case)
-    checkAnalysis(
-      UnresolvedHint("MAPJOIN", Seq("table", "table2"),
-        table("TaBlE").join(table("TaBlE2"))),
-      Join(
-        ResolvedHint(testRelation, HintInfo(strategy = Some(BROADCAST))),
-        ResolvedHint(testRelation2, HintInfo(strategy = Some(BROADCAST))),
-        Inner,
-        None,
-        JoinHint.NONE),
-      caseSensitive = false)
-
-    checkAnalysis(
-      UnresolvedHint("MAPJOIN", Seq("TaBlE", "table2"),
-        table("TaBlE").join(table("TaBlE2"))),
-      Join(
-        ResolvedHint(testRelation, HintInfo(strategy = Some(BROADCAST))),
-        testRelation2,
-        Inner,
-        None,
-        JoinHint.NONE),
-      caseSensitive = true)
+  test("Supports multi-part table names for join strategy hint resolution") {
+    Seq(("MAPJOIN", BROADCAST),
+        ("MERGEJOIN", SHUFFLE_MERGE),
+        ("SHUFFLE_HASH", SHUFFLE_HASH),
+        ("SHUFFLE_REPLICATE_NL", SHUFFLE_REPLICATE_NL)).foreach { case 
(hintName, st) =>
+      // local temp table (single-part identifier case)
+      checkAnalysis(
+        UnresolvedHint(hintName, Seq("table", "table2"),
+          table("TaBlE").join(table("TaBlE2"))),
+        Join(
+          ResolvedHint(testRelation, HintInfo(strategy = Some(st))),
+          ResolvedHint(testRelation2, HintInfo(strategy = Some(st))),
+          Inner,
+          None,
+          JoinHint.NONE),
+        caseSensitive = false)
 
-    // global temp table (multi-part identifier case)
-    checkAnalysis(
-      UnresolvedHint("MAPJOIN", Seq("GlOBal_TeMP.table4", "table5"),
-        table("global_temp", "table4").join(table("global_temp", "table5"))),
-      Join(
-        ResolvedHint(testRelation4, HintInfo(strategy = Some(BROADCAST))),
-        ResolvedHint(testRelation5, HintInfo(strategy = Some(BROADCAST))),
-        Inner,
-        None,
-        JoinHint.NONE),
-      caseSensitive = false)
+      checkAnalysis(
+        UnresolvedHint(hintName, Seq("TaBlE", "table2"),
+          table("TaBlE").join(table("TaBlE2"))),
+        Join(
+          ResolvedHint(testRelation, HintInfo(strategy = Some(st))),
+          testRelation2,
+          Inner,
+          None,
+          JoinHint.NONE),
+        caseSensitive = true)
+
+      // global temp table (multi-part identifier case)
+      checkAnalysis(
+        UnresolvedHint(hintName, Seq("GlOBal_TeMP.table4", "table5"),
+          table("global_temp", "table4").join(table("global_temp", "table5"))),
+        Join(
+          ResolvedHint(testRelation4, HintInfo(strategy = Some(st))),
+          ResolvedHint(testRelation5, HintInfo(strategy = Some(st))),
+          Inner,
+          None,
+          JoinHint.NONE),
+        caseSensitive = false)
 
-    checkAnalysis(
-      UnresolvedHint("MAPJOIN", Seq("global_temp.TaBlE4", "table5"),
-        table("global_temp", "TaBlE4").join(table("global_temp", "TaBlE5"))),
-      Join(
-        ResolvedHint(testRelation4, HintInfo(strategy = Some(BROADCAST))),
-        testRelation5,
-        Inner,
-        None,
-        JoinHint.NONE),
-      caseSensitive = true)
+      checkAnalysis(
+        UnresolvedHint(hintName, Seq("global_temp.TaBlE4", "table5"),
+          table("global_temp", "TaBlE4").join(table("global_temp", "TaBlE5"))),
+        Join(
+          ResolvedHint(testRelation4, HintInfo(strategy = Some(st))),
+          testRelation5,
+          Inner,
+          None,
+          JoinHint.NONE),
+        caseSensitive = true)
+    }
   }
 }


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

Reply via email to