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();
}
+
}