[cvs] expresso commit by lhamel: oops, correcting my mistake as I changed

JCorporate Ltd jcorp at jcorporate.com
Mon Aug 15 06:32:52 UTC 2005


Log Message:
-----------
oops, correcting my mistake as I changed string concatenation into append() calls.

Modified Files:
--------------
    expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc:
        JoinedDataObject.java

Revision Data
-------------
Index: JoinedDataObject.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JoinedDataObject.java,v
retrieving revision 1.51
retrieving revision 1.52
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JoinedDataObject.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JoinedDataObject.java -u -r1.51 -r1.52
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JoinedDataObject.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/jdbc/JoinedDataObject.java
@@ -1203,28 +1203,30 @@
                 getDataObjectsInOrder().get(0);
         ArrayList keyFields = primaryObject.getMetaData().getKeyFieldListArray();
 
-        //
-        //Performance improvement.  If there is only one key field, count on it
-        //only.
-        //
         FastStringBuffer myStatement = FastStringBuffer.getInstance();
+
         try {
+            myStatement.append("SELECT COUNT( ");
+            myStatement.append(getDistinct(myPool));  // will be empty string if distinct is not specified for join
+            myStatement.append(" ");
+
             if (keyFields.size() > 1) {
-                myStatement.append("SELECT COUNT( " +
-                myStatement.append(getDistinct(myPool)));
-                myStatement.append(" *) FROM ");
+                myStatement.append("*) FROM ");
             } else {
+                //
+                //Performance improvement.  If there is only one key field, count on it
+                //only.
+                //
                 DataFieldMetaData keymetadata = primaryObject
                         .getFieldMetaData((String)
                         keyFields.get(0));
-                myStatement.append("SELECT COUNT( ");
-                myStatement.append( myStatement.append(getDistinct(myPool)));
+
                 myStatement.append(
                         primaryObject.getJDBCMetaData().getTargetSQLTable(
                                 primaryObject.getDataContext()));
                 myStatement.append(".");
                 myStatement.append( keymetadata.getName() );
-                myStatement.append( ") FROM ");
+                myStatement.append( " ) FROM ");
             }
 
             myStatement.append(this.buildFromClause());


More information about the cvs mailing list