-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[C++] Timezone database configuration and access #28868
Comments
Dewey Dunnington / @paleolimbot: list.files(tzdb::tzdb_path("text"))
#> [1] "africa" "antarctica" "asia"
#> [4] "australasia" "backward" "backzone"
#> [7] "calendars" "checklinks.awk" "checktab.awk"
#> [10] "CONTRIBUTING" "etcetera" "europe"
#> [13] "factory" "iso3166.tab" "leap-seconds.list"
#> [16] "leapseconds" "leapseconds.awk" "LICENSE"
#> [19] "Makefile" "NEWS" "northamerica"
#> [22] "README" "southamerica" "theory.html"
#> [25] "version" "windowsZones.xml" "ziguard.awk"
#> [28] "zishrink.awk" "zone.tab" "zone1970.tab"
#> [31] "zoneinfo2tdf.pl" |
Rok Mihevc / @rok: I'm not sure we want to depend on R/Python libraries being present from C++, but I'll look into this option, thanks! |
Will Jones / @wjones127: I also saw that same library recommended in this StackOverflow answer by a Microsoft employee about Windows TZ libraries. |
Rok Mihevc / @rok: We also use date.h and tz.h (https://github.com/HowardHinnant/date#summary) in Arrow for almost all time related things. |
Dewey Dunnington / @paleolimbot: |
Rok Mihevc / @rok: |
Dewey Dunnington / @paleolimbot: |
Joris Van den Bossche / @jorisvandenbossche: Ideally we would be able to specify the path at runtime, I think. |
Alessandro Molina / @amol-: |
Antoine Pitrou / @pitrou: https://github.com/apache/arrow/blob/master/cpp/src/arrow/filesystem/filesystem.h#L518-L536 |
Joris Van den Bossche / @jorisvandenbossche: |
Will Jones / @wjones127: |
Antoine Pitrou / @pitrou: However, on Python, pytz provides the binary form of the IANA database, which |
Joris Van den Bossche / @jorisvandenbossche: |
Antoine Pitrou / @pitrou: |
Will Jones / @wjones127: |
Jonathan Keane / @jonkeane: |
Note: currently timezone database is not available on windows so timezone aware operations will fail.
We're using tz.h library which needs an updated timezone database to correctly handle timezoned timestamps. See installation instructions.
We have the following options for getting a timezone database:
local (non-windows) OS timezone database - no work required.
arrow bundled folder - we could bundle the database at build time for windows. Database would slowly go stale.
download it from IANA Time Zone Database at runtime - tz.h gets the database at runtime, but curl (and 7-zip on windows) are required.
local user-provided folder - user could provide a location at buildtime. Nice to have.
allow runtime configuration - at runtime say: "the tzdata can be found at this location"
For more context see: ARROW-12980 and PEP 615.
Reporter: Will Jones / @wjones127
Assignee: Will Jones / @wjones127
Watchers: Rok Mihevc / @rok
Related issues:
PRs and other links:
Note: This issue was originally created as ARROW-13168. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: