/** Unlike isBuiltInFuncExpr, does not expand GenericUdfBridge. */ public static boolean isBuiltInFuncClass(Class<?> clazz) { return system.isBuiltInFunc(clazz); }
/** Unlike isBuiltInFuncExpr, does not expand GenericUdfBridge. */ public static boolean isBuiltInFuncClass(Class<?> clazz) { return system.isBuiltInFunc(clazz); }
/** * @param fnExpr Function expression. * @return True iff the fnExpr represents a hive built-in function (native, non-permanent) */ public static boolean isBuiltInFuncExpr(ExprNodeGenericFuncDesc fnExpr) { GenericUDF udf = fnExpr.getGenericUDF(); if (udf == null) { return false; } Class clazz = udf.getClass(); if (udf instanceof GenericUDFBridge) { clazz = ((GenericUDFBridge)udf).getUdfClass(); } if (clazz != null) { return system.isBuiltInFunc(clazz); } return false; }
/** * @param fnExpr Function expression. * @return True iff the fnExpr represents a hive built-in function (native, non-permanent) */ public static boolean isBuiltInFuncExpr(ExprNodeGenericFuncDesc fnExpr) { GenericUDF udf = fnExpr.getGenericUDF(); if (udf == null) return false; Class clazz = udf.getClass(); if (udf instanceof GenericUDFBridge) { clazz = ((GenericUDFBridge)udf).getUdfClass(); } if (clazz != null) { return system.isBuiltInFunc(clazz); } return false; }
FunctionInfo prev = mFunctions.get(functionName); if (prev != null) { if (isBuiltInFunc(prev.getFunctionClass())) { String message = String.format("Function (%s / %s) is hive builtin function, which cannot be overridden.", functionName, prev.getFunctionClass()); LOG.debug(message);
FunctionInfo prev = mFunctions.get(functionName); if (prev != null) { if (isBuiltInFunc(prev.getFunctionClass())) { throw new RuntimeException("Function " + functionName + " is hive builtin function, " + "which cannot be overridden.");
/** * @param fnExpr Function expression. * @return True iff the fnExpr represents a hive built-in function (native, non-permanent) */ public static boolean isBuiltInFuncExpr(ExprNodeGenericFuncDesc fnExpr) { Class<?> udfClass = FunctionRegistry.getUDFClassFromExprDesc(fnExpr); if (udfClass != null) { return system.isBuiltInFunc(udfClass); } return false; }
private synchronized void addFunction(String functionName, FunctionInfo function) { if (isNative ^ function.isNative()) { throw new RuntimeException("Function " + functionName + " is not for this registry"); } functionName = functionName.toLowerCase(); FunctionInfo prev = mFunctions.get(functionName); if (prev != null) { if (isBuiltInFunc(prev.getFunctionClass())) { throw new RuntimeException("Function " + functionName + " is hive builtin function, " + "which cannot be overriden."); } prev.discarded(); } mFunctions.put(functionName, function); if (function.isBuiltIn()) { builtIns.add(function.getFunctionClass()); } }