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

Reply via email to