1. 22 Oct, 2013 5 commits
    • Tom Lane's avatar
      Replace pg_asprintf() with psprintf(). · 2c66f992
      Tom Lane authored
      This eliminates an awkward coding pattern that's also unnecessarily
      inconsistent with backend coding.  psprintf() is now the thing to
      use everywhere.
      2c66f992
    • Tom Lane's avatar
      Get rid of use of asprintf() in favor of a more portable implementation. · 09a89cb5
      Tom Lane authored
      asprintf(), aside from not being particularly portable, has a fundamentally
      badly-designed API; the psprintf() function that was added in passing in
      the previous patch has a much better API choice.  Moreover, the NetBSD
      implementation that was borrowed for the previous patch doesn't work with
      non-C99-compliant vsnprintf, which is something we still have to cope with
      on some platforms; and it depends on va_copy which isn't all that portable
      either.  Get rid of that code in favor of an implementation similar to what
      we've used for many years in stringinfo.c.  Also, move it into libpgcommon
      since it's not really libpgport material.
      
      I think this patch will be enough to turn the buildfarm green again, but
      there's still cosmetic work left to do, namely get rid of pg_asprintf()
      in favor of using psprintf().  That will come in a followon patch.
      09a89cb5
    • Peter Eisentraut's avatar
      586a8fc7
    • Heikki Linnakangas's avatar
      Adjust cube.out expected output for new test queries. · 36f4c784
      Heikki Linnakangas authored
      Previous commit modified the test case, but I didn't update cube.out
      expected output file in previous commit because it was not needed by the
      platforms I have easy access to. Buildfarm animal 'dugong', running
      "Debian 4.0 icc 10.1.011 ia64", has now gone red because of that, so update
      it now.
      
      Also adjust cube_3.out. According to git history, it was added to support
      64-bit MinGW. There is no such animal in the buildfarm, so I'm doing this
      blindly, but it was added quite recently so maybe someone still cares.
      36f4c784
    • Tom Lane's avatar
      Fix blatantly broken record_image_cmp() logic for pass-by-value fields. · 28858811
      Tom Lane authored
      Doesn't anybody here pay attention to compiler warnings?
      28858811
  2. 21 Oct, 2013 3 commits
    • Heikki Linnakangas's avatar
      Extend cube on-disk format to pack points more tightly. · 08612f45
      Heikki Linnakangas authored
      If the lower left and upper right corners of a cube are the same, set a
      flag in the cube header, and only store one copy of the coordinates. That
      cuts the on-disk size into half for the common case that the cube datatype
      is used to represent points rather than boxes.
      
      The new format is backwards-compatible with the old one, so pg_upgrade
      still works. However, to get the space savings, the data needs to be
      rewritten. A simple VACUUM FULL or REINDEX is not enough, as the old
      Datums will just be moved to the new heap/index as is. A pg_dump and
      reload, or something similar like casting to text and back, will do the
      trick.
      
      This patch deliberately doesn't update all the alternative expected output
      files, as I don't have access to machines that produce those outputs. I'm
      not sure if they are still relevant, but if they are, the buildfarm will
      tell us and produce the diff required to fix it. If none of the buildfarm
      animals need them, they should be removed altogether.
      
      Patch by Stas Kelvich.
      08612f45
    • Peter Eisentraut's avatar
      doc: Improve setup for documentation building with FOP · a5963efa
      Peter Eisentraut authored
      Add a makefile rule for building PDFs with FOP.  Two new build targets
      in doc/src/sgml are postgres-A4-fop.pdf and postgres-US-fop.pdf.
      
      Run .fo output through xmllint for reformatting, so that errors are
      easier to find.  (The default output has hardly any line breaks, so you
      might be looking for an error in column 20000.)
      
      Set some XSLT parameters to optimize for building with FOP.
      
      Remove some redundant or somewhat useless chapterinfo/author
      information, because it renders strangely with the FO stylesheet.
      Reviewed-by: default avatarÁlvaro Herrera <alvherre@2ndquadrant.com>
      a5963efa
    • Noah Misch's avatar
      Consistently use unsigned arithmetic for alignment calculations. · 709170b7
      Noah Misch authored
      This avoids an assumption about the signed number representation.  It is
      anticipated to have no functional changes on supported configurations;
      many two's complement assumptions remain elsewhere.
      
      Per a suggestion from Andres Freund.
      709170b7
  3. 19 Oct, 2013 4 commits
  4. 18 Oct, 2013 8 commits
  5. 17 Oct, 2013 3 commits
    • Robert Haas's avatar
      Remove spinlock support for SINIX, Sun3, and NS32K. · 81051a86
      Robert Haas authored
      All of these platforms are very much obsolete.
      
      As far as I can determine, the last version of SINIX, later renamed
      Reliant, occurred some time between 2002 and 2005.
      
      The last release of SunOS that would run on a sun3 was released in
      November of 1991; the last release of OpenBSD which supported that
      platform was in 2001.  The highest clock speed of any processor in
      the family was 25MHz.
      
      The NS32K (national semiconductor 320xx) architecture was retired
      in 1990.
      
      Support can be re-added if a maintainer emerges for any of these
      platforms, but it seems unlikely.
      
      Reviewed by Andres Freund.
      81051a86
    • Andrew Dunstan's avatar
      Return valid json when converting an empty hstore. · bbe4deac
      Andrew Dunstan authored
      Oskari Saarenmaa.
      bbe4deac
    • Alvaro Herrera's avatar
      Silence compiler warning when SSL not in use · 86029b31
      Alvaro Herrera authored
      Per Jaime Casanova and Vik Fearing
      86029b31
  6. 16 Oct, 2013 4 commits
  7. 15 Oct, 2013 1 commit
  8. 14 Oct, 2013 5 commits
  9. 13 Oct, 2013 2 commits
  10. 11 Oct, 2013 5 commits
    • Kevin Grittner's avatar
      Fix several possibly non-portable gaffs in record_image_ops. · 4cbb6463
      Kevin Grittner authored
      Sparc machines in the buildfarm were made happy by the previous
      fix, but PowerPC machines still are still failing.  Hopefully this
      will cure that.
      4cbb6463
    • Alvaro Herrera's avatar
      Use $(PERL) to invoke duplicate_oids · ada01014
      Alvaro Herrera authored
      Per buildfarm failure reported by smilodon
      ada01014
    • Alvaro Herrera's avatar
      Rework SSL renegotiation code · 31cf1a1a
      Alvaro Herrera authored
      The existing renegotiation code was home for several bugs: it might
      erroneously report that renegotiation had failed; it might try to
      execute another renegotiation while the previous one was pending; it
      failed to terminate the connection if the renegotiation never actually
      took place; if a renegotiation was started, the byte count was reset,
      even if the renegotiation wasn't completed (this isn't good from a
      security perspective because it means continuing to use a session that
      should be considered compromised due to volume of data transferred.)
      
      The new code is structured to avoid these pitfalls: renegotiation is
      started a little earlier than the limit has expired; the handshake
      sequence is retried until it has actually returned successfully, and no
      more than that, but if it fails too many times, the connection is
      closed.  The byte count is reset only when the renegotiation has
      succeeded, and if the renegotiation byte count limit expires, the
      connection is terminated.
      
      This commit only touches the master branch, because some of the changes
      are controversial.  If everything goes well, a back-patch might be
      considered.
      
      Per discussion started by message
      20130710212017.GB4941@eldon.alvh.no-ip.org
      31cf1a1a
    • Peter Eisentraut's avatar
      doc: Move check-tabs target into html target · 956f2db4
      Peter Eisentraut authored
      The previous plan of having the check-tabs target a prerequisite of
      "all" and "distprep" caused make distcheck to fail because make -q
      distprep would never be satisfied.  Put check-tabs into the html target
      instead, so it is only called when a build actually happens.
      956f2db4
    • Peter Eisentraut's avatar
      8238d1ed