[ http://issues.apache.org/jira/browse/DERBY-1417?page=all ]
Kristian Waagan updated DERBY-1417: ----------------------------------- Attachment: derby-1417-1a-notImplemented.diff derby-1417-1a-notImplemented.stat 'derby-1417-1a-notImplemented.diff' adds a number of new lengthless streaming overloads that Derby will not support. All methods added by the patch throws not-implemented exceptions. We don't support them because we either don't support the data type or because we don't yet support named parameters in CallableStatement. I feel that, after a review, the patch is safe to apply even though I have not yet submitted any tests for it because: a) Only new methods are added. b) They all throw not-implemented exceptions. c) Mostly JDBC4 specific classes are affected. I will add tests, but have to wait until the signatures have made it into Mustang (I do have some tests already, but here I use the specific implementation classes, not the interfaces). The following methods have been added, both for the embedded and the client driver: [CallableStatement] * void setAsciiStream(String parameterName, InputStream x) * void setBinaryStream(String parameterName, InputStream x) * void setBlob(String parameterName, InputStream inputStream) * void setCharacterStream(String parameterName, Reader reader) * void setClob(String parameterName, Reader reader) * void setNCharacterStream(String parameterName, Reader value) * void setNClob(String parameterName, Reader reader) [PreparedStatement] * void setNCharacterStream(int parameterIndex, Reader value) * void setNClob(int parameterIndex, Reader reader) [ResultSet] * void updateNCharacterStream(int columIndex, Reader x) * void updateNCharacterStream(String columnName, Reader value) * void updateNClob(int columIndex, Reader reader) * void updateNClob(String columName, Reader reader) In addition to the new methods added, I added a class comment to EmbedResultSet40.java and moved two methods within that file. Note that I have added the not-implemented methods in the JDBC 40 specific classes (where available), while I intend to push the methods we do support to the superclass(es) - ie. CallableStatement.java instead of CallableStatement40.java. I plan to implement the remaining methods, and they will be adressed in separate patches. I have run the jdbc40 suite without failures. This partial patch is ready for review. Thanks, > Add new, lengthless overloads to the streaming api > -------------------------------------------------- > > Key: DERBY-1417 > URL: http://issues.apache.org/jira/browse/DERBY-1417 > Project: Derby > Type: New Feature > Components: JDBC > Versions: 10.2.0.0 > Reporter: Rick Hillegas > Assignee: Kristian Waagan > Fix For: 10.2.0.0 > Attachments: derby-1417-01-castsInTests.diff, > derby-1417-1a-notImplemented.diff, derby-1417-1a-notImplemented.stat > > The JDBC4 Expert Group has approved a new set of overloads for the streaming > methods. These overloads do not take a length argument. Here are the new > overloads: > PreparedStatement.setAsciiStream(int parameterIndex, java.io.InputStream x) > PreparedStatement.setBinaryStream(int parameterIndex, java.io.InputStream x) > PreparedStatement.setCharacterStream(int parameterIndex, java.io.Reader > reader) > PreparedStatement.setNCharacterStream(int parameterIndex, java.io.Reader > reader) > PreparedStatement.setBlob(int parameterIndex, java.io.InputStream inputStream) > PreparedStatement.setClob(int parameterIndex, java.io.Reader reader) > PreparedStatement.setNClob(int parameterIndex, java.io.Reader reader) > CallableStatement.setAsciiStream(java.lang.String parameterName, > java.io.InputStream x) > CallableStatement.setBinaryStream(java.lang.String parameterName, > java.io.InputStream x) > CallableStatement.setCharacterStream(java.lang.String parameterName, > java.io.Reader reader) > CallableStatement.setNCharacterStream(java.lang.String parameterName, > java.io.Reader reader) > CallableStatement.setBlob(java.lang.String parameterName, java.io.InputStream > inputStream) > CallableStatement.setClob(java.lang.String parameterName, java.io.Reader > reader) > CallableStatement.setNClob(java.lang.String parameterName, java.io.Reader > reader) > ResultSet.updateAsciiStream(int columnIndex, java.io.InputStream x) > ResultSet.updateAsciiStream(java.lang.String columnLabel, java.io.InputStream > x) > ResultSet.updateBinaryStream(int columnIndex, java.io.InputStream x) > ResultSet.updateBinaryStream(java.lang.String columnLabel, > java.io.InputStream x, int length) > ResultSet.updateCharacterStream(int columnIndex, java.io.Reader x) > ResultSet.updateCharacterStream(java.lang.String columnLabel, java.io.Reader > x) > ResultSet.updateNCharacterStream(int columnIndex, java.io.Reader x) > ResultSet.updateNCharacterStream(java.lang.String columnLabel, java.io.Reader > x) > ResultSet.updateBlob(int columnIndex, java.io.InputStream inputStream) > ResultSet.updateBlob(java.lang.String columnLabel, java.io.InputStream > inputStream) > ResultSet.updateClob(int columnIndex, java.io.Reader reader) > ResultSet.updateClob(java.lang.String columnLabel, java.io.Reader reader) > ResultSet.updateNClob(int columnIndex, java.io.Reader reader) > ResultSet.updateNClob(java.lang.String columnLabel, java.io.Reader reader) > We should add these new overloads soon so that the build will not break when > this methods turn up in a published Mustang build. -- 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