org.axiondb.functions
Class DateDiffFunction

java.lang.Object
  extended by org.axiondb.BaseSelectable
      extended by org.axiondb.functions.BaseFunction
          extended by org.axiondb.functions.DateDiffFunction
All Implemented Interfaces:
Serializable, Function, FunctionFactory, ConcreteFunction, ScalarFunction, Selectable

public class DateDiffFunction
extends BaseFunction
implements ScalarFunction, FunctionFactory

Syntax: DATEDIFF(interval_type, timestamp1, timestamp2)

Version:
$Revision: 1.10 $ $Date: 2004/09/09 23:47:44 $
See Also:
Serialized Form

Constructor Summary
DateDiffFunction()
          Creates a new instance of Class
 
Method Summary
 Object evaluate(RowDecorator row)
          Returns integer difference (timestamp2 - timestamp1) in units of interval of type interval_type.
 DataType getDataType()
          DataType
 boolean isValid()
           
 ConcreteFunction makeNewInstance()
           
 
Methods inherited from class org.axiondb.functions.BaseFunction
addArgument, getAlias, getArgument, getArgumentCount, getLabel, getName, setAlias, setArgument, setName, setVariableContext, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.axiondb.Function
addArgument, getAlias, getArgument, getArgumentCount, getName, setAlias, setArgument
 
Methods inherited from interface org.axiondb.Selectable
getLabel, setVariableContext
 

Constructor Detail

DateDiffFunction

public DateDiffFunction()
Creates a new instance of Class

Method Detail

makeNewInstance

public ConcreteFunction makeNewInstance()
Specified by:
makeNewInstance in interface FunctionFactory

getDataType

public DataType getDataType()
DataType

Specified by:
getDataType in interface Selectable
Specified by:
getDataType in class BaseFunction

evaluate

public Object evaluate(RowDecorator row)
                throws AxionException
Returns integer difference (timestamp2 - timestamp1) in units of interval of type interval_type. Valid interval types are {day, month, year, second, millisecond, minute, hour, week, quarter}

Specified by:
evaluate in interface ScalarFunction
Specified by:
evaluate in interface Selectable
Throws:
AxionException

isValid

public boolean isValid()
Specified by:
isValid in interface ConcreteFunction
Specified by:
isValid in class BaseFunction