Class OSQLFunctionEval
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.OSQLFunctionEval
- All Implemented Interfaces:
OSQLFunction
Evaluates a complex expression.
- Author:
- Luca Garulli (l.garulli--(at)--orientdb.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.getResult(OCommandContext ctx) 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, getDatabase, getDistributedStorageId, getMaxParams, getMinParams, getName, getSingleItem, getSingleProperty, returnDistributedResult, setResult
-
Field Details
-
NAME
- See Also:
-
-
Constructor Details
-
OSQLFunctionEval
public OSQLFunctionEval()
-
-
Method Details
-
execute
public Object execute(Object iThis, OIdentifiable iRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext) Description copied from interface:OSQLFunctionProcess a record.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(OCommandContext)- 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- Parameters:
ctx- TODO- 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
-