• B
    What I've done: · edbd5139
    Bruce Momjian 提交于
    1. Rewritten libpq to allow asynchronous clients.
    
    2. Implemented client side of cancel protocol in library,
       and patched psql.c to send a cancel request upon SIGINT.  The
       backend doesn't notice it yet :-(
    
    3. Implemented 'Z' protocol message addition and renaming of
       copy in/out start messages.  These are implemented conditionally,
       ie, the client protocol version is checked; so the code should
       still work with 1.0 clients.
    
    4. Revised protocol and libpq sgml documents (don't have an SGML
       compiler, though, so there may be some markup glitches here).
    
    
    What remains to be done:
    
    1. Implement addition of atttypmod field to RowDescriptor messages.
       The client-side code is there but ifdef'd out.  I have no idea
       what to change on the backend side.  The field should be sent
       only if protocol >= 2.0, of course.
    
    2. Implement backend response to cancel requests received as OOB
       messages.  (This prolly need not be conditional on protocol
       version; just do it if you get SIGURG.)
    
    3. Update libpq.3.  (I'm hoping this can be generated mechanically
       from libpq.sgml... if not, will do it by hand.)  Is there any
       other doco to fix?
    
    4. Update non-libpq interfaces as necessary.  I patched libpgtcl
       so that it would compile, but haven't tested it.  Dunno what
       needs to be done with the other interfaces.
    
    Have at it!
    
    Tom Lane
    edbd5139
dest.h 2.5 KB