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
  • Field Details

    • UNRESOLVED

      static final ByteBuffer UNRESOLVED
      A marker buffer used to represent function parameters that cannot be resolved at some stage of CQL processing. This is used for partial function application in particular.
  • Method Details

    • name

      FunctionName name()
    • argTypes

      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(List<Function> functions)
    • referencesUserType

      boolean referencesUserType(ByteBuffer name)
    • columnName

      String columnName(List<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 Optional<Difference> compare(Function other)