The CLSQL project was started by Kevin M. Rosenberg in 2001 to support SQL access on multiple Common Lisp implementations using the UFFI library. The initial code was based substantially on Pierre R. Mai's excellent MaiSQL package. In late 2003, the UncommonSQL library was orphaned by its author, onShore Development, Inc. In April 2004, Marcus Pearce ported the UncommonSQL library to CLSQL. The UncommonSQL library provides a CommonSQL-compatible API for CLSQL.
The main changes from MaiSQL and UncommonSQL are:
Port from the CMUCL FFI to UFFI which provide compatibility with the major Common Lisp implementations.
Optimized loading of integer and floating-point fields.
Additional database backends: ODBC, AODBC, SQLite version 2 and SQLite version 3.
A compatibility layer for CMUCL specific code.
Much improved robustness for the MySQL back-end along with version 4 client library support.
Improved library loading and installation documentation.
Improved packages and symbol export.
Pooled connections.
Integrated transaction support for the classic MaiSQL iteration macros.