• Eric Marsden's avatar
    Add an ABORT keyword argument to PG-DISCONNECT (from Robert J. · e0d813fe
    Eric Marsden authored
    Macomber <pgsql@rojoma.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)."