db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1417) Add new, lengthless overloads to the streaming api
Date Wed, 28 Jun 2006 09:35:32 GMT
     [ 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


Mime
View raw message