Author: timbo
Date: Wed Apr 25 01:55:43 2012
New Revision: 15298
Modified:
dbi/trunk/DBI.pm
Log:
rework fetchall_arrayref slice logic to use a column loop
Modified: dbi/trunk/DBI.pm
==============================================================================
--- dbi/trunk/DBI.pm (original)
+++ dbi/trunk/DBI.pm Wed Apr 25 01:55:43 2012
@@ -2041,7 +2041,12 @@
my %map = $rename
? map { lc($_) => $slice->{$_} } keys %$slice
: map { lc($_) => $_ } keys %$slice;
- $sth->bind_columns( map { exists $map{$_} ? \$row{$map{$_}} :
\do { my $dummy } } @{$sth->FETCH('NAME_lc')} );
+ my $idx = 0;
+ for my $col_name ( @{$sth->FETCH('NAME_lc')} ) {
+ ++$idx;
+ next unless exists $map{$col_name};
+ $sth->bind_col($idx, \$row{$map{$col_name}});
+ }
}
else {
$sth->bind_columns( \( @row{
@{$sth->FETCH($sth->FETCH('FetchHashKeyName')) } } ) );