On Sun, Feb 22, 2004 at 11:15:46AM -1000, Beau E. Cox wrote:
> Hello Folks,
> 
> I have converted DBI ( the latest svn trunk - #93 )
> to use PERL_NO_GET_CONTEXT ( with pTHX_/aTHX_ added
> where necessary ). The DBI test suite works fine,
> an I have been using it w/o problems on my production
> Apache 2.0.48/mod_perl 1.9913(cvs)/perl 5.8.3 on a Linux box
> ( kernel 2.4.25, current GNU via Sorcerer ).

Cool. Thanks! (For those that don't know, this makes the DBI
and drivers faster and safer under threads, esp for mod_perl 2)

> I didn't realize it when I began, but this change
> has a great impact on all DBDs: the DBIXS.h and
> dbd_xsh.h headers change, as well as the exposed DBI/
> DBD interface, so EVERY dbd using XS would have to change
> as well.

Yeap. That's why I didn't do it before. You'll notice the ToDO
file says "Add PERL_NO_GET_CONTEXT for multiplicity/threads":
http://search.cpan.org/src/TIMB/DBI/ToDo

> As a learning experience, I converted DBD-mysql-2.9003
> and am almost done with DBD-Pg-1.32_2. The mysql conversion
> effort took about two hours.
> 
> NOTE: there are problems implementing this scheme in
> perl 5.8.2 - prob. the perl ithreads bug.
> 
> So, it was very instructive, and I have patches for what
> I did.
> 
> Tim: would you like me to submit the DBI patch? Via svn?

Not yet. After DBI 1.41 is released I was planning to have a
discussion here about how best to manage the migration to DBI v2.

A big part of the switch to DBI v2 is the opportunity it gives
us to break, er, fix, er, fix by breaking things. There are several
changes I want to make that are not backwards compatible.
Switching to PERL_NO_GET_CONTEXT is one of those.

I'll start that discussion this week sometime.

So, for now, please keep your working copy updated until I branch
off v1 and advance the trunk to v2.

Meanwhile, please also test for perl5.6.1. I'll need to know it
works back there as well.

Thanks again!

Tim.

Reply via email to