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 voidaddFunctionsTo(java.util.List<Function> functions)Term.Terminalbind(QueryOptions options)Bind the values in this term to the values contained invalues.voidcollectMarkerSpecification(VariableSpecifications boundNames)Collects the column specification for the bind variables in this Term.booleancontainsBindMarker()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:TermWhether 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:TermCollects 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:TermBind 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)
-
-