]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
"count" label changed to "rowcount", and default "count" argument is first pk col...
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 1 Jun 2006 15:20:35 +0000 (15:20 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 1 Jun 2006 15:20:35 +0000 (15:20 +0000)
lib/sqlalchemy/sql.py

index d1d1d837e111a09325d4fd2d1dc37c6708ffd3fe..c0769c5e65237828a3e394c11aa12d20b33ac77e 100644 (file)
@@ -669,7 +669,11 @@ class FromClause(Selectable):
     def accept_visitor(self, visitor): 
         visitor.visit_fromclause(self)
     def count(self, whereclause=None, **params):
-        return select([func.count(1).label('count')], whereclause, from_obj=[self], **params)
+        if len(self.primary_key):
+            col = self.primary_key[0]
+        else:
+            col = list(self.columns)[0]
+        return select([func.count(col).label('rowcount')], whereclause, from_obj=[self], **params)
     def join(self, right, *args, **kwargs):
         return Join(self, right, *args, **kwargs)
     def outerjoin(self, right, *args, **kwargs):
@@ -1248,7 +1252,11 @@ class TableClause(FromClause):
         if asfrom:
             data[self] = self
     def count(self, whereclause=None, **params):
-        return select([func.count(1).label('count')], whereclause, from_obj=[self], **params)
+        if len(self.primary_key):
+            col = self.primary_key[0]
+        else:
+            col = list(self.columns)[0]
+        return select([func.count(col).label('rowcount')], whereclause, from_obj=[self], **params)
     def join(self, right, *args, **kwargs):
         return Join(self, right, *args, **kwargs)
     def outerjoin(self, right, *args, **kwargs):