From: John Cowan <xxxxxx@ccil.org>
Date: Wednesday, July 10, 2019 10:23 PM

On Wed, Jul 10, 2019 at 9:49 PM <xxxxxx@ancell-ent.com> wrote:

What do you like about it?

I think the important features of SQLite from the Scheme perspective are:

[ A lot of good discussion about SQLite , which I will get back to later. ]

Sorry that I wasn't clear, I meant what do you like about the Chicken sql-de-lite egg.  At first glance, and searching for SELECT, INSERT, UPDATE, DELETE in the API, it even looks query language agnostic, it appears to be "a general-purpose RDBMS interface", not even tied to SQL except in the examples, and of course being tied to a single SQL only RDBMS.

Thus I envision a Scheme RDBMS interface at the sql-de-lite level that's database agnostic, but more refined than sql-de-lite.  One could then choose as the back end SQLite for any combination of the advantages you cite, perhaps PostgreSQL for greater rigor (dynamic typing is not always your friend), performance, and/or additional features it offers.  And perhaps others if someone goes to the trouble of writing an interface to them, ODBC, and/or JDBC.

On top of this level of library, I want one or more interfaces that are SQL dialect and database feature hiding, so you're not as directly composing SQL query strings in one way or another.  But that's more ambitious, and the Clojure experience suggests that's either harder to get buy in for, lots of people are happy composing database specific SQL strings, and/or the bus factor and/or interest, time and/or energy of the people who are supporting such libraries are critical issues.  However, this level needs to be considered at the same time as the sql-de-lite level so that the latter can accommodate their requirements.

- Harold