[ http://issues.apache.org/jira/browse/DERBY-1417?page=all ]

Kristian Waagan updated DERBY-1417:
-----------------------------------

    Attachment: derby-1417-3b-embimpl-and-tests.diff
                derby-1417-3b-embimpl-and-tests.stat

Thanks for the review Knut Anders!
My replies follow the order of the questions in your comment.

 - I forgot to duplicate the methods from PreparedStatement40 in
   EmbedCallableStatement40 (no inheritance here). I have added them in the
   new patch. I followed the "policy" of keeping unimplemented methods in the
   JDBC40 specific classes. I still get 21 failures in VerifySignatures, but
   all are in the Brokered* classes.

 - Brokered* methods will be added in a follow-up patch (I feel this patch is
   already too big). Since no JDBC4 tests are picking up these missing methods
   except for the dynamic ones (VerifySignatures, UnsupportedVetter,
   ClosedObjects), I think maybe we should run more of our tests with
   XA/pooled connections. Does anyone else feel the same?

 - I have fixed the JavaDoc errors.

EmbedResultSet.java:
 - Removed "@throws SQLFeatureNotSupported" in JavaDoc.
 
 - Shortened long line.

 - Yes, the switch can be factored out. I decided to put this on hold, as I'm
   not sure what is the best approach. It makes sense to factor out the
   occurences where only the type is checked, and no other action is taken
   based on the type. This is typical for the ResultSet.updateX methods, but
   not for ResultSet.getXStream methods. Not sure if
   DataTypeDescriptor.isJDBCTypeEquivalent() can be used as it is, for
   instance it does not know anything about Types.BLOB.
   The common mechanism should/could also be used across different classes,
   for instance in both EmbedResultSet and EmbedPreparedStatement. So, where
   should it be placed?
   Feel free to add a Jira to track this.

EmbedPreparedStatement.java:
 - Ok. Names changed.

 - Removed "@throws SQLFeatureNotSupported" in JavaDoc.

 - Shortened long line.

 - I removed the comments about DB2 compliance (these were already present
   before my patch).

ReaderToUTF8Stream.java:
 - Was not sure how to handle this. I guess only getting this with debug/sane
   builds is good enough. I replaced the exception with a
   SanityManager.DEBUG block.

Tests:
 - I added DERBY-1524 for the assertEquals-overloads (a sub-task of 1122).

 - This will be added as part of DERBY-1473. Might have to do something on the
   client side also.

In addition to the comments from the review, I changed the following (not
related to my patch):
 - Modified EmbedResultSet.updateAsciiStream(int,InputStream,long) to use
   updateCharacterStreamInternal instead of updateCharacterStream to avoid
   duplicate checks.

 - Removed blank line at the end of EmbedResultSet.java.

 - Corrected spelling error in PreparedStatementTest: Inerted -> Inserted


I reran suite jdbc4. Only saw 3 expected failures: ClosedObjectTest,
UnsupportedVetter and VerifySignatures.
'derby-1417-3b-embimpl-and-tests.diff' is ready for more review and/or commit.

> Add new, lengthless overloads to the streaming api
> --------------------------------------------------
>
>                 Key: DERBY-1417
>                 URL: http://issues.apache.org/jira/browse/DERBY-1417
>             Project: Derby
>          Issue Type: New Feature
>          Components: JDBC
>    Affects Versions: 10.2.0.0
>            Reporter: Rick Hillegas
>         Assigned To: Kristian Waagan
>             Fix For: 10.2.0.0
>
>         Attachments: derby-1417-01-castsInTests.diff, 
> derby-1417-1a-notImplemented.diff, derby-1417-1a-notImplemented.stat, 
> derby-1417-2a-rstest-refactor.diff, derby-1417-3a-embimpl-and-tests.diff, 
> derby-1417-3a-embimpl-and-tests.stat, derby-1417-3b-embimpl-and-tests.diff, 
> derby-1417-3b-embimpl-and-tests.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

        

Reply via email to