Author: hmbrand
Date: Wed Apr 28 05:59:45 2010
New Revision: 13933
Modified:
dbi/trunk/Changes
dbi/trunk/lib/DBD/File.pm
Log:
Thread owner check already done on DBI level.
You're right. I didn't check this before and I didn't check whether this
feature is in DBI::PurePerl (grepping for 'thread' in lib/DBI/PurePerl.pm
didn't find anything, but I didn't review the code). I also miss a test
which proves that it works.
For this release, the patch which takes the p_thread stuff out of DBD::File
is attached. After it, some action seems required ...
Jens
Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes (original)
+++ dbi/trunk/Changes Wed Apr 28 05:59:45 2010
@@ -14,7 +14,7 @@
thanks to Vernon Lyon.
Fixed DBI->trace(0, *STDERR); (H.Merijn Brand)
which tried to open a file named "*main::STDERR" in perl-5.10.x
- Fixes in DBD::File and DBD::DBM for use under threads (Jens Rehsack)
+ Fixes in DBD::DBM for use under threads (Jens Rehsack)
Changed "Issuing rollback() due to DESTROY without explicit disconnect"
warning to not be issued if ReadOnly set for that dbh.
Modified: dbi/trunk/lib/DBD/File.pm
==============================================================================
--- dbi/trunk/lib/DBD/File.pm (original)
+++ dbi/trunk/lib/DBD/File.pm Wed Apr 28 05:59:45 2010
@@ -123,9 +123,6 @@
package DBD::File::dr;
use strict;
-use Config;
-
-our $threadid = 0; # holds private thread id of driver
$DBD::File::dr::imp_data_size = 0;
@@ -174,8 +171,7 @@
sql_statement_version => 1, # S:S version
};
}
- $this->STORE (Active => 1);
- $this->STORE (p_threadid => $threadid);
+ $this->STORE (Active => 1);
return set_versions ($this);
} # connect
@@ -231,12 +227,6 @@
{
} # disconnect_all
-sub CLONE
-{
- $Config{usethreads} && $INC{"threads.pm"} and
- $threadid = threads->tid ();
- } # CLONE
-
sub DESTROY
{
undef;
@@ -260,10 +250,6 @@
{
my ($dbh, $statement, @attribs) = @_;
- my $ownerid = $dbh->FETCH ("p_threadid");
- $ownerid == $DBD::File::dr::threadid or
- croak "database handle is owned by thread $ownerid and this is $DBD::File::dr::threadid";
-
# create a 'blank' sth
my $sth = DBI::_new_sth ($dbh, {Statement => $statement});
@@ -298,7 +284,6 @@
$sth->STORE ("f_stmt", $stmt);
$sth->STORE ("f_params", []);
$sth->STORE ("NUM_OF_PARAMS", scalar ($stmt->params ()));
- $sth->STORE ("p_threadid", $DBD::File::dr::threadid);
}
}
return $sth;
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.