Patch for JDBC timezone problems - Mailing list pgsql-interfaces

From Andrew Merrill
Subject Patch for JDBC timezone problems
Date
Msg-id 37386522.B4491D51@compclass.com
Whole thread Raw
Responses Re: [PATCHES] Patch for JDBC timezone problems
List pgsql-interfaces
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());

pgsql-interfaces by date:

Previous
From: Thomas Lockhart
Date:
Subject: Re: [INTERFACES] C program Postgres 6.3 and date
Next
From: Marko Palikko
Date:
Subject: Un Subscribe