[Bioperl-l] bioperl-db failing tests

Hilmar Lapp hlapp at gmx.net
Wed Jun 7 08:52:22 EDT 2006

Hi Michael,

Bioperl-db will open all connections with AutoCommit => 0 in the DBI  
parameter hash. The test you're stumbling over is actually there to  
test that the database  does support transactions, but apparently in  
5.x versions MySQL no longer silently ignores the AutoCommit  
parameter if it doesn't support transactions (effectively preempting  
the test ...).

Now you say that innodb shows as enabled - i.e., you can confirm that  
you changed the Mysql configuration parameter that designates the  
directory for innodb to store its files?

You can confirm that transactions are supported by simple tests on  
the sql level. Open a mysql shell and do the following:

	-- BTW 'start transaction;' will (should) work too
	mysql> set autocommit = 0;
	mysql> insert into biodatabase (name) values ('__dummy__');
	mysql> select name from biodatabase where name = '__dummy__';
	mysql> rollback;
	mysql> select name from biodatabase where name = '__dummy__';

The first SELECT query should return one and the last query should  
return zero rows if transactions are supported, and there shouldn't  
be any error.

If the above succeeds (which I don't expect it to) then it looks like  
the DBD::mysql driver thinks the database doesn't support  
transactions when in reality it does. Let me know the result.


On Jun 6, 2006, at 2:34 PM, Michael Muratet US-Huntsville wrote:

> Greetings
> I am trying to install bioperl-db in preparation for installing a  
> biosql database. I'm running on a Dell PowerEdge with quad dual- 
> core Xeons and RedHat Enterprise v4 and perl 5.8.5 and bioperl  
> 1.5.1.  I have installed mysql v5.0.21 from source with --with- 
> innodb set for the configuration. I installed bioperl-db from cvs.  
> I have the latest DBI and DBD:mysql installed a few weeks ago from  
> CPAN. The installation has been working well with perl otherwise,  
> for example, the Ensembl core API works OK. SHOW ENGINES indicates  
> that innodb is enabled.  I have attached a snippet from the top of  
> the output below. I searched the web and the bioperl-db list and  
> haven't found anything that appears to be relevant. I've done  
> several of these installs and they've pretty much completed without  
> a single glitch. Does anyone have any ideas how to isolate the  
> problem?
> Thanks
> Mike
> [mmuratet at HSV-PROBE bioperl-db]$ make test
> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"  
> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
> t/01dbadaptor.....ok 14/19
> ------------- EXCEPTION  -------------
> MSG: failed to open connection: Transactions not supported by database
> STACK Bio::DB::DBI::base::new_connection /usr/lib/perl5/site_perl/ 
> 5.8.5/Bio/biosql-schema/sql/bioperl-db/blib/lib/Bio/DB/DBI/base.pm:255
> STACK Bio::DB::DBI::base::get_connection /usr/lib/perl5/site_perl/ 
> 5.8.5/Bio/biosql-schema/sql/bioperl-db/blib/lib/Bio/DB/DBI/base.pm:215
> STACK Bio::DB::BioSQL::BasePersistenceAdaptor::dbh /usr/lib/perl5/ 
> site_perl/5.8.5/Bio/biosql-schema/sql/bioperl-db/blib/lib/Bio/DB/ 
> BioSQL/BasePersistenceAdaptor.pm:1477
> STACK Bio::DB::BioSQL::BaseDriver::prepare_findbyuk_sth /usr/lib/ 
> perl5/site_perl/5.8.5/Bio/biosql-schema/sql/bioperl-db/blib/lib/Bio/ 
> DB/BioSQL/BaseDriver.pm:518
> STACK Bio::DB::BioSQL::BasePersistenceAdaptor::_find_by_unique_key / 
> usr/lib/perl5/site_perl/5.8.5/Bio/biosql-schema/sql/bioperl-db/blib/ 
> lib/Bio/DB/BioSQL/BasePersistenceAdaptor.pm:927
> STACK Bio::DB::BioSQL::BasePersistenceAdaptor::find_by_unique_key / 
> usr/lib/perl5/site_perl/5.8.5/Bio/biosql-schema/sql/bioperl-db/blib/ 
> lib/Bio/DB/BioSQL/BasePersistenceAdaptor.pm:855
> STACK toplevel t/01dbadaptor.t:62
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

: Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :

More information about the Bioperl-l mailing list