[ 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