-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](datetime) fix datetime rounding on BE #32075
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thank you for your contribution to Apache Doris. |
|
run buildall |
1 similar comment
|
run buildall |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
| return from_date_str_base(date_str, len, scale, &local_time_zone); | ||
| } | ||
| template <typename T> | ||
| bool DateV2Value<T>::from_date_str_base(const char* date_str, int len, int scale, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: function 'from_date_str_base' has cognitive complexity of 89 (threshold 50) [readability-function-cognitive-complexity]
bool DateV2Value<T>::from_date_str_base(const char* date_str, int len, int scale,
^Additional context
be/src/vec/runtime/vdatetime_value.cpp:2000: +1, including nesting penalty of 0, nesting level increased to 1
while (ptr < end && isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2000: +1
while (ptr < end && isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2003: +1, including nesting penalty of 0, nesting level increased to 1
if (ptr == end || !isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2003: +1
if (ptr == end || !isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1, including nesting penalty of 0, nesting level increased to 1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2018: +1, including nesting penalty of 0, nesting level increased to 1
if (pos == end || *pos == '.' ||
^be/src/vec/runtime/vdatetime_value.cpp:2018: +1
if (pos == end || *pos == '.' ||
^be/src/vec/runtime/vdatetime_value.cpp:2020: +2, including nesting penalty of 1, nesting level increased to 2
if (digits == 4 || digits == 8 || digits >= 14) {
^be/src/vec/runtime/vdatetime_value.cpp:2020: +1
if (digits == 4 || digits == 8 || digits >= 14) {
^be/src/vec/runtime/vdatetime_value.cpp:2022: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2031: +1, including nesting penalty of 0, nesting level increased to 1
while (ptr < end && isdigit(*ptr) && field_idx < MAX_DATE_PARTS) {
^be/src/vec/runtime/vdatetime_value.cpp:2031: +1
while (ptr < end && isdigit(*ptr) && field_idx < MAX_DATE_PARTS) {
^be/src/vec/runtime/vdatetime_value.cpp:2034: +1
bool scan_to_delim = (!is_interval_format) && (field_idx != 6);
^be/src/vec/runtime/vdatetime_value.cpp:2035: +2, including nesting penalty of 1, nesting level increased to 2
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2035: +1
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2035: +1
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2039: +2, including nesting penalty of 1, nesting level increased to 2
if constexpr (is_datetime) {
^be/src/vec/runtime/vdatetime_value.cpp:2044: +3, including nesting penalty of 2, nesting level increased to 3
if (field_idx == 6 && scale >= 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2044: +1
if (field_idx == 6 && scale >= 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2055: +4, including nesting penalty of 3, nesting level increased to 4
if (reminder >= 5 * normalizer) {
^be/src/vec/runtime/vdatetime_value.cpp:2060: +4, including nesting penalty of 3, nesting level increased to 4
if (temp_val == int_exp10(7)) {
^be/src/vec/runtime/vdatetime_value.cpp:2063: +1, nesting level increased to 4
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2070: +2, including nesting penalty of 1, nesting level increased to 2
if (temp_val > 999999L) {
^be/src/vec/runtime/vdatetime_value.cpp:2075: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 6) {
^be/src/vec/runtime/vdatetime_value.cpp:2079: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2085: +2, including nesting penalty of 1, nesting level increased to 2
if (ptr == end) {
^be/src/vec/runtime/vdatetime_value.cpp:2091: +2, including nesting penalty of 1, nesting level increased to 2
if (UNLIKELY((field_idx > 2 ||
^be/src/vec/runtime/vdatetime_value.cpp:2093: +1
&& time_zone_begins(ptr, end))) {
^be/src/vec/runtime/vdatetime_value.cpp:2091: +1
if (UNLIKELY((field_idx > 2 ||
^be/src/vec/runtime/vdatetime_value.cpp:2094: +3, including nesting penalty of 2, nesting level increased to 3
if (local_time_zone == nullptr) {
^be/src/vec/runtime/vdatetime_value.cpp:2097: nesting level increased to 3
auto get_tz_offset = [&](const std::string& str_tz,
^be/src/vec/runtime/vdatetime_value.cpp:2100: +4, including nesting penalty of 3, nesting level increased to 4
if (!TimezoneUtils::find_cctz_time_zone(str_tz, given_tz)) {
^be/src/vec/runtime/vdatetime_value.cpp:2111: +3, including nesting penalty of 2, nesting level increased to 3
} catch ([[maybe_unused]] Exception& e) {
^be/src/vec/runtime/vdatetime_value.cpp:2118: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 2 && *ptr == 'T') {
^be/src/vec/runtime/vdatetime_value.cpp:2118: +1
if (field_idx == 2 && *ptr == 'T') {
^be/src/vec/runtime/vdatetime_value.cpp:2126: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 5) {
^be/src/vec/runtime/vdatetime_value.cpp:2127: +3, including nesting penalty of 2, nesting level increased to 3
if (*ptr == '.') {
^be/src/vec/runtime/vdatetime_value.cpp:2130: +1, nesting level increased to 3
} else if (isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2138: +2, including nesting penalty of 1, nesting level increased to 2
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2138: +1
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2138: +1
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2139: +3, including nesting penalty of 2, nesting level increased to 3
if (isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2140: +4, including nesting penalty of 3, nesting level increased to 4
if (((1 << field_idx) & allow_space_mask) == 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2144: +3, including nesting penalty of 2, nesting level increased to 3
if (*ptr == '-') {
^be/src/vec/runtime/vdatetime_value.cpp:2152: +1, including nesting penalty of 0, nesting level increased to 1
if (!is_interval_format) {
^be/src/vec/runtime/vdatetime_value.cpp:2155: +1, including nesting penalty of 0, nesting level increased to 1
for (; field_idx < MAX_DATE_PARTS; ++field_idx) {
^be/src/vec/runtime/vdatetime_value.cpp:2159: +1, including nesting penalty of 0, nesting level increased to 1
if (year_len == 2) {
^be/src/vec/runtime/vdatetime_value.cpp:2160: +2, including nesting penalty of 1, nesting level increased to 2
if (date_val[0] < YY_PART_YEAR) {
^be/src/vec/runtime/vdatetime_value.cpp:2162: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2167: +1, including nesting penalty of 0, nesting level increased to 1
if (num_field < 3) {
^be/src/vec/runtime/vdatetime_value.cpp:2170: +1, including nesting penalty of 0, nesting level increased to 1
if (is_invalid(date_val[0], date_val[1], date_val[2], 0, 0, 0, 0)) {
^be/src/vec/runtime/vdatetime_value.cpp:2174: +1, including nesting penalty of 0, nesting level increased to 1
if (!check_range_and_set_time(date_val[0], date_val[1], date_val[2], date_val[3], date_val[4],
^be/src/vec/runtime/vdatetime_value.cpp:2179: +1, including nesting penalty of 0, nesting level increased to 1
return sec_offset ? date_add_interval<TimeUnit::SECOND>(
^|
run buildall |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
| return from_date_str_base(date_str, len, scale, &local_time_zone); | ||
| } | ||
| template <typename T> | ||
| bool DateV2Value<T>::from_date_str_base(const char* date_str, int len, int scale, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: function 'from_date_str_base' has cognitive complexity of 115 (threshold 50) [readability-function-cognitive-complexity]
bool DateV2Value<T>::from_date_str_base(const char* date_str, int len, int scale,
^Additional context
be/src/vec/runtime/vdatetime_value.cpp:2000: +1, including nesting penalty of 0, nesting level increased to 1
while (ptr < end && isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2000: +1
while (ptr < end && isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2003: +1, including nesting penalty of 0, nesting level increased to 1
if (ptr == end || !isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2003: +1
if (ptr == end || !isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1, including nesting penalty of 0, nesting level increased to 1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2018: +1, including nesting penalty of 0, nesting level increased to 1
if (pos == end || *pos == '.' ||
^be/src/vec/runtime/vdatetime_value.cpp:2018: +1
if (pos == end || *pos == '.' ||
^be/src/vec/runtime/vdatetime_value.cpp:2020: +2, including nesting penalty of 1, nesting level increased to 2
if (digits == 4 || digits == 8 || digits >= 14) {
^be/src/vec/runtime/vdatetime_value.cpp:2020: +1
if (digits == 4 || digits == 8 || digits >= 14) {
^be/src/vec/runtime/vdatetime_value.cpp:2022: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2031: +1, including nesting penalty of 0, nesting level increased to 1
while (ptr < end && isdigit(*ptr) && field_idx < MAX_DATE_PARTS) {
^be/src/vec/runtime/vdatetime_value.cpp:2031: +1
while (ptr < end && isdigit(*ptr) && field_idx < MAX_DATE_PARTS) {
^be/src/vec/runtime/vdatetime_value.cpp:2034: +1
bool scan_to_delim = (!is_interval_format) && (field_idx != 6);
^be/src/vec/runtime/vdatetime_value.cpp:2035: +2, including nesting penalty of 1, nesting level increased to 2
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2035: +1
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2035: +1
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2039: +2, including nesting penalty of 1, nesting level increased to 2
if constexpr (is_datetime) {
^be/src/vec/runtime/vdatetime_value.cpp:2044: +3, including nesting penalty of 2, nesting level increased to 3
if (field_idx == 6 && scale >= 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2044: +1
if (field_idx == 6 && scale >= 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2055: +4, including nesting penalty of 3, nesting level increased to 4
if (reminder >= 5 * normalizer) {
^be/src/vec/runtime/vdatetime_value.cpp:2060: +4, including nesting penalty of 3, nesting level increased to 4
if (temp_val == int_exp10(7)) {
^be/src/vec/runtime/vdatetime_value.cpp:2063: +1, nesting level increased to 4
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2067: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2068: +3, including nesting penalty of 2, nesting level increased to 3
if (field_idx == 6) {
^be/src/vec/runtime/vdatetime_value.cpp:2075: +3, including nesting penalty of 2, nesting level increased to 3
if (temp_val > 999999L) {
^be/src/vec/runtime/vdatetime_value.cpp:2080: +3, including nesting penalty of 2, nesting level increased to 3
if (field_idx == 6) {
^be/src/vec/runtime/vdatetime_value.cpp:2084: +1, nesting level increased to 3
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2090: +3, including nesting penalty of 2, nesting level increased to 3
if (ptr == end) {
^be/src/vec/runtime/vdatetime_value.cpp:2096: +3, including nesting penalty of 2, nesting level increased to 3
if (UNLIKELY((field_idx > 2 ||
^be/src/vec/runtime/vdatetime_value.cpp:2098: +1
&& time_zone_begins(ptr, end))) {
^be/src/vec/runtime/vdatetime_value.cpp:2096: +1
if (UNLIKELY((field_idx > 2 ||
^be/src/vec/runtime/vdatetime_value.cpp:2099: +4, including nesting penalty of 3, nesting level increased to 4
if (local_time_zone == nullptr) {
^be/src/vec/runtime/vdatetime_value.cpp:2102: nesting level increased to 4
auto get_tz_offset = [&](const std::string& str_tz,
^be/src/vec/runtime/vdatetime_value.cpp:2105: +5, including nesting penalty of 4, nesting level increased to 5
if (!TimezoneUtils::find_cctz_time_zone(str_tz, given_tz)) {
^be/src/vec/runtime/vdatetime_value.cpp:2116: +4, including nesting penalty of 3, nesting level increased to 4
} catch ([[maybe_unused]] Exception& e) {
^be/src/vec/runtime/vdatetime_value.cpp:2123: +3, including nesting penalty of 2, nesting level increased to 3
if (field_idx == 2 && *ptr == 'T') {
^be/src/vec/runtime/vdatetime_value.cpp:2123: +1
if (field_idx == 2 && *ptr == 'T') {
^be/src/vec/runtime/vdatetime_value.cpp:2131: +3, including nesting penalty of 2, nesting level increased to 3
if (field_idx == 5) {
^be/src/vec/runtime/vdatetime_value.cpp:2132: +4, including nesting penalty of 3, nesting level increased to 4
if (*ptr == '.') {
^be/src/vec/runtime/vdatetime_value.cpp:2135: +1, nesting level increased to 4
} else if (isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2143: +3, including nesting penalty of 2, nesting level increased to 3
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2143: +1
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2143: +1
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2144: +4, including nesting penalty of 3, nesting level increased to 4
if (isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2145: +5, including nesting penalty of 4, nesting level increased to 5
if (((1 << field_idx) & allow_space_mask) == 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2149: +4, including nesting penalty of 3, nesting level increased to 4
if (*ptr == '-') {
^be/src/vec/runtime/vdatetime_value.cpp:2157: +2, including nesting penalty of 1, nesting level increased to 2
if (!is_interval_format) {
^be/src/vec/runtime/vdatetime_value.cpp:2160: +2, including nesting penalty of 1, nesting level increased to 2
for (; field_idx < MAX_DATE_PARTS; ++field_idx) {
^be/src/vec/runtime/vdatetime_value.cpp:2164: +2, including nesting penalty of 1, nesting level increased to 2
if (year_len == 2) {
^be/src/vec/runtime/vdatetime_value.cpp:2165: +3, including nesting penalty of 2, nesting level increased to 3
if (date_val[0] < YY_PART_YEAR) {
^be/src/vec/runtime/vdatetime_value.cpp:2167: +1, nesting level increased to 3
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2172: +2, including nesting penalty of 1, nesting level increased to 2
if (num_field < 3) {
^be/src/vec/runtime/vdatetime_value.cpp:2175: +2, including nesting penalty of 1, nesting level increased to 2
if (is_invalid(date_val[0], date_val[1], date_val[2], 0, 0, 0, 0)) {
^be/src/vec/runtime/vdatetime_value.cpp:2179: +2, including nesting penalty of 1, nesting level increased to 2
if (!check_range_and_set_time(date_val[0], date_val[1], date_val[2], date_val[3], date_val[4],
^be/src/vec/runtime/vdatetime_value.cpp:2184: +2, including nesting penalty of 1, nesting level increased to 2
return sec_offset ? date_add_interval<TimeUnit::SECOND>(
^There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
| return from_date_str_base(date_str, len, scale, &local_time_zone); | ||
| } | ||
| template <typename T> | ||
| bool DateV2Value<T>::from_date_str_base(const char* date_str, int len, int scale, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: function 'from_date_str_base' has cognitive complexity of 95 (threshold 50) [readability-function-cognitive-complexity]
bool DateV2Value<T>::from_date_str_base(const char* date_str, int len, int scale,
^Additional context
be/src/vec/runtime/vdatetime_value.cpp:2000: +1, including nesting penalty of 0, nesting level increased to 1
while (ptr < end && isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2000: +1
while (ptr < end && isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2003: +1, including nesting penalty of 0, nesting level increased to 1
if (ptr == end || !isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2003: +1
if (ptr == end || !isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1, including nesting penalty of 0, nesting level increased to 1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2008: +1
while (pos < end && (isdigit(*pos) || *pos == 'T')) {
^be/src/vec/runtime/vdatetime_value.cpp:2018: +1, including nesting penalty of 0, nesting level increased to 1
if (pos == end || *pos == '.' ||
^be/src/vec/runtime/vdatetime_value.cpp:2018: +1
if (pos == end || *pos == '.' ||
^be/src/vec/runtime/vdatetime_value.cpp:2020: +2, including nesting penalty of 1, nesting level increased to 2
if (digits == 4 || digits == 8 || digits >= 14) {
^be/src/vec/runtime/vdatetime_value.cpp:2020: +1
if (digits == 4 || digits == 8 || digits >= 14) {
^be/src/vec/runtime/vdatetime_value.cpp:2022: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2031: +1, including nesting penalty of 0, nesting level increased to 1
while (ptr < end && isdigit(*ptr) && field_idx < MAX_DATE_PARTS) {
^be/src/vec/runtime/vdatetime_value.cpp:2031: +1
while (ptr < end && isdigit(*ptr) && field_idx < MAX_DATE_PARTS) {
^be/src/vec/runtime/vdatetime_value.cpp:2034: +1
bool scan_to_delim = (!is_interval_format) && (field_idx != 6);
^be/src/vec/runtime/vdatetime_value.cpp:2035: +2, including nesting penalty of 1, nesting level increased to 2
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2035: +1
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2035: +1
while (ptr < end && isdigit(*ptr) && (scan_to_delim || field_len--)) { // field_len <= 7
^be/src/vec/runtime/vdatetime_value.cpp:2039: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 6) {
^be/src/vec/runtime/vdatetime_value.cpp:2040: +3, including nesting penalty of 2, nesting level increased to 3
if constexpr (is_datetime) {
^be/src/vec/runtime/vdatetime_value.cpp:2045: +4, including nesting penalty of 3, nesting level increased to 4
if (scale >= 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2056: +5, including nesting penalty of 4, nesting level increased to 5
if (reminder >= 5 * normalizer) {
^be/src/vec/runtime/vdatetime_value.cpp:2061: +5, including nesting penalty of 4, nesting level increased to 5
if (temp_val == int_exp10(7)) {
^be/src/vec/runtime/vdatetime_value.cpp:2064: +1, nesting level increased to 5
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2068: +1, nesting level increased to 3
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2076: +2, including nesting penalty of 1, nesting level increased to 2
if (temp_val > 999999L) {
^be/src/vec/runtime/vdatetime_value.cpp:2081: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 6) {
^be/src/vec/runtime/vdatetime_value.cpp:2085: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2091: +2, including nesting penalty of 1, nesting level increased to 2
if (ptr == end) {
^be/src/vec/runtime/vdatetime_value.cpp:2097: +2, including nesting penalty of 1, nesting level increased to 2
if (UNLIKELY((field_idx > 2 ||
^be/src/vec/runtime/vdatetime_value.cpp:2099: +1
&& time_zone_begins(ptr, end))) {
^be/src/vec/runtime/vdatetime_value.cpp:2097: +1
if (UNLIKELY((field_idx > 2 ||
^be/src/vec/runtime/vdatetime_value.cpp:2100: +3, including nesting penalty of 2, nesting level increased to 3
if (local_time_zone == nullptr) {
^be/src/vec/runtime/vdatetime_value.cpp:2103: nesting level increased to 3
auto get_tz_offset = [&](const std::string& str_tz,
^be/src/vec/runtime/vdatetime_value.cpp:2106: +4, including nesting penalty of 3, nesting level increased to 4
if (!TimezoneUtils::find_cctz_time_zone(str_tz, given_tz)) {
^be/src/vec/runtime/vdatetime_value.cpp:2117: +3, including nesting penalty of 2, nesting level increased to 3
} catch ([[maybe_unused]] Exception& e) {
^be/src/vec/runtime/vdatetime_value.cpp:2124: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 2 && *ptr == 'T') {
^be/src/vec/runtime/vdatetime_value.cpp:2124: +1
if (field_idx == 2 && *ptr == 'T') {
^be/src/vec/runtime/vdatetime_value.cpp:2132: +2, including nesting penalty of 1, nesting level increased to 2
if (field_idx == 5) {
^be/src/vec/runtime/vdatetime_value.cpp:2133: +3, including nesting penalty of 2, nesting level increased to 3
if (*ptr == '.') {
^be/src/vec/runtime/vdatetime_value.cpp:2136: +1, nesting level increased to 3
} else if (isdigit(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2144: +2, including nesting penalty of 1, nesting level increased to 2
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2144: +1
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2144: +1
while (ptr < end && (ispunct(*ptr) || isspace(*ptr))) {
^be/src/vec/runtime/vdatetime_value.cpp:2145: +3, including nesting penalty of 2, nesting level increased to 3
if (isspace(*ptr)) {
^be/src/vec/runtime/vdatetime_value.cpp:2146: +4, including nesting penalty of 3, nesting level increased to 4
if (((1 << field_idx) & allow_space_mask) == 0) {
^be/src/vec/runtime/vdatetime_value.cpp:2150: +3, including nesting penalty of 2, nesting level increased to 3
if (*ptr == '-') {
^be/src/vec/runtime/vdatetime_value.cpp:2158: +1, including nesting penalty of 0, nesting level increased to 1
if (!is_interval_format) {
^be/src/vec/runtime/vdatetime_value.cpp:2161: +1, including nesting penalty of 0, nesting level increased to 1
for (; field_idx < MAX_DATE_PARTS; ++field_idx) {
^be/src/vec/runtime/vdatetime_value.cpp:2165: +1, including nesting penalty of 0, nesting level increased to 1
if (year_len == 2) {
^be/src/vec/runtime/vdatetime_value.cpp:2166: +2, including nesting penalty of 1, nesting level increased to 2
if (date_val[0] < YY_PART_YEAR) {
^be/src/vec/runtime/vdatetime_value.cpp:2168: +1, nesting level increased to 2
} else {
^be/src/vec/runtime/vdatetime_value.cpp:2173: +1, including nesting penalty of 0, nesting level increased to 1
if (num_field < 3) {
^be/src/vec/runtime/vdatetime_value.cpp:2176: +1, including nesting penalty of 0, nesting level increased to 1
if (is_invalid(date_val[0], date_val[1], date_val[2], 0, 0, 0, 0)) {
^be/src/vec/runtime/vdatetime_value.cpp:2180: +1, including nesting penalty of 0, nesting level increased to 1
if (!check_range_and_set_time(date_val[0], date_val[1], date_val[2], date_val[3], date_val[4],
^be/src/vec/runtime/vdatetime_value.cpp:2185: +1, including nesting penalty of 0, nesting level increased to 1
return sec_offset ? date_add_interval<TimeUnit::SECOND>(
^856f32a to
686a6f7
Compare
|
run buildall |
686a6f7 to
d0c47e0
Compare
|
run buildall |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
| // specific language governing permissions and limitations | ||
| // under the License. | ||
|
|
||
| #include "gtest/gtest_pred_impl.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: 'gtest/gtest_pred_impl.h' file not found [clang-diagnostic-error]
#include "gtest/gtest_pred_impl.h"
^ed41df9 to
588d2f5
Compare
|
run buildall |
TPC-H: Total hot run time: 36851 ms |
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 187615 ms |
ClickBench: Total hot run time: 30.99 s |
|
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
acd73f9 to
7393369
Compare
|
run buildall |
…s into fix-datetime-round-be
|
run buildall |
TPC-H: Total hot run time: 36717 ms |
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 186605 ms |
ClickBench: Total hot run time: 29.94 s |
|
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
zclllyybb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
PR approved by anyone and no changes requested. |
|
PR approved by at least one committer and no changes requested. |
fix #31205