Hey everyone!

We (me and @felipecrv) would like to propose a new canonical extension type: 
TimestampWithOffset.

Previous discussion around this proposal can be found in the mailing list [1] 
and in the format PR [2].
The format documentation PR can be found at [2]. A copy of its text is attached 
at the end of this email.
A Go implementation can be found at [3].
A Rust implementation can be found at [4].

The vote will be open for at least 72 hours (3 business days).

[ ] +1 Accept this proposal
[ ] +0
[ ] -1 Do not accept this proposal because...



RELEVANT LINKS

[1] Previous discussion. 
https://lists.apache.org/thread/yhbr3rj9l59yoxv92o2s6dqlop16sfnk
[2] Format specification pull request. 
https://github.com/apache/arrow/pull/48002
[3] Golang implementation draft. https://github.com/apache/arrow-go/pull/558
[4] Rust implementation draft. https://github.com/apache/arrow-rs/pull/8743



FORMAT

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.
This extension type is intended to be compatible with ANSI SQL's ``TIMESTAMP 
WITH TIME ZONE``, which is supported by multiple database engines.

* 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).

  * ``offset_minutes``: a non-nullable signed 16-bit integer (``Int16``) 
representing the offset in minutes from the UTC timezone. Negative offsets 
represent time zones west of UTC, while positive offsets represent east. 
Offsets range from -779 (-12:59) to +780 (+13:00).

* Extension type parameters:

  This type does not have any parameters.

* Description of the serialization:

  Extension metadata is an empty string.

.. note::

   It is also *permissible* for the ``offset_minutes`` field to be 
dictionary-encoded or run-end-encoded.

Attachment: publickey - [email protected] - 0x0A7793AD.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to