
|
If you were logged in you would be able to see more operations.
|
|
|
| Resolution Date: |
05/Oct/06 02:45 AM
|
|
org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.
|
|
Description
|
org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.
|
Show » |
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#453089 |
Thu Oct 05 02:45:37 UTC 2006 |
clr |
JDO-415
Three problems with the original test case are fixed with this patch.
1. As the bug noted, the DataStoreConnection is acquired outside a
transaction, and there is no guarantee that the DataStoreConnection
is even valid after beginning a transaction. The code now acquires
the DataStoreConnection only after beginning a transaction.
2. If the implementation supports Optimistic transactions,
then the test should be repeated for both optimistic and
datastore transactions.
3. The transaction is never committed. This is fixed by putting
the DataStoreConnection close and the transaction.commit into
the finally block.
|
| Files Changed |
MODIFY
/db/jdo/trunk/tck20/src/java/org/apache/jdo/tck/api/persistencemanager/DataStoreConnection.java
|
|