This is an automated email from the ASF dual-hosted git repository. lixiao 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 2d01bcc [SPARK-26065][FOLLOW-UP][SQL] Fix the Failure when having two Consecutive Hints 2d01bcc is described below commit 2d01bccbd4c93bfbfa1a9e618fcb795b7106f01c Author: maryannxue <maryann...@apache.org> AuthorDate: Wed Jan 9 14:31:26 2019 -0800 [SPARK-26065][FOLLOW-UP][SQL] Fix the Failure when having two Consecutive Hints ## What changes were proposed in this pull request? This is to fix a bug in https://github.com/apache/spark/pull/23036, which would lead to an exception in case of two consecutive hints. ## How was this patch tested? Added a new test. Closes #23501 from maryannxue/query-hint-followup. Authored-by: maryannxue <maryann...@apache.org> Signed-off-by: gatorsmile <gatorsm...@gmail.com> --- .../spark/sql/catalyst/optimizer/EliminateResolvedHint.scala | 2 +- sql/core/src/test/scala/org/apache/spark/sql/JoinHintSuite.scala | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/EliminateResolvedHint.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/EliminateResolvedHint.scala index bbe4eee..a136f04 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/EliminateResolvedHint.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/EliminateResolvedHint.scala @@ -34,7 +34,7 @@ object EliminateResolvedHint extends Rule[LogicalPlan] { val rightHint = mergeHints(collectHints(j.right)) j.copy(hint = JoinHint(leftHint, rightHint)) } - pulledUp.transform { + pulledUp.transformUp { case h: ResolvedHint => h.child } } diff --git a/sql/core/src/test/scala/org/apache/spark/sql/JoinHintSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/JoinHintSuite.scala index 3652895..55f210c 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/JoinHintSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/JoinHintSuite.scala @@ -190,4 +190,13 @@ class JoinHintSuite extends PlanTest with SharedSQLContext { Some(HintInfo(broadcast = true))) :: Nil ) } + + test("nested hint") { + verifyJoinHint( + df.hint("broadcast").hint("broadcast").filter('id > 2).join(df, "id"), + JoinHint( + Some(HintInfo(broadcast = true)), + None) :: Nil + ) + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org