Class OSQLFunctionInterval

All Implemented Interfaces:
OSQLFunction

public class OSQLFunctionInterval extends OSQLFunctionMathAbstract
Returns the index of the argument that is more than the first argument.

Returns -1 if 1st number is NULL or if 1st number is the highest number The returned index starts from the 2nd argument. That is, interval(23, 5, 50) = 1

Few examples: interval(43, 35, 5, 15, 50) = 3 interval(54, 25, 35, 45) = -1 interval(null, 5, 50) = -1 interval(6, 6) = -1 interval(58, 60, 30, 65) = 0 interval(103, 54, 106, 98, 119) = 1

Author:
Matan Shukry (matanshukry@gmail.com)
  • Field Details

  • Constructor Details

    • OSQLFunctionInterval

      public OSQLFunctionInterval()
  • Method Details

    • execute

      public Object execute(Object iThis, OIdentifiable iRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext)
      Description copied from interface: OSQLFunction
      Process a record.
      Parameters:
      iThis -
      iRecord - : current record
      iCurrentResult - TODO
      iParams - : function parameters, number is ensured to be within minParams and maxParams.
      iContext - : object calling this function
      Returns:
      function result, can be null. Special cases : can be null if function aggregate results, can be null if function filter results : this mean result is excluded
    • aggregateResults

      public boolean aggregateResults()
      Description copied from interface: OSQLFunction
      A function can make calculation on several records before returning a result.

      Example of such function : sum, count, max, min ...

      The final result of the aggregation is obtain by calling OSQLFunction.getResult()

      Specified by:
      aggregateResults in interface OSQLFunction
      Overrides:
      aggregateResults in class OSQLFunctionMathAbstract
      Returns:
      true if function aggregate results
    • getSyntax

      public String getSyntax()
      Description copied from interface: OSQLFunction
      Returns a convenient SQL String representation of the function.

      Example :

        myFunction( param1, param2, [optionalParam3])
       

      This text will be used in exception messages.

      Returns:
      String , never null.
    • getResult

      public Object getResult()
      Description copied from interface: OSQLFunction
      Only called when function aggregates results after all records have been passed to the function.
      Specified by:
      getResult in interface OSQLFunction
      Overrides:
      getResult in class OSQLFunctionAbstract
      Returns:
      Aggregation result
    • mergeDistributedResult

      public Object mergeDistributedResult(List<Object> resultsToMerge)
      Description copied from interface: OSQLFunction
      This method correspond to distributed query execution
      Specified by:
      mergeDistributedResult in interface OSQLFunction
      Overrides:
      mergeDistributedResult in class OSQLFunctionAbstract
      Parameters:
      resultsToMerge - is the results that comes from different nodes
      Returns:
      is the valid merged result