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."

Reply via email to