[BioSQL-l] Pg and mysql versions are decoupled

Matthew Pocock matthew_pocock at yahoo.co.uk
Wed Mar 19 11:15:55 EST 2003


Is it easier to go mysql->pg or pg->mysql, or something_sane -> both?

M

Aaron J Mackey wrote:
> The best way I can think of to keep transform.pl-like functionality around
> would be to (re)package the code as a CPAN module, and let it float in the
> community, separate from biosql (transform.pl becomes a simple wrapper
> script of DBIx::Schema::Transform or whatever it is).  I'm surprised
> there's not already something like this out there already (I looked, but
> didn't find anything).
> 
> Of course, whether we continue to use it or not is up to us.  I think our
> transform.pl script could become a little smarter and use a pg-sql.tmpl
> template and only fill in the bits it needs (leaving things like rules and
> views and other oddities alone).  But I don't have enough emotional
> investment to add that functionality myself.
> 
> But imagining the "one true frozen schema" that never has to again be
> transformed is just that, imagination ;)
> 
> -Aaron
> 
> On Tue, 18 Mar 2003, Hilmar Lapp wrote:
> 
> 
>>First, I got frustrated yesterday about the transfrom.pl script unable
>>to parse the latest mysql schema version, although it's really not too
>>special. What's really frustrating is that the RecDescent parse
>>apparently yields a truncated document tree in a silent fashion, and
>>I'm not going to debug Parse::RecDescent. I suspect the problem is that
>>the token DEFAULT interferes with an internal interpretation of a
>>DEFAULT rule.
>>
>>Second, I added the rules suggested by Yves Bastide to the Pg version
>>of the schema. As soon as we agree on marching towards schema freeze,
>>I'll then update the Pg mapping drivers of bioperl-db, and I honestly
>>hope that then Pg can become a first-class supported RDBMS for biosql.
>>It's just so much more powerful than MySQL. I tested the effect of the
>>rules in DBI statement return values. If the rules fire then the return
>>value is 0E0 instead of 1, which as a string also evaluates to TRUE in
>>perl, but can be tested against 0 (which will test true, unlike -
>>obviously - the value '1'). So, a 'failed' insert (that is, an insert
>>that would have failed if it had been permitted) can be easily and
>>relatively cleanly detected in code. This removes a serious obstacle
>>for using biosql under Pg in a way that causes minimal impact on the
>>existing codebase, and can be easily taken advantage of in other Bio*
>>projects too. Thanks for this tip Yves.
>>
>>I'm ending this email with the proposal to abandon the transform_sql.pl
>>script, unless someone is serious about debugging and fixing it. If we
>>were to continue using it, the CREATE RULE section from biosqldb-pg.sql
>>would have to be moved into a separate file. Any takers? Any votes?
>>
>>	-hilmar
>>
> 
> 


-- 
BioJava Consulting LTD - Support and training for BioJava
http://www.biojava.co.uk



More information about the BioSQL-l mailing list