+1 (binding) On Wed, Nov 26, 2025 at 11:41 PM Curt Hagenlocher <[email protected]> wrote:
> +1 (binding) > > On Wed, Nov 26, 2025 at 7:38 AM Antoine Pitrou <[email protected]> wrote: > > > > > > +1 (binding). Thanks for doing this! > > > > > > Le 25/11/2025 à 10:55, serramatutu a écrit : > > > 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. > > >
