Class SqlJsonValueFunction


  • public class SqlJsonValueFunction
    extends SqlFunction
    The JSON_VALUE function.
    • Field Detail

      • returnAny

        private final boolean returnAny
    • Constructor Detail

      • SqlJsonValueFunction

        public SqlJsonValueFunction​(java.lang.String name,
                                    boolean returnAny)
    • Method Detail

      • createCall

        public SqlCall createCall​(SqlLiteral functionQualifier,
                                  SqlParserPos pos,
                                  SqlNode... operands)
        Description copied from class: SqlOperator
        Creates a call to this operand with an array of operands.

        The position of the resulting call is the union of the pos and the positions of all of the operands.

        Overrides:
        createCall in class SqlOperator
        Parameters:
        functionQualifier - function qualifier (e.g. "DISTINCT"), may be
        pos - parser position of the identifier of the call
        operands - array of operands
      • 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
      • inferReturnType

        public RelDataType inferReturnType​(SqlOperatorBinding opBinding)
        Description copied from class: SqlOperator
        Infers the return type of an invocation of this operator; only called after the number and types of operands have already been validated. Subclasses must either override this method or supply an instance of SqlReturnTypeInference to the constructor.
        Overrides:
        inferReturnType in class SqlOperator
        Parameters:
        opBinding - description of invocation (not necessarily a SqlCall)
        Returns:
        inferred return type
      • getSignatureTemplate

        public java.lang.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
      • isDefaultLiteral

        private boolean isDefaultLiteral​(SqlLiteral literal)