Repository navigation
Commit 6d4638e
[SPARK-60118][SQL] Fix Int overflow in the fast-fail check of casting string to decimal
Compute the number of integral digits in `Decimal.fromString`/`fromStringANSI` as a Long,
so that strings with an exponent near Int.MaxValue (e.g. '1e2147483647') are rejected by
the fast-fail check instead of failing with a raw java.lang.ArithmeticException.
Co-authored-by: Isaac <no-reply@databricks.com>1 parent 215a146 commit 6d4638e
4 files changed
Lines changed: 24 additions & 2 deletions
File tree
- sql
- api/src/main/scala/org/apache/spark/sql/types
- catalyst/src/test/scala/org/apache/spark/sql
- catalyst/expressions
- types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
635 | 635 | | |
636 | 636 | | |
637 | 637 | | |
638 | | - | |
639 | | - | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
640 | 641 | | |
641 | 642 | | |
642 | 643 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
559 | 559 | | |
560 | 560 | | |
561 | 561 | | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
562 | 565 | | |
563 | 566 | | |
564 | 567 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
475 | 475 | | |
476 | 476 | | |
477 | 477 | | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
478 | 483 | | |
479 | 484 | | |
480 | 485 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
446 | 446 | | |
447 | 447 | | |
448 | 448 | | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
449 | 462 | | |
450 | 463 | | |
451 | 464 | | |
| |||
0 commit comments