Re: [PATCHES] Patch for JDBC timezone problems

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: Andrew Merrill <andrew(at)compclass(dot)com>
Cc: pgsql-interfaces(at)hub(dot)org, pgsql-patches(at)hub(dot)org
Subject: Re: [PATCHES] Patch for JDBC timezone problems
Date: 1999-07-07 03:17:15
Message-ID: 199907070317.XAA02066@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces


This was never applied. Can someone tell me if it should be. Peter?

> 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());

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tim Allen 1999-07-07 04:53:17 Re: [INTERFACES] Peculiar behaviour in libpq
Previous Message xrider 1999-07-07 02:26:57 subscribe