Class FunctionCall.Raw
- java.lang.Object
-
- org.apache.cassandra.cql3.Term.Raw
-
- org.apache.cassandra.cql3.functions.FunctionCall.Raw
-
- All Implemented Interfaces:
AssignmentTestable
- Enclosing class:
- FunctionCall
public static class FunctionCall.Raw extends Term.Raw
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable
AssignmentTestable.TestResult
-
-
Constructor Summary
Constructors Constructor Description Raw(FunctionName name, java.util.List<Term.Raw> terms)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractType<?>
getExactTypeIfKnown(java.lang.String keyspace)
The type of theterm
if it can be infered.java.lang.String
getText()
static FunctionCall.Raw
newCast(Term.Raw raw, CQL3Type type)
static FunctionCall.Raw
newNegation(Term.Raw raw)
static FunctionCall.Raw
newOperation(char operator, Term.Raw left, Term.Raw right)
Term
prepare(java.lang.String keyspace, ColumnSpecification receiver)
This method validates this RawTerm is valid for provided column specification and "prepare" this RawTerm, returning the resulting prepared Term.AssignmentTestable.TestResult
testAssignment(java.lang.String keyspace, ColumnSpecification receiver)
-
Methods inherited from class org.apache.cassandra.cql3.Term.Raw
equals, getCompatibleTypeIfKnown, hashCode, toString
-
-
-
-
Constructor Detail
-
Raw
public Raw(FunctionName name, java.util.List<Term.Raw> terms)
-
-
Method Detail
-
newOperation
public static FunctionCall.Raw newOperation(char operator, Term.Raw left, Term.Raw right)
-
newNegation
public static FunctionCall.Raw newNegation(Term.Raw raw)
-
newCast
public static FunctionCall.Raw newCast(Term.Raw raw, CQL3Type type)
-
prepare
public Term prepare(java.lang.String keyspace, ColumnSpecification receiver) throws InvalidRequestException
Description copied from class:Term.Raw
This method validates this RawTerm is valid for provided column specification and "prepare" this RawTerm, returning the resulting prepared Term.- Specified by:
prepare
in classTerm.Raw
receiver
- the "column" this RawTerm is supposed to be a value of. Note that the ColumnSpecification may not correspond to a real column in the case this RawTerm describe a list index or a map key, etc...- Returns:
- the prepared term.
- Throws:
InvalidRequestException
-
testAssignment
public AssignmentTestable.TestResult testAssignment(java.lang.String keyspace, ColumnSpecification receiver)
- Returns:
- whether this object can be assigned to the provided receiver. We distinguish between 3 values: - EXACT_MATCH if this object is exactly of the type expected by the receiver - WEAKLY_ASSIGNABLE if this object is not exactly the expected type but is assignable nonetheless - NOT_ASSIGNABLE if it's not assignable Most caller should just call the isAssignable() method on the result, though functions have a use for testing "strong" equality to decide the most precise overload to pick when multiple could match.
-
getExactTypeIfKnown
public AbstractType<?> getExactTypeIfKnown(java.lang.String keyspace)
Description copied from class:Term.Raw
The type of theterm
if it can be infered.- Specified by:
getExactTypeIfKnown
in classTerm.Raw
- Parameters:
keyspace
- the keyspace on which the statement containing this term is on.- Returns:
- the type of this
Term
if inferrable, ornull
otherwise (for instance, the type isn't inferrable for a bind marker. Even for literals, the exact type is not inferrable since they are valid for many different types and so this will returnnull
too).
-
-