Package org.apache.cassandra.cql3
Class TokenRelation
- java.lang.Object
-
- org.apache.cassandra.cql3.Relation
-
- org.apache.cassandra.cql3.TokenRelation
-
public final class TokenRelation extends Relation
A relation using the token function. Examples:- SELECT ... WHERE token(a) > token(1)
- SELECT ... WHERE token(a, b) > token(1, 3)
-
-
Field Summary
-
Fields inherited from class org.apache.cassandra.cql3.Relation
relationType
-
-
Constructor Summary
Constructors Constructor Description TokenRelation(java.util.List<ColumnIdentifier> entities, Operator type, Term.Raw value)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.util.List<? extends Term.Raw>
getInValues()
Returns the list of raw IN values for this relation, or null if this is not an IN relation.Term.Raw
getValue()
Returns the raw value for this relation, or null if this is an IN relation.int
hashCode()
protected Restriction
newContainsRestriction(TableMetadata table, VariableSpecifications boundNames, boolean isKey)
Creates a new Contains restriction instance.protected Restriction
newEQRestriction(TableMetadata table, VariableSpecifications boundNames)
Creates a new EQ restriction instance.protected Restriction
newINRestriction(TableMetadata table, VariableSpecifications boundNames)
Creates a new IN restriction instance.protected Restriction
newIsNotRestriction(TableMetadata table, VariableSpecifications boundNames)
protected Restriction
newLikeRestriction(TableMetadata table, VariableSpecifications boundNames, Operator operator)
protected Restriction
newSliceRestriction(TableMetadata table, VariableSpecifications boundNames, Bound bound, boolean inclusive)
Creates a new Slice restriction instance.boolean
onToken()
Checks if this relation is a token relation (e.g.Relation
renameIdentifier(ColumnIdentifier from, ColumnIdentifier to)
Renames an identifier in this Relation, if applicable.java.lang.String
toCQLString()
Returns a CQL representation of this relation.protected Term
toTerm(java.util.List<? extends ColumnSpecification> receivers, Term.Raw raw, java.lang.String keyspace, VariableSpecifications boundNames)
Converts the specifiedRaw
into aTerm
.-
Methods inherited from class org.apache.cassandra.cql3.Relation
isContains, isContainsKey, isEQ, isIN, isLIKE, isMultiColumn, isSlice, operator, toRestriction, toString, toTerms
-
-
-
-
Constructor Detail
-
TokenRelation
public TokenRelation(java.util.List<ColumnIdentifier> entities, Operator type, Term.Raw value)
-
-
Method Detail
-
onToken
public boolean onToken()
Description copied from class:Relation
Checks if this relation is a token relation (e.g.token(a) = token(1)
).
-
getValue
public Term.Raw getValue()
Description copied from class:Relation
Returns the raw value for this relation, or null if this is an IN relation.
-
getInValues
public java.util.List<? extends Term.Raw> getInValues()
Description copied from class:Relation
Returns the list of raw IN values for this relation, or null if this is not an IN relation.- Specified by:
getInValues
in classRelation
-
newEQRestriction
protected Restriction newEQRestriction(TableMetadata table, VariableSpecifications boundNames)
Description copied from class:Relation
Creates a new EQ restriction instance.- Specified by:
newEQRestriction
in classRelation
- Parameters:
table
- the table meta databoundNames
- the variables specification where to collect the bind variables- Returns:
- a new EQ restriction instance.
-
newINRestriction
protected Restriction newINRestriction(TableMetadata table, VariableSpecifications boundNames)
Description copied from class:Relation
Creates a new IN restriction instance.- Specified by:
newINRestriction
in classRelation
- Parameters:
table
- the table meta databoundNames
- the variables specification where to collect the bind variables- Returns:
- a new IN restriction instance
-
newSliceRestriction
protected Restriction newSliceRestriction(TableMetadata table, VariableSpecifications boundNames, Bound bound, boolean inclusive)
Description copied from class:Relation
Creates a new Slice restriction instance.- Specified by:
newSliceRestriction
in classRelation
- Parameters:
table
- the table meta databoundNames
- the variables specification where to collect the bind variablesbound
- the slice boundinclusive
-true
if the bound is included.- Returns:
- a new slice restriction instance
-
newContainsRestriction
protected Restriction newContainsRestriction(TableMetadata table, VariableSpecifications boundNames, boolean isKey)
Description copied from class:Relation
Creates a new Contains restriction instance.- Specified by:
newContainsRestriction
in classRelation
- Parameters:
table
- the table meta databoundNames
- the variables specification where to collect the bind variablesisKey
-true
if the restriction to create is a CONTAINS KEY- Returns:
- a new Contains
Restriction
instance
-
newIsNotRestriction
protected Restriction newIsNotRestriction(TableMetadata table, VariableSpecifications boundNames)
- Specified by:
newIsNotRestriction
in classRelation
-
newLikeRestriction
protected Restriction newLikeRestriction(TableMetadata table, VariableSpecifications boundNames, Operator operator)
- Specified by:
newLikeRestriction
in classRelation
-
toTerm
protected Term toTerm(java.util.List<? extends ColumnSpecification> receivers, Term.Raw raw, java.lang.String keyspace, VariableSpecifications boundNames) throws InvalidRequestException
Description copied from class:Relation
Converts the specifiedRaw
into aTerm
.- Specified by:
toTerm
in classRelation
- Parameters:
receivers
- the columns to which the values must be associated atraw
- the raw term to convertkeyspace
- the keyspace nameboundNames
- the variables specification where to collect the bind variables- Returns:
- the
Term
corresponding to the specifiedRaw
- Throws:
InvalidRequestException
- if theRaw
term is not valid
-
renameIdentifier
public Relation renameIdentifier(ColumnIdentifier from, ColumnIdentifier to)
Description copied from class:Relation
Renames an identifier in this Relation, if applicable.- Specified by:
renameIdentifier
in classRelation
- Parameters:
from
- the old identifierto
- the new identifier- Returns:
- this object, if the old identifier is not in the set of entities that this relation covers; otherwise a new Relation with "from" replaced by "to" is returned.
-
toCQLString
public java.lang.String toCQLString()
Description copied from class:Relation
Returns a CQL representation of this relation.- Specified by:
toCQLString
in classRelation
- Returns:
- a CQL representation of this relation
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
-