Re: bug in jdbc
От | dmp |
---|---|
Тема | Re: bug in jdbc |
Дата | |
Msg-id | 4E63A7C4.3040909@ttc-cmc.net обсуждение исходный текст |
Ответ на | bug in jdbc (luvar@plaintext.sk) |
Ответы |
Re: bug in jdbc
|
Список | pgsql-jdbc |
luvar@plaintext.sk wrote: > Hi, I have executed some update query and I have requested to return generated id... > > statement.executeUpdate(query, Statement.RETURN_GENERATED_KEYS); > ResultSet ids = statement.getGeneratedKeys(); > ids.next(); > ids.getInt(1); > > It will fail with this exception: > > 19:03:50,300 WARN ObjectBrowser:254 - Bad value for type int : /home/luvar/output.svg > org.postgresql.util.PSQLException: Bad value for type int : /home/luvar/output.svg > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toInt(AbstractJdbc2ResultSet.java:2759) > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2003) > ..... > > > I am using maven. Used jdbc version: > > <dependency> > <groupId>postgresql</groupId> > <artifactId>postgresql</artifactId> > <version>9.0-801.jdbc4</version> > </dependency> > > I have table constructed in such way, that id (bigserial typed) column is NOT first column. It is second and first columnof my table is "url" column to which I try insert "/home/luvar/output.svg" value. > > Can you have a look and confirm this bug to me, or there is no bug and something I am doing bad? > I have confirmed the behavior you have indicated in a test case that is not using Maven, but rather the JDBC directly. Though I have not reviewed the behavior of statement.executeUpdate(query, Statement.RETURN_GENERATED_KEYS) thoroughly I suggest you try the modifications that I made to your example code that helped me to understand more fully what is happening. I can not address if this is a bug or not. sqlStatement.executeUpdate(sqlStatementString, Statement.RETURN_GENERATED_KEYS); resultSet = sqlStatement.getGeneratedKeys(); tableMetaData = resultSet.getMetaData(); while (resultSet.next()) { for (int i = 1; i < tableMetaData.getColumnCount() + 1; i++) { System.out.println(i + " " + tableMetaData.getColumnName(i)); System.out.println(resultSet.getString(colNameString)); } } Output: Connection Created INSERT INTO "public"."key_table21" ("text","id") VALUES ('aaa',33) 1 text aaa 2 id 33 Connection Closed danap.
В списке pgsql-jdbc по дате отправления: