[
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