On Tue, Aug 10, 2004 at 10:38:31AM -0700, Henri Asseily wrote: > > >* The DBD::Multiplex driver is intended to enable a wide range of > >dynamic functionality including support for various high-availability > >and load-balancing scenarios. The old version has been used > >successfully but was limited. It's being rewritten to greatly > >increase its flexibility and has great potential, but development > >has stalled. > > I did a lot of work on the high-availability side of things with my > DBIx::HA module, which is very crude (pure-perl and subclasses DBI > instead of doing it at the driver level), but it works well in very > high load production environments. I haven't yet published my latest > version to CPAN because it can't work until DBI has the > set_internal_handle() function. I could do it by adding the C code for > it in DBIx::HA but it's ugly.
It occurs to me that it might be possible to do this in pure (but ugly) perl. Something along these lines: $src_inner = tied %$src_h; untie %$dst_h; sub Dummy::TIEHASH { return $_[1] }; tie %$dst, Dummy, $src_inner; But you'd probably still get core dumps due to internal pointers not getting updated. > In any case, I'd be interested in helping out on the DBD::Multiplex > driver. Is there some source I can look at? Soonish. Once I branch off DBI v1 development I'll put DBD::Multiplex into the source tree. Tom Kishel [CC'd] is once again looking after it for me (and trying to understand the changes I've made meanwhile :). Tim.