Repository navigation
adbcBridge 0.1.3
PostgreSQL-wire servers: timestamps with a time zone keep their instant on any server time zone. psqlodbc hands a timestamptz value over as the session's wall-clock time without its offset, and sends a bound timestamp the same way, so on a server whose zone is not UTC every zoned value read or written through the driver was shifted by that zone's offset: on a server set to America/New_York, a stored 13:45:10 UTC read back as 08:45:10 labelled UTC, and a zoned 13:45:10 UTC was stored as 18:45:10 UTC. The driver now puts the session on UTC at connect, so reads and bulk ingest hold the instant. The new database option adbc.odbc.utc_session (default true) keeps the server's own setting when set to false; session-dependent SQL such as now()::text renders in UTC while the option is on. Every container in the compatibility matrix runs UTC, which is why this went unseen until a macOS cluster whose initdb took the host zone showed it. (#113)
macOS: the shipped library now refers to unixODBC by name and searches the usual prefixes (/opt/homebrew/opt/unixodbc/lib, /opt/homebrew/lib, /usr/local/opt/unixodbc/lib, /usr/local/lib, /opt/local/lib) instead of Homebrew's absolute path, so it loads on a Mac with unixODBC installed elsewhere. (#113)
Verified before the tag: the PostgreSQL CI job with two new tests on a New York database; the validation suite on PostgreSQL unchanged at 293 of 327; all 14 PostgreSQL-wire compatibility entries passing with the session change.
What's Changed
- docs: roadmap — validation fixes released in 0.1.2 by @singhpratech in #111
- docs: 0.1.2 release wording by @singhpratech in #112
- psqlodbc: UTC session so timestamptz keeps its instant on non-UTC servers; macOS library path by @singhpratech in #113
- release: 0.1.3 by @singhpratech in #114
Full Changelog: v0.1.2...v0.1.3