-
Notifications
You must be signed in to change notification settings - Fork 830
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable value validation for Decimal256 case #2232
Conversation
cc @alamb |
Codecov Report
@@ Coverage Diff @@
## master #2232 +/- ##
==========================================
- Coverage 82.62% 82.31% -0.32%
==========================================
Files 239 240 +1
Lines 62308 62446 +138
==========================================
- Hits 51482 51400 -82
- Misses 10826 11046 +220
Help us with your feedback. Take ten seconds to tell us how you rate us. |
@@ -618,6 +618,10 @@ fn array_from_json( | |||
} | |||
DataType::Decimal256(precision, scale) => { | |||
let mut b = Decimal256Builder::new(json_col.count, *precision, *scale); | |||
// C++ interop tests involve incompatible decimal values |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@viirya
Hi java or c++ version, Does the decimal builder or the decimal array has the validation for the input value?
If there is no validation, how to make sure all of the element of the decimal array are valid?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like Decimal128 case #1766, C++ doesn't perform validation in Decimal builders. It only does validation when doing a full validating ArrayData.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @viirya
I wonder if we should file a follow on ticket to track the incompatible value in the C++ integration test? Something doesn't seem right there -- if the integration test is using incompatible values perhaps someone should fix the C++ test
(btw we can see the integration test failing on arrow mater here: https://github.com/apache/arrow-rs/runs/7588317417?check_suite_focus=true and it passes with your PR 🎉 )
Benchmark runs are scheduled for baseline = d727618 and contender = ca43719. ca43719 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Thanks @alamb! Sorry, after rechecking it, I made a mistake when filling maximum and minimum decimal values for precision > 38. So for generate_decimal256_case it is a false alarm. Sorry for confusion. |
Which issue does this PR close?
Closes #2233.
Rationale for this change
What changes are included in this PR?
Are there any user-facing changes?