apache / apache/arrow

[C++][Gandiva] Reduce dependency on vendored date.h library

Open
#51,215 2 comments 0 reactions 1 assignee Assigned to @rok View on GitHub
Component: C++ Component: Gandiva Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

Follow up on #48593 / #48601 - migrate remaining uses of `arrow_vendored::date` to ` arrow::internal::chrono`, using `std::chrono` where supported.

We now partially use `std::chrono`, but core parsing/formatting, Gandiva, and timezone configuration still
reference vendored code. The vendored timezone implementation is also compiled unconditionally.

We should retain vendored `date.h` for platforms where we cannot use `std::chrono`. We should preserve existing behavior and validate formatting edge cases, timezone transitions, etc.

This can be implemented incrementally, by adding required APIs to the existing `arrow::internal::chrono` shim with a conditional backend.

Related: #48743, #29371.

### Component(s)

C++, Gandiva

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.