Skip to content

ORC tz split 1/6: JNI plumbing and OrcTimezoneContext skeleton#4545

Closed
res-life wants to merge 1 commit into
release/26.06from
orc-tz-1-jni-plumbing
Closed

ORC tz split 1/6: JNI plumbing and OrcTimezoneContext skeleton#4545
res-life wants to merge 1 commit into
release/26.06from
orc-tz-1-jni-plumbing

Conversation

@res-life

Copy link
Copy Markdown
Collaborator

Part of the split of #4432 into smaller reviewable PRs (≤500 lines each).
Companion: NVIDIA/cudf-spark#14544

This PR brings in only the JNI surface and Java entrypoint changes:

  • src/main/cpp/src/GpuTimeZoneDBJni.cpp: new JNI methods for building/releasing per-table ORC timezone context and the parse_dst_rule helper.
  • src/main/cpp/src/timezones.hpp: declarations for the new convert_orc_timezones path, OrcTimezoneInfo struct, and DST rule fields.
  • src/main/java/com/nvidia/spark/rapids/jni/GpuTimeZoneDB.java: OrcTimezoneContext class, convertOrcTimezones taking ColumnView, and wiring through the new native methods.
  • src/main/resources/orc_timezone_info.data: delete the pre-built data file (subsequent PRs replace it with runtime-generated metadata).

The Java code references OrcTimezoneInfo.get(...) and DstRule which are introduced in #orc-tz-2 (next PR in the chain), so this intermediate branch does not compile on its own and is for review only.

Stack

  1. this PR → main
  2. orc-tz-2-orctzinfo-dst-extract → this branch
  3. orc-tz-3-orctzinfo-runtime-build → orc-tz-2
  4. orc-tz-4-cuda-civil-calendar → orc-tz-3
  5. orc-tz-5-cuda-dst-gpu → orc-tz-4
  6. orc-tz-6-tests → orc-tz-5 (tree identical to Support DST timezones conversion for ORC #4432)

Signed-off-by: Chong Gao chongg@nvidia.com

@nvauto

nvauto commented May 18, 2026

Copy link
Copy Markdown
Collaborator

NOTE: release/26.06 has been created from main. Please retarget your PR to release/26.06 if it should be included in the release.

@res-life

Copy link
Copy Markdown
Collaborator Author

build

@res-life res-life changed the base branch from main to release/26.06 May 19, 2026 07:13
Part of the split of #4432 into smaller PRs for review.

This PR brings in only the JNI surface and Java entrypoint changes:

- src/main/cpp/src/GpuTimeZoneDBJni.cpp: new JNI methods for building/
  releasing per-table ORC timezone context and the parse_dst_rule helper.
- src/main/cpp/src/timezones.hpp: declarations for the new
  convert_orc_timezones path, OrcTimezoneInfo struct, and DST rule fields.
- src/main/java/com/nvidia/spark/rapids/jni/GpuTimeZoneDB.java:
  OrcTimezoneContext class, convertOrcTimezones taking ColumnView, and
  wiring through the new native methods.
- src/main/resources/orc_timezone_info.data: delete the pre-built data
  file (subsequent PRs replace it with runtime-generated metadata).

The Java code references OrcTimezoneInfo.get(...) and DstRule which are
introduced in the next PR (orc-tz-2-orctzinfo-dst-extract), so this
intermediate branch does not compile on its own and is for review only.

Signed-off-by: Chong Gao <chongg@nvidia.com>
@res-life res-life force-pushed the orc-tz-1-jni-plumbing branch from 91450ec to b38def7 Compare May 19, 2026 08:33
@res-life

Copy link
Copy Markdown
Collaborator Author

build

@res-life res-life closed this May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants