Class SqlDatePartFunction


public class SqlDatePartFunction extends SqlFunction
SqlDatePartFunction represents the SQL:1999 standard YEAR, QUARTER, MONTH and DAY functions.
  • Constructor Details

    • SqlDatePartFunction

      public SqlDatePartFunction(String name, org.apache.calcite.avatica.util.TimeUnit timeUnit)
  • 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
    • 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
    • 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
    • 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