[rhmessaging-commits] rhmessaging commits: r1452 - mgmt/cumin/python/cumin.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Dec 11 10:23:34 EST 2007


Author: justi9
Date: 2007-12-11 10:23:33 -0500 (Tue, 11 Dec 2007)
New Revision: 1452

Modified:
   mgmt/cumin/python/cumin/broker.py
   mgmt/cumin/python/cumin/queue.py
Log:
Try to avoid generating so many queries.

The change to ExchangeInputSet should avoid half of the per-row stats
queries, but it dowsn't.  Still working on that.



Modified: mgmt/cumin/python/cumin/broker.py
===================================================================
--- mgmt/cumin/python/cumin/broker.py	2007-12-10 21:50:07 UTC (rev 1451)
+++ mgmt/cumin/python/cumin/broker.py	2007-12-11 15:23:33 UTC (rev 1452)
@@ -42,11 +42,14 @@
         self.add_child(self.paginator)
 
     def get_title(self, session, model):
-        return "Brokers %s" % fmt_count(BrokerRegistration.select().count())
+        return "Brokers %s" % fmt_count(self.get_item_count(session, model))
 
+    def get_item_count(self, session, model):
+        return BrokerRegistration.select().count()
+
     def do_get_items(self, session, model):
         start, end = self.paginator.get_bounds(session)
-        return BrokerRegistration.select()[start:end]
+        return BrokerRegistration.select(orderBy="name")[start:end]
 
     def do_process(self, session, model):
         if self.submit.get(session):
@@ -70,7 +73,8 @@
 
             self.page().set_redirect_url(session, session.marshal())
         else:
-            self.paginator.set_count(session, BrokerRegistration.select().count())
+            count = self.get_item_count(session, model)
+            self.paginator.set_count(session, count)
 
     def render_action_param_name(self, session, broker):
         return self.action.path()

Modified: mgmt/cumin/python/cumin/queue.py
===================================================================
--- mgmt/cumin/python/cumin/queue.py	2007-12-10 21:50:07 UTC (rev 1451)
+++ mgmt/cumin/python/cumin/queue.py	2007-12-11 15:23:33 UTC (rev 1452)
@@ -4,6 +4,7 @@
 from wooly.forms import *
 from wooly.resources import *
 from datetime import datetime
+from sqlobject.sqlbuilder import LEFTJOINOn
 
 from exchange import ExchangeInputSet
 from stat import *
@@ -43,6 +44,7 @@
         if vhost:
             start, end = self.paginator.get_bounds(session)
             return Queue.select(Queue.q.vhostID == vhost.id,
+                                join=LEFTJOINOn(None, QueueStats, Queue.q.statsCurrID == QueueStats.q.id),
                                 orderBy="name")[start:end]
 
     def render_item_link(self, session, queue):




More information about the rhmessaging-commits mailing list