• 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)."
    e0d813fe