Author: helenxu
Date: Tue Apr 16 18:04:55 2013
New Revision: 1468536
URL: http://svn.apache.org/r1468536
Log:
OPENJPA-2369, eliminate the duplicate call to getUnloadedInternal function.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?rev=1468536&r1=1468535&r2=1468536&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
Tue Apr 16 18:04:55 2013
@@ -3145,11 +3145,13 @@ public class StateManagerImpl implements
FetchConfiguration fetch = _broker.getFetchConfiguration();
FieldMetaData fmd = _meta.getField(field);
BitSet fields = null;
+ boolean unloadedDFGFieldMarked = false;
// if this is a dfg field or we need to load our dfg, do so
- if (fgs && (_flags & FLAG_LOADED) == 0)
+ if (fgs && (_flags & FLAG_LOADED) == 0){
fields = getUnloadedInternal(fetch, LOAD_FGS, null);
-
+ unloadedDFGFieldMarked = true;
+ }
// check for load fetch group
String lfg = fmd.getLoadFetchGroup();
boolean lfgAdded = false;
@@ -3172,7 +3174,8 @@ public class StateManagerImpl implements
}
} else if (fmd.isInDefaultFetchGroup() && fields == null) {
// no load group but dfg: add dfg fields if we haven't already
- fields = getUnloadedInternal(fetch, LOAD_FGS, null);
+ if (!unloadedDFGFieldMarked)
+ fields = getUnloadedInternal(fetch, LOAD_FGS, null);
} else if (!_loaded.get(fmd.getIndex())) {
// no load group or dfg: load individual field
if (fields == null)