Robert Szefler wrote:
Oleg Broytmann wrote:

On Tue, May 09, 2006 at 01:33:10PM +0200, Robert Szefler wrote:

from sqlobjec.sqlbuilder import func, const


star = getattr(const, '*')

func.COUNT(star)


Works for me. But man, is this ugggly.



   What would be a better API in this case?


Maybe const.STAR. Maybe make func.COUNT() generate COUNT(*). I don't know exactly...

On a second thought making func.COUNT() generate COUNT(*) sounds just right. It has a touch of mathematical elegance. Looking at COUNT(col1, ..., coln) as a composition of projection and the cardinality operator it makes sense to consider COUNT(*) itself as a composition of identity projection and cardinality operator. Thus, the '*' means identity projection, or no projection at all: COUNT(*) corresponds to both card(id(.)) and card(.) - looking that way, func.COUNT() is exactly right.



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to