db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-6213) Deprecate support for Java 5 and CDC
Date Fri, 17 May 2013 15:07:16 GMT

     [ https://issues.apache.org/jira/browse/DERBY-6213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rick Hillegas updated DERBY-6213:
---------------------------------

    Attachment: derby-6213-12-aa-lint4-implSqlCatalog-implSqlDepend.diff

Attaching derby-6213-12-aa-lint4-implSqlCatalog-implSqlDepend.diff. This patch generifies
the impl/sql/catalog and impl/sql/depend packages. I am running tests now.

The bulk of the work in this patch involved generifying the DataDictionary. This turned out
to be more than just a mechanical process. I ended up re-factoring the TupleDescriptors in
order to get DataDictionaryImpl.getDescriptorViaIndex() and DataDictionaryImpl.getDescriptorViaHeap()
to work on generic Lists of TupleDescriptors. More specifically, I changed UniqueTupleDescriptor,
UniqueSQLObjectDescriptor, and PrivilegedSQLObject from interfaces into abstract classes and
inserted them in the appropriate place in the hierarchy of TupleDescriptor classes. It may
be possible to further collapse UniqueTupleDescriptor and UniqueSQLObjectDescriptor into a
single class, but I did not want to pursue that investigation at this time.

I gave up on another problem. I wanted to end up with the following relationships:

GenericDescriptorList extends ArrayList<UniqueTupleDescriptor>
ColumnDescriptorList extends ArrayList<ColumnDescriptor>

...hoping they would work with generified DataDictionaryImpl.getDescriptorViaIndex() and DataDictionaryImpl.getDescriptorViaHeap()
methods which operated on List<? extends TupleDescriptor>. However, this caused the
compiler to object:

    [javac]     method Collection.add(CAP#1) is not applicable
    [javac]       (argument mismatch; UUID cannot be converted to CAP#1)
    [javac]     method List.add(CAP#1) is not applicable
    [javac]       (argument mismatch; UUID cannot be converted to CAP#1)
    [javac]     method List.add(int,CAP#1) is not applicable
    [javac]       (actual and formal argument lists differ in length)
    [javac]   where CAP#1 is a fresh type-variable:
    [javac]     CAP#1 extends TupleDescriptor from capture of ? extends TupleDescriptor

I punted by making

GenericDescriptorList extends ArrayList<TupleDescriptor>
ColumnDescriptorList extends ArrayList<TupleDescriptor>

...and by making the DataDictionaryImpl.getDescriptorViaIndex() and DataDictionaryImpl.getDescriptorViaHeap()
methods operate on List<TupleDescriptor> instead. Maybe someone else can figure this
one out.

Touches the following files:

M       java/engine/org/apache/derby/iapi/sql/dictionary/SchemaDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/SPSDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/GenericDescriptorList.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/UniqueTupleDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/ConstraintDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/TableDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/AliasDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/SubConstraintDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/PrivilegedSQLObject.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/TriggerDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/SequenceDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/ViewDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/ConglomerateDescriptorList.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/UniqueSQLObjectDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/DependencyDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/DefaultDescriptor.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/ColumnDescriptorList.java
M       java/engine/org/apache/derby/iapi/sql/dictionary/FileInfoDescriptor.java
M       java/engine/org/apache/derby/impl/sql/compile/CollectNodesVisitor.java
M       java/engine/org/apache/derby/impl/sql/build.xml
M       java/engine/org/apache/derby/impl/sql/depend/BasicDependencyManager.java
M       java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
M       java/engine/org/apache/derby/impl/sql/catalog/RoleClosureIteratorImpl.java
M       java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java

                
> Deprecate support for Java 5 and CDC
> ------------------------------------
>
>                 Key: DERBY-6213
>                 URL: https://issues.apache.org/jira/browse/DERBY-6213
>             Project: Derby
>          Issue Type: Improvement
>          Components: Build tools, Documentation, Javadoc
>    Affects Versions: 10.11.0.0
>            Reporter: Rick Hillegas
>         Attachments: buildbreak2-datasource.diff, buildbreak.diff, client.diff, derby-6213-01-aa-collapsePublishedAPI.diff,
derby-6213-02-aa-org.apache.derby.vti.diff, derby-6213-03-aa-misc.diff, derby-6213-03-ab-misc.diff,
derby-6213-04-aa-vtiPackageOnJava7.diff, derby-6213-05-ab-misc2.diff, derby-6213-06-aa-convertProductToJava6.diff,
derby-6213-06-ab-removeCDC.diff, derby-6213-07-aa-restOfProductExceptJDBC.diff, derby-6213-08-ab-jdbc.diff,
derby-6213-09-ab-lint1.diff, derby-6213-10-aa-lint2-implServices.diff, derby-6213-11-aa-lint3-implStore.diff,
derby-6213-12-aa-lint4-implSqlCatalog-implSqlDepend.diff, revive-sqlxmlutil-target.diff, testcode.diff
>
>
> The developer community has approved the proposal to sunset support for Java 5 and CDC:
http://apache-database.10148.n7.nabble.com/VOTE-Sunsetting-support-for-Java-5-and-CDC-td129832.html#a129925
> This issue tracks a number of tasks needed to implement this proposal:
> I) Remove build support for Java 5 and CDC.
> II) Purge user doc references to Java 5, CDC, and the JDBC 4 DataSources.
> III) Remove the JDBC 4 version of the public api from the published javadoc. The recently
introduced CP2 DataSources would need to migrate to the JDBC 3 version of the published javadoc.
The JDBC 4 versions of the DataSources would still exist, but they would be vacuous extensions
of their JDBC 3 counterparts.
> IV) On the wiki, document our expectation that maintenance releases will support the
same platforms as the original feature release cut from their branch.
> V) Decide what to do with the SimpleMobileApp. Probably we want to just remove this demo
since its purpose is to show how to run Derby on the deprecated CDC platform.

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

Mime
View raw message