@OperatorGeneratorCharacteristics(maximumArgumentCount=256, minimumArgumentCount=2, name="UNION", signature={EXPRESSION,EXPRESSION}) public abstract class UNION extends RelationalOperator
Constructor and Description |
---|
UNION() |
Modifier and Type | Method and Description |
---|---|
static RelationBuffer |
computePlainUnion(RelationBuffer relationBuffer,
RelationBuffer relationBuffer2) |
static Relation |
computePlainUnion(Relation relation,
Relation unionWith) |
static RelationBuffer |
computeUsingUnion(RelationBuffer relationBuffer,
RelationBuffer relationBuffer2,
java.util.Set<NameIdentifier> partitioningKeys,
MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations,
java.util.Map<NameIdentifier,IntervalTypeImplementation> intervalTypedAttributesIntervalTypeImplementations) |
static Relation |
computeUsingUnion(Relation relation,
Relation unionWith,
java.util.LinkedHashSet<NameIdentifier> usingAttributes) |
static AggregationOperatorImplementation |
getInstance(Heading heading)
Gets an instance of the relation UNION operator for the particular given heading
|
OperatorImplementation_V0105 |
getOperatorImplementation(OperatorGeneratorArgument[] args)
Gets an implementation instance of the operator.
|
getInvocationName, getMaximumArgumentCount, getMinimumArgumentCount, getName, getOperatorGeneratorSignature, isMonoRelationOperator, toString
public static Relation computePlainUnion(Relation relation, Relation unionWith) throws EvaluationException
relation
- the relation to be unioned with the other oneunionWith
- the relation to be unioned with the foregoing oneEvaluationException
- if the evaluation fails for any reason, e.g. the relations are not union-compatiblepublic static RelationBuffer computePlainUnion(RelationBuffer relationBuffer, RelationBuffer relationBuffer2)
relationBuffer
- the relation to be unioned with the other onerelationBuffer2
- the relation to be unioned with the foregoing onepublic static Relation computeUsingUnion(Relation relation, Relation unionWith, java.util.LinkedHashSet<NameIdentifier> usingAttributes) throws EvaluationException
relation
- the relation to be unioned with the other oneunionWith
- the relation to be unioned with the foregoing oneusingAttributes
- the in-order set of attributes to be treated in 'USING' mode by the unionEvaluationException
- if the evaluation fails for any reason, e.g. the relations are not union-compatiblepublic static RelationBuffer computeUsingUnion(RelationBuffer relationBuffer, RelationBuffer relationBuffer2, java.util.Set<NameIdentifier> partitioningKeys, MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations, java.util.Map<NameIdentifier,IntervalTypeImplementation> intervalTypedAttributesIntervalTypeImplementations)
relationBuffer
- the relation to be unioned with the other onerelationBuffer2
- the relation to be unioned with the foregoing onepartitioningKeys
- the set of attributes not to be used in 'USING' mode by the unionintervalTypedAttributesIntervalOperatorImplementations
- the mapping of the names of attributes to be treated in 'USING' mode by the union, mapped to the sets of applicable interval operators for those attributes' types.intervalTypedAttributesIntervalTypeImplementations
- A map mapping the interval-typed attribute names to their type implementations. The keySet() of this map must be equal to the keySet() of the intervalTypedAttributesIntervalOperatorImplementations Map.public static AggregationOperatorImplementation getInstance(Heading heading)
heading
- The heading defining the relation type of both argumentspublic final OperatorImplementation_V0105 getOperatorImplementation(OperatorGeneratorArgument[] args) throws NotFoundException
OperatorGenerator
args
- The arguments from which the instance is to be created. There must be exactly as many arguments as there are elements in the list returned from OperatorGenerator.getOperatorGeneratorSignature()
. The correspondence between OperatorGeneratorArgumentType
values and OperatorGeneratorArgument
types is given in the table below :
NotFoundException
- If the given OperatorGeneratorArguments do not satisfy all of the rules of the OperatorGenerator. These rules are specific to each OperatorGenerator.