Re: [vox-tech] Perl question, DBI - Why no selectcol_array method?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vox-tech] Perl question, DBI - Why no selectcol_array method?
On Fri, Apr 27, 2001 at 05:34:08PM -0700, jdnewmil@dcn.davis.ca.us wrote:
> On Fri, 27 Apr 2001, Micah Cowan wrote:
>
> > On Fri, Apr 27, 2001 at 03:28:58PM -0500, Jay Strauss wrote:
> > > In DBI there is:
> > >
> > > $ary_ref = $dbh->selectrow_arrayref($statement);
> > > @row_ary = $dbh->selectrow_array($statement);
> > >
> > > but only
> > >
> > > $ary_ref = $dbh->selectcol_arrayref($statement);
> > >
> > > Why??? (i.e why no @col_ary = $dbh->selectcol_array($statement))
> >
> > Dunno. You'll have to ask the author :)
>
> I think this would encourage inefficient programming constructs, because
> such a function would imply a complete iteration through all the rows and
> columns while ignoring all but one. It is more efficient to use a query
> that only returns the single column you are interested in.
I don't think it would imply that at all. Whether it returns a list,
or a reference to an array, it still does the same iteration. If
something can return a reference to a (newly constructed) array, one
could certainly return a list of values just as easy. Or did I
misunderstand you?
It might be that it was done this way to eliminate a copy of the list
created by this method into the return value, but I really don't know
anything about the DBI (or Perl) internals, so I really can't say.
Micah
|