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