On Fri, Jan 29, 2010 at 7:45 AM, Greg Sabino Mullane <g...@turnstep.com>wrote:
> >> The fact that count(*) shows up as "count" in the field name isn't > driven by > >> DBI - it's driver dependent. > > > > DBD::Pg - "count" > > DBD::Oracle - "count(*)" > > DBD::Unify - "count(*)" > > DBD::CSV - "count(*)" > > DBD::SQLite - "count(*)" > > > > So IMHO a bug in DBD::Pg. > > > postgres=# select length('abcdef'); > length > -------- > 6 > > mysql> select length('abcdef'); > +------------------+ > | length('abcdef') | > +------------------+ > | 6 | > +------------------+ > > Well, at least they agree on the "6" :) > For whatever it is worth - not a lot - Informix tags the COUNT(*) example with 'count(*)' and gives '(constant)' for length('abcdef') and '(expression)' for length(colname). This is left up to the server and different servers do things differently - you have to code correctly. The best way is to explicitly name every returned value with an AS clause. -- Jonathan Leffler <jonathan.leff...@gmail.com> #include <disclaimer.h> Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org "Blessed are we who can laugh at ourselves, for we shall never cease to be amused."