public class ODatabaseFunction extends Object implements OSQLFunction
Constructor and Description |
---|
ODatabaseFunction(OFunction f) |
Modifier and Type | Method and Description |
---|---|
boolean |
aggregateResults()
A function can make calculation on several records before returning a result.
|
void |
config(Object[] configuredParameters)
Configure the function.
|
Object |
execute(Object iThis,
OIdentifiable iCurrentRecord,
Object iCurrentResult,
Object[] iFuncParams,
OCommandContext iContext)
Process a record.
|
boolean |
filterResult()
A function can act both as transformation or filtering records.
|
int |
getMaxParams()
Maximum number of parameter this function can handle.
|
int |
getMinParams()
Minimum number of parameter this function must have.
|
String |
getName()
Function name, the name is used by the sql parser to identify a call this function.
|
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
|
void |
setResult(Object iResult)
Called by OCommandExecutor, given parameter is the number of results.
|
boolean |
shouldMergeDistributedResult()
This method correspond to distributed query execution
|
public ODatabaseFunction(OFunction f)
public Object execute(Object iThis, OIdentifiable iCurrentRecord, Object iCurrentResult, Object[] iFuncParams, OCommandContext iContext)
OSQLFunction
execute
in interface OSQLFunction
iCurrentRecord
- : current recordiCurrentResult
- TODOiFuncParams
- : 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
public boolean filterResult()
OSQLFunction
Function should return null for the execute method if the record must be excluded.
filterResult
in interface OSQLFunction
public String getName()
OSQLFunction
getName
in interface OSQLFunction
public int getMinParams()
OSQLFunction
getMinParams
in interface OSQLFunction
public int getMaxParams()
OSQLFunction
getMaxParams
in interface OSQLFunction
public String getSyntax()
OSQLFunction
Example :
myFunction( param1, param2, [optionalParam3])
This text will be used in exception messages.
getSyntax
in interface OSQLFunction
public Object getResult()
OSQLFunction
getResult
in interface OSQLFunction
public void setResult(Object iResult)
OSQLFunction
setResult
in interface OSQLFunction
public void config(Object[] configuredParameters)
OSQLFunction
config
in interface OSQLFunction
public boolean shouldMergeDistributedResult()
OSQLFunction
shouldMergeDistributedResult
in interface OSQLFunction
true
if results that comes from different nodes need to be merged to obtain
valid one, false
otherwisepublic Object mergeDistributedResult(List<Object> resultsToMerge)
OSQLFunction
mergeDistributedResult
in interface OSQLFunction
resultsToMerge
- is the results that comes from different nodesCopyright © 2009–2020 OrientDB. All rights reserved.