diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala index a3e1552168115..a1543e1fd5df9 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala @@ -62,15 +62,11 @@ object ResolveHints { } } - private def formatDatabaseName(name: String): String = { - if (conf.caseSensitiveAnalysis) name else name.toLowerCase(Locale.ROOT) - } - private def matchedTableIdentifier( nameParts: Seq[String], tableIdent: IdentifierWithDatabase): Boolean = { tableIdent.database match { - case Some(db) if catalog.globalTempViewManager.database == formatDatabaseName(db) => + case Some(db) if resolver(catalog.globalTempViewManager.database, db) => val identifierList = db :: tableIdent.identifier :: Nil namePartsWithDatabase(nameParts, catalog.globalTempViewManager.database) .corresponds(identifierList)(resolver) 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 245c912c6a5f8..2609d6aa13406 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 @@ -163,5 +163,11 @@ class ResolveHintsSuite extends AnalysisTest { Join(ResolvedHint(testRelation, HintInfo(broadcast = true)), ResolvedHint(testRelation2, HintInfo(broadcast = true)), Inner, None), caseSensitive = false) + + checkAnalysis( + UnresolvedHint("MAPJOIN", Seq("default.TaBlE", "default.table2", "DEfault.TaBlE2"), + table("TaBlE").join(table("TaBlE2"))), + Join(ResolvedHint(testRelation, HintInfo(broadcast = true)), testRelation2, Inner, None), + caseSensitive = true) } }