Re: [PATCHES] JDBC timestamp does not understand [-]infinity - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: [PATCHES] JDBC timestamp does not understand [-]infinity
Date
Msg-id 3D72D7AB.5060401@xythos.com
Whole thread Raw
List pgsql-jdbc
A modified version of this patch has been applied.

--Barry

Dmitry Tkach wrote:

> 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,
intupdateCount, 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)
>              {
>
>
>------------------------------------------------------------------------
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>



pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: Issues with Array interface (String parsing)
Next
From: Barry Lind
Date:
Subject: Re: setBlob loop performance?