public static void registerTemporaryMacro(
      String macroName, ExprNodeDesc body, List<String> colNames, List<TypeInfo> colTypes) {
    SessionState.getRegistryForWrite().registerMacro(macroName, body, colNames, colTypes);
  }
Registers the appropriate kind of temporary function based on a class's
type.

@param macroName name under which to register the macro

@param body the expression which the macro evaluates to
@param colNames the names of the arguments to the macro
@param colTypes the types of the arguments to the macro
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java