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.ByteBuffer
UNRESOLVED
A 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 void
addFunctionsTo(java.util.List<Function> functions)
java.util.List<AbstractType<?>>
argTypes()
java.lang.String
columnName(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)
boolean
isAggregate()
Checks whether the function is an aggregate function or not.boolean
isNative()
Checks whether the function is a native/hard coded one or not.boolean
isPure()
Checks whether the function is a pure function (as in doesn't depend on, nor produces side effects) or not.FunctionName
name()
Arguments
newArguments(ProtocolVersion version)
Creates some new input arguments for this function.boolean
referencesUserType(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:
true
if the function is a native/hard coded one,false
otherwise.
-
isPure
boolean isPure()
Checks whether the function is a pure function (as in doesn't depend on, nor produces side effects) or not.- Returns:
true
if the function is a pure function,false
otherwise.
-
isAggregate
boolean isAggregate()
Checks whether the function is an aggregate function or not.- Returns:
true
if the function is an aggregate function,false
otherwise.
-
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)
-
-