Class OSQLFunctionInterval
java.lang.Object
com.orientechnologies.orient.core.sql.functions.OSQLFunctionAbstract
com.orientechnologies.orient.core.sql.functions.OSQLFunctionConfigurableAbstract
com.orientechnologies.orient.core.sql.functions.math.OSQLFunctionMathAbstract
com.orientechnologies.orient.core.sql.functions.math.OSQLFunctionInterval
- All Implemented Interfaces:
OSQLFunction
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 Summary
FieldsFields inherited from class com.orientechnologies.orient.core.sql.functions.OSQLFunctionConfigurableAbstract
configuredParametersFields inherited from class com.orientechnologies.orient.core.sql.functions.OSQLFunctionAbstract
maxParams, minParams, name -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanA function can make calculation on several records before returning a result.execute(Object iThis, OIdentifiable iRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext) Process a record.Only called when function aggregates results after all records have been passed to the function.Returns a convenient SQL String representation of the function.mergeDistributedResult(List<Object> resultsToMerge) This method correspond to distributed query executionMethods inherited from class com.orientechnologies.orient.core.sql.functions.math.OSQLFunctionMathAbstract
getClassWithMorePrecision, getContextValue, shouldMergeDistributedResultMethods inherited from class com.orientechnologies.orient.core.sql.functions.OSQLFunctionConfigurableAbstract
config, toStringMethods inherited from class com.orientechnologies.orient.core.sql.functions.OSQLFunctionAbstract
filterResult, getDistributedStorageId, getMaxParams, getMinParams, getName, getSingleItem, getSingleProperty, returnDistributedResult, setResult
-
Field Details
-
NAME
- See Also:
-
-
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:OSQLFunctionProcess a record.- Parameters:
iThis-iRecord- : current recordiCurrentResult- TODOiParams- : 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:OSQLFunctionA 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:
aggregateResultsin interfaceOSQLFunction- Overrides:
aggregateResultsin classOSQLFunctionMathAbstract- Returns:
- true if function aggregate results
-
getSyntax
Description copied from interface:OSQLFunctionReturns 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
Description copied from interface:OSQLFunctionOnly called when function aggregates results after all records have been passed to the function.- Specified by:
getResultin interfaceOSQLFunction- Overrides:
getResultin classOSQLFunctionAbstract- Returns:
- Aggregation result
-
mergeDistributedResult
Description copied from interface:OSQLFunctionThis method correspond to distributed query execution- Specified by:
mergeDistributedResultin interfaceOSQLFunction- Overrides:
mergeDistributedResultin classOSQLFunctionAbstract- Parameters:
resultsToMerge- is the results that comes from different nodes- Returns:
- is the valid merged result
-