Class SqlJsonModifyFunction


public class SqlJsonModifyFunction extends SqlFunction
Definition of the JSON_INSERT, JSON_REPLACE and JSON_SET JSON Modify functions.
  • Constructor Details

    • SqlJsonModifyFunction

      public SqlJsonModifyFunction(String name)
  • Method Details

    • 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
    • checkOperandCount

      protected void checkOperandCount(SqlValidator validator, @Nullable SqlOperandTypeChecker argType, SqlCall call)
      Overrides:
      checkOperandCount 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
    • 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