On Thu, 28 Jan 2010 12:40:00 -0500, Erik Aronesty <e...@q32.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. > Sybase has it as an "unnamed column" (or at least it used to) ... only way > to get at it would be with an arrayref! I don't have DBD::Sybase, but I'd opt for a similar change too > You shouldn't rely on unnamed derived expression columns having a particular > name ... and it should not be documented as behaving in a particular way by > DBI, since drivers might change. Sure, but this is "dbi-dev" - the *developers* list, where I can stir the pot and hope to get to some standardisation. > If you use count(*) ... instead use count(*) as the_count > .... being explicit will avoid problems. Unless the DBD (or underlying database) does not support field aliases My personal point of view is almost always from a portability standpoint. For performance reasons, I almost always use bind_columns () and seldom use fetchrow_hashref (). > On Thu, Jan 28, 2010 at 12:12 PM, H.Merijn Brand <h.m.br...@xs4all.nl>wrote: > > > On Thu, 28 Jan 2010 11:59:16 -0500, Erik Aronesty <earone...@gmail.com> > > wrote: > > > > > Just use the *_arrayref versions for multiple fields with the same name > > > instead of hashref or slice{} > > > > That is what I've shown. Bind_columns () or aliasing also works. > > > > > You can't reliably refer to fields by name if they overlap. > > > > indeed, which is what I have shown. > > I'm not complaining here or filing a bug report. I'm probing for > > opinions in how to document this. > > > > I *do* think that count, count (*) mapping to count, count /is/ a bug. -- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00, 11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3. http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/