> I'd love to give rails a try.  Unfortunately, we use Oracle here at
> work and there isn't yet an Oracle adapter.  I started creating one
> using OCI8, but the more I look, the more I'm confused as to why there
> isn't a "generic" adapter using DBI.

I've asked on Rails FAQ why new adapters and not DBI. But no answer yet. I know one reason right off the bat. The #insert method returns the id key of the newly inserted record. DBI dosen't have a standard mechinism for this. I asked about it on DBI mailing list. There is disagreement on how to do, b/c keys can be more complex. I.e they can be multi-field keys and also auto-incremental or not. Plus lack of standard between backends. Active Record assumes you always have a field called id that is auto-incremental.

Two days ago I stripped ActiveRecord's adpater code out, improved upon it, and made it a separate library called ActiveDBA. I like it b/c its more straght foward than DBI (and also b/c of the key return on insert.) It could still use some improvement but it works well (I've been using it for another project) I wrote David to see if he was interested in its release. But he hasn't wrote back yet. Anyone else interested in such a thing? --essentially an alternative to DBI.
 
> Looking at the AbstractAdapter class, I see a series of methods that
> look like they need to be defined.  Is there one that can't be handled
> via DBI?  I don't see one.  They look generic to me, both in terms of
> executing sql as well as retrieving metadata.  If there are any that
> require driver specific functions, can't we just call the appropriate
> 'func' method on the handle based on the driver name?

Indeed, I could write a ActiveDBA adapter for DBI in about a day + time to figure out how to deal with the id key across different DBDs. I need more input from DBI developers to work that out. Are you interested in such a thing?
 
> Plus, couldn't you somehow then take advantage of DBI's extra
> features, like XML/XSLT/XSQL stuff?

For?

T.