Class SqlCoalesceFunction


public class SqlCoalesceFunction extends SqlFunction
The COALESCE function.
  • Constructor Details

    • SqlCoalesceFunction

      public SqlCoalesceFunction()
  • Method Details

    • rewriteCall

      public SqlNode rewriteCall(SqlValidator validator, SqlCall call)
      Description copied from class: SqlOperator
      Rewrites a call to this operator. Some operators are implemented as trivial rewrites (e.g. NULLIF becomes CASE). However, we don't do this at createCall time because we want to preserve the original SQL syntax as much as possible; instead, we do this before the call is validated (so the trivial operator doesn't need its own implementation of type derivation methods). The default implementation is to just return the original call without any rewrite.
      Overrides:
      rewriteCall in class SqlOperator
      Parameters:
      validator - Validator
      call - Call to be rewritten
      Returns:
      rewritten call
    • inferReturnType

      public @NonNull 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
    • getReturnTypeInference

      public SqlReturnTypeInference getReturnTypeInference()
      Description copied from class: SqlOperator
      Returns the return type inference strategy for this operator, or null if return type inference is implemented by a subclass override.
      Overrides:
      getReturnTypeInference in class SqlOperator