Class SqlSubstringFunction


public class SqlSubstringFunction extends SqlFunction
Definition of the "SUBSTRING" builtin SQL function.
  • Method Details

    • getSignatureTemplate

      public String getSignatureTemplate(int operandsCount)
      Description copied from class: SqlOperator
      Returns a template describing how the operator signature is to be built. E.g for the binary + operator the template looks like "{1} {0} {2}" {0} is the operator, subsequent numbers are operands.
      Overrides:
      getSignatureTemplate in class SqlOperator
      Parameters:
      operandsCount - is used with functions that can take a variable number of operands
      Returns:
      signature template, or null to indicate that a default template will suffice
    • getAllowedSignatures

      public String getAllowedSignatures(String opName)
      Description copied from class: SqlOperator
      Returns a string describing the expected operand types of a call, e.g. "SUBSTRING(VARCHAR, INTEGER, INTEGER)" where the name (SUBSTRING in this example) can be replaced by a specified name.
      Overrides:
      getAllowedSignatures in class SqlOperator
    • checkOperandTypes

      public boolean checkOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure)
      Description copied from class: SqlOperator
      Checks that the operand values in a SqlCall to this operator are valid. Subclasses must either override this method or supply an instance of SqlOperandTypeChecker to the constructor.
      Overrides:
      checkOperandTypes in class SqlOperator
      Parameters:
      callBinding - description of call
      throwOnFailure - whether to throw an exception if check fails (otherwise returns false in that case)
      Returns:
      whether check succeeded
    • getOperandCountRange

      public SqlOperandCountRange getOperandCountRange()
      Description copied from class: SqlOperator
      Returns a constraint on the number of operands expected by this operator. Subclasses may override this method; when they don't, the range is derived from the SqlOperandTypeChecker associated with this operator.
      Overrides:
      getOperandCountRange in class SqlOperator
      Returns:
      acceptable range
    • getMonotonicity

      public SqlMonotonicity getMonotonicity(SqlOperatorBinding call)
      Description copied from class: SqlOperator
      Returns whether a call to this operator is monotonic.

      Default implementation returns SqlMonotonicity.NOT_MONOTONIC.

      Overrides:
      getMonotonicity in class SqlOperator
      Parameters:
      call - Call to this operator with particular arguments and information about the monotonicity of the arguments