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
equals, 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 © 2014 The Apache Software Foundation. All rights reserved.