From: Chris W. <la...@us...> - 2005-03-25 05:40:13
|
Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Datasource In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29694 Modified Files: DBI.pm Log Message: OIN-157: Class::DBI requires DBIx::ContextualFetch to be set in the RootClass attribute of the connect() call (grr...) Index: DBI.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Datasource/DBI.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** DBI.pm 17 Mar 2005 14:58:01 -0000 1.17 --- DBI.pm 25 Mar 2005 05:40:02 -0000 1.18 *************** *** 17,25 **** use constant DEFAULT_TRUNC_OK => 0; sub connect { my ( $class, $ds_name, $ds_info ) = @_; $log ||= get_logger( LOG_DS ); unless ( ref $ds_info ) { ! $log->error( "No data given to create DBI [$ds_name] handle" ); oi_error "Cannot create connection without datasource info"; } --- 17,27 ---- use constant DEFAULT_TRUNC_OK => 0; + my @CONNECT_ATTRIBUTES = qw( RootClass ); + sub connect { my ( $class, $ds_name, $ds_info ) = @_; $log ||= get_logger( LOG_DS ); unless ( ref $ds_info ) { ! $log->error( "No data given to create DBI '$ds_name' handle" ); oi_error "Cannot create connection without datasource info"; } *************** *** 46,49 **** --- 48,57 ---- my $password = $full->{password}; + my %connect_attr = map { $_ => $full->{ $_ } } + grep { defined $full->{ $_ } } + @CONNECT_ATTRIBUTES; + $connect_attr{RaiseError} = 0; + $connect_attr{PrintError} = 0; + if ( $log->is_debug ) { my %dumpable = %{ $full }; *************** *** 54,59 **** my $db = DBI->connect( $dsn, $username, $password, ! { RaiseError => 0, ! PrintError => 0 } ); unless ( $db ) { oi_datasource_error --- 62,66 ---- my $db = DBI->connect( $dsn, $username, $password, ! \%connect_attr ); unless ( $db ) { oi_datasource_error *************** *** 118,122 **** type dsn username password long_read_len long_trunc_ok trace_level ); ! my %info = map { $_ => $ds_info->{ $_ } } @copy_properties; my $dbi_type = lc $ds_info->{dbi_type}; --- 125,129 ---- type dsn username password long_read_len long_trunc_ok trace_level ); ! my %info = map { $_ => $ds_info->{ $_ } } @copy_properties, @CONNECT_ATTRIBUTES; my $dbi_type = lc $ds_info->{dbi_type}; |