Skip to content
  1. 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
  2. Aug 13, 2004
    • emarsden's avatar
      [pg @ 2004-08-13 16:50:37 by emarsden] · db1a2b4c
      emarsden authored
      Implement binary-mode transfers for large-object operations in the v3
      protocol. The v2 protocol transfers arguments in binary mode, but the
      v3 protocol requires the client to specify for each argument of a
      FunctionCall whether it is encoded as binary or as text.
      
        - add possibility to send (unsigned-byte 8) arguments to function calls
      
        - add a method READ-OCTETS-FROM-PACKET that reads raw octets
      
        - make PG-IMPORT and PG-EXPORT use binary I/O
      
        - PGLO-READ reads data in binary
      
        - change the large-object tests to use binary I/O (fixes the pglo test)
      
      darcs-hash:bda38e377fe3d2bf89d34065e942299e065fdd90
      db1a2b4c
  3. 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