On Thu, 15 Apr 2010 12:55:02 +0100, Tim Bunce <tim.bu...@pobox.com> wrote:
> On Mon, Apr 12, 2010 at 12:55:28PM +0200, Jens Rehsack wrote: > > > > So I did last days when I played around with threads and > > Log::Log4perl::Appender::DBI. I've seen, than (even if in my simply > > example everything works fine), a cloned DBD::File still uses the same > > file handles for reading/writing. > > I talked with Merijn about this situation in #dbi on irc.perl.org and > > we decided, that it would be better, to croak an error when a $dbh is > > used in another thread than the owning one. > > > > So I started with some hacking this morning to implement that and did > > How? Via a CLONE method? > > > 'make test' on DBI (as teached by Merijn). > > I got errors from DBD::DBM and after a short analyze I've seen, that > > it derives from DBD::File, but doesn't inherit the entire behavior, > > just a subset. > > This caused DBD::DBM::db::prepare to fail in my tests. > > > > Now I'm unsure how to step forward. I can hack DBD::File to handle > > those incomplete inheritance by ignoring them, or I can fix DBD::DBM > > to full inherit and modify the behavior it needs to change (instead of > > ignoring parent's methods). > > I would prefer the second way, because I think it's the cleaner one. > > It sounds good (but you've not really given enough background information > for someone who's forgotten all he ever knew about DBD::File & DBD::DBM, > like me). I think DBD::DBM never got the Care Love and Attention it might have deserved. It has great `flaws' in it, and I should have a look at how DBD::CSV "fixed" those. There I mean me *AND* my pre-maint's, as when I took over DBD::CSV already was in a mighty better condition than DBD::DBM is now. -- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00, 11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3. http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/