chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] Generic RDBMS Interface [Was: Re: Creating Windows GUI A


From: Thomas Chust
Subject: [Chicken-users] Generic RDBMS Interface [Was: Re: Creating Windows GUI App]
Date: Fri, 1 Apr 2011 01:05:28 +0200

2011/3/31 Stephen Eilert <address@hidden>:
> On Thu, Mar 31, 2011 at 1:46 PM, Thomas Chust <address@hidden> wrote:
>> [...]
>> However, there is currently no database-independent layer like
>> Perl's DBI module that provides a uniform API for all other
>> relational database drivers.
>
> Oh, that's been one of my pet peeves for a long time now. The closest
> we have is awful's $db procedure.
> [...]

Hello,

since I've already written a bunch of database abstraction code for my
pandora egg and other projects, I think I could create something
useful and simple relatively quickly.

I'll have a try at developing a CHICKEN DBI egg at some point within
the next few weeks.

> [...]
> I've toyed with the idea, but I am afraid I'm not knowledgeable enough
> about all RDBMS to come up with a decent API. Any suggestions?
> [...]

My plan is to create an abstraction layer that is just powerful enough
to include not only a simple SQL interface but also a simple database
<-> record mapping facility. At the same time the API to implement
from the database driver side should remain quite basic and simple,
too.

If the backend driver just provides the following operations that
should probably already be enough:

  * Open/close a database
  * Prepare/finalize an SQL statement
  * Execute a statement with parameters, passing any result rows to a
    callback
  * Escape an identifier for use in an SQL statement
  * Generate a string suitable as a parameter placeholder in an SQL
    statement

I'll keep the list posted on any progress I make with this endeavour
;-)

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.



reply via email to

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