diff options
author | Jason Kirtland <jek@discorporate.us> | 2008-07-24 21:36:16 +0000 |
---|---|---|
committer | Jason Kirtland <jek@discorporate.us> | 2008-07-24 21:36:16 +0000 |
commit | b403f156fedf7f1c3da34818f5ebe9debab481d7 (patch) | |
tree | ecdb6b4ba3832948c2d173b473934a6d4245c5b3 /lib/sqlalchemy/sql/functions.py | |
parent | 951fe224fa5638e2c1c224f9ebfcaebb38e49922 (diff) | |
download | sqlalchemy-b403f156fedf7f1c3da34818f5ebe9debab481d7.tar.gz |
- func.count() with no argument emits COUNT(*)
Diffstat (limited to 'lib/sqlalchemy/sql/functions.py')
-rw-r--r-- | lib/sqlalchemy/sql/functions.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/functions.py b/lib/sqlalchemy/sql/functions.py index 7303bd0c6..7fce3b95b 100644 --- a/lib/sqlalchemy/sql/functions.py +++ b/lib/sqlalchemy/sql/functions.py @@ -1,6 +1,6 @@ from sqlalchemy import types as sqltypes from sqlalchemy.sql.expression import ( - ClauseList, _FigureVisitName, _Function, _literal_as_binds, + ClauseList, _FigureVisitName, _Function, _literal_as_binds, text ) from sqlalchemy.sql import operators @@ -61,6 +61,16 @@ class random(GenericFunction): kwargs.setdefault('type_', None) GenericFunction.__init__(self, args=args, **kwargs) +class count(GenericFunction): + """The ANSI COUNT aggregate function. With no arguments, emits COUNT *.""" + + __return_type__ = sqltypes.Integer + + def __init__(self, expression=None, **kwargs): + if expression is None: + expression = text('*') + GenericFunction.__init__(self, args=(expression,), **kwargs) + class current_date(AnsiFunction): __return_type__ = sqltypes.Date |