I've read through many posts regarding Drupal support for various databases other than MySQL and PostGreSQL. There appears to be reasonable activity in regards to an Oracle port. I've read through some of the code in the CVS repository and it appears that there is some type of database abstraction layer in Drupal.
Is the database abstraction layer implemented well enough that it is practical to create interfaces for other databases?
It seems like PostgreSQL was added within the last year or so, but I picked up on some things from the Oracle port effort that made me think that there may be some serious problems with the current abstraction implementation that would require someone to touch a lot of the core Drupal codebase. Any comments from persons familiar with the code base or someone who worked on the PostgreSQL port would be appreciated.
Obviously, module developers are free to ignore the abstraction facilities. But, are there any similar problems with the core features of Drupal? I'm assuming that the code in the core Drupal system always observes the abstraction conventions, but I'd like confirmation of this from someone familiar with the code base to answer this question.
Here's a list of the source files that I'm aware of (after a quick look) that will need to be updated and or created to implement an additional interface for another database. Please let me know which files I've overlooked.