Re: JDBC timestamp does not understand [-]infinity

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: JDBC timestamp does not understand [-]infinity
Дата
Msg-id 200208271642.g7RGgGu29993@candle.pha.pa.us
обсуждение исходный текст
Ответ на JDBC timestamp does not understand [-]infinity  (Dmitry Tkach <dmitry@openratings.com>)
Список pgsql-bugs
This code doesn't exist in the jdbc driver anymore.  They must have
already fixed it.

---------------------------------------------------------------------------

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 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Bug found in psql interface
Следующее
От: Tom Lane
Дата:
Сообщение: Re: cube bug accepting -.1