Re: bug in PreparedStatement of JDBC in 7.2b4 - Mailing list pgsql-jdbc

From Ryouichi Matsuda
Subject Re: bug in PreparedStatement of JDBC in 7.2b4
Date
Msg-id 20020115160106.7719.R-MATUDA@sra.co.jp
Whole thread Raw
In response to Re: bug in PreparedStatement of JDBC in 7.2b4  (Barry Lind <barry@xythos.com>)
List pgsql-jdbc
Barry Lind wrote:
> Thank you for reporting this bug.  I will work on getting your patch
> applied this weekend.

I attach a patch for JDBC1 of this bug.
Because there was not StringBuffer#replace() in JDK1.1, I changed it.
I turned the same modification into a patch for JDBC2.


> Ryouichi Matsuda wrote:
>
> > I found a bug in PreparedStatement#setTimestamp() of JDBC included
> > in PostgreSQL7.2beta4. An attached patch corrects this bug.
> >
> >
> > (1) ".01" sec becomes ".10" sec
> >
> >     $ create table test(ts timestamp);
> >
> >     String sql = "insert into test values(?)";
> >     PreparedStatement pst = db.prepareStatement(sql);
> >     pst.setTimestamp(1, Timestamp.valueOf("2002-01-10 19:30:59.01"));
> >     pst.executeUpdate();
> >
> >     $ select * from test;
> >     $ 2002-01-10 19:30:59.10+09
> >
> > Though I inserted ".01" second, ".10" second has been inserted.
> > There is this bug in 7.2beta4 and 7.1.3.
> >
> >
> > (2) ".876543210" sec becomes ".87" sec
> >
> >     pst.setTimestamp(1, Timestamp.valueOf("2002-01-10 19:30:59.876543210"));
> >     pst.executeUpdate();
> >
> >     $ select * from test;
> >     $ 2002-01-10 19:30:59.87+09
> >
> > In PostgreSQL7.2, a decimal can insert only two columns, and remainder
> > is thrown away.

Attachment

pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: Failure in timestamptz of JDBC of 7.2b4
Next
From: Barry Lind
Date:
Subject: Re: bug in PreparedStatement of JDBC in 7.2b4