fix double connect for ODBC/MSSQL
Rafael Kitover [Sun, 24 May 2009 23:49:17 +0000 (23:49 +0000)]
lib/DBIx/Class/Storage/DBI.pm
t/746mssql.t

index 83de252..32084bd 100644 (file)
@@ -614,15 +614,15 @@ sub _populate_dbh {
   my @info = @{$self->_dbi_connect_info || []};
   $self->_dbh($self->_connect(@info));
 
+  $self->_conn_pid($$);
+  $self->_conn_tid(threads->tid) if $INC{'threads.pm'};
+
   $self->_determine_driver;
 
   # Always set the transaction depth on connect, since
   #  there is no transaction in progress by definition
   $self->{transaction_depth} = $self->_dbh_autocommit ? 0 : 1;
 
-  $self->_conn_pid($$);
-  $self->_conn_tid(threads->tid) if $INC{'threads.pm'};
-
   my $connection_do = $self->on_connect_do;
   $self->_do_connection_actions($connection_do) if $connection_do;
 }
index 3e70574..05317b6 100644 (file)
@@ -15,6 +15,7 @@ plan tests => 12;
 my $schema = DBICTest::Schema->connect($dsn, $user, $pass, {AutoCommit => 1});
 
 $schema->storage->ensure_connected;
+
 isa_ok( $schema->storage, 'DBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server' );
 
 $schema->storage->dbh_do (sub {