The attached patch fixes the problems that the JDBC driver has with
timezones in getTimestamp. The issues were described in an earlier
post, this is just the patch.
Andrew Merrill
*** ./src/interfaces/jdbc/postgresql/jdbc1/ResultSet.java.orig Tue May 11 09:39:37 1999
--- ./src/interfaces/jdbc/postgresql/jdbc1/ResultSet.java Tue May 11 09:40:56 1999
***************
*** 438,449 ****
if (s != null)
{
int TZ = new Float(s.substring(19)).intValue();
TZ = TZ * 60 * 60 * 1000;
TimeZone zone = TimeZone.getDefault();
zone.setRawOffset(TZ);
String nm = zone.getID();
! s = s.substring(0,18) + nm;
try {
java.util.Date d = df.parse(s);
return new Timestamp(d.getTime());
--- 438,451 ----
if (s != null)
{
+ /* commented out by Andrew Merrill 5/1999
int TZ = new Float(s.substring(19)).intValue();
TZ = TZ * 60 * 60 * 1000;
TimeZone zone = TimeZone.getDefault();
zone.setRawOffset(TZ);
String nm = zone.getID();
! s = s.substring(0,19) + nm;
! */
try {
java.util.Date d = df.parse(s);
return new Timestamp(d.getTime());
*** ./src/interfaces/jdbc/postgresql/jdbc2/ResultSet.java.orig Tue May 11 09:41:14 1999
--- ./src/interfaces/jdbc/postgresql/jdbc2/ResultSet.java Tue May 11 09:42:16 1999
***************
*** 440,451 ****
if (s != null)
{
int TZ = new Float(s.substring(19)).intValue();
TZ = TZ * 60 * 60 * 1000;
TimeZone zone = TimeZone.getDefault();
zone.setRawOffset(TZ);
String nm = zone.getID();
! s = s.substring(0,18) + nm;
try {
java.util.Date d = df.parse(s);
return new Timestamp(d.getTime());
--- 440,453 ----
if (s != null)
{
+ /* commented out by Andrew Merrill 5/1999
int TZ = new Float(s.substring(19)).intValue();
TZ = TZ * 60 * 60 * 1000;
TimeZone zone = TimeZone.getDefault();
zone.setRawOffset(TZ);
String nm = zone.getID();
! s = s.substring(0,19) + nm;
! */
try {
java.util.Date d = df.parse(s);
return new Timestamp(d.getTime());