From: <chi...@us...> - 2010-02-25 01:06:35
|
Revision: 10691 http://wonder.svn.sourceforge.net/wonder/?rev=10691&view=rev Author: chillatgvc Date: 2010-02-25 01:06:28 +0000 (Thu, 25 Feb 2010) Log Message: ----------- Restore prefetching functionality broken in rev 10589 and make comments match what the code actually does. Revision Links: -------------- http://wonder.svn.sourceforge.net/wonder/?rev=10589&view=rev Modified Paths: -------------- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/batching/ERXBatchingDisplayGroup.java Modified: trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/batching/ERXBatchingDisplayGroup.java =================================================================== --- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/batching/ERXBatchingDisplayGroup.java 2010-02-24 23:09:30 UTC (rev 10690) +++ trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/batching/ERXBatchingDisplayGroup.java 2010-02-25 01:06:28 UTC (rev 10691) @@ -243,17 +243,17 @@ } /** - * Sets the prefetching key paths for the underlying fetch spec. + * Sets the prefetching key paths to override those in the underlying fetch spec. * - * @param prefetchingRelationshipKeyPaths the prefetching key paths for the underlying fetch spec + * @param prefetchingRelationshipKeyPaths the prefetching key paths to override those in the underlying fetch spec */ public void setPrefetchingRelationshipKeyPaths(NSArray<String> prefetchingRelationshipKeyPaths) { _prefetchingRelationshipKeyPaths = prefetchingRelationshipKeyPaths; } /** - * Returns the prefetching key paths for the underlying fetch spec. - * @return the prefetching key paths for the underlying fetch spec + * Returns the prefetching key paths overriding those in the underlying fetch spec. + * @return the prefetching key paths overriding those in the underlying fetch spec */ public NSArray<String> prefetchingRelationshipKeyPaths() { return _prefetchingRelationshipKeyPaths; @@ -340,11 +340,12 @@ */ protected NSArray<T> objectsInRange(int start, int end) { EOEditingContext ec = dataSource().editingContext(); - EOFetchSpecification spec = fetchSpecification(); - spec = (EOFetchSpecification) spec.clone(); - spec.setPrefetchingRelationshipKeyPaths(_prefetchingRelationshipKeyPaths); - NSArray result = null; - result = ERXEOControlUtilities.objectsInRange(ec, spec, start, end); + EOFetchSpecification spec = (EOFetchSpecification)fetchSpecification().clone(); + if (_prefetchingRelationshipKeyPaths != null && _prefetchingRelationshipKeyPaths.count() > 0) { + spec.setPrefetchingRelationshipKeyPaths(_prefetchingRelationshipKeyPaths); + } + + NSArray result = ERXEOControlUtilities.objectsInRange(ec, spec, start, end); // WAS: fetch the primary keys, turn them into faults, then batch-fetch all // the non-resident objects //NSArray primKeys = ERXEOControlUtilities.primaryKeyValuesInRange(ec, spec, start, end); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |