I looked into this in a bit more detail earlier today and found that, since some version of Oracle around the 9i point in time, the official Oracle JDBC driver API for accessing LOBs in changed. This means that whereas before the same code could be used in BioJava to access both Hilmar's and Len's versions of the database, since the 9i drivers this has no longer been possible, and BioJava only works with Len's version. The problem is due to the way in which Len's schema uses LONG values for biosequence.seq, but Hilmar's uses CLOBs.
(The nitty gritty - before 9i, Oracle JDBC allowed you to access both LONG and CLOB columns using getString()/setString() methods to manipulate them. Now, these methods only work with LONG columns, and you have to do fancy tricks to get anything useful into/out of CLOBs). After discussing this with Mark earlier this afternoon, I am planning on changing BioJava to use the new Oracle CLOB API, at which point it will no longer work with schemas set up using Len's version. No change to BioSQL is required. This, from a BioJava point of view, would make the simple schema redundant. I am not sure if there are people in the other Bio* projects who use the simple schema though so we probably can't just drop it. Are there any objections? I have crossposted this to the BioJava list to make sure everyone who might be affected gets a say. 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: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Len Trigg > Sent: Monday, April 18, 2005 4:58 PM > To: [EMAIL PROTECTED] > Cc: Hilmar Lapp; Biosql > Subject: Re: [BioSQL-l] release preparation > > > > Mark Schreiber wrote: > > now, my bad! Agreed that from a SQL query perspective the > schemas are the > > same, one just has more complexity (if I can call it that) > under the hood. > > Indeed, the complexity is more to do with the complexity of installing > and understanding what's going on in all those files :-) (particularly > if you are not an oracle expert and have only been looking at the > BioSQL schemas for the other supported databases), and that's why I > did the simple version. That's partly confirmed by the fact that the > bjia description of how to use the original schema is about 8KB, while > the description for the simple schema is about 1KB. I'm all for > dumping the simple one if the barrier for entry for the original > schema is lowered (maybe it already has been). > > > > I would prefer to keep instructions for the less complex > version up for > > the time being as we are having difficulties getting > biojava to work > > seamlessly with the more complex version. This is almost > certainly a > > failing of biojava for which the oracle support seems to have been > > compiled against the 'simple' schema not the 'complex schema'. > > It certainly was only tested against the simple version, because > that's the only schema I had working when I wrote the Oracle support. > I am a little surprised that you are having major difficulties though, > since the original package has a compatibility layer that (supposedly) > presents the same schema as the simple version. > > > > I expect we will soon have biojava supporting your version > and we can drop > > the 'simple' schema. After all, there is not much point > using oracle if > > you don't make use of the features. > > In my case, it was a matter of using Oracle because that was what was > already installed :-) > > > Cheers, > Len. > > _______________________________________________ > BioSQL-l mailing list > [EMAIL PROTECTED] > http://open-bio.org/mailman/listinfo/biosql-l > _______________________________________________ Biojava-l mailing list - Biojava-l@biojava.org http://biojava.org/mailman/listinfo/biojava-l