Interface FunctionInfo

  • All Known Implementing Classes:
    FunctionFactory.FF_FunctionInfo

    public interface FunctionInfo
    Meta information about a function. Used to compile information about a particular function.
    Author:
    Tobias Downer
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int AGGREGATE
      A type that represents an aggregate function.
      static int STATE_BASED
      A function that is non-aggregate but whose return value is not guarenteed to be the same given the identical parameters over subsequent calls.
      static int STATIC
      A type that represents a static function.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getFunctionFactoryName()
      The name of the function factory class that this function is handled by.
      java.lang.String getName()
      The name of the function as used by the SQL grammar to reference it.
      int getType()
      The type of function, either STATIC, AGGREGATE or STATE_BASED (eg.
    • Field Detail

      • STATIC

        static final int STATIC
        A type that represents a static function. A static function is not an aggregate therefore does not require a GroupResolver. The result of a static function is guarenteed the same given identical parameters over subsequent calls.
        See Also:
        Constant Field Values
      • AGGREGATE

        static final int AGGREGATE
        A type that represents an aggregate function. An aggregate function requires the GroupResolver variable to be present in able to resolve the function over some set. The result of an aggregate function is guarenteed the same given the same set and identical parameters.
        See Also:
        Constant Field Values
      • STATE_BASED

        static final int STATE_BASED
        A function that is non-aggregate but whose return value is not guarenteed to be the same given the identical parameters over subsequent calls. This would include functions such as RANDOM and UNIQUEKEY. The result is dependant on some other state (a random seed and a sequence value).
        See Also:
        Constant Field Values
    • Method Detail

      • getName

        java.lang.String getName()
        The name of the function as used by the SQL grammar to reference it.
      • getType

        int getType()
        The type of function, either STATIC, AGGREGATE or STATE_BASED (eg. result is not dependant entirely from input but from another state for example RANDOM and UNIQUEKEY functions).
      • getFunctionFactoryName

        java.lang.String getFunctionFactoryName()
        The name of the function factory class that this function is handled by. For example, "com.mckoi.database.InternalFunctionFactory".