X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fintro.sgml;fp=doc%2Fintro.sgml;h=0000000000000000000000000000000000000000;hb=a35619ce17c910796b4f6f58c5916f8f513073e1;hp=4250c8ee30012099be774fc4604d4d0aecba2a10;hpb=fff83fbba112503ad015db50038c5628c88d4c99;p=clsql.git diff --git a/doc/intro.sgml b/doc/intro.sgml deleted file mode 100644 index 4250c8e..0000000 --- a/doc/intro.sgml +++ /dev/null @@ -1,219 +0,0 @@ - - -%myents; -]> - - - Introduction - - - 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. - - - - 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: - - -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. - - - - - - - Prerequisites - - - &defsystem; - &clsql; uses &asdf; to compile and load its -components. &asdf; is included in the &cclan; collection. - - - - - &uffi; - &clsql; uses &uffi; -as a Foreign Function Interface (FFI) to support multiple &cl; -implementations. - -You can download &uffi; from its FTP site. There -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;. The following implementations are supported: - - - &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. - - - - - Supported &sql; Implementation - - Currently, &clsql; supports the following databases: - - - &mysql; v3.23.51. - &postgresql; v7.2 with both direct API and TCP socket connections. - Allegro's ODBC interface (&aodbc;) using iODBC ODBC manager. - - - - - - - Installation - - - Ensure &defsystem; is loaded - - Simply load the file defsystem.lisp. - -(load "defsystem.lisp") - - - - - - 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, C helper -libraries are required to break these 64-bit integers into two compatible -32-bit integers. - -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 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 - -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; - - 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. - -(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. - - - - - -