Skip to content
Prev Previous commit
Next Next commit
address comments
  • Loading branch information
kevinyu98 committed Jul 10, 2018
commit 6358b92b0ca915823312e9e0e26ac40eee09b7af
Original file line number Diff line number Diff line change
Expand Up @@ -1218,7 +1218,7 @@ class Analyzer(
plan.transformAllExpressions {
case f: UnresolvedFunction
if externalFunctionNameSet.contains(normalizeFuncName(f.name)) => f
case f: UnresolvedFunction if catalog.buildinFunctionExists(f.name) => f
case f: UnresolvedFunction if catalog.builtinFunctionExists(f.name) => f
case f: UnresolvedFunction if catalog.externalFunctionExists(f.name) =>
externalFunctionNameSet.add(normalizeFuncName(f.name))
f
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1099,11 +1099,10 @@ class SessionCatalog(
def functionExists(name: FunctionIdentifier): Boolean = {
val db = formatDatabaseName(name.database.getOrElse(getCurrentDatabase))
requireDbExists(db)
functionRegistry.functionExists(name) ||
externalCatalog.functionExists(db, name.funcName)
builtinFunctionExists(name) || externalFunctionExists(name)
}

def buildinFunctionExists(name: FunctionIdentifier): Boolean = {
def builtinFunctionExists(name: FunctionIdentifier): Boolean = {
functionRegistry.functionExists(name)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,9 @@ private[sql] class HiveSessionCatalog(
super.functionExists(name) || hiveFunctions.contains(name.funcName)
}

override def externalFunctionExists(name: FunctionIdentifier): Boolean = functionExists(name)
override def externalFunctionExists(name: FunctionIdentifier): Boolean = {
super.externalFunctionExists(name) || hiveFunctions.contains(name.funcName)
}

/** List of functions we pass over to Hive. Note that over time this list should go to 0. */
// We have a list of Hive built-in functions that we do not support. So, we will check
Expand Down