ffacs opened a new pull request, #2716:
URL: https://github.com/apache/orc/pull/2716
### What changes were proposed in this pull request?
Add support for Java fixed-offset timezone IDs (GMT±HH:MM and
GMT±HH:MM:SS) in the C++ timezone resolver, using cached fixed-offset timezones
without requiring TZDB files.
### Why are the changes needed?
The Java writer can record IDs such as GMT-00:00 or GMT+05:30 in the
stripe’s writerTimezone. The C++ reader treats these IDs as timezone database
filenames and fails when reading
timestamp columns because the corresponding files do not exist.
This change allows the C++ reader to resolve these offsets and read the
timestamps correctly.
Fixes ORC-2222 and #2715.
### How was this patch tested?
Added tests covering:
• Positive and negative offsets, signed zero, minute and second precision,
and invalid formats.
• Epoch calculation, time conversion, caching, and operation without TZDB
files.
• Reading Java-written ORC files with four fixed-offset timezones,
including pre-1970 timestamps and nanosecond precision.
Rebuilt C++ and ran make -C build test-out: all 763 core tests and 87 tool
tests passed. Also verified that the original file attached to #2715 reads
successfully.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: OpenAI Codex (GPT-6)
--
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]