public abstract class MINUS extends RelationalOperator
| Constructor and Description |
|---|
MINUS() |
| Modifier and Type | Method and Description |
|---|---|
static Relation |
computePlainDifference(Relation minuend,
Relation subtrahend)
Computes the difference between minuend and subtrahend
|
static Relation |
computeUsingDifference(Relation minuend,
Relation subtrahend,
java.util.LinkedHashSet<NameIdentifier> usingAttributes)
Computes the difference between minuend and subtrahend, with the usingAtributres treated in 'USING'/'pointwise' mode
|
int |
getMaximumArgumentCount()
Gets the maximum argument count for this operator.
|
int |
getMinimumArgumentCount()
Gets the minimum argument count for this operator.
|
java.lang.String |
getName()
Gets the operator name
|
boolean |
isMonoRelationOperator()
Checks if the operator takes only one Relation as input
|
static MINUSInvocationResultDetails |
validateExpressionDetails(Heading minuendHeading,
Heading subtrahendHeading,
java.lang.String relationPredicate1,
java.lang.String relationPredicate2,
java.util.LinkedHashSet<NameIdentifier> usingAttributes) |
toStringpublic static Relation computePlainDifference(Relation minuend, Relation subtrahend) throws EvaluationException
minuend - the relation from which is to be subtracted (in 'USING' mode)subtrahend - the relation to be subtracted from the minuend (in 'USING' mode)EvaluationException - If the evaluation fails for any reason. See the contained getCause() exception for more detail.public static Relation computeUsingDifference(Relation minuend, Relation subtrahend, java.util.LinkedHashSet<NameIdentifier> usingAttributes) throws EvaluationException
minuend - the relation from which is to be subtracted (in 'USING' mode)subtrahend - the relation to be subtracted from the minuend (in 'USING' mode)usingAttributes - the interval-typed attributes of the relations that are to be treated in 'USING' modeEvaluationException - If the evaluation failed for any reason. See the contained getCause() exception for more detail.public static MINUSInvocationResultDetails validateExpressionDetails(Heading minuendHeading, Heading subtrahendHeading, java.lang.String relationPredicate1, java.lang.String relationPredicate2, java.util.LinkedHashSet<NameIdentifier> usingAttributes) throws MinusHeadingsIncompatibleException, AttributeNotIntervalTypedException, NonExistingAttributeException
minuendHeading - the heading of the first argument in a unionsubtrahendHeading - the heading of the second argument in a unionrelationPredicate2 - The relation predicate of the second argument in a unionrelationPredicate1 - The relation predicate of the first argument in a unionusingAttributes - The in-order list of attributes that are to be treated in 'USING' mode by the differenceMinusHeadingsIncompatibleException - if the given headings are not union compatibleAttributeNotIntervalTypedException - If an attribute named in the usingAttributes appears in the heading but is not interval-typedNonExistingAttributeException - If an attribute named in the usingAttributes does not appear in the headingpublic final int getMaximumArgumentCount()
RelationalOperatorgetMaximumArgumentCount in class RelationalOperatorpublic final int getMinimumArgumentCount()
RelationalOperatorgetMinimumArgumentCount in class RelationalOperatorpublic final java.lang.String getName()
RelationalOperatorgetName in class RelationalOperatorpublic final boolean isMonoRelationOperator()
RelationalOperatorisMonoRelationOperator in class RelationalOperator