i want to use DBD::Oracle with a v5.8 perl binary compiled with 'usethreads'. i don't want to really use perl threads, i just want a v5.8 perl binary that is thread-safe so i can use it with various threaded API's. with DBD::Oracle v1.12 and DBI v1.32 under solaris 8, there are compilation warnings and runtime SEGV's due to (i think) the changes described below in the DBI v1.31 Changes file:
Changes for driver authors, not required but strongly recommended: Change DBIS to DBIc_DBISTATE(imp_xxh) [or imp_dbh, imp_sth etc] Change DBILOGFP to DBIc_LOGPIO(imp_xxh) [or imp_dbh, imp_sth etc] Any function from which all instances of DBIS and DBILOGFP are removed can also have dPERLINTERP removed (a good thing). All use of the DBIh_EVENT* macros should be removed. Major update to DBI::DBD docs thanks largely to Jonathan Leffler. Add these key values: 'Err' => \my $err, 'Errstr' => \my $errstr, to the hash passed to DBI::_new_dbh() in your driver source code. That will make each $dbh have it's own $h->err and $h->errstr values separate from other $dbh belonging to the same driver. If you have a ::db or ::st DESTROY methods that do nothing you can now remove them - which speeds up handle destruction. is it correct to say that DBD::Oracle v1.12 isn't compatible with DBI v1.32 (yeah, i know, same author :-)? and that v1.13 will solve this problem? and if this is right, is there a rough estimate of when v1.13 will be available? or is it safe to use DBI v1.30 with DBD::Oracle v1.12 and a threaded v5.8 perl binary so long as there is only one perl interpreter thread? empirically (at least under linux), this seems to be the case. thoughts/comments? /mark kennedy
