chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] DBI


From: Alex Shinn
Subject: Re: [Chicken-users] DBI
Date: Thu, 28 Feb 2008 20:28:33 +0900
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (darwin)

>>>>> "John" == John Cowan <address@hidden> writes:

    John> I suggest that a row be an a-list, and that null
    John> columns be represented by being non-existent in
    John> the a-list.

I disagree - the column info should be present once, not
duplicated for every row.  Since you may want to manage a
huge number of rows in memory at once it makes sense to
optimize for size.  This could be a vector but it would
probably be best to leave it unspecified and use an opaque
accessor to retrieve fields, so that individual backends
could just provide direct access to the row objects returned
by the C library, without needing to copy any data.

We should certainly build the DBI layer, but we should
include something like SchemeQL on top of it.  However, a
big complaint I have with SchemeQL is that it's entirely
macro-based, and provides no way to leverage its power to
build dynamic queries.  Our SchemeQL should be combinator
based (something like the sql egg).  We can use MATCH (maybe
with extensions) to destructure the rows conveniently.

-- 
Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]