osipovartem opened a new pull request, #11415: URL: https://github.com/apache/arrow-rs/pull/11415
## Why Preserve fixed-point JSON numbers and integers wider than `i64` as exact Variant Decimal4/8/16 values instead of rounding through `Double`. Exponent notation and values outside the Variant decimal range retain the floating-point fallback. ## Change - Preserve the original scale for representable values; trim redundant trailing fractional zeros only when the original coefficient cannot fit. - Preserve the sign of `-0`, `-0.0`, and `-0.00`. - Enable existing decimal tests and add nested, precision/scale boundary, fallback, and string-vs-Value API coverage. ## Dependency and review scope **Draft: do not merge yet.** This is stacked on the direct parser draft #11409, which depends on #11106 and #11403. GitHub cannot use a branch in the fork as the base of an Apache PR, so the diff against `main` temporarily includes the parser commits. The decimal-only change is the final two commits of this branch; after the parser lands, I will rebase and this PR will show only that change. No review of an Embucket PR is needed. ## Validation - `cargo +1.98.1 test -p parquet-variant-json`: 79 unit tests and 6 doctests passed on the stacked branch. - `cargo +1.98.1 clippy -p parquet-variant-json --all-targets -- -D warnings`: passed, except the workspace's pre-existing unknown-lint warning from the installed Clippy. - Independent read-only review approved the decimal conversion. - Benchmarks are separate upstream PR #11411. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
