+1 (binding)

In 
<RzNiyOMGMd9uXDukdFW9Q5SfqyCFUrm-B0XIXYUwBpeR_RIf5hXtX_-IUu7rYt76esfEzWyMwFBJfdkfgJF8k_QCSCIB5aFp1TBq11iGN6w=@pm.me>
  "[VOTE][FORMAT] TimestampWithOffset canonical extension type" on Tue, 25 Nov 
2025 09:55:53 +0000,
  serramatutu <[email protected]> wrote:

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

Reply via email to