File tree Expand file tree Collapse file tree
native/spark-expr/src/conversion_funcs Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2066,12 +2066,11 @@ fn do_parse_string_to_int_legacy<T: Integer + CheckedSub + CheckedNeg + From<u8>
20662066 return Ok ( None ) ;
20672067 }
20682068
2069- let digit: T = T :: from ( ch - b'0' ) ;
2070-
20712069 if result < stop_value {
20722070 return Ok ( None ) ;
20732071 }
20742072 let v = result * radix;
2073+ let digit: T = T :: from ( ch - b'0' ) ;
20752074 match v. checked_sub ( & digit) {
20762075 Some ( x) if x <= T :: zero ( ) => result = x,
20772076 _ => {
@@ -2130,12 +2129,11 @@ fn do_parse_string_to_int_ansi<T: Integer + CheckedSub + CheckedNeg + From<u8> +
21302129 return Err ( invalid_value ( str, "STRING" , type_name) ) ;
21312130 }
21322131
2133- let digit: T = T :: from ( ch - b'0' ) ;
2134-
21352132 if result < stop_value {
21362133 return Err ( invalid_value ( str, "STRING" , type_name) ) ;
21372134 }
21382135 let v = result * radix;
2136+ let digit: T = T :: from ( ch - b'0' ) ;
21392137 match v. checked_sub ( & digit) {
21402138 Some ( x) if x <= T :: zero ( ) => result = x,
21412139 _ => {
@@ -2188,12 +2186,11 @@ fn do_parse_string_to_int_try<T: Integer + CheckedSub + CheckedNeg + From<u8> +
21882186 return Ok ( None ) ;
21892187 }
21902188
2191- let digit: T = T :: from ( ch - b'0' ) ;
2192-
21932189 if result < stop_value {
21942190 return Ok ( None ) ;
21952191 }
21962192 let v = result * radix;
2193+ let digit: T = T :: from ( ch - b'0' ) ;
21972194 match v. checked_sub ( & digit) {
21982195 Some ( x) if x <= T :: zero ( ) => result = x,
21992196 _ => {
You can’t perform that action at this time.
0 commit comments