X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fintro.xml;h=eb10c69e7f868bc00a8d27a4fac8d4044698a3ff;hb=5d5321e071c8f4d891029e7c9d1acb87c45b5a1f;hp=346ead3693b5bfa950fbe87f947676cca9184cde;hpb=fab9ddccc9e48d6784f2b6baa044f41f8d5c7731;p=clsql.git
diff --git a/doc/intro.xml b/doc/intro.xml
index 346ead3..eb10c69 100644
--- a/doc/intro.xml
+++ b/doc/intro.xml
@@ -1,7 +1,7 @@
+
%myents;
]>
@@ -11,45 +11,59 @@
Purpose
&clsql; is a Common Lisp interface to SQL databases. A number of Common
- Lisp implementations and SQL databases are supported. The general
- structure of &clsql; is based on the
- CommonSQL
- package by Xanalys.
+ linkend="gloss-sql">SQL databases. A number of Common
+ Lisp implementations and SQL databases are supported. The general
+ structure of &clsql; is based on the &commonsql; package by
+ LispWorks Ltd.
History
- &clsql; is written by Kevin M. Rosenberg and based substantially
- on Pierre R. Mai's excellent &maisql; package. The main changes
- from &maisql; are:
+ The &clsql; project was started by Kevin M. Rosenberg in 2001 to
+ support SQL access on multiple Common Lisp implementations using
+ the &uffi; library. The initial code was based substantially on
+ Pierre R. Mai's excellent &maisql; package. In late 2003, the
+ &usql; library was orphaned by its author, onShore Development,
+ Inc. In April 2004, Marcus Pearce ported the &usql; library to
+ &clsql;. The &usql; library provides a &commonsql;-compatible
+ API for &clsql;.
+
+
+ The main changes from &maisql; and &usql; are:
- port from the &cmucl; FFI to &uffi;.
+ Port from the &cmucl; FFI to &uffi; which provide
+ compatibility with the major Common Lisp
+ implementations.
Optimized loading of integer and floating-point fields.
- new &acl; ODBC interface back-end.
+ Additional database backends: &odbc;, &aodbc;, &sqlite;
+ and &sqlite3;.
- compatibility layer for &cmucl; specific code.
+ A compatibility layer for &cmucl; specific code.
- much improved robustness for the &mysql; back-end
+ Much improved robustness for the &mysql; back-end
along with version 4 client library support.
- improved system loading.
+ Improved library loading and installation documentation.
+
+
+ Improved packages and symbol export.
- improved packages and symbol export.
+ Pooled connections.
- transaction support.
+ Integrated transaction support for the classic
+ &maisql; iteration macros.
@@ -82,7 +96,7 @@
&md5;
&clsql;'s postgresql-socket interface uses Pierre Mai's
- md5
+ md5
module.
@@ -93,26 +107,34 @@
implementations of &uffi;. The following implementations are supported:
- &acl; v6.2 on Debian Linux, FreeBSD 4.5, and Microsoft Windows XP.
- &lw; v4.3 on Debian Linux and Microsoft Windows XP.
- &cmucl; 18e on Debian Linux, FreeBSD 4.5, and Solaris 2.8.
- &sbcl; 0.8.5 on Debian Linux.
+ &acl; v6.2 through 8.0 on Debian Linux x86 &
+ x86_64 & PowerPC, FreeBSD 4.5, and Microsoft Windows
+ XP.
+ &lw; v4.3 and v4.4 on Debian Linux and Microsoft
+ Windows XP.
+ &cmucl; 18e on Debian Linux, FreeBSD 4.5, and
+ Solaris 2.8. 19c on Debian Linux.
+ &sbcl; 0.8.4 through 0.9.16 on Debian
+ Linux.
&scl; 1.1.1 on Debian Linux.
- &openmcl; 0.14 on Debian Linux PowerPC.
+ &openmcl; 0.14 PowerPC and 1.0pre AMD64 on Debian Linux .
Supported &sql; Implementation
- Currently, &clsql; supports the following databases:
+ &clsql; supports the following databases:
- &mysql; v3.23.51 and v4.0.15.
- &postgresql; v7.2 with both direct API and TCP
+ &mysql; (tested v3.23.51, v4.0.18, 5.0.24).
+ &postgresql; (tested with v7.4 and 8.0 with both direct API and TCP
socket connections.
- Allegro's ODBC interface (&aodbc;) using iODBC
- ODBC manager.
+ &sqlite;.
+ &sqlite3;.
+ Direct &odbc; interface.
+ &oracle; OCI.
+ Allegro's DB interface (&aodbc;).
@@ -170,7 +192,7 @@
- Load &uffi;
+ Add &uffi; path
Unzip or untar the &uffi; distribution which creates a directory
for the &uffi; files. Add that directory to &asdf;'s asdf:*central-registry*.
@@ -180,12 +202,11 @@
directory.
(push #P"/usr/share/lisp/uffi/" asdf:*central-registry*)
-(asdf:operate 'asdf:load-op :uffi)
- Load &md5; module
+ Add &md5; path
If you plan to use the clsql-postgresql-socket interface, you
must load the md5 module. Unzip or untar the cl-md5
@@ -197,13 +218,12 @@
/usr/share/lisp/cl-md5/ directory.
(push #P"/usr/share/lisp/cl-md5/" asdf:*central-registry*)
-(asdf:operate 'asdf:load-op :md5)
- Load &clsql; modules
+ Add &clsql; path and load module
Unzip or untar the &clsql; distribution which creates a
directory for the &clsql; files. Add that directory to &asdf;'s
@@ -211,32 +231,28 @@
pushing the pathname of the directory onto this variable. The
following example code assumes the &clsql; files reside in the
/usr/share/lisp/clsql/ directory. You need
- to load, at a minimum, the main clsql system
- and at least one interface system. The below example show loading
- all &clsql; systems.
+ to load the clsql system.
-(push #P"/usr/share/lisp/clsql/" asdf:*central-repository*)
-(asdf:operate 'asdf:load-op 'clsql-base) ; base CLSQL package
-(asdf:operate 'asdf:load-op 'clsql-mysql) ; MySQL interface
-(asdf:operate 'asdf:load-op 'clsql-postgresql) ; PostgreSQL interface
-(asdf:operate 'asdf:load-op 'clsql-postgresql-socket) ; Socket PGSQL interface
-(asdf:operate 'asdf:load-op 'clsql-aodbc) ; Allegro ODBC interface
+(push #P"/usr/share/lisp/clsql/" asdf:*central-registry*)
(asdf:operate 'asdf:load-op 'clsql) ; main CLSQL package
- Run test suite
+ Run test suite (optional)
- After loading &clsql;, you can execute the test suite. A
- configuration file named
+ The test suite can be executed using the &asdf;
+ test-op operator. If &clsql; has not been
+ loaded with asdf:load-op, the
+ asdf:test-op operator will automatically load
+ &clsql;. A configuration file named
.clsql-test.config must be created in
your home directory. There are instructures on the format of
- that file in the tests/tests.lisp file in
- the &clsql; source directory. After creating that file, you
- can run the test suite with &asdf;:
+ that file in the tests/README. After
+ creating .clsql-test.config, you can run
+ the test suite with &asdf;:
(asdf:operate 'asdf:test-op 'clsql)