static absl::Status CheckValidAddTimestampPart()

in sql_utils/public/functions/date_time_util.cc [681:716]


static absl::Status CheckValidAddTimestampPart(DateTimestampPart part,
                                               bool is_legacy) {
  switch (part) {
    case YEAR:
    case QUARTER:
    case MONTH:
    case WEEK:
      if (!is_legacy) {
        return MakeEvalError()
               << "Unsupported DateTimestampPart "
               << DateTimestampPart_Name(part) << " for TIMESTAMP_ADD";
      }
      ABSL_FALLTHROUGH_INTENDED;
    case DAY:
    case HOUR:
    case MINUTE:
    case SECOND:
    case MILLISECOND:
    case MICROSECOND:
    case NANOSECOND:
      return absl::OkStatus();
    case DATE:
    case DAYOFWEEK:
    case DAYOFYEAR:
    case ISOYEAR:
    case ISOWEEK:
      return MakeEvalError()
             << "Unsupported DateTimestampPart " << DateTimestampPart_Name(part)
             << " for TIMESTAMP_ADD";
    default:
      break;
  }
  return MakeEvalError() << "Unexpected DateTimestampPart "
                         << DateTimestampPart_Name(part)
                         << " for TIMESTAMP_ADD";
}