You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by el...@apache.org on 2006/10/09 22:03:48 UTC

svn commit: r454477 - /incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java

Author: eliast
Date: Mon Oct  9 13:03:48 2006
New Revision: 454477

URL: http://svn.apache.org/viewvc?view=rev&rev=454477
Log:
Cleaning up some queries to include latest thinking in tagagg race conditions.

Modified:
    incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java

Modified: incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java?view=diff&rev=454477&r1=454476&r2=454477
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java Mon Oct  9 13:03:48 2006
@@ -1192,7 +1192,7 @@
 
             ArrayList params = new ArrayList();
             StringBuffer queryString = new StringBuffer();
-            queryString.append("select name, total ");
+            queryString.append("select name, sum(total) ");
             queryString.append("from WeblogEntryTagAggregateData where ");
             if (website != null) {
                 queryString.append("website.id = ? ");
@@ -1205,7 +1205,7 @@
                 params.add(startDate);
             }
 
-            queryString.append("order by total desc");
+            queryString.append("group by name order by total desc");
 
             Query query = session.createQuery(queryString.toString());
             if (limit > 0)
@@ -1270,7 +1270,7 @@
             }
 
             StringBuffer queryString = new StringBuffer();
-            queryString.append("select name, total ");
+            queryString.append("select distinct name, sum(total) ");
             queryString.append("from WeblogEntryTagAggregateData where ");
             if (website != null)
                 queryString.append("website.id = '" + website.getId() + "' ");
@@ -1279,7 +1279,7 @@
             if (startsWith != null && startsWith.length() > 0)
                 queryString.append("and name like '" + startsWith + "%' ");
 
-            queryString.append("order by " + sortBy);
+            queryString.append("group by name order by " + sortBy);
 
             Query query = session.createQuery(queryString.toString());
             if (limit > 0)
@@ -1324,7 +1324,7 @@
         // won't matter
         
         Criteria criteria = session.createCriteria(WeblogEntryTagAggregateData.class)
-            .add(conjunction).addOrder(Order.desc("lastUsed"));
+            .add(conjunction).addOrder(Order.desc("lastUsed")).setMaxResults(1);
         
         WeblogEntryTagAggregateData weblogTagData = (WeblogEntryTagAggregateData) criteria.uniqueResult();
 
@@ -1333,7 +1333,7 @@
         conjunction.add(Restrictions.isNull("website"));
         
         criteria = session.createCriteria(WeblogEntryTagAggregateData.class)
-            .add(conjunction).addOrder(Order.desc("lastUsed"));
+            .add(conjunction).addOrder(Order.desc("lastUsed")).setMaxResults(1);
     
         WeblogEntryTagAggregateData siteTagData = (WeblogEntryTagAggregateData) criteria.uniqueResult();
         
@@ -1367,4 +1367,5 @@
         // delete all bad counts
         session.createQuery("delete from WeblogEntryTagAggregateData where total <= 0").executeUpdate();
     }
+    
 }