=== Version 0.22, 2006-09-23 ===========================================
- improved support for character encodings; see variable
*PG-CLIENT-ENCODING* (UTF8 encoding tested with SBCL and CLISP
with PostgreSQL 8.1).
- fixes to the support for prepared statements (or "execution plans";
see the README for details of the API) on the v3 frontend/backend
- on CL implementations that support Unix sockets, the HOST argument
to PG-CONNECT may designate the directory containing the local
PostgreSQL unix socket (often "/var/run/postgresql/"). The HOST
argument is assumed to designate a local directory rather than a
hostname when its first character is #\/. You may need to modify
authentication options in the PostgreSQL configuration file
pg_hba.conf to allow connections over a unix-domain socket where
the databse username is not equal to your ident tokens. This is an
incompatible change to previous support for unix-domain sockets
with CMUCL (previously a HOST of NIL told pg-dot-lisp to connect
to a unix-domain socket whose name was hardwired into the library).
This support currently exists for SBCL, CMUCL and OpenMCL.
- many other bugfixes
=== Version 0.21, 2003-05-05 ===========================================
- added support for the v3 frontend/backend protocol, used by
PostgreSQL version 7.4 and up (thanks for Peter Van Eynde).
pg-dot-lisp will attempt to connect to your database server using
the new protocol, and upon failure will reconnect using the older
protocol. To avoid this once-per-connection overhead if you know
you're only using older PostgreSQL versions, use PG-CONNECT/V2
instead of PG-CONNECT.
- split out functionality into more files
- added preliminary support for character encodings, for when the
encoding used by PostgreSQL for TEXT data differs from that used
by the Common Lisp implementation for strings.
=== Version 0.20 (unreleased) ==========================================
- added more tests for BOOLEAN types, to check the handling of
PostgreSQL errors (violation of an integrity constraint leads to an
error of type PG:BACKEND-ERROR being signaled). For CMUCL users who
use the multiprocessing support, there's a test that runs several data
producers and a consumer in different threads.
- error condition names (POSTGRESQL-ERROR, AUTHENTICATION-FAILURE,
BACKEND-ERROR are now exported from the PG package.
=== Version 0.19, 2003-10-10 ===========================================
- new multi-file organization: split out the system-dependent parts
and the tests into separate files. An ASDF system description is
provided in the file pg.asd.
- change to WITH-PG-TRANSACTION: the previous version would abort the
current transaction upon encountering an error, which made
debugging difficult. The new version (thanks to Daniel Barlow)
maintains the transaction open until you have exited the debugger.
- support for connecting to PostgreSQL using a local socket instead
of using TCP/IP, when you're on the same host as the backend. To
enable, use a NIL host argument to PG-CONNECT. This makes it
possible to connect to the database without enabling TCP/IP
connections in the backend ("-i" option), and (depending on the
access configuration parameters specified in pg_hba.conf) possibly
without supplying a password. This is currently only supported for
CMUCL and SBCL.
- parser support for the INTERVAL type (you get this by subtracting
two timestamps). They are coerced by pg-dot-lisp to a number of
seconds, represented in floating point.
- new configuration variable *PG-CLIENT-ENCODING*, that supports
client-side encoding of text data, as per
Function PG-CLIENT-ENCODING, and corresponding setf
function, that allows you to retrieve and modify the current client
- new configuration variable *PG-DATE-STYLE* that allows you to
change the style in which date types are printed. Function
PG-DATE-STYLE that allows you to retrieve (and modify via its SETF
function) the current backend's date style.
- CMUCL: loading the file cmucl-install-subsystem.lisp (as a user who
has write access to the directory where CMUCL is installed) will
cause this package to be installed as a CMUCL "subsystem", that can
thereafter be loaded by saying "(require :pg)".
- SBCL: fix for new sb-bsd-sockets
- support for a new Common Lisp implementation, Armed Bear Lisp for
=== Version 0.18, 2003-06-01 ============================================
- Fix for parsing of TIMESTAMP fields in PostgreSQL 7.3, thanks to
James Anderson. These can now contain timezone and millisecond