Re: bug in PreparedStatement of JDBC in 7.2b4

From: Ryouichi Matsuda <r-matuda(at)sra(dot)co(dot)jp>
To: barry(at)xythos(dot)com
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: bug in PreparedStatement of JDBC in 7.2b4
Date: 2002-01-15 07:12:17
Message-ID: 20020115160106.7719.R-MATUDA@sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 Content-Type Size
TimestampTest.java application/octet-stream 1.3 KB
jdbc1.PreparedStatement.java.diff application/octet-stream 1.3 KB
jdbc2.PreparedStatement.java.diff application/octet-stream 1.2 KB

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Barry Lind 2002-01-15 07:46:45 Re: bug in PreparedStatement of JDBC in 7.2b4
Previous Message Barry Lind 2002-01-15 06:55:12 Re: Failure in timestamptz of JDBC of 7.2b4