Interface Function
-
- All Superinterfaces:
AssignmentTestable
- All Known Subinterfaces:
AggregateFunction,PartialScalarFunction,ScalarFunction
- All Known Implementing Classes:
AbstractFunction,AggregateFcts.CountRowsFunction,BytesConversionFcts.FromBlobFunction,BytesConversionFcts.ToBlobFunction,DefaultMaskingFunction,FromJsonFct,HashMaskingFunction,JavaBasedUDFunction,MaskingFunction,NativeAggregateFunction,NativeFunction,NativeScalarFunction,NullMaskingFunction,PartialMaskingFunction,ReplaceMaskingFunction,TimeFcts.FloorDateFunction,TimeFcts.FloorTimestampFunction,TimeFcts.FloorTimeUuidFunction,TimeFcts.TemporalConversionFunction,ToJsonFct,TokenFct,UDAggregate,UDFunction,UserFunction
public interface Function extends AssignmentTestable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable
AssignmentTestable.TestResult
-
-
Field Summary
Fields Modifier and Type Field Description static java.nio.ByteBufferUNRESOLVEDA marker buffer used to represent function parameters that cannot be resolved at some stage of CQL processing.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidaddFunctionsTo(java.util.List<Function> functions)java.util.List<AbstractType<?>>argTypes()java.lang.StringcolumnName(java.util.List<java.lang.String> columnNames)Returns the name of the function to use within a ResultSet.default java.util.Optional<Difference>compare(Function other)booleanisAggregate()Checks whether the function is an aggregate function or not.booleanisNative()Checks whether the function is a native/hard coded one or not.booleanisPure()Checks whether the function is a pure function (as in doesn't depend on, nor produces side effects) or not.FunctionNamename()ArgumentsnewArguments(ProtocolVersion version)Creates some new input arguments for this function.booleanreferencesUserType(java.nio.ByteBuffer name)AbstractType<?>returnType()-
Methods inherited from interface org.apache.cassandra.cql3.AssignmentTestable
getCompatibleTypeIfKnown, testAssignment
-
-
-
-
Method Detail
-
name
FunctionName name()
-
argTypes
java.util.List<AbstractType<?>> argTypes()
-
returnType
AbstractType<?> returnType()
-
isNative
boolean isNative()
Checks whether the function is a native/hard coded one or not.- Returns:
trueif the function is a native/hard coded one,falseotherwise.
-
isPure
boolean isPure()
Checks whether the function is a pure function (as in doesn't depend on, nor produces side effects) or not.- Returns:
trueif the function is a pure function,falseotherwise.
-
isAggregate
boolean isAggregate()
Checks whether the function is an aggregate function or not.- Returns:
trueif the function is an aggregate function,falseotherwise.
-
addFunctionsTo
void addFunctionsTo(java.util.List<Function> functions)
-
referencesUserType
boolean referencesUserType(java.nio.ByteBuffer name)
-
columnName
java.lang.String columnName(java.util.List<java.lang.String> columnNames)
Returns the name of the function to use within a ResultSet.- Parameters:
columnNames- the names of the columns used to call the function- Returns:
- the name of the function to use within a ResultSet
-
newArguments
Arguments newArguments(ProtocolVersion version)
Creates some new input arguments for this function.- Parameters:
version- the protocol version- Returns:
- some new input arguments for this function
-
compare
default java.util.Optional<Difference> compare(Function other)
-
-