public FunctionInfo getFunctionInfo(String functionName) throws SemanticException {
      functionName = functionName.toLowerCase();
      if (FunctionUtils.isQualifiedFunctionName(functionName)) {
        FunctionInfo functionInfo = getQualifiedFunctionInfo(functionName);
        addToCurrentFunctions(functionName, functionInfo);
        return functionInfo;
      }
      // First try without qualifiers - would resolve builtin/temp functions.
      // Otherwise try qualifying with current db name.
      FunctionInfo functionInfo = mFunctions.get(functionName);
      if (functionInfo != null && functionInfo.isBlockedFunction()) {
        throw new SemanticException ("UDF " + functionName + " is not allowed");
      }
      if (functionInfo == null) {
        functionName = FunctionUtils.qualifyFunctionName(
            functionName, SessionState.get().getCurrentDatabase().toLowerCase());
        functionInfo = getQualifiedFunctionInfo(functionName);
      }
      addToCurrentFunctions(functionName, functionInfo);
      return functionInfo;
  }
Looks up the function name in the registry. If enabled, will attempt to search the metastore
for the function.
@param functionName
@return
ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java