jorisvandenbossche commented on code in PR #48002:
URL: https://github.com/apache/arrow/pull/48002#discussion_r2486512426


##########
docs/source/format/CanonicalExtensions.rst:
##########
@@ -483,6 +483,28 @@ binary values look like.
 
 .. _variant_primitive_type_mapping:
 
+Timestamp With Offset
+=============
+This type represents a timestamp column that stores potentially different 
timezone offsets per value. The timestamp is stored in UTC alongside the 
original timezone offset in minutes.
+
+* Extension name: ``arrow.timestamp_with_offset``.
+
+* The storage type of the extension is a ``Struct`` with 2 fields, in order:
+
+  * ``timestamp``: a non-nullable ``Timestamp(time_unit, "UTC")``, where 
``time_unit`` is any Arrow ``TimeUnit`` (s, ms, us or ns).

Review Comment:
   To be clear, I am not arguing for assigning a specific meaning to a certain 
combination of nullability, but just for allowing the fields to be null as well.
   
   For example, we could say that if the element is null (top-level struct 
validity), the individual fields are allowed to contain a null as well.
   
   Of course, when constructing a timestamp with offset from the individual 
fields, it is relatively straightforward to just drop the validity bitmaps of 
the individual fields, and ensure a union of both bitmaps is assigned to the 
struct. 
   (it is just that the current pyarrow APIs don't make this particularly easy 
.. but that is something we can also improve in the exposed 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