I've finished my research on possible lowest level database libraries, who's remit is to provide a consistent interface to generic database operations like opening a database, doing a query, getting back results, executing an arbitrary string, etc.
The following libraries in addition to the previously discussed libgda, Gauche DBI/DBD, and ODBC were discarded for the stated reasons:
- OpenDBX is dead
- libdbi is not 100% dead, but active development ceased half a decade ago, is LGPL, and no major applications are still using it. Has a bad smell from imprecise integer sizes in API, e.g. short vs. int16_t
- CppDB is C++
- SOCI is C++
- libzdb is GPL and sells itself more on connection pooling
That's it except for JDBC, which is not a general "first class" solution. I've tried some generic Bing and Google searches, but for our purposes they're hopelessly crowded with language specific ones like PHP's.
I'll start work on a "plumbing" API/SRFI. Any suggestions for existing "battle proven" database specific Scheme libraries or applications that use RDBMSs or the like that I can try plugging it into at the bottom?
- Harold