JDBC timestamp does not understand [-]infinity - Mailing list pgsql-bugs

From Dmitry Tkach
Subject JDBC timestamp does not understand [-]infinity
Date
Msg-id 3D3D8A85.5040202@openratings.com
Whole thread Raw
Responses Re: JDBC timestamp does not understand [-]infinity  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-bugs
The attached patch fixes 'Bad Timestamp format' exception when timestamp value is 'ininity' or '-ininity'.
I hope, it helps...
Dima.
Index: AbstractJdbc1ResultSet.java
===================================================================
RCS file: /projects/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java,v
retrieving revision 1.1
diff -p -r1.1 AbstractJdbc1ResultSet.java
*** AbstractJdbc1ResultSet.java    2002/07/23 03:59:55    1.1
--- AbstractJdbc1ResultSet.java    2002/07/23 16:58:00
*************** public abstract class AbstractJdbc1Resul
*** 40,46 ****
--- 40,50 ----
      protected StringBuffer sbuf = null;
      public byte[][] rowBuffer=null;

+     public static final String MIN_DATE_STR = "0000-01-01";
+     public static final String MAX_DATE_STR = "9999-12-31";
+

+
      public AbstractJdbc1ResultSet(org.postgresql.PGConnection conn, Field[] fields, Vector tuples, String status, int
updateCount,long insertOID, boolean binaryCursor) 
      {
          this.connection = conn;
*************** public abstract class AbstractJdbc1Resul
*** 853,861 ****
              else
                  rs.sbuf.setLength(0);

              // Copy s into sbuf for parsing.
              rs.sbuf.append(s);
-             int slen = s.length();

              if (slen > 19)
              {
--- 857,871 ----
              else
                  rs.sbuf.setLength(0);

+             int slen = s.length();
+
+             if (slen == 8 && s.equals ("infinity"))
+               s = MAX_DATE_STR;
+             else if (slen == 9 && s.equals ("-infinity"))
+               s = MIN_DATE_STR;
+
              // Copy s into sbuf for parsing.
              rs.sbuf.append(s);

              if (slen > 19)
              {

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: Bug #717: timestamp is converted to timestamptz
Next
From: Bruce Momjian
Date:
Subject: Re: Postgres throwing exception for int8 datatype.