1. 21 Sep, 2016 5 commits
    • Peter Eisentraut's avatar
      Make command_like output more compact · e767db22
      Peter Eisentraut authored
      Consistently print the test name, not the full command, which can be
      quite lenghty and include temporary directory names and other
      distracting details.
      Reviewed-by: default avatarMichael Paquier <michael.paquier@gmail.com>
      e767db22
    • Peter Eisentraut's avatar
      Fix typo · c91b34ba
      Peter Eisentraut authored
      From: Michael Paquier <michael.paquier@gmail.com>
      c91b34ba
    • Robert Haas's avatar
      Add more parallel query documentation. · 60270e5e
      Robert Haas authored
      Previously, the individual settings were documented, but there was
      no overall discussion of the capabilities and limitations of the
      feature.  Add that.
      
      Patch by me, reviewed by Peter Eisentraut and Álvaro Herrera.
      60270e5e
    • Heikki Linnakangas's avatar
      Print test parameters like "foo: 123", and results like "foo = 123". · 2a7f4f76
      Heikki Linnakangas authored
      The way "latency average" was printed was differently if it was calculated
      from the overall run time or was measured on a per-transaction basis.
      Also, the per-script weight is a test parameter, rather than a result, so
      use the "weight: %f" style for that.
      
      Backpatch to 9.6, since the inconsistency on "latency average" was
      introduced there.
      
      Fabien Coelho
      
      Discussion: <alpine.DEB.2.20.1607131015370.7486@sto>
      2a7f4f76
    • Heikki Linnakangas's avatar
      Fix pgbench's calculation of average latency, when -T is not used. · 65c65563
      Heikki Linnakangas authored
      If the test duration was given in # of transactions (-t or no option),
      rather as a duration (-T), the latency average was always printed as 0.
      It has been broken ever since the display of latency average was added,
      in 9.4.
      
      Fabien Coelho
      
      Discussion: <alpine.DEB.2.20.1607131015370.7486@sto>
      65c65563
  2. 20 Sep, 2016 7 commits
  3. 19 Sep, 2016 4 commits
  4. 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
  5. 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
  6. 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
  7. 14 Sep, 2016 4 commits
  8. 13 Sep, 2016 7 commits
    • Tom Lane's avatar
      Be pickier about converting between Name and Datum. · 55c3391d
      Tom Lane authored
      We were misapplying NameGetDatum() to plain C strings in some places.
      This worked, because it was just a pointer cast anyway, but it's a type
      cheat in some sense.  Use CStringGetDatum instead, and modify the
      NameGetDatum macro so it won't compile if applied to something that's
      not a pointer to NameData.  This should result in no changes to
      generated code, but it is logically cleaner.
      
      Mark Dilger, tweaked a bit by me
      
      Discussion: <EFD8AC94-4C1F-40C1-A5EA-304080089C1B@gmail.com>
      55c3391d
    • Tom Lane's avatar
      Fix executor/README to reflect disallowing SRFs in UPDATE. · fdc79e19
      Tom Lane authored
      The parenthetical comment here is obsoleted by commit a4c35ea1.
      Noted by Andres Freund.
      fdc79e19
    • Tom Lane's avatar
      Improve parser's and planner's handling of set-returning functions. · a4c35ea1
      Tom Lane authored
      Teach the parser to reject misplaced set-returning functions during parse
      analysis using p_expr_kind, in much the same way as we do for aggregates
      and window functions (cf commit eaccfded).  While this isn't complete
      (it misses nesting-based restrictions), it's much better than the previous
      error reporting for such cases, and it allows elimination of assorted
      ad-hoc expression_returns_set() error checks.  We could add nesting checks
      later if it seems important to catch all cases at parse time.
      
      There is one case the parser will now throw error for although previous
      versions allowed it, which is SRFs in the tlist of an UPDATE.  That never
      behaved sensibly (since it's ill-defined which generated row should be
      used to perform the update) and it's hard to see why it should not be
      treated as an error.  It's a release-note-worthy change though.
      
      Also, add a new Query field hasTargetSRFs reporting whether there are
      any SRFs in the targetlist (including GROUP BY/ORDER BY expressions).
      The parser can now set that basically for free during parse analysis,
      and we can use it in a number of places to avoid expression_returns_set
      searches.  (There will be more such checks soon.)  In some places, this
      allows decontorting the logic since it's no longer expensive to check for
      SRFs in the tlist --- so I made the checks parallel to the handling of
      hasAggs/hasWindowFuncs wherever it seemed appropriate.
      
      catversion bump because adding a Query field changes stored rules.
      
      Andres Freund and Tom Lane
      
      Discussion: <24639.1473782855@sss.pgh.pa.us>
      a4c35ea1
    • Robert Haas's avatar
      Have heapam.h include lockdefs.h rather than lock.h. · 445a38ab
      Robert Haas authored
      lockdefs.h was only split from lock.h relatively recently, and
      represents a minimal subset of the old lock.h.  heapam.h only needs
      that smaller subset, so adjust it to include only that.  This requires
      some corresponding adjustments elsewhere.
      
      Peter Geoghegan
      445a38ab
    • Andres Freund's avatar
      Remove user_relns() SRF from regression tests. · 0dba54f1
      Andres Freund authored
      The output of the function changes whenever previous (or, as in this
      case, concurrent) tests leave a table in place. That causes unneeded
      churn.
      
      This should fix failures due to the tests added bfe16d1a, like on
      lapwing, caused by the tsrf test running concurrently with misc. Those
      could also have been addressed by using temp tables, but that test has
      annoyed me before.
      
      Discussion: <27626.1473729905@sss.pgh.pa.us>
      0dba54f1
    • Andres Freund's avatar
      9f478b4f
    • Andres Freund's avatar
      Add more tests for targetlist SRFs. · bfe16d1a
      Andres Freund authored
      We're considering changing the implementation of targetlist SRFs
      considerably, and a lot of the current behaviour isn't tested in our
      regression tests. Thus it seems useful to increase coverage to avoid
      accidental behaviour changes.
      
      It's quite possible that some of the plans here will require adjustments
      to avoid falling afoul of ordering differences (e.g. hashed group
      bys). The buildfarm will tell us.
      
      Reviewed-By: Tom Lane
      Discussion: <20160827214829.zo2dfb5jaikii5nw@alap3.anarazel.de>
      bfe16d1a
  9. 12 Sep, 2016 4 commits