Class OSQLFunctionUnionAll

All Implemented Interfaces:
OSQLFunction

public class OSQLFunctionUnionAll extends OSQLFunctionMultiValueAbstract<Collection<Object>>
This operator can work as aggregate or inline. If only one argument is passed than aggregates, otherwise executes, and returns, a UNION of the collections received as parameters. Works also with no collection values. Does not remove duplication from the result.
Author:
Luca Garulli (l.garulli--(at)--orientdb.com)
  • Field Details

  • Constructor Details

    • OSQLFunctionUnionAll

      public OSQLFunctionUnionAll()
  • Method Details

    • execute

      public Object execute(Object iThis, OIdentifiable iCurrentRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext)
      Description copied from interface: OSQLFunction
      Process a record.
      iCurrentRecord - : current record
      iCurrentResult - TODO
      iParams - : 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
    • getSyntax

      public String getSyntax()
      Description copied from interface: OSQLFunction
      Returns 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

      public Object mergeDistributedResult(List<Object> resultsToMerge)
      Description copied from interface: OSQLFunction
      This method correspond to distributed query execution
      Specified by:
      mergeDistributedResult in interface OSQLFunction
      Overrides:
      mergeDistributedResult in class OSQLFunctionAbstract
      Parameters:
      resultsToMerge - is the results that comes from different nodes
      Returns:
      is the valid merged result