> With the proposed modifications to the JDBC driver enabled
>
> PreparedStatement pstmt = con.prepareStatement("select name from test
> where id = ?");
> pstmt.setLong(1, 42);
> pstmt.executeQuery();
>
> would actually produce:
>
> select name from test where id = 42::int8
Silly question, but why don't you simply ensure any ?'s are quoted?
select name from test where id = '42'
This allows PostgreSQL to choose the best type for the job -- in this
case it will try to match that of id. It will work that way on all
older and newer versions of PostgreSQL.