Email list hosting service & mailing list manager

3 databases in 3 days hga@xxxxxx (30 Sep 2019 00:36 UTC)
Support for Scheme standards and implementations Lassi Kortela (30 Sep 2019 08:11 UTC)
Re: Support for Scheme standards and implementations hga@xxxxxx (30 Sep 2019 11:25 UTC)
Scheme implementations and portability Lassi Kortela (30 Sep 2019 13:14 UTC)
Re: Scheme implementations and portability John Cowan (30 Sep 2019 19:27 UTC)
Scheme implementations, portability, FFIs Lassi Kortela (30 Sep 2019 21:16 UTC)
Re: Scheme implementations, portability, FFIs John Cowan (30 Sep 2019 22:10 UTC)
JDBC Lassi Kortela (30 Sep 2019 13:15 UTC)
Re: JDBC hga@xxxxxx (30 Sep 2019 13:24 UTC)
Re: JDBC and subprocess protocol Lassi Kortela (30 Sep 2019 14:29 UTC)
Re: JDBC and subprocess protocol hga@xxxxxx (30 Sep 2019 15:16 UTC)
Re: JDBC and subprocess protocol Lassi Kortela (30 Sep 2019 15:47 UTC)
Re: JDBC and subprocess protocol Lassi Kortela (30 Sep 2019 15:55 UTC)
Re: JDBC John Cowan (30 Sep 2019 15:10 UTC)
Re: JDBC Lassi Kortela (30 Sep 2019 15:26 UTC)
Re: JDBC Lassi Kortela (30 Sep 2019 15:34 UTC)
sdbi design in detail and MariaDB CONNECT hga@xxxxxx (30 Sep 2019 16:14 UTC)
Re: sdbi design in detail and MariaDB CONNECT Lassi Kortela (30 Sep 2019 16:28 UTC)
Re: sdbi design in detail and MariaDB CONNECT John Cowan (30 Sep 2019 20:25 UTC)
Re: JDBC John Cowan (30 Sep 2019 16:44 UTC)
Re: JDBC Lassi Kortela (30 Sep 2019 20:52 UTC)
Re: JDBC Alaric Snell-Pym (01 Oct 2019 09:26 UTC)
Re: JDBC hga@xxxxxx (01 Oct 2019 09:55 UTC)
Re: JDBC Alaric Snell-Pym (01 Oct 2019 11:09 UTC)

Re: sdbi design in detail and MariaDB CONNECT Lassi Kortela 30 Sep 2019 16:28 UTC

> Thanks, but it's not quite to that point, there's still a lot of Sidney
> Harris "THEN A MIRACLE OCCURS" steps to be more explicit about ^_^.
> That said, my design intuition is pretty good by now.

I also feel quite confident that  we have explored the problem space
well. As for subsuming rectangular results from non-SQL databases, one
can never be fully prepared for that kind of thing :)

> This is a very good point.  To use the current (iffy) hierarchy of sdbi
> for this, I have, for example, running in bare direct prototype form:
>
> (sdbi connector ffi sqlite3)
>
> And:
>
> (sdbi connector net postgresql)
>
> To which Lassi is proposing to add something like:
>
> (sdbi connector subprocess-jdbc)
>
> Which would be used as:
>
> (sdbi connector subprocess-jdbc [obscure database])

The ffi/net/subprocess hierarchy is very nice!

I thought it'd be just (sdbi connector subprocess). The JDBC subprocess
would speak the same generic protocol as all other subprocesses, and the
specific database to which JDBC should connect can be given parameters
in the "connection string" when opening the connection. At least it's
been my impression of JDBC that it's generic enough that this kind of
thing would work :)

> Perforce, there will be a generic protocol between the connector layer
> and the one below it, although in John's favor I need to look at the
> PostgrSQL and Widenius wire protocols for ideas.

If I have understood JDBC correctly, it can use the generic subprocess
protocol with no changes.

> The latter ... however
> much it'll gain us with CONNECT, as far as I know it needs a champion to
> be implemented any time soon.

If I understood John's description correctly, CONNECT can use the
ordinary Widenius socket protocol with no changes.

> As for CONNECT (https://mariadb.com/kb/en/library/connect/), does it
> represent a single point of project institutional failure like I
> perceived SQLite3 to be?

Probably :) Here too I'd say the main point is to design the Scheme side
of the database framework so that any net/ffi/subprocess is easy to add.
Then if CONNECT turns out to be dodgy we can implement another route.

> I again ask this to determine how much sdbi should be influenced by
> a potential mayfly.  In the meanwhile I'm mining it for ideas.

Again if I understood John correctly, CONNECT takes normal SQL queries
and returns normal SQL results, as does JDBC, so in all respects (except
some funny connection parameters / proprietary SQL statements) they
should work like a normal database.