db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5840) Clean up compiler warnings introduced by using Java 5 language features
Date Tue, 28 May 2013 09:51:21 GMT

    [ 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:
>            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

View raw message