X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fintro.sgml;h=c00e3e275036d7a48281075ac8f01eb114b97e76;hb=1ad43c80b9a9250aa79ea7b961cd1349bcc1beb4;hp=5a6e7bb42656f473d00b831b8f3014b0ec52e1c2;hpb=1f66d711941c82be96c0f9748b9c7dda90a2b964;p=clsql.git
diff --git a/doc/intro.sgml b/doc/intro.sgml
index 5a6e7bb..c00e3e2 100644
--- a/doc/intro.sgml
+++ b/doc/intro.sgml
@@ -16,10 +16,31 @@ structure of &clsql; is based on the
History
&clsql; is written by Kevin M. Rosenberg and based substantially
-on Pierre R. Mai's excellent &maisql; package. The main changes have
-been to port the &ffi; to &uffi;, add to Allegro's ODBC interface as a
-supported database, add a compatibility layer for &cmucl; specific
-code, and make the code more robust in terms of &mysql; support.
+on Pierre R. Mai's excellent &maisql; package. The main changes from &maisql;
+are:
+
+
+port from the &cmucl; FFI to &uffi;.
+
+
+new &acl; ODBC interface back-end.
+
+
+compatibility layer for &cmucl; specific code.
+
+
+much improved robustness for the &mysql; back-end.
+
+
+improved system loading.
+
+
+improved packages and symbol export.
+
+
+transaction support.
+
+
@@ -28,21 +49,15 @@ code, and make the code more robust in terms of &mysql; support.
&defsystem;
- &clsql; uses &defsystem to compile and load its
-components. &defsystem; is included in the &clocc;. The
-defsystem version in the pre-packaged distribution is rather old and
-may not function well. The version in CVS tree tree works quite
-well. For convenience, a copy of the latest defsystem at the FTP
-site
-of &clsql;.
+ &clsql; uses &asdf; to compile and load its
+components. &asdf; is included in the &cclan; collection.
&uffi;
- &clsql; uses &clsql; uses &uffi;
as a Foreign Function Interface (FFI) to support multiple &cl;
@@ -54,17 +69,24 @@ are zip files for Microsoft Windows systems and gzipped tar files for
other systems.
+
+ &md5;
+ &clsql;'s postgresql-socket interface uses Pierre Mai's
+ md5 module. If you plan to use
+ this interface please download the md5 module from ftp://clsql.b9.com
Supported Common Lisp Implementation
The implementations that support &clsql; is governed by the supported
-implementations of &uffi;. At the time of the initial release of &clsql;,
-the following implementations are supported:
+implementations of &uffi;. The following implementations are supported:
- &acl; v6.1 on Redhat Linux 7.2 and Microsoft Windows.
- &lw; v4.2 on Redhat Linux 7.2 and Microsoft Windows.
- &cmucl; 18d on Redhat Linux 7.2.
+ &acl; v6.2 on Debian Linux, FreeBSD 4.5, and Microsoft Windows XP.
+ &lw; v4.2 on Debian Linux and Microsoft Windows XP.
+ &cmucl; 18d on Debian Linux, FreeBSD 4.5, and Solaris 2.8.
+ &sbcl; 0.7.14 on Debian Linux.
+ &scl; 1.1 on Debian Linux.
+ &openmcl; 0.13 on Debian Linux PowerPC.
@@ -74,9 +96,9 @@ the following implementations are supported:
Currently, &clsql; supports the following databases:
- &mysql; v3.23.49 on Redhat Linux 7.2 and Microsoft Windows.
- &postgresql; v7.1 on Redhat Linux 7.2. Support for both direct API connections and TCP socket connections.
- Allegro's ODBC interface (&aodbc;) on Redhat Linux 7.2 and Microsoft Windows.
+ &mysql; v3.23.51.
+ &postgresql; v7.2 with both direct API and TCP socket connections.
+ Allegro's ODBC interface (&aodbc;) using iODBC ODBC manager.
@@ -89,54 +111,104 @@ the following implementations are supported:
Ensure &defsystem; is loaded
Simply load the file defsystem.lisp.
-
+
(load "defsystem.lisp")
-
+
- Build clsql-mysql helper library
- &mysql; uses functions that require 64-bit integer
+ Build &c; helper libraries
+ &clsql; uses functions that require 64-bit integer
parameters and return values. The &ffi; in most &clsql;
-implementations do not support 64-bit integers. Thus, a C helper
-library is required to break these 64-bit integers into two compatible
+implementations do not support 64-bit integers. Thus, C helper
+libraries are required to break these 64-bit integers into two compatible
32-bit integers.
-Makefile's for Microsoft Windows and GNU/Solaris systems
-are supplied to build this library. In addition, the DLL and LIB
+Makefiles for Microsoft Windows and GNU/Solaris systems
+are supplied to build the libraries. Since many Microsoft Windows
+users don't have access to a compiler, the DLL and LIB
files for Microsoft Windows are supplied with the distribution.
-To build the library, first move to the directory
-interfaces/mysql directory. You may need to
-edit Makefile or Makefile.msvc to
-correctly specify the location of your &mysql; installation. On UNIX systems, use
-the command:
-make
-On a Microsoft Windows system,
-use the command:
+To build the libraries on a GNU or Solaris, use the shell and
+change to the root directory of &clsql;. You may need to edit the file
+interfaces/mysql/Makefile to specify the location of your
+MySQL installation. The default Makefiles are setup for shared library
+linking on Linux. If you are using FreeBSD or Solaris, you will need
+to change the linker setting as instructed in the Makefile.
+Then, you can give the command
-nmake /f
-Makefile.msvc
-
-
+make libs
+
+in the root directory of &clsql; to build the libraries
+interfaces/mysql/clsql-mysql.so and
+interfaces/clsql-uffi/clsql-uffi.so.
+
+
Load &uffi;
- Unpack the appropriate &uffi; version for your system which creates a directory
-for the &uffi; files. Add that directory to Defsystem's mk:*central-registry*.
-You can do that by either pushing the pathname of the directory onto this variable, or
-use the new add-registry-location present in the newest versions of
-&defsystem;. The following example code assumes the &uffi; files reside in the
-/usr/local/src/lisp/uffi directory.
+ Unzip or untar the &uffi; distribution which creates a directory
+for the &uffi; files. Add that directory to Defsystem's asdf:*central-registry*.
+You can do that by pushing the pathname of the directory onto this variable.
+ The following example code assumes the &uffi; files reside in the
+/usr/share/lisp/uffi/ directory.
+
+(push #P"/usr/share/lisp/uffi/" asdf:*central-registry*)
+(asdf:oos 'asdf:load-op :uffi)
+
+
+
+
+ Load &md5; module
+
+ If you plan to use the clsql-postgresql-socket interface, you must load the md5 module.
+ Unzip or untar the cl-md5 distribution, which creates a directory for the cl-md5 files.
+ Add that directory to Defsystem's asdf:*central-registry*.
+ You can do that by pushing the pathname of the directory onto this variable.
+ The following example code assumes the cl-md5 files reside in the
+ /usr/share/lisp/cl-md5/ directory.
+
+(push #P"/usr/share/lisp/cl-md5/" asdf:*central-registry*)
+(asdf:oos 'asdf:load-op :md5)
+
+
+
+
+
+ Load &clsql; modules
+
+ Unzip or untar the &clsql; distribution which creates a directory
+for the &clsql; files. Add that directory to Defsystem's asdf:*central-registry*.
+You can do that by 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.
- (mk:add-registry-location #P"/usr/local/src/lisp/uffi")
- (mk:load-system :uffi)
+(push #P"/usr/share/lisp/clsql/" asdf:*central-repository*)
+(asdf:oos 'asdf:load-op :clsql-base) ; base clsql package
+(asdf:oos 'asdf:load-op :clsql-mysql) ; MySQL interface
+(asdf:oos 'asdf:load-op :clsql-postgresql) ; PostgreSQL interface
+(asdf:oos 'asdf:load-op :clsql-postgresql-socket) ; Socket PGSQL interface
+(asdf:oos 'asdf:load-op :clsql-aodbc) ; Allegro ODBC interface
+(asdf:oos 'asdf:load-op :clsql) ; main clsql package
+
+ Run test suite
+
+ After loading &clsql;, you can execute the test program in
+the directory ./test-suite. The test file,
+tester-clsql
+has instructions for creating a test.config.
+After creating that file, simple load the test file with Lisp
+and the tests should automatically execute.
+
+
+