User: dsundstrom Date: 02/01/16 13:10:59 Modified: src/main/org/jboss/ejb/plugins/cmp/jdbc JDBCDeclaredSQLQuery.java JDBCFindAllQuery.java JDBCFindByPrimaryKeyQuery.java JDBCFindByQuery.java JDBCLoadRelationCommand.java Log: Fixed bug where read-ahead strategy was ignored. Revision Changes Path 1.3 +2 -2 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCDeclaredSQLQuery.java Index: JDBCDeclaredSQLQuery.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCDeclaredSQLQuery.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- JDBCDeclaredSQLQuery.java 2002/01/15 21:47:10 1.2 +++ JDBCDeclaredSQLQuery.java 2002/01/16 21:10:58 1.3 @@ -31,7 +31,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Justin Forder</a> * @author <a href="mailto:[EMAIL PROTECTED]">Michel de Groot</a> * @author <a href="[EMAIL PROTECTED]">danch (Dan Christopherson</a> - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public class JDBCDeclaredSQLQuery extends JDBCAbstractQueryCommand { @@ -53,7 +53,7 @@ // set the preload fields JDBCReadAheadMetaData readAhead = metadata.getReadAhead(); - if(getSelectEntity() != null && !readAhead.isOnFind()) { + if(getSelectEntity() != null && readAhead.isOnFind()) { String eagerLoadGroupName = readAhead.getEagerLoadGroup(); setPreloadFields(getSelectEntity().getLoadGroup(eagerLoadGroupName)); } 1.3 +2 -2 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindAllQuery.java Index: JDBCFindAllQuery.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindAllQuery.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- JDBCFindAllQuery.java 2002/01/15 21:45:17 1.2 +++ JDBCFindAllQuery.java 2002/01/16 21:10:58 1.3 @@ -21,7 +21,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a> * @author <a href="mailto:[EMAIL PROTECTED]">Joe Shevland</a> * @author <a href="mailto:[EMAIL PROTECTED]">Justin Forder</a> - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public class JDBCFindAllQuery extends JDBCAbstractQueryCommand { @@ -32,7 +32,7 @@ // set the preload fields JDBCReadAheadMetaData readAhead = q.getReadAhead(); - if(!readAhead.isOnFind()) { + if(readAhead.isOnFind()) { String eagerLoadGroupName = readAhead.getEagerLoadGroup(); setPreloadFields(entity.getLoadGroup(eagerLoadGroupName)); } 1.4 +2 -2 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindByPrimaryKeyQuery.java Index: JDBCFindByPrimaryKeyQuery.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindByPrimaryKeyQuery.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- JDBCFindByPrimaryKeyQuery.java 2002/01/15 22:20:30 1.3 +++ JDBCFindByPrimaryKeyQuery.java 2002/01/16 21:10:58 1.4 @@ -21,7 +21,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a> * @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a> * @author <a href="mailto:[EMAIL PROTECTED]">Justin Forder</a> - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ */ public class JDBCFindByPrimaryKeyQuery extends JDBCAbstractQueryCommand { @@ -34,7 +34,7 @@ // set the preload fields JDBCReadAheadMetaData readAhead = q.getReadAhead(); - if(!readAhead.isOnFind()) { + if(readAhead.isOnFind()) { String eagerLoadGroupName = readAhead.getEagerLoadGroup(); setPreloadFields(entity.getLoadGroup(eagerLoadGroupName)); } 1.3 +2 -2 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindByQuery.java Index: JDBCFindByQuery.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindByQuery.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- JDBCFindByQuery.java 2002/01/15 22:21:19 1.2 +++ JDBCFindByQuery.java 2002/01/16 21:10:58 1.3 @@ -23,7 +23,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Joe Shevland</a> * @author <a href="mailto:[EMAIL PROTECTED]">Justin Forder</a> * @author <a href="mailto:[EMAIL PROTECTED]">danch (Dan Christopherson)</a> - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public class JDBCFindByQuery extends JDBCAbstractQueryCommand { @@ -53,7 +53,7 @@ // set the preload fields JDBCReadAheadMetaData readAhead = q.getReadAhead(); - if(!readAhead.isOnFind()) { + if(readAhead.isOnFind()) { String eagerLoadGroupName = readAhead.getEagerLoadGroup(); setPreloadFields(entity.getLoadGroup(eagerLoadGroupName)); } 1.12 +14 -2 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCLoadRelationCommand.java Index: JDBCLoadRelationCommand.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCLoadRelationCommand.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- JDBCLoadRelationCommand.java 2002/01/15 22:34:17 1.11 +++ JDBCLoadRelationCommand.java 2002/01/16 21:10:58 1.12 @@ -33,7 +33,7 @@ * Loads relations for a particular entity from a relation table. * * @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a> - * @version $Revision: 1.11 $ + * @version $Revision: 1.12 $ */ public class JDBCLoadRelationCommand { private final JDBCStoreManager manager; @@ -315,8 +315,20 @@ if(!cmrField.getReadAhead().isOnFind()) { return Collections.EMPTY_LIST; } + + JDBCCMRFieldBridge relatedCMRField = cmrField.getRelatedCMRField(); String eagerLoadGroup = cmrField.getReadAhead().getEagerLoadGroup(); - return cmrField.getRelatedEntity().getLoadGroup(eagerLoadGroup); + List eagerLoad = relatedCMRField.getEntity().getLoadGroup(eagerLoadGroup); + + // add all the eagerload fields except for the related cmr field + List preloadFields = new ArrayList(eagerLoad.size()); + for(Iterator fields = eagerLoad.iterator(); fields.hasNext();) { + JDBCFieldBridge field = (JDBCFieldBridge)fields.next(); + if(!field.equals(relatedCMRField)) { + preloadFields.add(field); + } + } + return Collections.unmodifiableList(preloadFields); } private String getRelationTable(JDBCCMRFieldBridge cmrField) {
_______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development