Package org.apache.cassandra.cql3
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)).
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.Term
Term.MultiColumnRaw, Term.MultiItemTerminal, Term.NonTerminal, Term.Raw, Term.Terminal
-
-
Constructor Summary
Constructors Constructor Description DelayedValue(java.util.List<Term> elements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFunctionsTo(java.util.List<Function> functions)
Term.Terminal
bind(QueryOptions options)
Bind the values in this term to the values contained invalues
.void
collectMarkerSpecification(VariableSpecifications boundNames)
Collects the column specification for the bind variables in this Term.boolean
containsBindMarker()
Whether or not that term contains at least one bind marker.-
Methods inherited from class org.apache.cassandra.cql3.Term.NonTerminal
bindAndGet
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cassandra.cql3.Term
isTerminal
-
-
-
-
Constructor Detail
-
DelayedValue
public DelayedValue(java.util.List<Term> elements)
-
-
Method Detail
-
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 invalues
. 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(java.util.List<Function> functions)
-
-