Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Add an ABORT keyword argument to PG-DISCONNECT (from Robert J. Macomber <email@example.com>), as per CL:CLOSE. "I've run into a problem with pg-disconnect if something abnormal happens to the database connection -- if the database goes away for a restart while pg has a connection open, for example. When this happens, pg-disconnect fails, and the socket file descriptor is left open (presumably for a finalizer to clean up), also raising a new error from the unwind-protect in with-pg-connection. To guard against the possibility, I've added an :abort parameter to pg-disconnect, like cl:close has, and made with-pg-connection call it with :abort t if the body exits abnormally, in the same way that with-open-file operates. When :abort is true, the modified pg-disconnect closes the database connection ungracefully, including making the close call abort (otherwise, sbcl at keast tries to flush the stream, raising another error if the database isn't there anymore)."
Allow encoding used for socket communication with the backend to be specified as a keyword argument to PG-CONNECT, for cases where rebinding *PG-CLIENT-ENCODING* is inconvenient. Add a simple test for encoding support. (From Attila Lendvai <firstname.lastname@example.org>)
Make PGLO-READ a generic function, with specializations on the v2 and v3 protocols. The difference is necessary because the v2 protocol reads large-object data in text, whereas the v3 protocol changed to use a binary format.
- add md5 authentication (thanks to Brian Mastenbrook). Uses Pierre Mai's portable md5.lisp library, that has been added to the project (with extra EVAL-WHENness to please OpenMCL and ACL). Tested with CMUCL, SBCL, OpenMCL, CLISP, ACL 6.1. ABCL does not compile md5.lisp, probably for more EVAL-WHEN reasons. Only tested with PostgreSQL version 7.4.
- improvements to the system-dependent functionality: OpenMCL is able to use a local connection to the backend; most implementations resignal connection errors as a postgres-error. - fixes to the lowlevel code
More factorization of lowlevel functions between v2 and v3 protocols.
Integrate Peter Van Eynde's v3 protocol support: - create PGCON-V2 and PGCON-V3 classes - PG-CONNECT attempts to connect using v3 protocol, and falls back to v2 protocol for older backends; return a PGCON-V2 or PGCON-V3 object - PG-EXEC and FN and PG-DISCONNECT are generic functions that dispatch on the connection type - protocol code split into v2-protocol.lisp and v3-protocol.lisp TBD: cleaning up the notification & error reporting support, and factorizing more code between the two protocol versions. Also split code out into multiple files: - large-object support - metainformation about databases - parsing and type coercion support - utility functions and macros
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|