public final class XMINUS_RELATION_RELATION extends java.lang.Object implements AggregationOperatorImplementation
XMINUSUSING_RELATION_RELATION, where the third argument mentions all the interval-typed attributes of the RELATION arguments' headings, in lexicographical order. Hence, per the definition of the three-argument version of XMINUS, an invocation XMINUS(r1,r2) is equivalent to UNION(MINUS(r1,r2,i),MINUS(r2,r1,i),i), where i are all the interval-typed attributes, in lexicographical order, of the heading of r1/r2.| Constructor and Description |
|---|
XMINUS_RELATION_RELATION(Heading heading)
Creates the XMINUS_RELATION_RELATION
|
| Modifier and Type | Method and Description |
|---|---|
static java.util.Set<TupleBuffer> |
computePlainSymmetricDifference(java.util.Set<TupleBuffer> r1,
java.util.Set<TupleBuffer> r2)
Computes the "plain" symmetric difference between the given two tuple sets.
|
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.
|
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) |
public XMINUS_RELATION_RELATION(Heading heading)
heading - The heading of the arguments to XMINUSpublic static java.util.Set<TupleBuffer> computePlainSymmetricDifference(java.util.Set<TupleBuffer> r1, java.util.Set<TupleBuffer> r2)
r1 - The first argumentr2 - the second argumentpublic 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 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)
readExternal in interface java.io.Externalizablepublic void writeExternal(java.io.ObjectOutput out)
writeExternal in interface java.io.Externalizable