You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2013/05/15 19:11:15 UTC

[jira] [Comment Edited] (DERBY-6213) Deprecate support for Java 5 and CDC

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

Rick Hillegas edited comment on DERBY-6213 at 5/15/13 5:09 PM:
---------------------------------------------------------------

Attaching derby-6213-11-aa-lint3-implStore.diff. This patch generifies the impl/store packages. I am running tests now.

Generifying RAMTransaction disclosed a mis-factoring of the Store interfaces which we may want to correct. It appears to have been around since Nat wrote the original Store code 16 years ago. Nat seems to have been aware of this because he included this comment in the variables section of RAMTransaction:

	// XXX (nat) management of the controllers is still embryonic.
	// XXX (nat) would be nice if sort controllers were like conglom controllers

This mis-factoring may indicate a future brittleness which needs to be fixed. I don't think the mis-factoring actually causes a bug today. The problem appeared when I gave RAMTransaction.storeControllers the refined type of ArrayList<ScanManager>. This is the type which that variable needs in order to satisfy the loop in closeControllers(). But this caused two problems:

1) In RAMTransaction.openSortScan(), the return type of Sort.openSortScan() was ScanController rather than ScanManager. That I fixed by changing the type of Sort.openSortScan() to ScanManager (all of its implementations actually return SortManager).

2) In RAMTransaction.openSortRowSource(), the return type of Sort.openSortRowSource() is also not a ScanManager. The Sort implementations actually return a ScanManager but I didn't want to just adjust the return type. I think this needs to be looked at.


Touches the following files:

M       java/engine/org/apache/derby/iapi/store/access/conglomerate/Sort.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeScan.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeSort.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeInserter.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeScanRowSource.java
M       java/engine/org/apache/derby/impl/store/access/PropertyConglomerate.java
M       java/engine/org/apache/derby/impl/store/access/RAMTransaction.java
M       java/engine/org/apache/derby/impl/store/access/RAMAccessManager.java
M       java/engine/org/apache/derby/impl/store/raw/xact/Xact.java
M       java/engine/org/apache/derby/impl/store/raw/xact/TransactionMapFactory.java
M       java/engine/org/apache/derby/impl/store/raw/xact/ConcurrentTransactionMapFactory.java
M       java/engine/org/apache/derby/impl/store/raw/xact/XactXAResourceManager.java
M       java/engine/org/apache/derby/impl/store/raw/xact/TransactionTable.java
M       java/engine/org/apache/derby/impl/store/raw/log/LogAccessFile.java
M       java/engine/org/apache/derby/impl/store/raw/log/LogToFile.java
M       java/engine/org/apache/derby/impl/store/raw/RawStore.java
M       java/engine/org/apache/derby/impl/store/raw/data/MemByteHolder.java
M       java/engine/org/apache/derby/impl/store/raw/data/BaseDataFileFactory.java
M       java/engine/org/apache/derby/impl/store/raw/data/StreamFileContainer.java
M       java/engine/org/apache/derby/impl/store/raw/data/EncryptOrDecryptData.java
M       java/engine/org/apache/derby/impl/store/raw/data/RFResource.java
M       java/engine/org/apache/derby/impl/store/raw/data/RAFContainer.java
M       java/engine/org/apache/derby/impl/store/replication/net/ReplicationMessageTransmit.java
M       java/engine/org/apache/derby/impl/store/replication/net/ReplicationMessageReceive.java
M       java/engine/org/apache/derby/impl/store/replication/buffer/ReplicationLogBuffer.java
M       java/engine/org/apache/derby/impl/store/build.xml

                
      was (Author: rhillegas):
    Attaching derby-6213-11-aa-lint3-implStore.diff. This patch generifies the impl/store packages. I am running tests now.

Generifying RAMTransaction disclosed a mis-factoring of the Store interfaces which we may want to correct. It appears to have been around since Nat wrote the original Store code 16 years ago. Nat seems to have been aware of this because he included this comment in the variables section of RAMTransaction:

	// XXX (nat) management of the controllers is still embryonic.
	// XXX (nat) would be nice if sort controllers were like conglom controllers

This mis-factoring may indicate a future brittleness which needs to be fixed. I don't think the mis-factoring actually causes a bug today. The problem appeared when I gave RAMTransaction.storeControllers the refined type of ArrayList<ScanManager>. This is the type which that variable needs in order to satisfy the loop in closeControllers(). But this caused two problems:

1) In RAMTransaction.openSortScan(), the return type of Sort.openSortScan() was SortController rather than SortManager. That I fixed by changing the type of Sort.openSortScan() to SortManager (all of its implementations actually return SortManager).

2) In RAMTransaction.openSortRowSource(), the return type of Sort.openSortRowSource() is also not a ScanManager. The Sort implementations actually return a ScanManager but I didn't want to just adjust the return type. I think this needs to be looked at.


Touches the following files:

M       java/engine/org/apache/derby/iapi/store/access/conglomerate/Sort.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeScan.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeSort.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeInserter.java
M       java/engine/org/apache/derby/impl/store/access/sort/MergeScanRowSource.java
M       java/engine/org/apache/derby/impl/store/access/PropertyConglomerate.java
M       java/engine/org/apache/derby/impl/store/access/RAMTransaction.java
M       java/engine/org/apache/derby/impl/store/access/RAMAccessManager.java
M       java/engine/org/apache/derby/impl/store/raw/xact/Xact.java
M       java/engine/org/apache/derby/impl/store/raw/xact/TransactionMapFactory.java
M       java/engine/org/apache/derby/impl/store/raw/xact/ConcurrentTransactionMapFactory.java
M       java/engine/org/apache/derby/impl/store/raw/xact/XactXAResourceManager.java
M       java/engine/org/apache/derby/impl/store/raw/xact/TransactionTable.java
M       java/engine/org/apache/derby/impl/store/raw/log/LogAccessFile.java
M       java/engine/org/apache/derby/impl/store/raw/log/LogToFile.java
M       java/engine/org/apache/derby/impl/store/raw/RawStore.java
M       java/engine/org/apache/derby/impl/store/raw/data/MemByteHolder.java
M       java/engine/org/apache/derby/impl/store/raw/data/BaseDataFileFactory.java
M       java/engine/org/apache/derby/impl/store/raw/data/StreamFileContainer.java
M       java/engine/org/apache/derby/impl/store/raw/data/EncryptOrDecryptData.java
M       java/engine/org/apache/derby/impl/store/raw/data/RFResource.java
M       java/engine/org/apache/derby/impl/store/raw/data/RAFContainer.java
M       java/engine/org/apache/derby/impl/store/replication/net/ReplicationMessageTransmit.java
M       java/engine/org/apache/derby/impl/store/replication/net/ReplicationMessageReceive.java
M       java/engine/org/apache/derby/impl/store/replication/buffer/ReplicationLogBuffer.java
M       java/engine/org/apache/derby/impl/store/build.xml

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