[ http://issues.apache.org/jira/browse/DERBY-1321?page=all ]
Øystein Grøvlen closed DERBY-1321:
----------------------------------
Resolution: Duplicate
This is a duplicate of Derby-1292. Thanks to Gerald Khin who made me aware of
that.
> ClassCastException in client for batched statements
> ---------------------------------------------------
>
> Key: DERBY-1321
> URL: http://issues.apache.org/jira/browse/DERBY-1321
> Project: Derby
> Type: Bug
> Components: Network Client
> Versions: 10.2.0.0
> Environment: Solaris x86, trunk of March 31st
> Reporter: Øystein Grøvlen
> Attachments: RunDerby.java
>
> In a program using the client driver, I get a ClassCastException when
> batching prepared statements. The code that creates the problem is:
> stmt = connection.createStatement();
> stmt.executeUpdate("CREATE TABLE LONGTESTTABLE ( LONG_VALUE
> NUMERIC(20) )");
> String sql = "insert into LONGTESTTABLE (LONG_VALUE) values ( ?
> )";
> PreparedStatement pstmt = connection.prepareStatement(sql);
> pstmt.setLong(1, (long)10 ); // long value
> pstmt.addBatch();
> //pstmt.setNull(1, Types.BIGINT ); // THIS WORKS
> pstmt.setNull(1, Types.INTEGER ); // THIS DOES NOT WORK
> pstmt.addBatch();
> int[] updateCounts = pstmt.executeBatch();
> If I add the second statement to the batch before the first one, it works.
> If I insert an executeBatch() between the statements, it works
> If I execute this with the embedded driver, it works
> The stack trace I get is:
> Exception in thread "main" java.lang.ClassCastException: java.lang.Long
> at
> org.apache.derby.client.net.NetStatementRequest.buildFDODTA(NetStatementRequest.java:692)
> at
> org.apache.derby.client.net.NetStatementRequest.buildSQLDTAcommandData(NetStatementRequest.java:530)
> at
> org.apache.derby.client.net.NetStatementRequest.writeExecute(NetStatementRequest.java:137)
> at
> org.apache.derby.client.net.NetPreparedStatement.writeExecute_(NetPreparedStatement.java:118)
> at
> org.apache.derby.client.am.PreparedStatement.writeExecute(PreparedStatement.java:1336)
> at
> org.apache.derby.client.am.PreparedStatement.executeBatchRequestX(PreparedStatement.java:1807)
> at
> org.apache.derby.client.am.PreparedStatement.executeBatchX(PreparedStatement.java:1731)
> at
> org.apache.derby.client.am.PreparedStatement.executeBatch(PreparedStatement.java:1184)
> at RunDerby.main(RunDerby.java:81)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira