Re: setObject(int,Object) can not convert Java String object to backend's Integer type - Mailing list pgsql-jdbc

From Chen Huajun
Subject Re: setObject(int,Object) can not convert Java String object to backend's Integer type
Date
Msg-id 50EC0A3B.8000601@cn.fujitsu.com
Whole thread Raw
In response to Re: setObject(int,Object) can not convert Java String object to backend's Integer type  (Dave Cramer <pg@fastcrypt.com>)
List pgsql-jdbc
Dave

 > This link http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html should clarify things. The mapping
isactually String to char, varchar, or longvarchar. 

oh,I could not find so detailed description in my JDBC 4.0 Specification(a pdf file).
And mistaked the setObject(int,Object,int) and setObject(int,Object).



BTW:
In Oracle,the conversion seem be OK (my test was String -> NUMERIC).
That's why i pay attention to this problem.


Thanks!


Regards,
Chen Huajun
(2013/01/08 19:15), Dave Cramer wrote:
> Chen,
>
> This link http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html should clarify things. The mapping
isactually String to char, varchar, or longvarchar. 
>
> Dave
>
> Dave Cramer
>
> dave.cramer(at)credativ(dot)ca
> http://www.credativ.ca
>
>
> On Tue, Jan 8, 2013 at 6:04 AM, Chen Huajun <chenhj@cn.fujitsu.com <mailto:chenhj@cn.fujitsu.com>> wrote:
>
>     Hi,
>
>     According to JDBC Specification Java String object could be converted to
>     backend's Integer type by setObject().
>     But in PostgreSQL JDBC, it's not true. It seems to be a bug.
>
>     Sample:
>     PreparedStatement stmt = con.prepareStatement("select 1::int = ?");
>     stmt.setObject(1, "2");
>     ResultSet rs = stmt.executeQuery();//raises an error here!
>
>     *)but the following is OK
>     stmt.setObject(1, "2",Types.INTEGER);
>     stmt.setObject(1, "2",Types.OTHER);
>
>
>     Internally stmt.setObject(1, "2") binds "2" as varchar ,
>     if it binds "2" as  unspecified type,the result will be OK.
>
>
>
>     Regards,
>     Chen Huajun
>
>
>
>
>     --
>     Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org <mailto:pgsql-jdbc@postgresql.org>)
>     To make changes to your subscription:
>     http://www.postgresql.org/mailpref/pgsql-jdbc
>
>




pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: setObject(int,Object) can not convert Java String object to backend's Integer type
Next
From: Andriy Redko
Date:
Subject: Bug report: buggy implementation of setQueryTimeout() in latest JDBC drivers 9.2-100x (AbstractJdbc2Statement.java)