public abstract class PROJECT extends RelationalOperator
Constructor and Description |
---|
PROJECT() |
Modifier and Type | Method and Description |
---|---|
static RelationBuffer |
computeProjection(RelationBuffer relationBuffer,
NameIdentifier... attributes) |
static Relation |
computeProjection(Relation relation,
NameIdentifier... attributes) |
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 PROJECTInvocationResultDetails |
validateExpressionDetails(Heading inputHeading,
java.util.Set<NameIdentifier> attributeNames,
java.lang.String inputPredicate,
java.util.Collection<? extends KeyDef> inputKeySpecifications) |
toString
public static Relation computeProjection(Relation relation, NameIdentifier... attributes) throws EvaluationException
relation
- the relation subjected to a projectionattributes
- the attributes to be retained in the resultEvaluationException
- If the evaluation failed for any reason. See the contained getCause() exception for more detailpublic static RelationBuffer computeProjection(RelationBuffer relationBuffer, NameIdentifier... attributes)
relationBuffer
- the buffer holding a relation subjected to a projectionattributes
- the attributes to be retained in the resultpublic static PROJECTInvocationResultDetails validateExpressionDetails(Heading inputHeading, java.util.Set<NameIdentifier> attributeNames, java.lang.String inputPredicate, java.util.Collection<? extends KeyDef> inputKeySpecifications) throws NonExistingAttributeException
attributeNames
- The set of projection attributesinputHeading
- The heading of a relational expression that is subjected to projectioninputPredicate
- The predicate of which the relation subjected to the projection is the extensioninputKeySpecifications
- The keys known to be satisfied by the relation that is subjected to this projectionNonExistingAttributeException
- If an attribute is mentioned in the projection attribute list that does not appear in the headingpublic final int getMaximumArgumentCount()
RelationalOperator
getMaximumArgumentCount
in class RelationalOperator
public final int getMinimumArgumentCount()
RelationalOperator
getMinimumArgumentCount
in class RelationalOperator
public final java.lang.String getName()
RelationalOperator
getName
in class RelationalOperator
public final boolean isMonoRelationOperator()
RelationalOperator
isMonoRelationOperator
in class RelationalOperator