[rhmessaging-commits] rhmessaging commits: r3893 - mgmt/newdata/rosemary/python/rosemary.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Apr 6 12:39:43 EDT 2010


Author: eallen
Date: 2010-04-06 12:39:42 -0400 (Tue, 06 Apr 2010)
New Revision: 3893

Modified:
   mgmt/newdata/rosemary/python/rosemary/sqlquery.py
Log:
Added ability to do a Group By on an SqlQuery

Modified: mgmt/newdata/rosemary/python/rosemary/sqlquery.py
===================================================================
--- mgmt/newdata/rosemary/python/rosemary/sqlquery.py	2010-04-06 16:37:42 UTC (rev 3892)
+++ mgmt/newdata/rosemary/python/rosemary/sqlquery.py	2010-04-06 16:39:42 UTC (rev 3893)
@@ -10,6 +10,7 @@
 
         self.order_by = self.OrderBy()
         self.limit = self.Limit()
+        self.group_by = self.GroupBy()
 
         self.joins = list()
         self.filters = list()
@@ -43,6 +44,9 @@
             tokens.append("where %s" % " and ".join(filters))
 
         if options:
+            if options.group_column:
+                tokens.append(self.group_by.emit(options.group_column))
+
             if options.sort_column:
                 tokens.append(self.order_by.emit(options.sort_column,
                                                  options.sort_ascending))
@@ -69,8 +73,15 @@
 
             return "limit %s offset %i" % (str(limit), offset)
 
+    class GroupBy(object):
+        def emit(selfself, column):
+            column = getattr(column, "identifier", column)
+
+            return "group by %s" % column
+
 class SqlQueryOptions(object):
     def __init__(self):
+        self.group_column = None
         self.sort_column = None
         self.sort_ascending = True
         self.limit = None



More information about the rhmessaging-commits mailing list