org.apache.hadoop.hive.ql.exec
Class ComparisonOpMethodResolver

java.lang.Object
  extended by org.apache.hadoop.hive.ql.exec.ComparisonOpMethodResolver
All Implemented Interfaces:
UDFMethodResolver

public class ComparisonOpMethodResolver
extends Object
implements UDFMethodResolver

The class implements the method resolution for operators like (> < <= >= = <>). The resolution logic is as follows: 1. If one of the parameters is null, then it resolves to evaluate(Double, Double) 2. If both of the parameters are of type T, then it resolves to evaluate(T, T) 3. If 1 and 2 fails then it resolves to evaluate(Double, Double).


Constructor Summary
ComparisonOpMethodResolver(Class<? extends UDF> udfClass)
          Constuctor.
 
Method Summary
 Method getEvalMethod(List<TypeInfo> argTypeInfos)
          Gets the evaluate method for the UDF given the parameter types.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComparisonOpMethodResolver

public ComparisonOpMethodResolver(Class<? extends UDF> udfClass)
Constuctor.

Method Detail

getEvalMethod

public Method getEvalMethod(List<TypeInfo> argTypeInfos)
                     throws UDFArgumentException
Description copied from interface: UDFMethodResolver
Gets the evaluate method for the UDF given the parameter types.

Specified by:
getEvalMethod in interface UDFMethodResolver
Parameters:
argTypeInfos - The list of the argument types that need to matched with the evaluate function signature.
Throws:
UDFArgumentException


Copyright © 2013 The Apache Software Foundation