github-actions[bot] commented on code in PR #35121: URL: https://github.com/apache/doris/pull/35121#discussion_r1607768344
########## be/src/util/string_parser.hpp: ########## @@ -594,123 +594,74 @@ T StringParser::string_to_decimal(const char* __restrict s, int len, int type_pr bool found_exponent = false; int8_t exponent = 0; T value = 0; - if constexpr (TYPE_DECIMALV2 == P) { - // decimalv2 do not care type_scale and type_precision,just keep the origin logic - for (int i = 0; i < len; ++i) { - const char& c = s[i]; - if (LIKELY('0' <= c && c <= '9')) { - found_value = true; - // Ignore digits once the type's precision limit is reached. This avoids - // overflowing the underlying storage while handling a string like - // 10000000000e-10 into a DECIMAL(1, 0). Adjustments for ignored digits and - // an exponent will be made later. - if (LIKELY(type_precision > precision)) { - value = (value * 10) + (c - '0'); // Benchmarks are faster with parenthesis... - } else { - *result = StringParser::PARSE_OVERFLOW; - value = is_negative - ? vectorized::min_decimal_value<DecimalType>(type_precision) - : vectorized::max_decimal_value<DecimalType>(type_precision); - return value; - } - DCHECK(value >= 0); // For some reason //DCHECK_GE doesn't work with __int128. + bool has_round = false; + for (int i = 0; i < len; ++i) { + const char& c = s[i]; + if (LIKELY('0' <= c && c <= '9')) { Review Comment: warning: boolean expression can be simplified by DeMorgan's theorem [readability-simplify-boolean-expr] ```cpp if (LIKELY('0' <= c && c <= '9')) { ^ ``` <details> <summary>Additional context</summary> **be/src/common/compiler_util.h:34:** expanded from macro 'LIKELY' ```cpp #define LIKELY(expr) __builtin_expect(!!(expr), 1) ^ ``` </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: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org