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