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.
