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
  • Constructor Details

  • Method Details

    • 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(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 class Term.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(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(String keyspace)
      Description copied from class: Term.Raw
      The type of the term if it can be infered.
      Specified by:
      getExactTypeIfKnown in class Term.Raw
      Parameters:
      keyspace - the keyspace on which the statement containing this term is on.
      Returns:
      the type of this Term if inferrable, or null 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 return null too).
    • getText

      public String getText()
      Specified by:
      getText in class Term.Raw
      Returns:
      a String representation of the raw term that can be used when reconstructing a CQL query string.