Github user maropu commented on a diff in the pull request: https://github.com/apache/spark/pull/22198#discussion_r213197519 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala --- @@ -47,20 +49,47 @@ object ResolveHints { * * This rule must happen before common table expressions. */ - class ResolveBroadcastHints(conf: SQLConf) extends Rule[LogicalPlan] { + class ResolveBroadcastHints(conf: SQLConf, catalog: SessionCatalog) extends Rule[LogicalPlan] { private val BROADCAST_HINT_NAMES = Set("BROADCAST", "BROADCASTJOIN", "MAPJOIN") def resolver: Resolver = conf.resolver - private def applyBroadcastHint(plan: LogicalPlan, toBroadcast: Set[String]): LogicalPlan = { + private def namePartsWithDatabase(nameParts: Seq[String], database: String): Seq[String] = { + if (nameParts.size == 1) { + database +: nameParts + } else { + nameParts + } + } + + private def matchedTableIdentifier( + nameParts: Seq[String], + tableIdent: IdentifierWithDatabase): Boolean = { + tableIdent.database match { + case Some(db) if resolver(catalog.globalTempViewManager.database, db) => + val identifierList = db :: tableIdent.identifier :: Nil + namePartsWithDatabase(nameParts, catalog.globalTempViewManager.database) + .corresponds(identifierList)(resolver) + case _ => + val db = tableIdent.database.getOrElse(catalog.getCurrentDatabase) + val identifierList = db :: tableIdent.identifier :: Nil + namePartsWithDatabase(nameParts, catalog.getCurrentDatabase) --- End diff -- ok, I'll try.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org