Skip to content
Snippets Groups Projects
  1. May 28, 2001
  2. Apr 01, 2001
  3. Mar 22, 2001
  4. Feb 17, 2001
  5. Feb 11, 2001
  6. Feb 10, 2001
    • Tom Lane's avatar
      Restructure the key include files per recent pghackers discussion: there · d08741ea
      Tom Lane authored
      are now separate files "postgres.h" and "postgres_fe.h", which are meant
      to be the primary include files for backend .c files and frontend .c files
      respectively.  By default, only include files meant for frontend use are
      installed into the installation include directory.  There is a new make
      target 'make install-all-headers' that adds the whole content of the
      src/include tree to the installed fileset, for use by people who want to
      develop server-side code without keeping the complete source tree on hand.
      Cleaned up a whole lot of crufty and inconsistent header inclusions.
      d08741ea
  7. Jan 24, 2001
  8. Nov 16, 2000
    • Bruce Momjian's avatar
      Make pgsql compile on FreeBSD-alpha. · 312063c9
      Bruce Momjian authored
      Context diff this time.
      
      Remove -m486 compile args for FreeBSD-i386, compile -O2 on i386.
      
      Compile with only -O on alpha for codegen safety.
      
      Make the port use the TEST_AND_SET for alpha and i386 on FreeBSD.
      
      Fix a lot of bogus string formats for outputting pointers (cast to int
      and %u/%x replaced with no cast and %p), and 'Size'(size_t) are now
      cast to 'unsigned long' and output with %lu/
      
      Remove an unused variable.
      
      Alfred Perlstein
      312063c9
  9. Apr 12, 2000
  10. Apr 11, 2000
  11. Feb 08, 2000
  12. Jan 29, 2000
    • Peter Eisentraut's avatar
      A few minor psql enhancements · 2b84cbb6
      Peter Eisentraut authored
      Initdb help correction
      Changed end/abort to commit/rollback and changed related notices
      Commented out way old printing functions in libpq
      Fixed a typo in alter table / alter column
      2b84cbb6
  13. Jan 26, 2000
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  14. Jan 20, 2000
  15. Jan 18, 2000
    • Bruce Momjian's avatar
      Hi! · 0cb6bc70
      Bruce Momjian authored
      Here is a patch to bring both libpq and psql to a state where it compiles on
      win32 (native) again. A lot of things have changed, and I have not been able
      to keep up with them all, so it has been broken for quite a while.
      After this patch, at least it compiles. It also talks "basic talk" to the
      server, but I have not yet tested all things. Sending queries, and using
      e.g. \d or \dt works fine. The rest will have to be tested further.
      It also bumps the version on libpq.dll to 7.0.
      
      Everything should be enclosed in #ifdef WIN32, unless I have missed
      something. Except for one or maybe two places where I have moved a #include
      that should not be used on win32 from the "global area" into a "#ifndef
      WIN32 area".
      
      
      //Magnus
      0cb6bc70
    • Bruce Momjian's avatar
      10d7287a
  16. Nov 30, 1999
    • Bruce Momjian's avatar
      This patch (against the current CVS sources) adds to libpq the functions · 3ab5b1f1
      Bruce Momjian authored
      PQconnectStart
      PQconnectPoll
      PQresetStart
      PQresetPoll
      PQsetenvStart
      PQsetenvPoll
      PQsetenvAbort
      
      and brings into the published interface
      
      PQsetenv.
      
      The first four are asynchronous analogues of PQconnectdb and PQreset -
      they allow an application to connect to the DB without blocking on
      remote I/O.
      
      The PQsetenv functions perform an environment negotiation with the
      server.
      
      Internal to libpq, pqReadReady and pqWriteReady have been made available
      across the library (they were previously static functions inside
      fe-misc.c).  A lot of internal rearrangement has been necessary to
      support these changes.
      
      The API documentation has been updated also.
      
      Caveats:
      
        o  The Windows code does not default to using non-blocking sockets,
      since I have no documentation: Define WIN32_NON_BLOCKING_CONNECTIONS to
      do that.
      
        o  The SSL code still blocks.
      
      
      Ewan Mellor.
      3ab5b1f1
  17. Nov 11, 1999
    • Bruce Momjian's avatar
      In the spirit of TODO item · 2a24ec6f
      Bruce Momjian authored
      * Add use of 'const' for varibles in source tree
      (which is misspelled, btw.)
      I went through the front-end libpq code and did so. This affects in
      particular the various accessor functions (such as PQdb() and
      PQgetvalue()) as well as, by necessity, the internal helpers they use.
      
      I have been really thorough in that regard, perhaps some people will find
      it annoying that things like
      char * foo = PQgetvalue(res, 0, 0)
      will generate a warning. On the other hand it _should_ generate one. This
      is no real compatibility break, although a few clients will have to be
      fixed to suppress warnings. (Which again would be in the spirit of the
      above TODO.)
      
      In addition I replaced some int's by size_t's and removed some warnings
      (and generated some new ones -- grmpf!). Also I rewrote PQoidStatus (so it
      actually honors the const!) and supplied a new function PQoidValue that
      returns a proper Oid type. This is only front-end stuff, none of the
      communicaton stuff was touched.
      
      
      The psql patch also adds some new consts to honor the new libpq situation,
      as well as fixes a fatal condition that resulted when using the -V
      (--version) option and there is no database listening.
      
      
      So, to summarize, the psql you should definitely put in (with or without
      the libpq). If you think I went too far with the const-mania in libpq, let
      me know and I'll make adjustments. If you approve it, I will also update
      the docs.
      
              -Peter
      
      --
      Peter Eisentraut                  Sernanders vaeg 10:115
      2a24ec6f
  18. Sep 27, 1999
    • Bruce Momjian's avatar
      Lots of patches coming in from me today :-) · e0e7daef
      Bruce Momjian authored
      When drawing up a very simple "text-drawing" of how the negotiation is done,
      I realised I had done this last part (fallback) in a very stupid way. Patch
      #4 fixes this, and does it in a much better way.
      
      Included is also the simple text-drawing of how the negotiation is done.
      
      //Magnus
      e0e7daef
  19. Sep 13, 1999
  20. Aug 31, 1999
    • Tom Lane's avatar
      Update frontend libpq to remove limits on query lengths, · ab5cafa5
      Tom Lane authored
      error/notice message lengths, and number of fields per tuple.  Add
      pqexpbuffer.c/.h, a frontend version of backend's stringinfo module.
      This is first step in applying Mike Ansley's long-query patches,
      even though he didn't do any of these particular changes...
      ab5cafa5
  21. Jul 19, 1999
  22. Jul 17, 1999
  23. May 28, 1999
    • Tom Lane's avatar
      When closure of the backend connection is detected during pqFlush, · f0ae1e8d
      Tom Lane authored
      do the right thing: look for a NOTICE message from the backend before we
      close our side of the socket.  6.4 libpq did not reliably print the backend's
      hara-kiri message, 'The Postmaster has informed me ...', because it only
      did the right thing if connection closure was detected during a read
      attempt instead of a write attempt.
      f0ae1e8d
  24. May 25, 1999
  25. Feb 22, 1999
  26. Sep 20, 1998
  27. Sep 03, 1998
    • Bruce Momjian's avatar
      Attached is a patch to remove the definitions of libpq's internal · f71d0cf6
      Bruce Momjian authored
      structs from libpq-fe.h, as we previously discussed.
      
      There turned out to be sloppy coding practices in more places than
      I had realized :-(, but all in all I think it was a well-worth-while
      exercise.
      
      I ended up adding several routines to libpq's API in order to respond
      to application requirements that were exposed by this work.  I owe the
      docs crew updates for libpq.sgml to describe these changes.  I'm way too
      tired to work on the docs tonight, however.
      
      This is the last major change I intend to submit for 6.4.  I do want
      to see if I can make libpgtcl work with Tcl 8.0 before we go final,
      but hopefully that will be a minor bug fix.
      f71d0cf6
  28. Sep 01, 1998
  29. Aug 29, 1998
  30. Aug 17, 1998
    • Marc G. Fournier's avatar
      · 93120330
      Marc G. Fournier authored
      Date: Sun, 16 Aug 1998 14:56:48 -0400
      From: Tom Lane <tgl@sss.pgh.pa.us>
      Attached is a patch for this weekend's work on libpq.  I've dealt
      with several issues:
      
              <for details: see message, in pgsql-patches archive for above data>
      93120330
  31. Aug 09, 1998
    • Bruce Momjian's avatar
      · e6311b4a
      Bruce Momjian authored
      The attached patch implements some changes that were discussed a
      couple weeks ago on the hackers and interfaces lists:
      
      1. When the backend sends a NOTICE message and closes the connection
         (typically, because it was told to by the postmaster after
         another backend coredumped), libpq will now print the notice
         and close the connection cleanly.  Formerly, the frontend app
         would usually terminate ungracefully due to a SIGPIPE.  (I am
         not sure if 6.3.2 behaved that way, but the current cvs sources
         do...)
      
      2. libpq's various printouts to stderr are now fed through a single
         "notice processor" routine, which can be overridden by the
         application to direct notices someplace else.  This should ease
         porting libpq to Windows.
      
      I also noticed and fixed a problem in PQprint: when sending output
      to a pager subprocess, it would disable SIGPIPE in case the pager
      terminates early (this is good) --- but afterwards it reset SIGPIPE
      to SIG_DFL, rather than restoring the application's prior setting
      (bad).
      
      			regards, tom lane
      e6311b4a
  32. Jul 03, 1998
    • Bruce Momjian's avatar
      Hello! · c765b4b0
      Bruce Momjian authored
      Through some minor changes, I have been able to compile the libpq
      client libraries on the Win32 platform. Since the libpq communications
      part has been rewritten, this has become much easier. Enclosed is
      a patch that will allow at least Microsoft Visual C++ to compile
      libpq into both a static and a dynamic library.  I will take a look
      at porting the psql frontend as well, but I figured it was a good
      idea to send in these patches first - so no major changes are done
      to the files before it gets applied (if it does).
      
      Regards,
        Magnus Hagander
      c765b4b0
  33. Jun 15, 1998
  34. May 12, 1998
  35. May 07, 1998
    • Bruce Momjian's avatar
      Add missing includes. · 6ef58461
      Bruce Momjian authored
      6ef58461
    • Bruce Momjian's avatar
      It seems the regression tests don't cover copy in/out at all, so · 1c2d9cb6
      Bruce Momjian authored
      code that I had assumed was working had not been tested.  Naturally,
      it was broken ...
      
      Tom Lane
      1c2d9cb6
    • Bruce Momjian's avatar
      What I've done: · edbd5139
      Bruce Momjian authored
      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
  36. Feb 26, 1998
Loading