On 8/14/07, Perrin Harkins <[EMAIL PROTECTED]> wrote:
> On 8/14/07, John Siracusa <[EMAIL PROTECTED]> wrote:
> > Doesn't Apache::DBI just care that $dbh->{AutoCommit} is false at the
> > time it checks in the cleanup handler?
>
> Look further up in the code. It never pushes the handler unless
> AutoCommit is off.
I looked for that and didn't see it, and still don't see it. I'm looking here:
if (!$Rollback{$Idx} and Apache->can('push_handlers')) {
debug(2, "$prefix push PerlCleanupHandler");
if (MP2) {
my $s = Apache2::ServerUtil->server;
$s->push_handlers("PerlCleanupHandler", sub { cleanup($Idx) });
}
else {
Apache->push_handlers("PerlCleanupHandler", sub { cleanup($Idx) });
}
# make sure, that the rollback is called only once for every
# request, even if the script calls connect more than once
$Rollback{$Idx} = 1;
}
As far as I can tell, $Rollback{$Idx} is not set elsewhere based on
the AutoCommit connect option. This block seems to be entered once
for every $dbh. What am I missing?
> Probably a mistake in my opinion. If others agree, I'll submit a patch to
> change it.
Yeah, I don't think it should care about the connect options, only
about the state of the dbh at the time the cleanup is called.
-John
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object