public class OSQLFunctionVariance extends OSQLFunctionAbstract
This class uses the Weldford's algorithm (presented in Donald Knuth's Art of Computer Programming) to avoid multiple distribution values' passes. When executed in distributed mode it uses the Chan at al. pairwise variance algorithm to merge the results.
References
Modifier and Type | Field and Description |
---|---|
static String |
NAME |
maxParams, minParams, name
Constructor and Description |
---|
OSQLFunctionVariance() |
OSQLFunctionVariance(String iName,
int iMinParams,
int iMaxParams) |
Modifier and Type | Method and Description |
---|---|
boolean |
aggregateResults()
A function can make calculation on several records before returning a result.
|
Object |
execute(Object iThis,
OIdentifiable iCurrentRecord,
Object iCurrentResult,
Object[] iParams,
OCommandContext iContext)
Process a record.
|
Object |
getResult()
Only called when function aggregates results after all records have been passed to the
function.
|
String |
getSyntax()
Returns a convenient SQL String representation of the function.
|
Object |
mergeDistributedResult(List<Object> resultsToMerge)
This method correspond to distributed query execution
|
config, filterResult, getDistributedStorageId, getMaxParams, getMinParams, getName, getSingleItem, getSingleProperty, returnDistributedResult, setResult, shouldMergeDistributedResult, toString
public static final String NAME
public OSQLFunctionVariance()
public OSQLFunctionVariance(String iName, int iMinParams, int iMaxParams)
public Object execute(Object iThis, OIdentifiable iCurrentRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext)
OSQLFunction
iCurrentRecord
- : current recordiCurrentResult
- TODOiParams
- : function parameters, number is ensured to be within minParams and maxParams.iContext
- : object calling this functionpublic boolean aggregateResults()
OSQLFunction
Example of such function : sum, count, max, min ...
The final result of the aggregation is obtain by calling OSQLFunction.getResult()
aggregateResults
in interface OSQLFunction
aggregateResults
in class OSQLFunctionAbstract
public Object getResult()
OSQLFunction
getResult
in interface OSQLFunction
getResult
in class OSQLFunctionAbstract
public Object mergeDistributedResult(List<Object> resultsToMerge)
OSQLFunction
mergeDistributedResult
in interface OSQLFunction
mergeDistributedResult
in class OSQLFunctionAbstract
resultsToMerge
- is the results that comes from different nodespublic String getSyntax()
OSQLFunction
Example :
myFunction( param1, param2, [optionalParam3])
This text will be used in exception messages.
Copyright © 2009–2020 OrientDB. All rights reserved.