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

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Jan 29 14:07:08 EST 2008


Author: justi9
Date: 2008-01-29 14:07:08 -0500 (Tue, 29 Jan 2008)
New Revision: 1621

Modified:
   mgmt/cumin/python/cumin/broker.py
Log:
Use a correlated subquery instead of a join.  We were getting
duplicate rows back when a broker was in more than one group.



Modified: mgmt/cumin/python/cumin/broker.py
===================================================================
--- mgmt/cumin/python/cumin/broker.py	2008-01-29 18:14:33 UTC (rev 1620)
+++ mgmt/cumin/python/cumin/broker.py	2008-01-29 19:07:08 UTC (rev 1621)
@@ -25,10 +25,6 @@
         self.add_sql_column("id", "b.id")
         self.add_sql_column("name", "b.name")
 
-        self.add_sql_join("broker_group_mapping bgm",
-                          "bgm.broker_registration_id",
-                          "b.id")
-
         self.ids = CheckboxIdColumn(app, "id")
         self.add_column(self.ids)
         self.add_form_parameter(self.ids)
@@ -498,8 +494,13 @@
             #cluster = self.parent.cluster.get(session)
 
             if group:
-                elems.append("bgm.broker_group_id = %i" % group.id)
+                subquery = \
+                    "select 1 from broker_group_mapping " + \
+                    "where broker_group_id = %i "  % group.id + \
+                    "and broker_registration_id = b.id"
 
+                elems.append("exists (%s)" % subquery)
+
             if elems:
                 return "where %s" % " and ".join(elems)
 




More information about the rhmessaging-commits mailing list