[svn:dbi] r15298 - dbi/trunk

[email protected] Wed, 25 Apr 2012 01:55:44 -0700 (PDT)
Newsgroups perl.dbi.changes
Message-ID <[email protected]>
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')) } } ) );