github-actions[bot] commented on code in PR #30452:
URL: https://github.com/apache/doris/pull/30452#discussion_r1467793080
##########
be/src/vec/runtime/vdatetime_value.cpp:
##########
@@ -1199,26 +1191,40 @@
// change this method should also change that.
bool VecDateTimeValue::from_date_format_str(const char* format, int
format_len, const char* value,
int value_len, const char**
sub_val_end) {
+ if (format_len <= 0) [[unlikely]] {
+ return false;
+ }
const char* ptr = format;
const char* end = format + format_len;
const char* val = value;
const char* val_end = value + value_len;
- bool date_part_used = false;
- bool time_part_used = false;
- bool frac_part_used = false;
- bool already_set_time_part = false;
-
- int day_part = 0;
+ bool already_set_time_part = false; // skip time part in the end's setting.
+
+ uint32_t part_used = 0;
+ constexpr int year_part = 1U << 0;
+ constexpr int month_part = 1U << 1;
+ constexpr int day_part = 1U << 2;
+ constexpr int weekday_part = 1U << 3;
+ constexpr int yearday_part = 1U << 4;
+ constexpr int week_num_part = 1U << 5;
+ constexpr int date_part =
+ year_part | month_part | day_part | weekday_part | year_part |
week_num_part;
Review Comment:
warning: operator has equivalent nested operands [misc-redundant-expression]
```cpp
year_part | month_part | day_part | weekday_part | year_part |
week_num_part;
^
```
##########
be/src/vec/runtime/vdatetime_value.cpp:
##########
@@ -2170,17 +2146,32 @@
template <typename T>
bool DateV2Value<T>::from_date_format_str(const char* format, int format_len,
const char* value,
int value_len, const char**
sub_val_end) {
+ if (format_len <= 0) [[unlikely]] {
+ return false;
+ }
const char* ptr = format;
const char* end = format + format_len;
const char* val = value;
const char* val_end = value + value_len;
- bool date_part_used = false;
- bool time_part_used = false;
- bool frac_part_used = false;
- bool already_set_time_part = false;
-
- int day_part = 0;
+ bool already_set_time_part = false; // skip time part in the end's setting.
+
+ uint32_t part_used = 0;
+ constexpr int year_part = 1U << 0;
+ constexpr int month_part = 1U << 1;
+ constexpr int day_part = 1U << 2;
+ constexpr int weekday_part = 1U << 3;
+ constexpr int yearday_part = 1U << 4;
+ constexpr int week_num_part = 1U << 5;
+ constexpr int date_part =
+ year_part | month_part | day_part | weekday_part | year_part |
week_num_part;
Review Comment:
warning: operator has equivalent nested operands [misc-redundant-expression]
```cpp
year_part | month_part | day_part | weekday_part | year_part |
week_num_part;
^
```
##########
be/src/vec/runtime/vdatetime_value.cpp:
##########
@@ -1199,26 +1191,40 @@ static int check_word(const char* lib[], const char*
str, const char* end, const
// change this method should also change that.
bool VecDateTimeValue::from_date_format_str(const char* format, int
format_len, const char* value,
Review Comment:
warning: function 'from_date_format_str' has cognitive complexity of 198
(threshold 50) [readability-function-cognitive-complexity]
```cpp
bool VecDateTimeValue::from_date_format_str(const char* format, int
format_len, const char* value,
^
```
<details>
<summary>Additional context</summary>
**be/src/vec/runtime/vdatetime_value.cpp:1193:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (format_len <= 0) [[unlikely]] {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1229:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
while (ptr < end && val < val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1229:** +1
```cpp
while (ptr < end && val < val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1231:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
while (val < val_end && isspace(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1231:** +1
```cpp
while (val < val_end && isspace(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1234:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (val >= val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1238:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (*ptr == '%' && ptr + 1 < end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1238:** +1
```cpp
if (*ptr == '%' && ptr + 1 < end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1242:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
switch (*ptr++) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1247:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1250:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
int_value += int_value >= 70 ? 1900 : 2000;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1258:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1261:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (tmp - val <= 2) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1262:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
int_value += int_value >= 70 ? 1900 : 2000;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1272:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1281:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1289:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1299:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1308:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1325:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1335:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1346:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1357:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1364:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if ((val_end - val) < 2 || toupper(*(val + 1)) != 'M' ||
!hour_system_12) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1364:** +1
```cpp
if ((val_end - val) < 2 || toupper(*(val + 1)) != 'M' ||
!hour_system_12) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1367:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (toupper(*val) == 'P') {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1376:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1385:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1394:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1397:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value >= 7) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1400:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value == 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1409:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1420:** +1
```cpp
sunday_first = (*(ptr - 1) == 'U' || *(ptr - 1) == 'V');
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1422:** +1
```cpp
strict_week_number = (*(ptr - 1) == 'V' || *(ptr - 1) ==
'v');
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1424:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1428:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (week_num > 53 || (strict_week_number && week_num == 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1428:** +1
```cpp
if (week_num > 53 || (strict_week_number && week_num == 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1428:** +1
```cpp
if (week_num > 53 || (strict_week_number && week_num == 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1439:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1448:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!tmp_val.from_date_format_str("%I:%i:%S %p", 11, val,
val_end - val, &tmp)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1461:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!tmp_val.from_date_format_str("%H:%i:%S", 8, val,
val_end - val, &tmp)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1473:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (val < val_end && ispunct(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1473:** +1
```cpp
while (val < val_end && ispunct(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1478:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (val < val_end && isalpha(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1478:** +1
```cpp
while (val < val_end && isalpha(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1483:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (val < val_end && isdigit(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1483:** +1
```cpp
while (val < val_end && isdigit(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1488:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if ('%' != *val) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1496:** +1, nesting level increased
to 2
```cpp
} else if (!isspace(*ptr)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1497:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (*ptr != *val) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1502:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1507:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (hour_system_12) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1508:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (hour > 12 || hour < 1) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1508:** +1
```cpp
if (hour > 12 || hour < 1) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1513:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (sub_val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1518:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (part_used & date_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1519:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (part_used & time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1521:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1524:** +1, nesting level increased
to 1
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1531:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (yearday > 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1533:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!get_date_from_daynr(days)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1538:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (week_num >= 0 && weekday > 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1538:** +1
```cpp
if (week_num >= 0 && weekday > 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1540:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if ((strict_week_number &&
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1541:** +1
```cpp
(strict_week_number_year < 0 || strict_week_number_year_type !=
sunday_first)) ||
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1540:** +1
```cpp
if ((strict_week_number &&
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1541:** +1
```cpp
(strict_week_number_year < 0 || strict_week_number_year_type !=
sunday_first)) ||
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1542:** +1
```cpp
(!strict_week_number && strict_week_number_year >= 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1546:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
doris::calc_daynr(strict_week_number ?
strict_week_number_year : year, 1, 1);
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1550:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (sunday_first) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1551:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
days += ((weekday_b == 0) ? 0 : 7) - weekday_b + (week_num - 1)
* 7 + weekday % 7;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1552:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1553:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
days += ((weekday_b <= 3) ? 0 : 7) - weekday_b + (week_num - 1)
* 7 + weekday - 1;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1555:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!get_date_from_daynr(days)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1563:** +1
```cpp
bool already_set_date_part = yearday > 0 || (week_num >= 0 && weekday >
0);
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1563:** +1
```cpp
bool already_set_date_part = yearday > 0 || (week_num >= 0 && weekday >
0);
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1564:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (already_set_date_part && already_set_time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1564:** +1
```cpp
if (already_set_date_part && already_set_time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1568:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (!(part_used & ~date_part)) { // only date here
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1569:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!(part_used & day_part)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1571:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (!(part_used & month_part)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1577:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (already_set_date_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:1580:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (already_set_time_part) {
^
```
</details>
##########
be/src/vec/runtime/vdatetime_value.cpp:
##########
@@ -2170,17 +2146,32 @@
template <typename T>
bool DateV2Value<T>::from_date_format_str(const char* format, int format_len,
const char* value,
Review Comment:
warning: function 'from_date_format_str' has cognitive complexity of 239
(threshold 50) [readability-function-cognitive-complexity]
```cpp
bool DateV2Value<T>::from_date_format_str(const char* format, int
format_len, const char* value,
^
```
<details>
<summary>Additional context</summary>
**be/src/vec/runtime/vdatetime_value.cpp:2148:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (format_len <= 0) [[unlikely]] {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2185:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
while (ptr < end && val < val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2185:** +1
```cpp
while (ptr < end && val < val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2187:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
while (val < val_end && isspace(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2187:** +1
```cpp
while (val < val_end && isspace(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2190:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (val >= val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2194:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (*ptr == '%' && ptr + 1 < end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2194:** +1
```cpp
if (*ptr == '%' && ptr + 1 < end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2198:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
switch (*ptr++) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2203:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2206:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
int_value += int_value >= 70 ? 1900 : 2000;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2214:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2217:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (tmp - val <= 2) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2218:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
int_value += int_value >= 70 ? 1900 : 2000;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2228:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2237:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2245:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2255:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2264:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2281:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2291:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2302:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2313:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (tmp < val_end && isdigit(*tmp)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2313:** +1
```cpp
while (tmp < val_end && isdigit(*tmp)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2317:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (tmp - val > 6) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2319:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
if (!str_to_int64(val, &tmp2, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2322:** +1, nesting level increased
to 4
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2323:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2327:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if constexpr (is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2335:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if ((val_end - val) < 2 || toupper(*(val + 1)) != 'M' ||
!hour_system_12) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2335:** +1
```cpp
if ((val_end - val) < 2 || toupper(*(val + 1)) != 'M' ||
!hour_system_12) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2338:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (toupper(*val) == 'P') {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2347:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2356:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value < 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2365:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2368:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value >= 7) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2371:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (int_value == 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2380:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2391:** +1
```cpp
sunday_first = (*(ptr - 1) == 'U' || *(ptr - 1) == 'V');
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2393:** +1
```cpp
strict_week_number = (*(ptr - 1) == 'V' || *(ptr - 1) ==
'v');
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2395:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2399:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (week_num > 53 || (strict_week_number && week_num == 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2399:** +1
```cpp
if (week_num > 53 || (strict_week_number && week_num == 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2399:** +1
```cpp
if (week_num > 53 || (strict_week_number && week_num == 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2410:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (!str_to_int64(val, &tmp, &int_value)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2418:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if constexpr (is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2420:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
if (!tmp_val.from_date_format_str("%I:%i:%S %p", 11,
val, val_end - val,
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2431:** +1, nesting level increased
to 4
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2436:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if constexpr (is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2438:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
if (!tmp_val.from_date_format_str("%H:%i:%S", 8, val,
val_end - val, &tmp)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2448:** +1, nesting level increased
to 4
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2453:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (val < val_end && ispunct(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2453:** +1
```cpp
while (val < val_end && ispunct(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2458:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (val < val_end && isalpha(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2458:** +1
```cpp
while (val < val_end && isalpha(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2463:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
while (val < val_end && isdigit(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2463:** +1
```cpp
while (val < val_end && isdigit(*val)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2468:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if ('%' != *val) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2476:** +1, nesting level increased
to 2
```cpp
} else if (!isspace(*ptr)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2477:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (*ptr != *val) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2482:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2487:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (hour_system_12) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2488:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (hour > 12 || hour < 1) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2488:** +1
```cpp
if (hour > 12 || hour < 1) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2493:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (sub_val_end) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2498:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (part_used & frac_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2499:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if constexpr (!is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2502:** +1, nesting level increased
to 1
```cpp
} else if (part_used & time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2503:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if constexpr (!is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2509:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (yearday > 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2511:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!get_date_from_daynr(days)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2516:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (week_num >= 0 && weekday > 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2516:** +1
```cpp
if (week_num >= 0 && weekday > 0) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2518:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if ((strict_week_number &&
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2519:** +1
```cpp
(strict_week_number_year < 0 || strict_week_number_year_type !=
sunday_first)) ||
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2518:** +1
```cpp
if ((strict_week_number &&
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2519:** +1
```cpp
(strict_week_number_year < 0 || strict_week_number_year_type !=
sunday_first)) ||
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2520:** +1
```cpp
(!strict_week_number && strict_week_number_year >= 0)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2524:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
doris::calc_daynr(strict_week_number ?
strict_week_number_year : year, 1, 1);
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2528:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (sunday_first) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2529:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
days += ((weekday_b == 0) ? 0 : 7) - weekday_b + (week_num - 1)
* 7 + weekday % 7;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2530:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2531:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
days += ((weekday_b <= 3) ? 0 : 7) - weekday_b + (week_num - 1)
* 7 + weekday - 1;
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2533:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!get_date_from_daynr(days)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2541:** +1
```cpp
bool already_set_date_part = yearday > 0 || (week_num >= 0 && weekday >
0);
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2541:** +1
```cpp
bool already_set_date_part = yearday > 0 || (week_num >= 0 && weekday >
0);
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2542:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (already_set_date_part && already_set_time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2542:** +1
```cpp
if (already_set_date_part && already_set_time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2545:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (already_set_date_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2546:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if constexpr (is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2549:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2555:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (!(part_used & ~date_part)) { // only date here
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2556:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!(part_used & day_part)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2558:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (!(part_used & month_part)) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2564:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (already_set_time_part) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2565:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if constexpr (is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2569:** +1, nesting level increased
to 2
```cpp
} else {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2573:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if constexpr (is_datetime) {
^
```
**be/src/vec/runtime/vdatetime_value.cpp:2576:** +1, nesting level increased
to 1
```cpp
} else {
^
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]