Bug 237999 - Duplicate SQL is generated on reading object tree through
UnitOfWork with beginEarlyTransaction
The following fix for 237999 has been checked in, and was previously
reviewed. Patch files for core and testing were uploaded to the bug.
https://bugs.eclipse.org/237999
Code review: James
Description:
Duplicate SQL is generated because UnitOfWork cache checks are not
being
performed when an early UnitOfWork transaction is begun. This occurs
whilst
reading a tree of related non-indirection-enabled objects using the
aforementioned UnitOfWork.
ObjectLevelReadQuery does not check the UnitOfWork cache when an early
transaction is in place. the UoW cannot utilize the shared parent
session cache
because an early transaction has been started.
Changes:
- Added countOccurrencesOf(Object, List) API to Helper (for testing)
- Always call checkEarlyReturnImpl() within checkEarlyReturn() in
ObjectLevelReadQuery when called on UnitOfWork, removed checks.
Tests:
- Added testcases for ZeroPrimaryKeyExistenceCheckTest and
TransactionIsolationBuildObjectCacheHitTest
- LRG (OK)
--
David Minsky | Senior Member of Technical Staff | (613)
288-4605
Oracle Server Technologies DDR
45 O'Connor Street, Suite 400, Ottawa, Ontario, Canada K1P 1A4
|