1. 23 Sep, 2016 4 commits
    • Tom Lane's avatar
      Avoid using PostmasterRandom() for DSM control segment ID. · 49a91b88
      Tom Lane authored
      Commits 470d886c et al intended to fix the problem that the postmaster
      selected the same "random" DSM control segment ID on every start.  But
      using PostmasterRandom() for that destroys the intended property that the
      delay between random_start_time and random_stop_time will be unpredictable.
      (Said delay is probably already more predictable than we could wish, but
      that doesn't mean that reducing it by a couple orders of magnitude is OK.)
      Revert the previous patch and add a comment warning against misuse of
      PostmasterRandom.  Fix the original problem by calling srandom() early in
      PostmasterMain, using a low-security seed that will later be overwritten
      by PostmasterRandom.
      
      Discussion: <20789.1474390434@sss.pgh.pa.us>
      49a91b88
    • Peter Eisentraut's avatar
      pg_ctl: Add promote wait option to help output · 6fa51c79
      Peter Eisentraut authored
      pointed out by Masahiko Sawada <sawada.mshk@gmail.com>
      6fa51c79
    • Heikki Linnakangas's avatar
      Improve error message on MSVC if perl*.lib is not found. · 3c2d5d66
      Heikki Linnakangas authored
      John Harvey, reviewed by Michael Paquier
      
      Discussion: <CABcP5fjEjgOsh097cWnQrsK9yCswo4DZxp-V47DKCH-MxY9Gig@mail.gmail.com>
      3c2d5d66
    • Heikki Linnakangas's avatar
      Fix typo in comment. · 674e2de6
      Heikki Linnakangas authored
      Daniel Gustafsson
      674e2de6
  2. 22 Sep, 2016 4 commits
    • Bruce Momjian's avatar
      C comment: fix function header comment · 1ff00421
      Bruce Momjian authored
      Fix for transformOnConflictClause().
      
      Author: Tomonari Katsumata
      1ff00421
    • Tom Lane's avatar
      Remove nearly-unused SizeOfIptrData macro. · 8023b582
      Tom Lane authored
      Past refactorings have removed all but one reference to SizeOfIptrData
      (and that one place was in a pretty noncritical spot).  Since nobody's
      complained, it seems probable that there are no supported compilers
      that don't think sizeof(ItemPointerData) is 6.  If there are, we're
      wasting MAXALIGN per heap tuple anyway, so it's rather silly to worry
      about whether we can shave space in places like WAL records.
      
      Pavan Deolasee
      
      Discussion: <CABOikdOOawDda4hwLOT6zdA6MFfPLu3Z2YBZkX0JdayNS6JOeQ@mail.gmail.com>
      8023b582
    • Tom Lane's avatar
      Be sure to rewind the tuplestore read pointer in non-leader CTEScan nodes. · 96dd77d3
      Tom Lane authored
      ExecInitCteScan supposed that it didn't have to do anything to the extra
      tuplestore read pointer it gets from tuplestore_alloc_read_pointer.
      However, it needs this read pointer to be positioned at the start of the
      tuplestore, while tuplestore_alloc_read_pointer is actually defined as
      cloning the current position of read pointer 0.  In normal situations
      that accidentally works because we initialize the whole plan tree at once,
      before anything gets read.  But it fails in an EvalPlanQual recheck, as
      illustrated in bug #14328 from Dima Pavlov.  To fix, just forcibly rewind
      the pointer after tuplestore_alloc_read_pointer.  The cost of doing so is
      negligible unless the tuplestore is already in TSS_READFILE state, which
      wouldn't happen in normal cases.  We could consider altering tuplestore's
      API to make that case cheaper, but that would make for a more invasive
      back-patch and it doesn't seem worth it.
      
      This has been broken probably for as long as we've had CTEs, so back-patch
      to all supported branches.
      
      Discussion: <32468.1474548308@sss.pgh.pa.us>
      96dd77d3
    • Peter Eisentraut's avatar
      Add tests for various connection string issues · 8b845520
      Peter Eisentraut authored
      Add tests for consistent support of connection strings in frontend
      programs as well as proper handling of unusual characters in database
      and user names.  These tests were developed for the issues of
      CVE-2016-5424.
      
      To allow testing of names with spaces, change the pg_regress
      command-line options --create-role and --dbname to split their arguments
      by comma only, not space or comma as before.  Only commas were actually
      used in existing uses.
      
      Noah Misch, Michael Paquier, Peter Eisentraut
      8b845520
  3. 21 Sep, 2016 9 commits
  4. 20 Sep, 2016 7 commits
  5. 19 Sep, 2016 4 commits
  6. 18 Sep, 2016 1 commit
    • Heikki Linnakangas's avatar
      Fix ecpg -? option on Windows, add -V alias for --version. · 3fcc98c9
      Heikki Linnakangas authored
      This makes the -? and -V options work consistently with other binaries.
      --help and --version are now only recognized as the first option, i.e.
      "ecpg --foobar --help" no longer prints the help, but that's consistent
      with most of our other binaries, too.
      
      Backpatch to all supported versions.
      
      Haribabu Kommi
      
      Discussion: <CAJrrPGfnRXvmCzxq6Dy=stAWebfNHxiL+Y_z7uqksZUCkW_waQ@mail.gmail.com>
      3fcc98c9
  7. 16 Sep, 2016 1 commit
    • Tom Lane's avatar
      Add debugging aid "bmsToString(Bitmapset *bms)". · d8c61c97
      Tom Lane authored
      This function has no direct callers at present, but it's convenient for
      manual use in a debugger, rather than having to inspect memory and do
      bit-counting in your head.
      
      In passing, get rid of useless outBitmapset() wrapper around
      _outBitmapset(); let's just export the function that does the work.
      Likewise for outToken().
      
      Ashutosh Bapat, tweaked a bit by me
      
      Discussion: <CAFjFpRdiht8e1HTVirbubr4YzaON5iZTzFJjq909y4sU8M_6eA@mail.gmail.com>
      d8c61c97
  8. 15 Sep, 2016 7 commits
    • Robert Haas's avatar
      Clarify policy on marking inherited constraints as valid. · 5225c663
      Robert Haas authored
      Amit Langote and Robert Haas
      5225c663
    • Heikki Linnakangas's avatar
      Fix building with LibreSSL. · 5c6df67e
      Heikki Linnakangas authored
      LibreSSL defines OPENSSL_VERSION_NUMBER to claim that it is version 2.0.0,
      but it doesn't have the functions added in OpenSSL 1.1.0. Add autoconf
      checks for the individual functions we need, and stop relying on
      OPENSSL_VERSION_NUMBER.
      
      Backport to 9.5 and 9.6, like the patch that broke this. In the
      back-branches, there are still a few OPENSSL_VERSION_NUMBER checks left,
      to check for OpenSSL 0.9.8 or 0.9.7. I left them as they were - LibreSSL
      has all those functions, so they work as intended.
      
      Per buildfarm member curculio.
      
      Discussion: <2442.1473957669@sss.pgh.pa.us>
      5c6df67e
    • Robert Haas's avatar
      Fix typo in comment. · ffccee47
      Robert Haas authored
      Amit Langote
      ffccee47
    • Tom Lane's avatar
      Make min_parallel_relation_size's default value platform-independent. · 5472ed3e
      Tom Lane authored
      The documentation states that the default value is 8MB, but this was
      only true at BLCKSZ = 8kB, because the default was hard-coded as 1024.
      Make the code match the docs by computing the default as 8MB/BLCKSZ.
      
      Oversight in commit 75be6646, noted pursuant to a gripe from Peter E.
      
      Discussion: <90634e20-097a-e4fd-67d5-fb2c42f0dd71@2ndquadrant.com>
      5472ed3e
    • Robert Haas's avatar
      pg_buffercache: Allow huge allocations. · 8a503526
      Robert Haas authored
      Otherwise, users who have configured shared_buffers >= 256GB won't
      be able to use this module.  There probably aren't many of those, but
      it doesn't hurt anything to fix it so that it works.
      
      Backpatch to 9.4, where MemoryContextAllocHuge was introduced.  The
      same problem exists in older branches, but there's no easy way to
      fix it there.
      
      KaiGai Kohei
      8a503526
    • Heikki Linnakangas's avatar
      Support OpenSSL 1.1.0. · 593d4e47
      Heikki Linnakangas authored
      Changes needed to build at all:
      
      - Check for SSL_new in configure, now that SSL_library_init is a macro.
      - Do not access struct members directly. This includes some new code in
        pgcrypto, to use the resource owner mechanism to ensure that we don't
        leak OpenSSL handles, now that we can't embed them in other structs
        anymore.
      - RAND_SSLeay() -> RAND_OpenSSL()
      
      Changes that were needed to silence deprecation warnings, but were not
      strictly necessary:
      
      - RAND_pseudo_bytes() -> RAND_bytes().
      - SSL_library_init() and OpenSSL_config() -> OPENSSL_init_ssl()
      - ASN1_STRING_data() -> ASN1_STRING_get0_data()
      - DH_generate_parameters() -> DH_generate_parameters()
      - Locking callbacks are not needed with OpenSSL 1.1.0 anymore. (Good
        riddance!)
      
      Also change references to SSLEAY_VERSION_NUMBER with OPENSSL_VERSION_NUMBER,
      for the sake of consistency. OPENSSL_VERSION_NUMBER has existed since time
      immemorial.
      
      Fix SSL test suite to work with OpenSSL 1.1.0. CA certificates must have
      the "CA:true" basic constraint extension now, or OpenSSL will refuse them.
      Regenerate the test certificates with that. The "openssl" binary, used to
      generate the certificates, is also now more picky, and throws an error
      if an X509 extension is specified in "req_extensions", but that section
      is empty.
      
      Backpatch to all supported branches, per popular demand. In back-branches,
      we still support OpenSSL 0.9.7 and above. OpenSSL 0.9.6 should still work
      too, but I didn't test it. In master, we only support 0.9.8 and above.
      
      Patch by Andreas Karlsson, with additional changes by me.
      
      Discussion: <20160627151604.GD1051@msg.df7cb.de>
      593d4e47
    • Heikki Linnakangas's avatar
      Fix and clarify comments on replacement selection. · c99dd5bf
      Heikki Linnakangas authored
      These were modified by the patch to only use replacement selection for the
      first run in an external sort.
      c99dd5bf
  9. 14 Sep, 2016 3 commits