kou opened a new pull request, #39717:
URL: https://github.com/apache/arrow/pull/39717

   ### Rationale for this change
   
   Timestamp data type in Apache Arrow supports time zone but Apache Arrow C 
GLib didn't support it. Timestamp data type has "timezone-aware" mode and 
"timezone-naive" mode. If a timestamp data type has a valid time zone 
information, it uses "timezone-aware" mode. If a timestamp data type doesn't 
have a valid time zone information, it uses "timezone-naive" mode. Apache Arrow 
C GLib should support both of them.
   
   ### What changes are included in this PR?
   
   This change adds a new `GTimeZone *time_zone` argument to 
`garrow_timestamp_data_type_new()` instead of adding a new 
`garrow_timestamp_data_type_new_time_zone()` function. This breaks backward 
compatibility for Apache Arrow C GLib users. But this still keeps backward 
compatibility for users of bindings such as Ruby and Vala. Because the new 
`GTimeZone *time_zone` is nullable.
   
   I tried to use the "adding a new
   `garrow_timestamp_data_type_new_time_zone()` function" approach but Vala 
didn't like it. Both of
   `garrow_timestamp_data_type_new_time_zone()` (constructor) and 
`garrow_timestamp_data_type_get_time_zone()` (instance method or property 
reader) were mapped to
   `GArrow.TimestampDataType.time_zone()`.
   
   So I chose the "adding a new argument to
   `garrow_timestamp_data_type_new()`" approach.
   
   ### Are these changes tested?
   
   Yes.
   
   ### Are there any user-facing changes?
   
   Yes.
   
   **This PR includes breaking changes to public APIs.**
   


-- 
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]

Reply via email to