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 2012/05/05 12:01:17 UTC
svn commit: r1334371 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src:
main/java/org/apache/cayenne/access/
main/java/org/apache/cayenne/configuration/
main/java/org/apache/cayenne/configuration/server/
test/java/org/apache/cayenne/ te...
Author: aadamchik
Date: Sat May 5 10:01:16 2012
New Revision: 1334371
URL: http://svn.apache.org/viewvc?rev=1334371&view=rev
Log:
CAY-1700 Split long DISJOINT_BY_ID prefetch query on several smaller queries
patch by Andrei Veprev
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierTest.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/SimpleIdIncrementalFaultList.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/Constants.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListTest.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java Sat May 5 10:01:16 2012
@@ -44,6 +44,7 @@ import org.apache.cayenne.QueryResponse;
import org.apache.cayenne.access.util.IteratedSelectObserver;
import org.apache.cayenne.cache.NestedQueryCache;
import org.apache.cayenne.configuration.CayenneRuntime;
+import org.apache.cayenne.configuration.RuntimeProperties;
import org.apache.cayenne.event.EventManager;
import org.apache.cayenne.graph.ChildDiffLoader;
import org.apache.cayenne.graph.CompoundDiff;
@@ -202,6 +203,15 @@ public class DataContext extends BaseCon
}
/**
+ * Returns runtime properties fetched from parent data domain.
+ *
+ * @since 3.1
+ */
+ public RuntimeProperties getRuntimeProperties() {
+ return getParentDataDomain().getRuntimeProperties();
+ }
+
+ /**
* Sets a DataContextDelegate for this context. Delegate is notified of certain events
* in the DataContext lifecycle and can customize DataContext behavior.
*
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java Sat May 5 10:01:16 2012
@@ -27,6 +27,7 @@ import java.util.Map;
import org.apache.cayenne.ObjectContext;
import org.apache.cayenne.PersistenceState;
import org.apache.cayenne.Persistent;
+import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.ObjectIdQuery;
import org.apache.cayenne.query.Query;
@@ -107,12 +108,17 @@ class DataContextQueryAction extends Obj
if (metadata.getPageSize() > 0) {
DbEntity dbEntity = metadata.getDbEntity();
- List<?> paginatedList = dbEntity != null
- && dbEntity.getPrimaryKeys().size() == 1
- ? new SimpleIdIncrementalFaultList<Object>(
- (DataContext) actingContext,
- query)
- : new IncrementalFaultList<Object>((DataContext) actingContext, query);
+ Integer maxIdQualifierSize = actingDataContext
+ .getRuntimeProperties().getInt(Constants.SERVER_MAX_ID_QUALIFIER_SIZE_PROPERTY, -1);
+ List<?> paginatedList;
+ if (dbEntity != null && dbEntity.getPrimaryKeys().size() == 1) {
+ paginatedList = new SimpleIdIncrementalFaultList<Object>(
+ (DataContext) actingContext, query, maxIdQualifierSize);
+ }
+ else {
+ paginatedList = new IncrementalFaultList<Object>(
+ (DataContext) actingContext, query, maxIdQualifierSize);
+ }
response = new ListResponse(paginatedList);
return DONE;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java Sat May 5 10:01:16 2012
@@ -38,7 +38,9 @@ import org.apache.cayenne.QueryResponse;
import org.apache.cayenne.access.jdbc.BatchQueryBuilderFactory;
import org.apache.cayenne.cache.NestedQueryCache;
import org.apache.cayenne.cache.QueryCache;
+import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.configuration.ObjectContextFactory;
+import org.apache.cayenne.configuration.RuntimeProperties;
import org.apache.cayenne.di.BeforeScopeEnd;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.event.EventManager;
@@ -76,6 +78,9 @@ public class DataDomain implements Query
@Inject
protected JdbcEventLogger jdbcEventLogger;
+ @Inject
+ protected RuntimeProperties runtimeProperties;
+
/**
* @since 3.1
*/
@@ -937,6 +942,15 @@ public class DataDomain implements Query
return jdbcEventLogger;
}
+ /**
+ * Returns global runtime properties for this data domain.
+ *
+ * @since 3.1
+ */
+ public RuntimeProperties getRuntimeProperties() {
+ return runtimeProperties;
+ }
+
void refreshEntitySorter() {
if (entitySorter != null) {
entitySorter.setEntityResolver(getEntityResolver());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java Sat May 5 10:01:16 2012
@@ -19,6 +19,7 @@
package org.apache.cayenne.access;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -28,6 +29,7 @@ import java.util.Set;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.DataRow;
import org.apache.cayenne.Persistent;
+import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.exp.Expression;
import org.apache.cayenne.exp.ExpressionFactory;
import org.apache.cayenne.map.DbJoin;
@@ -136,10 +138,6 @@ class HierarchicalObjectResolver {
.getParent();
ObjRelationship relationship = processorNode.getIncoming().getRelationship();
- PrefetchSelectQuery query = new PrefetchSelectQuery(
- node.getPath(),
- relationship);
-
List<DbRelationship> dbRelationships = relationship.getDbRelationships();
DbRelationship lastDbRelationship = dbRelationships.get(0);
@@ -170,10 +168,26 @@ class HierarchicalObjectResolver {
parentDataRows = parentProcessorNode.getDataRows();
}
- for (Object dataRow : parentDataRows) {
+ int maxIdQualifierSize = context.getRuntimeProperties()
+ .getInt(Constants.SERVER_MAX_ID_QUALIFIER_SIZE_PROPERTY, -1);
+
+ List<PrefetchSelectQuery> queries = new ArrayList<PrefetchSelectQuery>();
+ int qualifiersCount = 0;
+ PrefetchSelectQuery currentQuery = null;
+ for (Object dataRow : parentDataRows) {
Expression allJoinsQualifier = null;
- for (DbJoin join : lastDbRelationship.getJoins()) {
+ List<DbJoin> joins = lastDbRelationship.getJoins();
+
+ // handling too big qualifiers
+ if (currentQuery == null
+ || (maxIdQualifierSize > 0 && qualifiersCount + joins.size() > maxIdQualifierSize)) {
+ currentQuery = new PrefetchSelectQuery(node.getPath(), relationship);
+ queries.add(currentQuery);
+ qualifiersCount = 0;
+ }
+
+ for (DbJoin join : joins) {
Object targetValue = ((DataRow) dataRow).get(join.getSourceName());
Expression joinQualifier = ExpressionFactory.matchDbExp(pathPrefix
@@ -186,23 +200,27 @@ class HierarchicalObjectResolver {
}
}
- query.orQualifier(allJoinsQualifier);
+ currentQuery.orQualifier(allJoinsQualifier);
+ qualifiersCount += joins.size();
}
- // need to pass the remaining tree to make joint prefetches work
PrefetchTreeNode jointSubtree = node.cloneJointSubtree();
- if (jointSubtree.hasChildren()) {
- query.setPrefetchTree(jointSubtree);
- }
- query.setFetchingDataRows(true);
- if (relationship.isSourceIndependentFromTargetChange()) {
- // setup extra result columns to be able to relate result rows to the
- // parent result objects.
- query.addResultPath("db:" + relationship.getReverseDbRelationshipPath());
- }
+ List dataRows = new ArrayList();
+ for (PrefetchSelectQuery query : queries) {
+ // need to pass the remaining tree to make joint prefetches work
+ if (jointSubtree.hasChildren()) {
+ query.setPrefetchTree(jointSubtree);
+ }
- List dataRows = context.performQuery(query);
+ query.setFetchingDataRows(true);
+ if (relationship.isSourceIndependentFromTargetChange()) {
+ // setup extra result columns to be able to relate result rows to the
+ // parent result objects.
+ query.addResultPath("db:" + relationship.getReverseDbRelationshipPath());
+ }
+ dataRows.addAll(context.performQuery(query));
+ }
processorNode.setDataRows(dataRows);
return startDisjointPrefetch(node);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java Sat May 5 10:01:16 2012
@@ -76,7 +76,7 @@ public class IncrementalFaultList<E> imp
* Defines the upper limit on the size of fetches. This is needed to avoid where
* clause size limitations.
*/
- protected int maxFetchSize = 10000;
+ protected int maxFetchSize;
// Don't confuse this with the JDBC ResultSet fetch size setting - this controls
// the where clause generation that is necessary to fetch specific records a page
@@ -91,8 +91,9 @@ public class IncrementalFaultList<E> imp
* objects.
* @param query Main query used to retrieve data. Must have "pageSize" property set to
* a value greater than zero.
+ * @param maxFetchSize maximum number of fetches in one query
*/
- public IncrementalFaultList(DataContext dataContext, Query query) {
+ public IncrementalFaultList(DataContext dataContext, Query query, int maxFetchSize) {
QueryMetadata metadata = query.getMetaData(dataContext.getEntityResolver());
if (metadata.getPageSize() <= 0) {
throw new CayenneRuntimeException("Not a paginated query; page size: "
@@ -121,6 +122,8 @@ public class IncrementalFaultList<E> imp
List<Object> elementsUnsynced = new ArrayList<Object>();
fillIn(query, elementsUnsynced);
this.elements = Collections.synchronizedList(elementsUnsynced);
+
+ this.maxFetchSize = maxFetchSize;
}
/**
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/SimpleIdIncrementalFaultList.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/SimpleIdIncrementalFaultList.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/SimpleIdIncrementalFaultList.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/SimpleIdIncrementalFaultList.java Sat May 5 10:01:16 2012
@@ -38,8 +38,8 @@ class SimpleIdIncrementalFaultList<E> ex
protected DbAttribute pk;
- SimpleIdIncrementalFaultList(DataContext dataContext, Query query) {
- super(dataContext, query);
+ SimpleIdIncrementalFaultList(DataContext dataContext, Query query, int maxFetchSize) {
+ super(dataContext, query, maxFetchSize);
Collection<DbAttribute> pks = rootEntity.getDbEntity().getPrimaryKeys();
if (pks.size() != 1) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/Constants.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/Constants.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/Constants.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/Constants.java Sat May 5 10:01:16 2012
@@ -132,4 +132,11 @@ public interface Constants {
*/
public static final String SERVER_ROP_EVENT_BRIDGE_FACTORY_PROPERTY = "cayenne.server.rop_event_bridge_factory";
+ /**
+ * A property that defines a maximum number of ID qualifiers in where clause of queries
+ * that are generated for example in {@link org.apache.cayenne.access.IncrementalFaultList}
+ * or in DISJOINT_BY_ID prefetch processing. This is needed to avoid where
+ * clause size limitations and memory usage efficiency.
+ */
+ public static final String SERVER_MAX_ID_QUALIFIER_SIZE_PROPERTY = "cayenne.server.max_id_qualifier_size";
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java Sat May 5 10:01:16 2012
@@ -97,6 +97,8 @@ import org.apache.cayenne.resource.Resou
*/
public class ServerModule implements Module {
+ private static final int DEFAULT_MAX_ID_QUALIFIER_SIZE = 10000;
+
protected String[] configurationLocations;
/**
@@ -118,8 +120,9 @@ public class ServerModule implements Mod
public void configure(Binder binder) {
- // configure empty global stack properties
- binder.bindMap(Constants.PROPERTIES_MAP);
+ // configure global stack properties
+ binder.bindMap(Constants.PROPERTIES_MAP)
+ .put(Constants.SERVER_MAX_ID_QUALIFIER_SIZE_PROPERTY, String.valueOf(DEFAULT_MAX_ID_QUALIFIER_SIZE));
binder.bind(JdbcEventLogger.class).to(CommonsJdbcEventLogger.class);
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierTest.java?rev=1334371&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierTest.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierTest.java Sat May 5 10:01:16 2012
@@ -0,0 +1,91 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.access.DataContext;
+import org.apache.cayenne.configuration.Constants;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.PrefetchTreeNode;
+import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.testmap.Bag;
+import org.apache.cayenne.testdo.testmap.Box;
+import org.apache.cayenne.unit.di.DataChannelInterceptor;
+import org.apache.cayenne.unit.di.UnitTestClosure;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class DataContextMaxIdQualifierTest extends ServerCase {
+ @Inject
+ protected DataContext context;
+
+ @Inject
+ protected DBHelper dbHelper;
+
+ @Inject
+ protected DataChannelInterceptor queryInterceptor;
+
+ protected TableHelper tBag;
+ protected TableHelper tBox;
+
+ static {
+ System.setProperty(Constants.SERVER_MAX_ID_QUALIFIER_SIZE_PROPERTY, "100");
+ }
+
+ @Override
+ protected void setUpAfterInjection() throws Exception {
+ dbHelper.deleteAll("BALL");
+ dbHelper.deleteAll("BOX_THING");
+ dbHelper.deleteAll("THING");
+ dbHelper.deleteAll("BOX_INFO");
+ dbHelper.deleteAll("BOX");
+ dbHelper.deleteAll("BAG");
+
+ tBag = new TableHelper(dbHelper, "BAG");
+ tBag.setColumns("ID", "NAME");
+
+ tBox = new TableHelper(dbHelper, "BOX");
+ tBox.setColumns("ID", "BAG_ID", "NAME");
+ }
+
+ public void testDisjointByIdPrefetch() throws Exception {
+ for (int i = 0; i < 1000; i++) {
+ tBag.insert(i + 1, "bag" + (i + 1));
+ tBox.insert(i + 1, i + 1, "box" + (i + 1));
+ }
+
+ final SelectQuery query = new SelectQuery(Bag.class);
+ query.addPrefetch(Bag.BOXES_PROPERTY)
+ .setSemantics(PrefetchTreeNode.DISJOINT_BY_ID_PREFETCH_SEMANTICS);
+
+ int queriesCount = queryInterceptor.runWithQueryCounter(new UnitTestClosure() {
+ public void execute() {
+ context.performQuery(query);
+ }
+ });
+
+ assertEquals(11, queriesCount);
+ }
+
+ public void testIncrementalFaultList() throws Exception {
+ tBag.insert(1, "bag1");
+ for (int i = 0; i < 1000; i++) {
+ tBox.insert(i + 1, 1, "box" + (i + 1));
+ }
+
+ final SelectQuery query = new SelectQuery(Box.class);
+ query.setPageSize(100);
+ int queriesCount = queryInterceptor.runWithQueryCounter(new UnitTestClosure() {
+ public void execute() {
+ final List<Box> boxes = context.performQuery(query);
+ List<Box> tempList = new ArrayList<Box>();
+ tempList.addAll(boxes);
+ }
+ });
+
+ assertEquals(11, queriesCount);
+ }
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsTest.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsTest.java Sat May 5 10:01:16 2012
@@ -69,7 +69,7 @@ public class SimpleIdIncrementalFaultLis
q.setFetchingDataRows(true);
q.addOrdering("db:ARTIST_ID", SortOrder.ASCENDING);
- list = new SimpleIdIncrementalFaultList<Object>(context, q);
+ list = new SimpleIdIncrementalFaultList<Object>(context, q, 10000);
}
protected void createArtistsDataSet() throws Exception {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListTest.java?rev=1334371&r1=1334370&r2=1334371&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListTest.java Sat May 5 10:01:16 2012
@@ -96,7 +96,7 @@ public class SimpleIdIncrementalFaultLis
query.setPageSize(10);
SimpleIdIncrementalFaultList<Artist> list = new SimpleIdIncrementalFaultList<Artist>(
context,
- query);
+ query, 10000);
assertEquals(25, list.size());
@@ -117,7 +117,7 @@ public class SimpleIdIncrementalFaultLis
// by the page size, to test the last smaller page
query.setPageSize(pageSize);
query.addOrdering("db:ARTIST_ID", SortOrder.ASCENDING);
- return new SimpleIdIncrementalFaultList<Object>(context, query);
+ return new SimpleIdIncrementalFaultList<Object>(context, query, 10000);
}
public void testSize() throws Exception {
@@ -172,7 +172,7 @@ public class SimpleIdIncrementalFaultLis
SimpleIdIncrementalFaultList<?> list = new SimpleIdIncrementalFaultList<Object>(
context,
- q);
+ q, 10000);
assertSame(newArtist, list.get(25));
}