[Biojava-l] Re: [BioSQL-l] _removeSequence

Martina boehme at mpiib-berlin.mpg.de
Mon Jun 20 06:20:37 EDT 2005


My tables are all InnoDB tables and in the biosqldb-mysql.sql (v 1.40 
2004/11/04 01:49:41) which created them, it says ON DELETE CASCADE.
Do I need to do anything else?

Thanks,
Martina

Richard HOLLAND wrote:

> To do cascading deletes in MySQL requires the tables to have been set up
> using the InnoDB table style (as opposed to the default MyISAM tables).
> In InnoDB, foreign keys are actually enforced and deletes will cascade,
> whereas in MyISAM it has no concept of foreign keys and so is unable to
> enforce data integrity. The people on the BioSQL-L mailing list will be
> able to help you there.
> 
> The next version of BioJava's database interfaces after the 1.4 release
> will assume that the underlying database does have cascading deletes
> turned on. The existing version half-attempts to make up for the lack of
> cascading deletes in databases that don't support it, but it doesn't do
> it well at all, hence the problems you are seeing. After consulting with
> Hilmar last week we decided it was a fair assumption to make that all
> BioSQL instances are installed with cascading deletes enabled.
> BioPerl-db already makes this assumption.
> 
> cheers,
> Richard
> 
> Richard Holland
> Bioinformatics Specialist
> GIS extension 8199
> ---------------------------------------------
> This email is confidential and may be privileged. If you are not the
> intended recipient, please delete it and notify us immediately. Please
> do not copy or use it for any purpose, or disclose its content to any
> other person. Thank you.
> ---------------------------------------------
> 
> 
> 
>>-----Original Message-----
>>From: biosql-l-bounces at portal.open-bio.org 
>>[mailto:biosql-l-bounces at portal.open-bio.org] On Behalf Of 
>>mark.schreiber at novartis.com
>>Sent: Monday, June 20, 2005 5:57 PM
>>To: Martina
>>Cc: biosql-l-bounces at portal.open-bio.org; BioJava; 
>>biosql-l at open-bio.org
>>Subject: Re: [BioSQL-l] _removeSequence
>>
>>
>>Biojava doesn't attempt to recusivley remove features by 
>>itself. It relies 
>>on cascading deletes in the database. I know Oracle can be 
>>set to do this 
>>(and it works very well). If MySQL has equivalent 
>>functionality you may 
>>need to turn it on. I'm pretty sure it does but you need to set it up.
>>
>>- Mark
>>
>>
>>
>>
>>
>>Martina <boehme at mpiib-berlin.mpg.de>
>>Sent by: biosql-l-bounces at portal.open-bio.org
>>06/20/2005 05:43 PM
>>
>> 
>>        To:     biosql-l at open-bio.org, BioJava <biojava-l at biojava.org>
>>        cc:     (bcc: Mark Schreiber/GP/Novartis)
>>        Subject:        [BioSQL-l] _removeSequence
>>
>>
>>Hi,
>>
>>Im trying to delete a sequence and recursivly all its features.
>>
>>So:
>>
>>for (SequenceIterator si = db.sequenceIterator(); si.hasNext();) {
>>                 Sequence s = si.nextSequence();
>>                 String name = s.getName();
>>                 s = null;
>>                 db.removeSequence(name);
>>}
>>
>>But if I look in the database (MySQL  4.1.12) I can still see plenty 
>>of entries and I have problems entering the same features again, 
>>because of dublicate key error. I would like to know if 
>>_removeSequence(String) in BioSQLSequenceDB is supposed to remove 
>>features recursivly or just the features of the removed sequence?
>>If so - what is the best way do delete the features of the features 
>>(and so on)? And how to empty the db completly?
>>
>>Martina
>>
>>_______________________________________________
>>BioSQL-l mailing list
>>BioSQL-l at open-bio.org
>>http://open-bio.org/mailman/listinfo/biosql-l
>>
>>
>>
>>_______________________________________________
>>BioSQL-l mailing list
>>BioSQL-l at open-bio.org
>>http://open-bio.org/mailman/listinfo/biosql-l
> 
> 


More information about the Biojava-l mailing list