Subject: | Uninitialized warnings in SqlEngine.pm |
Hello,
After upgrading to the most recent DBI, I'm getting the following warning, a lot:
Use of uninitialized value in concatenation (.) or string at /usr/local/lib/perl5/site_perl/5.8.3/i386-freebsd/DBI/DBD/SqlEngine.pm line 580.
Use of uninitialized value in concatenation (.) or string at /usr/local/lib/perl5/site_perl/5.8.3/i386-freebsd/DBI/DBD/SqlEngine.pm line 581.
Here is the offending code from sub FETCH:
574 unless ($attr_prefix)
575 {
576 ( my $drv_class = $dbh->{ImplementorClass} ) =~ s/::db$//;
577 $attr_prefix = DBI->driver_prefix($drv_class);
578 $attrib = $attr_prefix . $attrib;
579 }
580 my $valid_attrs = $attr_prefix . "valid_attrs";
581 my $ro_attrs = $attr_prefix . "readonly_attrs";
The problem is that I'm connecting via my module, DBD::Multi, which isn't registered inside DBI, so driver_prefix() is returning undef.
I wonder if perhaps $attr_prefix could be changed to an empty string rather than undef in cases where a DBD module has not been registered with DBI?
Thanks,
-Dan