JDBC timestamp does not understand [-]infinity
От | Dmitry Tkach |
---|---|
Тема | JDBC timestamp does not understand [-]infinity |
Дата | |
Msg-id | 3D3D8A85.5040202@openratings.com обсуждение исходный текст |
Ответы |
Re: JDBC timestamp does not understand [-]infinity
|
Список | 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 по дате отправления: