GH-51215: [C++] Migrate remaining datetime consumers to the chrono shim - #51216
GH-51215: [C++] Migrate remaining datetime consumers to the chrono shim#51216rok wants to merge 3 commits into
Conversation
|
|
3e23a57 to
d22fc96
Compare
|
@github-actions crossbow submit verify-rc-source-windows test-build-vcpkg-win |
|
Revision: d22fc96 Submitted crossbow builds: ursacomputing/crossbow @ actions-ef7574f790
|
|
After #51211 is merged we can completely move to the |
|
@github-actions crossbow submit verify-rc-source-windows test-build-vcpkg-win |
|
Revision: ef7d5fe Submitted crossbow builds: ursacomputing/crossbow @ actions-41c0a4fab7
|
ef7d5fe to
a5d7ef9
Compare
|
@github-actions crossbow submit verify-rc-source-windows test-build-vcpkg-win |
|
Revision: a5d7ef9 Submitted crossbow builds: ursacomputing/crossbow @ actions-1c32742fcc
|
b69f711 to
fdcaf7e
Compare
|
@github-actions crossbow submit verify-rc-source-windows test-build-vcpkg-win |
|
@pitrou does approach of this PR make sense? Especialy cpp/src/arrow/util/chrono_config_internal.h. If it does I'll polish it and push it to review. |
|
Revision: fdcaf7e Submitted crossbow builds: ursacomputing/crossbow @ actions-6ed6db4ecf
|
I think it does. |
ba0f5f3 to
27b9bd4
Compare
Route datetime consumers in Arrow and Gandiva through arrow::internal::chrono. Prefer std::chrono when the standard library has reliable C++20 timezone support, while retaining the vendored fallback and allowing an explicit backend override. Compile the vendored timezone sources, including the Apple helper, only when the fallback backend is selected.
dd9b10c to
09d3c61
Compare
|
@github-actions crossbow submit test-r-fedora-clang test-r-linux-as-cran test-r-alpine-linux-cran test-r-macos-as-cran r-binary-packages verify-rc-source-windows test-build-vcpkg-win |
|
Revision: 09d3c61 Submitted crossbow builds: ursacomputing/crossbow @ actions-51d00219e4
|
Translate Arrow's strftime syntax to C++20 chrono replacement fields when using the standard backend. Preserve empty formats, literals and braces, locale-sensitive output, duration directives, timezone offsets and abbreviations, and %E/%O modifiers. Keep the vendored formatter available for fallback builds.
09d3c61 to
6dbcec4
Compare
|
@github-actions crossbow submit test-r-fedora-clang test-r-linux-as-cran test-r-alpine-linux-cran test-r-macos-as-cran r-binary-packages verify-rc-source-windows test-build-vcpkg-win |
|
Revision: 6dbcec4 Submitted crossbow builds: ursacomputing/crossbow @ actions-33aa9ce534
|
|
@github-actions crossbow submit test-debian-experimental-cpp-gcc-16 |
|
Revision: 2a05f39 Submitted crossbow builds: ursacomputing/crossbow @ actions-6604537ea7
|
|
The gandiva changes look good. |
Thanks for reviewing @lriggs! |
Rationale for this change
Follow up on #48593 / #48601 - migrate remaining uses of
arrow_vendored::datetoarrow::internal::chrono, usingstd::chronowhere supported.What changes are included in this PR?
Route core calendar, parsing, formatting, and Gandiva callers through arrow::internal::chrono. Preserve backend selection and the vendored fallback, with a shared configuration header guarding the timezone implementation.
Are these changes tested?
By existing tests in CI.
Are there any user-facing changes?
Hopefully no.