Class Lists.DelayedValue

java.lang.Object
org.apache.cassandra.cql3.Term.NonTerminal
org.apache.cassandra.cql3.Lists.DelayedValue
All Implemented Interfaces:
Term
Enclosing class:
Lists

public static class Lists.DelayedValue extends Term.NonTerminal
Basically similar to a Value, but with some non-pure function (that need to be evaluated at execution time) in it. Note: this would also work for a list with bind markers, but we don't support that because 1) it's not excessively useful and 2) we wouldn't have a good column name to return in the ColumnSpecification for those markers (not a blocker per-se but we don't bother due to 1)).
  • Constructor Details

    • DelayedValue

      public DelayedValue(List<Term> elements)
  • Method Details

    • containsBindMarker

      public boolean containsBindMarker()
      Description copied from interface: Term
      Whether or not that term contains at least one bind marker. Note that this is slightly different from being or not a NonTerminal, because calls to non pure functions will be NonTerminal (see #5616) even if they don't have bind markers.
    • collectMarkerSpecification

      public void collectMarkerSpecification(VariableSpecifications boundNames)
      Description copied from interface: Term
      Collects the column specification for the bind variables in this Term. This is obviously a no-op if the term is Terminal.
      Parameters:
      boundNames - the variables specification where to collect the bind variables of this term in.
    • bind

      public Term.Terminal bind(QueryOptions options) throws InvalidRequestException
      Description copied from interface: Term
      Bind the values in this term to the values contained in values. This is obviously a no-op if the term is Terminal.
      Parameters:
      options - the values to bind markers to.
      Returns:
      the result of binding all the variables of this NonTerminal (or 'this' if the term is terminal).
      Throws:
      InvalidRequestException
    • addFunctionsTo

      public void addFunctionsTo(List<Function> functions)