-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

I noticed something odd with NAME and NAME_lc / NAME_uc: if
they are called, and then called *again* after $sth->finish()
is called, both NAME_lc and NAME_uc return the previous values
instead of an undef. I'm not sure if this is a DBI or
DBD::Pg issue, but I thought I'd see if people can perhaps
duplicate this on other DBDs:

$sth = $dbh->prepare(q{SELECT 123 AS "Goldfish"});
$sth->execute();
print Dumper $sth->{NAME};
print Dumper $sth->{NAME_lc};
$sth->finish();
print Dumper $sth->{NAME};
print Dumper $sth->{NAME_lc};
print Dumper $sth->{NAME_uc};

For DBD::Pg, it prints:

$VAR1 = [
          'Goldfish'
        ];
$VAR1 = [
          'goldfish'
        ];
$VAR1 = undef;
$VAR1 = [
          'goldfish'
        ];
$VAR1 = undef;

I also got a CPAN tester report today that is almost certainly related. It can
be seen here:

http://www.nntp.perl.org/group/perl.cpan.testers/2008/08/msg1997411.html

The relevant info is:

Assertion i == (((((SV *) (name_av))->sv_flags & 0x00800000)) ?
Perl_mg_size(my_perl, (SV *) name_av) : ((XPVAV*) 
(name_av)->sv_any)->xav_fill)+1
failed: file "DBI.xs", line 2001 at /usr/lib/perl5/5.10.0/Test/More.pm line 821.
# Looks like you planned 250 tests but only ran 95.

Test 96 is this on line 623 of 02attribs.t:

$t='Statement handle attribute "NAME_uc" returns empty arrayref for updates';
is_deeply ($sth->{'NAME_uc'}, [], $t);

The file is here to see it in context:

http://search.cpan.org/src/TURNSTEP/DBD-Pg-2.9.0/t/02attribs.t


- --
Greg Sabino Mullane [EMAIL PROTECTED]
End Point Corporation
PGP Key: 0x14964AC8 200808071224
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAkibIqkACgkQvJuQZxSWSsgNsACg3VoEuo0AffJo8hHOC5xizqA1
H10AoIAi7UzE++v+7/8peJfzfgdTdJ82
=CoBV
-----END PGP SIGNATURE-----


Reply via email to