Class OSQLFunctionSymmetricDifference
java.lang.Object
com.orientechnologies.orient.core.sql.functions.OSQLFunctionAbstract
com.orientechnologies.orient.core.sql.functions.OSQLFunctionConfigurableAbstract
com.orientechnologies.orient.core.sql.functions.coll.OSQLFunctionMultiValueAbstract<Set<Object>>
com.orientechnologies.orient.core.sql.functions.coll.OSQLFunctionSymmetricDifference
- All Implemented Interfaces:
OSQLFunction
This operator can work as aggregate or inline. If only one argument is passed than aggregates,
otherwise executes, and returns, the SYMMETRIC DIFFERENCE between the collections received as
parameters. Works also with no collection values.
- Author:
- Luca Garulli (l.garulli--(at)--orientdb.com)
-
Field Summary
FieldsFields inherited from class com.orientechnologies.orient.core.sql.functions.coll.OSQLFunctionMultiValueAbstract
contextFields 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 TypeMethodDescriptionexecute(Object iThis, OIdentifiable iCurrentRecord, 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.coll.OSQLFunctionMultiValueAbstract
aggregateResults, 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
-
OSQLFunctionSymmetricDifference
public OSQLFunctionSymmetricDifference()
-
-
Method Details
-
execute
public Object execute(Object iThis, OIdentifiable iCurrentRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext) Description copied from interface:OSQLFunctionProcess a record.iCurrentRecord- : 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
-
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 classOSQLFunctionMultiValueAbstract<Set<Object>>- Parameters:
ctx- TODO- Returns:
- Aggregation result
-
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.
-
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
-