Skip to content
  1. Nov 20, 2006
    • emarsden's avatar
      [pg @ 2006-11-20 20:50:36 by emarsden] · 22cb3e7f
      emarsden authored
      Add an ABORT keyword argument to PG-DISCONNECT (from Robert J.
      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)."
      
      darcs-hash:aad628cf0093846dca55fe4f8fa47b0db89249c2
      22cb3e7f
  2. Nov 19, 2006
    • emarsden's avatar
      [pg @ 2006-11-19 18:47:58 by emarsden] · d74a5aa1
      emarsden authored
      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 <attila.lendvai@gmail.com>)
      
      darcs-hash:9f1f315eb332972142eadea0eff9cb70e5702ece
      d74a5aa1
  3. Jul 17, 2005
    • emarsden's avatar
      [pg @ 2005-07-17 15:48:06 by emarsden] · 8aac175a
      emarsden authored
      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.
      
      darcs-hash:6639fd1b9dd10ca051ea03d7e2fbff94c0d917e2
      8aac175a
  4. Apr 01, 2004
    • emarsden's avatar
      [pg @ 2004-04-01 18:35:19 by emarsden] · 62b1b80f
      emarsden authored
      - 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.
      
      darcs-hash:76581bd5b619a8e593164743a8ff044357c680cb
      62b1b80f
  5. Mar 08, 2004
    • emarsden's avatar
      [pg @ 2004-03-08 18:12:45 by emarsden] · b72984c9
      emarsden authored
      - 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
      
      darcs-hash:81350b160619ff22468166aa3f1928c8f75d9b7e
      b72984c9
    • emarsden's avatar
      [pg @ 2004-03-08 15:01:53 by emarsden] · 65ce6b3f
      emarsden authored
      More factorization of lowlevel functions between v2 and v3 protocols.
      
      darcs-hash:aef9e7feac79e0d6b749d3ff999a62e1f50c4d69
      65ce6b3f
  6. Mar 05, 2004
    • emarsden's avatar
      [pg @ 2004-03-05 18:08:08 by emarsden] · e981262b
      emarsden authored
      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
      
      darcs-hash:00b6e900f7b48953d959f95e55c26ecee52efb37
      e981262b