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";
}