Database interface

Thomas L. Bevan thomas_bevan@toll.com.au
Thu, 14 Aug 2003 14:46:25 +0000


=2D----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> I still want to use HaskellDB (or at least the relational calculus part of
> it), so I was thinking of splitting it into two pieces: a library that
> submits SQL queries and returns the results (database interface), and a
> library that constructs queries with the relational calculus and generates
> SQL from them. Obviously the database interface must be written for each
> DBMS product, while the relational calculus library ought to be independe=
nt
> of DBMS (although it might be wise to have SQL compatibility flags for the
> SQL it generates. For example: Oracle 8 (what I'm using now) only supports
> SQL-92).

Ideally, we would have the following.

1/ A high level combinator library for relational calculus built on,

2/ A standard low-level Haskell API=20
 i.e. functions like Connection -> String -> ( a -> b -> IO b) -> IO b

3/ Database specific bindings.

The problem is that projections and cartesian products generate new types, =
at=20
least in the way it was done in HaskellDB. The form the calculus takes woul=
d=20
need to be substantially reworked.

Tom
=2D----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/O6DBYha8TWXIQwoRAmkCAKCwZkNpU3TjX5bj7rOZHx5DXRjPhwCgihnY
sAWwEKX+5hZ1Tiu4wfSGo7Y=3D
=3DALnJ
=2D----END PGP SIGNATURE-----