Started testing threaded operation, and ran into a bit of nasty
problem: install_method() generates a warning when a new
thread attempts to logon a connection via a driver that installs
driver-specific methods:

Subroutine DBI::dr::tdat_FirstAvailable redefined at C:/Perl/site/lib/DBI.pm line 1231.
        DBD::_::common::install_method('DBD::Teradata::dr','tdat_FirstAvailable') 
called at
C:/Perl/site/lib/DBD/Teradata.pm line 387
        DBD::Teradata::driver('DBD::Teradata','HASH(0x4bea8b8)') called at 
C:/Perl/site/lib/DBI.pm
line 729
        eval {...} called at C:/Perl/site/lib/DBI.pm line 729
        DBI::install_driver('DBI','Teradata') called at C:/Perl/site/lib/DBI.pm line 
565
        DBI::connect('DBI','dbi:Teradata:jhvh1','dbitst','dbitst','HASH(0x4bea858)') 
called at
testutf8.pl line 2688

Since I install about 8 methods, this can get pretty annoying.
I'm calling install_method from within the DBD::Teradata::driver
package. Should this belong somewhere else ?

Is there something I should do to avoid re-installing (e.g., maintaining
a $methods_installed flag to indicate the methods are already
installed ?

Or maybe just use 'no warnings' ?

Or maybe my CLONE() method needs to do more than just undef'ing
the drh ?

TIA,
Dean Arnold
Presicient Corp.
www.presicient.com

Reply via email to