public final class UNION_RELATION_RELATION_STRING extends java.lang.Object implements AggregationOperatorImplementation, OperatorGenerator
| r1 | r2 | i | result |
|---|---|---|---|
| REL { TUP {IV:[1-7]} } | REL { TUP {IV:[5-9]} } | REL { TUP {IV:[1-7]} TUP {IV:[5-9]} } | |
| REL { TUP {IV:[1-7]} } | REL { TUP {IV:[5-9]} } | IV | REL { TUP {IV:[1-9]} } |
| Constructor and Description |
|---|
UNION_RELATION_RELATION_STRING()
Deprecated.
- this constructor is available only for use in the context of the Externalizable machinery
|
| Modifier and Type | Method and Description |
|---|---|
static java.util.Collection<TupleBuffer> |
computeRangeUnionAndPack(java.util.Collection<TupleBuffer> r1,
java.util.Collection<TupleBuffer> r2,
MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations,
java.util.Set<NameIdentifier> partitioningKeys)
Computes the interval union of the given tuple sets.
|
static java.util.Collection<TupleBuffer> |
computeRangeUnionAndPack(java.util.Collection<TupleBuffer> r1,
java.util.Collection<TupleBuffer> r2,
MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations,
java.util.Set<NameIdentifier> partitioningKeys,
java.util.LinkedList<ValueBuffer> wrkArgList)
Computes the interval union of the given tuple sets.
|
static java.util.Set<TupleBuffer> |
computeRangeUnionForSamePartitionRelationsAndPack(java.util.Collection<? extends TupleBuffer> r1,
java.util.Collection<? extends TupleBuffer> r2,
MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations)
Computes the interval union of the given tuple sets.
|
static java.util.Set<TupleBuffer> |
computeRangeUnionForSamePartitionRelationsAndPack(java.util.Collection<? extends TupleBuffer> r1,
java.util.Collection<? extends TupleBuffer> r2,
MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations,
java.util.LinkedList<ValueBuffer> wrkArgList)
Computes the interval union of the given tuple sets.
|
OperatorImplementation_V0105 |
createInvocation(OperatorGeneratorArgument[] args)
Creates an instance of the operator.
|
ValueBuffer |
executeOperator(java.util.LinkedList<ValueBuffer> args)
Performs the actual logic of the operator.
|
java.lang.String[] |
getArgumentTypeNames()
Gets the list of names of types of the needed argument values
|
ValueBuffer |
getIdentityElement()
Gets the identity element of the operator in its domain.
|
static AggregationOperatorImplementation |
getInstance(Heading heading,
java.util.LinkedList<NameIdentifier> treatAsRange)
Gets an instance of the relation UNION operator for the particular given heading
|
java.util.LinkedList<OperatorGeneratorArgumentType> |
getOperatorGeneratorSignature()
Gets the "generator signature" of the operator generator.
|
TypeDeclaration |
getReturnTypeDeclaration()
Gets the full type declaration of the type of the return value.
|
java.lang.String |
getReturnTypeName()
Gets the name of the type of the return value
|
java.lang.String |
getSignature()
Gets the name of the operator implemented by this implementation object
|
boolean |
isDeterministic()
Tells whether the operator is deterministic with respect to the arguments of its invocations.
|
void |
readExternal(java.io.ObjectInput in) |
void |
writeExternal(java.io.ObjectOutput out) |
@Deprecated public UNION_RELATION_RELATION_STRING()
public static AggregationOperatorImplementation getInstance(Heading heading, java.util.LinkedList<NameIdentifier> treatAsRange)
heading - The heading defining the relation type of both argumentstreatAsRange - The attributes to be treated in 'USING' mode by the UNIONpublic static java.util.Collection<TupleBuffer> computeRangeUnionAndPack(java.util.Collection<TupleBuffer> r1, java.util.Collection<TupleBuffer> r2, MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations, java.util.Set<NameIdentifier> partitioningKeys)
r1 - The first argumentr2 - The second argumentintervalTypedAttributesIntervalOperatorImplementations - A map mapping the attribute names to a corresponding collection of interval operators (this collection takes itself the form of a mapping from operator names to interval operator implementations). The map is required to hold at least the NAMES.OPERATORNAMES.SPLITBY, NAMES.OPERATORNAMES.IMINUS, NAMES.OPERATORNAMES.IINTERSECT and NAMES.OPERATORNAMES.ISEMPTYINTERVAL implementations for each attribute.partitioningKeys - The partitioning keyspublic static java.util.Collection<TupleBuffer> computeRangeUnionAndPack(java.util.Collection<TupleBuffer> r1, java.util.Collection<TupleBuffer> r2, MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations, java.util.Set<NameIdentifier> partitioningKeys, java.util.LinkedList<ValueBuffer> wrkArgList)
r1 - The first argumentr2 - The second argumentintervalTypedAttributesIntervalOperatorImplementations - A map mapping the attribute names to a corresponding collection of interval operators (this collection takes itself the form of a mapping from operator names to interval operator implementations). The map is required to hold at least the NAMES.OPERATORNAMES.SPLITBY, NAMES.OPERATORNAMES.IMINUS, NAMES.OPERATORNAMES.IINTERSECT and NAMES.OPERATORNAMES.ISEMPTYINTERVAL implementations for each attribute.partitioningKeys - The partitioning keyswrkArgList - A linkedlist that can be used as a working object when invoking the interval operatorspublic static java.util.Set<TupleBuffer> computeRangeUnionForSamePartitionRelationsAndPack(java.util.Collection<? extends TupleBuffer> r1, java.util.Collection<? extends TupleBuffer> r2, MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations)
r1 - The first argumentr2 - The second argumentintervalTypedAttributesIntervalOperatorImplementations - A map mapping the attribute names to a corresponding collection of interval operators (this collection takes itself the form of a mapping from operator names to interval operator implementations). The map is required to hold at least the SPLITBY, IMINUS, IINTERSECT and ISEMPTYINTERVAL implementations for each attribute.public static java.util.Set<TupleBuffer> computeRangeUnionForSamePartitionRelationsAndPack(java.util.Collection<? extends TupleBuffer> r1, java.util.Collection<? extends TupleBuffer> r2, MyReadOnlyLinkedHashMap<NameIdentifier,java.util.Map<java.lang.String,OperatorImplementation_V0104>> intervalTypedAttributesIntervalOperatorImplementations, java.util.LinkedList<ValueBuffer> wrkArgList)
r1 - The first argumentr2 - The second argumentintervalTypedAttributesIntervalOperatorImplementations - A map mapping the attribute names to a corresponding collection of interval operators (this collection takes itself the form of a mapping from operator names to interval operator implementations). The map is required to hold at least the NAMES.OPERATORNAMES.SPLITBY, NAMES.OPERATORNAMES.IMINUS, NAMES.OPERATORNAMES.IINTERSECT and NAMES.OPERATORNAMES.ISEMPTYINTERVAL implementations for each attribute.wrkArgList - A linkedlist that can be used as a working object when invoking the interval operatorspublic OperatorImplementation_V0105 createInvocation(OperatorGeneratorArgument[] args)
OperatorGeneratorcreateInvocation in interface OperatorGeneratorargs - 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 :
OperatorGeneratorArgumentType value |
OperatorGeneratorArgument type |
|---|---|
EXPRESSION |
NonScalarOperatorGeneratorExpressionArgument |
public ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
OperatorImplementation_V0104executeOperator in interface OperatorImplementation_V0104args - the argument list. The list must hold as many ValueBuffer objects as there are arguments to the operator, and each ValueBuffer object holds a value for some argument to the operator. ValueBuffer objects on the list must appear in the same order as the operator argument declarations. Implementations have the option, but are not required, to do a check the conformance of the argument list (the argument count, notably) to the operator signature.public java.lang.String[] getArgumentTypeNames()
OperatorImplementation_V0104getArgumentTypeNames in interface OperatorImplementation_V0104public ValueBuffer getIdentityElement()
AggregationOperatorImplementationgetIdentityElement in interface AggregationOperatorImplementationpublic java.util.LinkedList<OperatorGeneratorArgumentType> getOperatorGeneratorSignature()
OperatorGeneratorOperatorGeneratorArgumentType values as there are in the result of the operator signature's getArgumentTypeNames method, and they should correspond, obviously, by ordinal position.getOperatorGeneratorSignature in interface OperatorGeneratorpublic TypeDeclaration getReturnTypeDeclaration()
OperatorImplementation_V0105getReturnTypeDeclaration in interface OperatorImplementation_V0105public java.lang.String getReturnTypeName()
OperatorImplementation_V0104getReturnTypeName in interface OperatorImplementation_V0104public java.lang.String getSignature()
OperatorImplementation_V0104getSignature in interface OperatorImplementation_V0104public boolean isDeterministic()
OperatorImplementation_V0104isDeterministic in interface OperatorImplementation_V0104public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOException