Commit f41eca1
committed
Fail correctly when Python UDF decimal result overflows
Python function runtime expect that `decimal.Decimal` is used when
function result is mapped to SQL DECIMAL value. Python's `Decimal`
supports non-finite values: NaN, -Infinity and +Infinity and values
outside of SQL DECIMAL range.
Add tests that TrinoException is correctly thrown when an non-mappable
value is returned. For overflow this was not the case.1 parent 03f06bd commit f41eca1
2 files changed
Lines changed: 43 additions & 3 deletions
File tree
- plugin/trino-functions-python/src
- main/java/io/trino/plugin/functions/python
- test/java/io/trino/plugin/functions/python
Lines changed: 12 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
381 | 382 | | |
382 | 383 | | |
383 | 384 | | |
384 | | - | |
385 | | - | |
386 | | - | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
387 | 396 | | |
388 | 397 | | |
389 | 398 | | |
| |||
Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
898 | 898 | | |
899 | 899 | | |
900 | 900 | | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
901 | 932 | | |
902 | 933 | | |
903 | 934 | | |
| |||
0 commit comments