Skip to content

Conversation

@serramatutu
Copy link

@serramatutu serramatutu commented Oct 30, 2025

Rationale for this change

Closes #44248

Arrow has no built-in canonical way of representing the TIMESTAMP WITH TIME ZONE SQL type, which is present across multiple different database systems. Not having a native way to represent this forces users to either convert to UTC and drop the time zone, which may have correctness implications, or use bespoke workarounds. A new arrow.timestamp_with_offset extension type would introduce a standard canonical way of representing that information.

Rust implementation: apache/arrow-rs#8743
Go implementation: apache/arrow-go#558

[DISCUSS] thread in the mailing list.

What changes are included in this PR?

Proposal and documentation for arrow.timestamp_with_offset canonical extension type.

Are these changes tested?

N/A

Are there any user-facing changes?

Yes, this is an extension to the arrow format.

@github-actions github-actions bot added the awaiting review Awaiting review label Oct 30, 2025
@serramatutu serramatutu changed the title [FORMAT] Add Timestamp With Offset canonical extension type [DRAFT][FORMAT] Add Timestamp With Offset canonical extension type Oct 30, 2025
@serramatutu serramatutu force-pushed the serramatutu/TimestampWithOffset/format branch from 14fd59a to fe8056f Compare October 30, 2025 12:30
@github-actions github-actions bot added awaiting changes Awaiting changes awaiting committer review Awaiting committer review and removed awaiting review Awaiting review awaiting committer review Awaiting committer review awaiting changes Awaiting changes labels Oct 31, 2025
@rok rok requested review from lidavidm and zeroshade October 31, 2025 13:21
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Nov 3, 2025
Co-authored-by: David Li <[email protected]>
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Nov 11, 2025
@serramatutu serramatutu force-pushed the serramatutu/TimestampWithOffset/format branch from d40c0bb to b0d9be3 Compare November 20, 2025 08:52
@serramatutu serramatutu force-pushed the serramatutu/TimestampWithOffset/format branch from 6ab0deb to d4d50b3 Compare November 20, 2025 14:30
@felipecrv felipecrv changed the title [DRAFT][FORMAT] Add Timestamp With Offset canonical extension type GH-44248: [FORMAT] Add TimestampWithOffset canonical extension type Nov 20, 2025
@apache apache deleted a comment from github-actions bot Nov 20, 2025
@github-actions
Copy link

⚠️ GitHub issue #44248 has been automatically assigned in GitHub to PR creator.

- Drop JSON encoding recommendation
- Inner fields must be non-nullble
- Time unit is not a type parameter
Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR @serramatutu -- the basic idea looks good to me

@felipecrv felipecrv marked this pull request as ready for review November 24, 2025 17:17
@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Nov 25, 2025
@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting changes Awaiting changes labels Nov 25, 2025
Co-authored-by: Joris Van den Bossche <[email protected]>
Co-authored-by: Felipe Oliveira Carvalho <[email protected]>
@pitrou pitrou changed the title GH-44248: [FORMAT] Add TimestampWithOffset canonical extension type GH-44248: [Format] Add TimestampWithOffset canonical extension type Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Format] Support an official "timestamp with time zone offset" type

9 participants