What's new in this version?
1. CMUCL support for ODBC (except streams).
2. Initial support for OCI (Oracle Call Interface). No streams and no
long datatypes; still problems with threads.
The code runs stably in Allegro6.0/Linux; the Lispworks version has
a tendency to crash.
No support yet for other Lisps. The next likely candidat for a port
is CMUCL.
3. mk-defsystem support (all other load mechanisms are removed!)
You have to define a logical host named sql pointing to your
installation directory prior to loading the system.
For MCL, you have to patch defsystem.lisp by commenting out the
following lines in APPEND-DIRECTORIES:
((namestring-probably-logical absolute-directory)
;; A simplistic stab at handling logical pathnames
(append-logical-pnames absolute-directory relative-directory))
Changes:
There are tws important changes which might (and probably will) break
existing code.
1. I have removed the :database keyword in most functions; instead,
you should rebind *DEFAULT-DATABASE* when needed, preferably by using
the macro WITH-DATABASE. This makes it easier to dispatch on database
class in sql expression syntax.
2. The macro WITH-TRANSACTION now has a different syntax:
(defmacro with-transaction ((&optional (database '*default-database*))
&body body) ...)
Thus it is now possible to specify the connection scope of
transactions.
Other changes:
- Better control over time/date format. As default,
time/date/timestamp data is returned as CommonLisp universal time; you
may bind *TIME-CONVERSION-FUNCTION* to a function taking the universal
time fixnum and an optional fractional second as arguments. (Thanks to
Liam Healy!)
- New file sql:odbc;local.lisp containing the location of the odbc
libraries: Adapt that file to your needs. (Thanks to Liam Healy for
the suggestion)
- New directory structure.
- Many bug fixes.
Paul Meurer
____________________________________________
Paul Meurer at HIT UiB no
Humanities Information Technologies Centre,
University of Bergen
Allégaten 27, 5007 Bergen
Norway