tsho opened a new pull request, #18271: URL: https://github.com/apache/iceberg/pull/18271
The existing non-dictionary decimal test only reads identical non-null values in one batch. This PR extends it to verify that explicitly stored nulls and varying decimal values are preserved for fields with initial and write defaults across different batch sizes, with and without container reuse. All three existing decimal physical representations are covered. The test changes and this description were drafted with Codex and reviewed and modified by the author. Related: https://github.com/apache/iceberg/pull/16501 Test plan: - Read seven rows using batch sizes of 2 (multiple batches with a partial final batch), 7 (one full batch), and 1024 (the original single-batch setting). Use different null positions for INT32-, INT64-, and fixed-byte-backed decimals, and compare every decoded value with the written record. Run both container-reuse modes for each batch size, covering six combinations. Validation: - ./gradlew spotlessApply and ./gradlew :iceberg-arrow:spotlessApply :iceberg-arrow:build passed locally on JDK 21.0.2. - Temporarily changing ColumnVector.getDecimal() to return 0.00 for null decimals caused all six parameterized cases to fail with expected: null, but was: 0.00. The temporary mutation was reverted before the final successful build. --- **AI Disclosure** - Model: GPT (version: 6) - Platform/Tool: OpenAI Codex - Human Oversight: fully reviewed - Prompt Summary: Extend Apache Iceberg's vectorized decimal tests to cover stored nulls, varying values, and multiple batch sizes, and validate the changes. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
