fallintoplace opened a new issue, #951:
URL: https://github.com/apache/arrow-go/issues/951

   ### Describe the bug
   
   `TimestampType.GetZone` correctly reports an error unless the timezone is 
empty, a recognized timezone database name, or an absolute offset. Some 
construction and parsing paths do not preserve that invariant:
   
   - `arrow/ipc.timestampFromFB` accepts the serialized timezone string without 
validation.
   - `Timestamp.ValueStr` discards the error from `GetToTimeFunc` and calls the 
returned function, which is nil for an invalid timezone.
   - `TimestampBuilder.UnmarshalOne` ignores the error from `GetZone`; the 
fallback location can cause invalid timezone metadata to be interpreted as UTC.
   
   `TimestampBuilder.AppendValueFromString` already propagates `GetZone` errors 
and provides a useful model for the builder fix.
   
   Invalid timezone metadata should be rejected at an error-returning boundary 
rather than becoming a later formatting panic or silent UTC interpretation.
   
   ### Suggested scope
   
   - Validate timestamp timezone strings while decoding IPC schemas.
   - Propagate `GetZone` errors from JSON unmarshalling.
   - Decide which other error-returning datatype or array construction 
boundaries should validate timestamp metadata.
   - Keep `ValueStr` defensive, while allowing it to rely on a documented 
valid-datatype invariant where possible.
   
   ### Regression coverage
   
   - Invalid timezone database name.
   - Malformed absolute offset.
   - Valid timezone database name and valid fixed offsets.
   - IPC schema decoding with invalid timezone metadata.
   - JSON unmarshal and `ValueStr` behavior.
   
   Observed on current `main` at `750586710988bc18f7af64fd29af8e0acdb252ac`.
   
   ### Component(s)
   
   Other


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