Author: timbo
Date: Mon Jan 30 15:01:24 2012
New Revision: 15111

Modified:
   dbi/trunk/DBI.pm

Log:
polish code in setup_driver (thanks to Merijn Broeren)

Modified: dbi/trunk/DBI.pm
==============================================================================
--- dbi/trunk/DBI.pm    (original)
+++ dbi/trunk/DBI.pm    Mon Jan 30 15:01:24 2012
@@ -826,15 +826,17 @@
 
 sub setup_driver {
     my ($class, $driver_class) = @_;
-    my $type;
-    foreach $type (qw(dr db st)){
-       my $class = $driver_class."::$type";
+    my $h_type;
+    foreach $h_type (qw(dr db st)){
+       my $h_class = $driver_class."::$h_type";
        no strict 'refs';
-       push @{"${class}::ISA"},     "DBD::_::$type"
-           unless UNIVERSAL::isa($class, "DBD::_::$type");
-       my $mem_class = "DBD::_mem::$type";
-       push @{"${class}_mem::ISA"}, $mem_class
-           unless UNIVERSAL::isa("${class}_mem", $mem_class)
+       push @{"${h_class}::ISA"},     "DBD::_::$h_type"
+           unless UNIVERSAL::isa($h_class, "DBD::_::$h_type");
+       # The _mem class stuff is (IIRC) a crufty hack for global destruction
+       # timing issues in early versions of perl5 and possibly no longer 
needed.
+       my $mem_class = "DBD::_mem::$h_type";
+       push @{"${h_class}_mem::ISA"}, $mem_class
+           unless UNIVERSAL::isa("${h_class}_mem", $mem_class)
            or $DBI::PurePerl;
     }
 }

Reply via email to