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)
{