You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/05/24 06:51:00 UTC
svn commit: r409070 -
/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java
Author: aadamchik
Date: Tue May 23 21:51:00 2006
New Revision: 409070
URL: http://svn.apache.org/viewvc?rev=409070&view=rev
Log:
caching state in a local var - this method is called in the loop when the objects are fetched, thus its impact registers in the query profile
Modified:
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java?rev=409070&r1=409069&r2=409070&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java Tue May 23 21:51:00 2006
@@ -1914,10 +1914,12 @@
// merge into an existing object
if (cachedObject != null) {
+ int state = cachedObject.getPersistenceState();
+
// TODO: Andrus, 1/24/2006 implement smart merge for modified objects...
if (cachedObject != prototype
- && cachedObject.getPersistenceState() != PersistenceState.MODIFIED
- && cachedObject.getPersistenceState() != PersistenceState.DELETED) {
+ && state != PersistenceState.MODIFIED
+ && state != PersistenceState.DELETED) {
descriptor.injectValueHolders(cachedObject);
@@ -1926,7 +1928,7 @@
descriptor.shallowMerge(prototype, cachedObject);
- if (cachedObject.getPersistenceState() == PersistenceState.HOLLOW) {
+ if (state == PersistenceState.HOLLOW) {
cachedObject.setPersistenceState(PersistenceState.COMMITTED);
}
}