go/adbc/driver/snowflake: TimeZone is not always a valid TZ identifier
- Dominant language
- C#
- Stars
- 627
- Forks
- 217
- Avg merge
- 17h
- Merged PRs (30d)
- 57
Description
### What happened?
The Snowflake driver sometimes produces an Arrow field with type `TimestampType` with the `TimeZone` set to "Local". This happens when the column type is `TIMESTAMP_LTZ`, since it uses the time zone set [here](https://github.com/apache/arrow-adbc/blob/9941cd0617590228a865983d16c735112e610632/go/adbc/driver/snowflake/connection.go#L438) and it can [sometimes be set to "Local"](https://cs.opensource.google/go/go/+/refs/tags/go1.25.1:src/time/zoneinfo_windows.go;l=140):
```
var loc = time.Now().Location()
```
The `TimeZone` field should be a valid TZ identifier if set.
### Stack Trace
_No response_
### How can we reproduce the bug?
Query a table with a column of type `TIMESTAMP_LTZ` using Windows and inspect the resulting field's `TimeZone`.
### Environment/Setup
Windows
Contributor guide
Research direction
Start at connection.go around line 438, where the Snowflake driver sets the time zone for TIMESTAMP_LTZ fields. Reproduce the issue by querying a TIMESTAMP_LTZ column on Windows and inspect the resulting Arrow field; done means its TimeZone is a valid TZ identifier rather than "Local".
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- database
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100