[BioRuby] BioSQL - postgres refusing SQL generated by Bio::SQL::establish_connection
Raoul Bonnal
bonnal at ingm.org
Mon Nov 14 15:08:08 UTC 2011
Hi Rob,
Thanks, I'll try to replicate the issue later this week.
Having this dependencies perhaps is better to extract biosql from bioruby.
On 14/11/11 15.37, "Rob Syme" <rob.syme at gmail.com> wrote:
> The script is very simple, just try and connect to the db. Replication
> is easiest when your postgres install includes a database $USER with
> permissions such that you can create databases with `createdb` without
> sudo. Instructions up at https://help.ubuntu.com/community/PostgreSQL
> under "Alternative Setup". If you have a more secure postgres setup,
> just supply the username password in the final line:
>
> # Setup the postgres db
> git clone https://github.com/biosql/biosql.git
> createdb biosql
> psql biosql < biosql/sql/biosqldb-pg.sql
>
> # Grab all the gems
> gem install activerecord bio composite_primary_keys pg
> activerecord-postgres-adapter
>
> # Try and establish the db connection
> # The connection hash is minimal, username defaults to the $USER, and
> hostname defaults to localhost.
> ruby -r bio -e "Bio::SQL.establish_connection({'development'=>{
> 'database'=>'biosql','adapter'=>'postgresql' }},'development')"
>
>
>
>
> On Mon, Nov 14, 2011 at 9:34 PM, Raoul Bonnal <bonnal at ingm.org> wrote:
>> It should work with versions prior to Rails 3.x.
>> But if you are not in a rush after paper submission I'll look into it,
>> let'say 2 weeks ? There was another BioSQL issue around, i didn't answer
>> because I was busy.
>>
>> @Rob: could you give me the script to replicate the error ?
>>
>> We could extract BioSQL from BioRuby and create a plugin, is something I'm
>> considering.
>>
>> On 14/11/11 14.14, "Naohisa GOTO" <ngoto at gen-info.osaka-u.ac.jp> wrote:
>>
>>> Hi Raoul,
>>>
>>> Which version of ActiveRecord is suitable with the current
>>> BioRuby's biosql implementation?
>>>
>>> With RubyGems and (optionally) with Bundler, we can specify
>>> specific version number to be used.
>>>
>>> Naohisa Goto
>>> ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org
>>>
>>> On Mon, 14 Nov 2011 11:43:51 +0100
>>> Raoul Bonnal <bonnal at ingm.org> wrote:
>>>
>>>> Hi Rob,
>>>> may be a problem of my biosql implementation, I suppose.
>>>> I didn't update the library and I didn't check compatibility with new
>>>> active
>>>> record stuff and composite primary keys.
>>>> Now, I can not take care of this, if there is someone wants to take care of
>>>> I'll be happy to support him/her.
>>>>
>>>>
>>>> On 14/11/11 07.07, "Rob Syme" <rob.syme at gmail.com> wrote:
>>>>
>>>>> Hi all,
>>>>> Full details are up at: http://gist.github.com/1363302
>>>>>
>>>>> This might just be the result of a schema change in BioSQL, but my SQL
>>>>> knowledge doesn't extend quite far enough. Has anyone come across this
>>>>> before?
>>>>>
>>>>> When connecting to an empty postgres BioSQL db, I get an
>>>>> ActiveRecord::StatementInvalid error:
>>>>>
>>>>> PGError: ERROR: cannot perform INSERT RETURNING on relation "ontology"
>>>>> HINT: You need an unconditional ON INSERT DO INSTEAD rule with a
>>>>> RETURNING clause.
>>>>> : INSERT INTO "ontology" ("definition", "name") VALUES ($1, $2)
>>>>> RETURNING "ontology_id"
>>>>> ActiveRecord::StatementInvalid: PGError: ERROR: cannot perform INSERT
>>>>> RETURNING on relation "ontology"
>>>>> HINT: You need an unconditional ON INSERT DO INSTEAD rule with a
>>>>> RETURNING clause.
>>>>> : INSERT INTO "ontology" ("definition", "name") VALUES ($1, $2)
>>>>> RETURNING "ontology_id"
>>>>> from
>>>>> /home/rob/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_rec
>>>>> or
>>>>> d/
>>>>> connection_adapters/postgresql_adapter.rb:1009:in
>>>>> `prepare'
>>>>> <snip>
>>>>> from
>>>>> /home/rob/.rvm/gems/ruby-1.9.2-p290/gems/bio-1.4.2.5000/lib/bio/io/biosql/
>>>>> bi
>>>>> os
>>>>> ql.rb:31:in
>>>>> `establish_connection'
>>>>>
>>>>>
>>>>> The offending SQL was:
>>>>>
>>>>> SELECT "ontology".* FROM "ontology" WHERE (name = 'Annotation Tags')
>>>>> LIMIT 1 # This works fine
>>>>> INSERT INTO "ontology" ("definition", "name") VALUES ($1, $2)
>>>>> RETURNING "ontology_id" [["definition", nil], ["name", "Annotation
>>>>> Tags"]] # This fails
>>>>>
>>>>> Relevant gems installed:
>>>>> activerecord (3.1.1)
>>>>> composite_primary_keys (4.1.1)
>>>>> pg (0.11.0)
>>>>> bio (1.4.2.5000)
>>>>>
>>>>> Using:
>>>>> psql (PostgreSQL) 9.1.1
>>>>> BioSQL schema version 1.0.1 and
>>>>> ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
>>>>>
>>>>> -r
>>>>> _______________________________________________
>>>>> BioRuby Project - http://www.bioruby.org/
>>>>> BioRuby mailing list
>>>>> BioRuby at lists.open-bio.org
>>>>> http://lists.open-bio.org/mailman/listinfo/bioruby
>>>>
>>>>
>>>> _______________________________________________
>>>> BioRuby Project - http://www.bioruby.org/
>>>> BioRuby mailing list
>>>> BioRuby at lists.open-bio.org
>>>> http://lists.open-bio.org/mailman/listinfo/bioruby
>>>
>>>
>>
>>
>> _______________________________________________
>> BioRuby Project - http://www.bioruby.org/
>> BioRuby mailing list
>> BioRuby at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioruby
>>
More information about the BioRuby
mailing list