JDBC Large ResultSet problem + BadTimeStamp Patch

Поиск
Список
Период
Сортировка
От Michael Stephenson
Тема JDBC Large ResultSet problem + BadTimeStamp Patch
Дата
Msg-id Pine.LNX.4.10.10010111630510.29625-100000@tirin.openworld.co.uk
обсуждение исходный текст
Ответ на Re: Announcing PgSQL - a Python DB-API 2.0 compliant interface to PostgreSQL  (Lamar Owen <lamar.owen@wgcr.org>)
Ответы Re: JDBC Large ResultSet problem + BadTimeStamp Patch  (Peter Mount <peter@retep.org.uk>)
Список pgsql-interfaces
Two things.

Firstly, when dealing with a large ResultSet (about 120000 rows), I get a
null pointer exception on the line:  wasNullFlag = (this_row[columnIndex - 1] == null);
Whenever I call getString(), has anyone else had this? And does anybody
have a solution?

Secondly, I've not seen it mentioned on here but the jdbc driver will
sometimes throw a bad time stamp exception when you use getTimeStamp() on
times which have are accurate to more than a second, this is the patch we
use to fix it.

Hope it is of some use to somebody,

Michael Stephenson

*** src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java    Fri May 12
20:54:22 2000
--- src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetPatch.java
Mon Sep 25 15:36:46 2000
***************
*** 439,445 ****     if(s==null)     return null;     
!     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd
HH:mm:sszzz");          try {     return new Timestamp(df.parse(s).getTime());
--- 439,456 ----     if(s==null)     return null;     
!     SimpleDateFormat df = null;
!     if (s.length()>21 && s.indexOf('.') != -1) {
!         df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSzzz");
!     } else if (s.length()>19 && s.indexOf('.') == -1) {
!         df = new SimpleDateFormat("yyyy-MM-dd HH:MM:sszzz");
!     } else if (s.length()>19 && s.indexOf('.') != -1) {
!         df = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss.SS");
!     } else if (s.length()>10 && s.length()<=18) {
!         df = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
!     } else {
!         df = new SimpleDateFormat("yyyy-MM-dd");
!     }            try {     return new Timestamp(df.parse(s).getTime());




В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Lamar Owen
Дата:
Сообщение: Re: Announcing PgSQL - a Python DB-API 2.0 compliant interface to PostgreSQL
Следующее
От: Peter Mount
Дата:
Сообщение: Re: JDBC Large ResultSet problem + BadTimeStamp Patch