r9457: Reworked CLSQL file structure.
[clsql.git] / doc / intro.xml
index de09cf46d4beea45757ce1d078b9d101316055f9..3711db51130f7a23438e45dd2bf0b0cbcb78c343 100644 (file)
   <sect1 id="purpose">
     <title>Purpose</title>
     <para>&clsql; is a Common Lisp interface to <glossterm
-      linkend="gloss-sql">SQL</glossterm> databases.  A number of Common
-      Lisp implementations and SQL databases are supported. The general
-      structure of &clsql; is based on the
-      <application>CommonSQL</application> 
-      package by Xanalys.
+    linkend="gloss-sql">SQL</glossterm> 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.
     </para>
   </sect1>
   
   <sect1 id="history">
     <title>History</title>
     <para>
-      &clsql; is written by Kevin M. Rosenberg in 2001 and was based
-      substantially on Pierre R. Mai's excellent &maisql; package. In
-      April 2004, Marcus Pearce ported the UncommonSQL to &clsql;
-      which provides a CommonSQL-compatible API for &clsql;. 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;.
+    </para>
+
+    <para>The main changes from &maisql; and &usql; are:
       <itemizedlist>
        <listitem>
-         <para>port from the &cmucl; FFI to &uffi;.</para>
+         <para>Port from the &cmucl; FFI to &uffi; which provide
+         compatibility with the major Common Lisp
+         implementations.</para>
        </listitem>
        <listitem>
          <para>Optimized loading of integer and floating-point fields.</para>
        </listitem>
        <listitem>
-         <para>new &acl; ODBC interface back-end.</para>
+         <para>Additional database backends: &odbc;, &aodbc;, and &sqlite;.</para>
        </listitem>
        <listitem>
-         <para>compatibility layer for &cmucl; specific code.</para>
+         <para>compatibility layer for &cmucl; specific code.</para>
        </listitem>
        <listitem>
-         <para>much improved robustness for the &mysql; back-end
+         <para>Much improved robustness for the &mysql; back-end
          along with version 4 client library support.</para>
        </listitem>
        <listitem>
-         <para>improved system loading.</para>
+         <para>Improved library loading and installation documentation.</para>
        </listitem>
        <listitem>
-         <para>improved packages and symbol export.</para>
+         <para>Improved packages and symbol export.</para>
        </listitem>
        <listitem>
-         <para>transaction support.</para>
+         <para>Pooled connections.</para>
        </listitem>
        <listitem>
-         <para>UncommonSQL support.</para>
+         <para>Integrated transaction support for the classic
+         &maisql; iteration macros.</para>
        </listitem>
       </itemizedlist>
     </para>
        implementations of &uffi;. The following implementations are supported:
       </para>
       <itemizedlist mark="opencircle">
-       <listitem><para>&acl; v6.2 on Debian Linux, FreeBSD 4.5, and Microsoft Windows XP.</para></listitem>
-       <listitem><para>&lw; v4.3 on Debian Linux and Microsoft Windows XP.</para></listitem>
-       <listitem><para>&cmucl; 18e on Debian Linux, FreeBSD 4.5, and Solaris 2.8.</para></listitem>
-       <listitem><para>&sbcl; 0.8.5 on Debian Linux.</para></listitem>
+       <listitem><para>&acl; v6.2 and 7.0b on Debian Linux x86 &amp;
+       x86_64 &amp; PowerPC, FreeBSD 4.5, and Microsoft Windows
+       XP.</para></listitem>
+       <listitem><para>&lw; v4.3 on Debian Linux and Microsoft
+       Windows XP.</para></listitem>
+       <listitem><para>&cmucl; 18e on Debian Linux, FreeBSD 4.5, and
+       Solaris 2.8.</para></listitem>
+       <listitem><para>&sbcl; 0.8.5 on Debian
+       Linux.</para></listitem>
        <listitem><para>&scl; 1.1.1 on Debian Linux.</para></listitem>
-       <listitem><para>&openmcl; 0.14 on Debian Linux PowerPC.</para></listitem>
+       <listitem><para>&openmcl; 0.14 on Debian Linux
+       PowerPC.</para></listitem>
       </itemizedlist>
     </sect2>
     
        Currently, &clsql; supports the following databases:
       </para>
       <itemizedlist mark="opencircle">
-       <listitem><para>&mysql; v3.23.51 and v4.0.15.</para></listitem>
-       <listitem><para>&postgresql; v7.2 with both direct API and TCP
+       <listitem><para>&mysql; v3.23.51 and v4.0.18.</para></listitem>
+       <listitem><para>&postgresql; v7.4 with both direct API and TCP
        socket connections.</para></listitem>
        <listitem><para>&sqlite;.</para></listitem>
-       <listitem><para>Allegro's ODBC interface (&aodbc;) using iODBC
-       ODBC manager.</para></listitem>
+       <listitem><para>Direct &odbc; interface.</para></listitem>
+       <listitem><para>Allegro's DB interface (&aodbc;).</para></listitem>
       </itemizedlist>
     </sect2>
     
 
        <screen>
 (push #P"/usr/share/lisp/clsql/" asdf:*central-registry*)
-(asdf:operate 'asdf:load-op 'clsql-base)              ; base CLSQL package
+(asdf:operate 'asdf:load-op 'clsql)                   ; main 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-odbc)              ; ODBC interface
+(asdf:operate 'asdf:load-op 'clsql-sqlite)            ; SQLite interface
 (asdf:operate 'asdf:load-op 'clsql-aodbc)             ; Allegro ODBC interface
-(asdf:operate 'asdf:load-op 'clsql)                   ; main CLSQL package
        </screen>
       </para>
     </sect2>
        configuration file named
        <filename>.clsql-test.config</filename> must be created in
        your home directory. There are instructures on the format of
-       that file in the <filename>tests/tests.lisp</filename> file in
-       the &clsql; source directory. After creating that file, you
-       can run the test suite with &asdf;:
+       that file in the <filename>tests/README</filename>. After
+       creating <filename>.clsql-test.config</filename>, you can run
+       the test suite with &asdf;:
        <screen>
          (asdf:operate 'asdf:test-op 'clsql)
         </screen>