You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Configure ORA_TZFILE to match Oracle 11g server in CI
Both 11g workflows (test_11g.yml, test_11g_ojdbc11.yml) set
DATABASE_SERVER_AND_CLIENT_VERSION_DO_NOT_MATCH=true to skip tests that
failed because Oracle 11g XE ships timezone file DSTv14 while Instant
Client 21.15 embeds v35, producing ORA-01805 on DATE/TIMESTAMP fetches.
The same flag was later reused to skip two JDBC network-encryption
tests in connection_spec.rb because 11g XE lacks native network
encryption -- an unrelated limitation.
Adopt the approach from rsim/ruby-plsql#239: copy the v14 timezone
data files out of the running gvenzl/oracle-xe:11 container into the
Instant Client's oracore/zoneinfo directory and point the client at
them via ORA_TZFILE. With that in place the ORA-01805 error disappears,
and the opaque DATABASE_SERVER_AND_CLIENT_VERSION_DO_NOT_MATCH flag can
be removed everywhere.
The two network-encryption skips are rewired onto DATABASE_VERSION ==
'11.2.0.2', which is the honest condition -- the limitation is a
property of the 11g server, not of any server/client version mismatch.
Also drop the stale ORACLE_HOME == '/usr/lib/oracle/21/client64'
fallback in timestamp_spec.rb; current workflows use
/opt/oracle/instantclient_21_15, so it never matched.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments