[ 
https://issues.apache.org/jira/browse/DERBY-5840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13668214#comment-13668214
 ] 

Knut Anders Hatlen commented on DERBY-5840:
-------------------------------------------

I'm not planning any more work on this issue.

We currently have three occurrences of @SuppressWarnings("unchecked") in the 
code:

- UserType.compare() (unreachable code, I believe, see DERBY-4470)
- UserDefinedAggregator.accumulate()
- UserDefinedAggregator.merge()

All of these warnings happen when some instance of a user-defined class is cast 
to a generic interface type (either java.util.Comparable or 
org.apache.derby.agg.Aggregator). I don't see any obvious way to prevent these 
unchecked casts, so for now we'll just have to accept that the compiler cannot 
prove this code to type-safe, and keep the annotations.

There are also three occurrences of @SuppressWarnings("deprecation"):

- ParameterMappingTest.getXXX()
- ParameterMappingTest.setUnicodeStream()
- ClientClob.reInitForNonLocator()

The deprecation warnings in ParameterMappingTest happen because we test 
deprecated JDBC methods. We should test all JDBC methods that Derby implements, 
so the right thing to do is to continue calling the deprecated methods and 
suppress the warnings.

The code that causes the deprecation warning in ClientClob is only used when 
the client talks to an old server that doesn't support locators. That is, a 
server whose data dictionary version is 10.2 or older. Modernizing legacy code 
that's probably hardly used anymore, doesn't have very high priority, so I 
think it's OK to suppress this warning for now.
                
> Clean up compiler warnings introduced by using Java 5 language features
> -----------------------------------------------------------------------
>
>                 Key: DERBY-5840
>                 URL: https://issues.apache.org/jira/browse/DERBY-5840
>             Project: Derby
>          Issue Type: Improvement
>          Components: Miscellaneous
>    Affects Versions: 10.10.1.1
>            Reporter: Rick Hillegas
>         Attachments: derby-5840-01-aa-compatibilityTests.diff, 
> derby-5840-02-aa-compatibilityTests-again.diff.txt, 
> derby-5840-03-aa-drda.diff, derby-5840-03-ab-drda.diff, 
> derby-5840-04-aa-client-level.diff, derby-5840-05-aa-client-deprecation.diff, 
> derby-5840-06-aa-jdbc3-stubs.diff, derby-5840-07-aa-drda-for-each.diff, 
> derby-5840-08-aa-jdbc3-embedded.diff, 
> derby-5840-09-aa-test-deprecation-and-unchecked.diff, 
> derby-5840-10-aa-derbynet-perf-system.diff, 
> derby-5840-11-aa-engine-i18n-store-tools.diff, derby-5840-12-aa-jdbcapi.diff, 
> derby-5840-13-aa.diff, derby-5840-13-aa-remove-suppression.diff, 
> derby-5840-14-aa-bigdecimal.diff, derby-5840-15-aa-more-suppressions.diff, 
> derby-5840-16-aa-class-size-catalog.diff, 
> derby-5840-17-aa-property-conglomerate.diff, derby-5840-18-aa-arrayutil.diff, 
> derby-5840-19-aa-ddutils.diff, derby-5840-20-aa-collectnodes.diff, 
> derby-5840-21-aa-arrays.diff, derby-5840-22-aa-grouped-aggregates.diff, 
> derby-5840-23-aa-parsers.diff, derby-5840-24-aa-clone.diff, 
> derby-5840-25-aa-diskhashtable.diff, 
> derby-5840-26-aa-backingstorehashtable.diff, derby-5840-27-aa-basemonitor.diff
>
>
> Using Java 5 language features forces us to compile code at level 5 or 
> higher. At this level, the compiler raises warnings not seen at lower levels. 
> This issue is a place to discuss and attach cleanup to eliminate these 
> warnings.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to