/** INTERNAL: */ protected synchronized void initializeConnectionData(Connection conn) throws SQLException { if (isConnectionDataInitialized) { return; } driverVersion = conn.getMetaData().getDriverVersion(); // printCalendar for versions greater or equal 9 and less than 10.2.0.4 shouldPrintCalendar = Helper.compareVersions("9", driverVersion) <= 0 && Helper.compareVersions(driverVersion, "10.2.0.4") < 0; if (Helper.compareVersions(driverVersion, "11.1.0.7") < 0) { isTimestampInGmt = false; } else { if (conn instanceof OracleConnection) { String timestampTzInGmtPropStr = ((OracleConnection) conn) .getProperties() .getProperty("oracle.jdbc.timestampTzInGmt", "true"); isTimestampInGmt = timestampTzInGmtPropStr.equalsIgnoreCase("true"); } else { isTimestampInGmt = true; } } isConnectionDataInitialized = true; }