Wednesday, July 30, 2014 8:12:52 AM UTC-7, 
[email protected] wrote:
>
> >> > Neither PostgreSQL, Oracle, nor Firebird supports autoincrement, they 
> >> all 
> >> > use sequences.  I'm not sure if OpenEdge uses something similar to 
> >> > sequences, but if so, it should be possible to get the tests passing. 
> >>  If 
> >> > there's really no way to insert a row and get back an identifier for 
> >> the 
> >> > row, then yes, it's unlikely it could pass most of the test suite. 
> >> 
> >> Thought about this too, but apparently not :-/ 
> >> 
> >> 
> http://stackoverflow.com/questions/9753744/properly-implementing-auto-incrementing-primary-keys-in-openedge-10-2b-using-sql
>  
> >> 
> > 
> > Oracle has similar behavior, where the sequence name must be specified. 
> >  Sequel's Oracle support comes with an :autosequence Database option 
> that 
> > will guess the sequence to use based on the table name, and sets the 
> > create_table method to have the table use that sequence.  Probably not 
> all 
> > that useful in production with a pre-existing database (and therefore 
> off 
> > by default), but it allows the tests to run, and works fine for 
> developing 
> > new databases. 
>
> OK, that sounds good actually :) 
>
> So I had a brief look, I take it what I'd need to do is to: 
>
> - implement Sequel::Database#last_insert_id 
> - implement Sequel::Database#sequence_for_table 
> - override Sequel::Database#execute_insert to return last_insert_id 
> - override Sequel::Database#alter_table_sql and 
> Sequel::Database#create_table_sql (e.g. in 
> Sequel::OpenEdge::DatabaseMethods) to drop/create sequence if necessary 
>
> Does that look sensible, or have I missed anything?  What about drop 
> table/drop column? 
>
> Thanks for your ideas! :) 
>

There's probably other changes you'll need as well if you want to try to 
pass the test suite, but that sounds like a good start.  If you can get the 
dataset_test file passing, you'll probably cover 90% of actual use cases, 
so I would focus on that part first.

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to