Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Add an ABORT keyword argument to PG-DISCONNECT (from Robert J. Macomber <firstname.lastname@example.org>), 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 <email@example.com>)
Documentation fix for PG-EXECUTE.
Improved documentation and a basic example for the use of execution plans (prepared statements).
Fixes to client-encoding support, based on a bug report from Johan Ur Riise <firstname.lastname@example.org>. Not tested very heavily (but the tests work in UTF-8 mode with unicode-enabled SBCL and CLISP).
fix typo in pg-close-portal documentation
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.
More factorization of lowlevel functions between v2 and v3 protocols.
pg.lisp: - make print-object more robust - added documentation to the defgenerics - added some declarations v3-protocol.lisp: - make errors restartable as we hope to sync again with the db - return errors from read-packet because sometimes it is the only clue we get that there is no more output - replaced arefs with the faster elt - unified query followup into do-followup-query - added pbe (prepare bind execute) support
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|