1. 14 Apr, 2017 10 commits
  2. 13 Apr, 2017 17 commits
  3. 12 Apr, 2017 9 commits
    • Tom Lane's avatar
      Speed up hash_index regression test. · 4a8bc39b
      Tom Lane authored
      Commit f5ab0a14 made this test take substantially longer than it used
      to.  With a bit more care, we can get the runtime back down while
      achieving the same, or even a bit better, code coverage.
      
      Mithun Cy
      
      Discussion: https://postgr.es/m/CAD__Ouh-qaEb+rD7Uy-4g3xQYOrhPzHs-a_TrFAjiQ5azAW5+w@mail.gmail.com
      4a8bc39b
    • Tom Lane's avatar
      Avoid transferring parallel-unsafe subplans to parallel workers. · 16ebab68
      Tom Lane authored
      Commit 5e6d8d2b allowed parallel workers to execute parallel-safe
      subplans, but it transmitted the query's entire list of subplans to
      the worker(s).  Since execMain.c blindly does ExecInitNode and later
      ExecEndNode on every list element, this resulted in parallel-unsafe plan
      nodes nonetheless getting started up and shut down in parallel workers.
      That seems mostly harmless as far as core plan node types go (but
      maybe not so much for Gather?).  But it resulted in postgres_fdw
      opening and then closing extra remote connections, and it's likely
      that other non-parallel-safe FDWs or custom scan providers would have
      worse reactions.
      
      To fix, just make ExecSerializePlan replace parallel-unsafe subplans
      with NULLs in the cut-down plan tree that it transmits to workers.
      This relies on ExecInitNode and ExecEndNode to do nothing on NULL
      input, but they do anyway.  If anything else is touching the dropped
      subplans in a parallel worker, that would be a bug to be fixed.
      (This thus provides a strong guarantee that we won't try to do
      something with a parallel-unsafe subplan in a worker.)
      
      This is, I think, the last fix directly occasioned by Andreas Seltenreich's
      bug report of a few days ago.
      
      Tom Lane and Amit Kapila
      
      Discussion: https://postgr.es/m/87tw5x4vcu.fsf@credativ.de
      16ebab68
    • Peter Eisentraut's avatar
      doc: Tweak CSS · f6f9f8a2
      Peter Eisentraut authored
      Tweak CSS a bit to match latest similar changes to web site style.  Also
      move some CSS out of the HTML to the stylesheet so that the web site
      stylesheet can override it.  This should ensure that notes and such are
      back to being centered.
      f6f9f8a2
    • Bruce Momjian's avatar
      git_changelog: improve instructions for finding branch commits · 85485401
      Bruce Momjian authored
      Specifically, use '--summary' with 'git show'.
      85485401
    • Tom Lane's avatar
      Mark finished Plan nodes with parallel_safe flags. · 003d80f3
      Tom Lane authored
      We'd managed to avoid doing this so far, but it seems pretty obvious
      that it would be forced on us some day, and this is much the cleanest
      way of approaching the open problem that parallel-unsafe subplans are
      being transmitted to parallel workers.  Anyway there's no space cost
      due to alignment considerations, and the time cost is pretty minimal
      since we're just copying the flag from the corresponding Path node.
      (At least in most cases ... some of the klugier spots in createplan.c
      have to work a bit harder.)
      
      In principle we could perhaps get rid of SubPlan.parallel_safe,
      but I thought it better to keep that in case there are reasons to
      consider a SubPlan unsafe even when its child plan is parallel-safe.
      
      This patch doesn't actually do anything with the new flags, but
      I thought I'd commit it separately anyway.
      
      Note: although this touches outfuncs/readfuncs, there's no need for
      a catversion bump because Plan trees aren't stored on disk.
      
      Discussion: https://postgr.es/m/87tw5x4vcu.fsf@credativ.de
      003d80f3
    • Peter Eisentraut's avatar
      Remove some tabs in SQL code in C string literals · 35b5f7b6
      Peter Eisentraut authored
      This is not handled uniformly throughout the code, but at least nearby
      code can be consistent.
      35b5f7b6
    • Robert Haas's avatar
      Fix pgstattuple's handling of unused hash pages. · 9cc27566
      Robert Haas authored
      Hash indexes can contain both pages which are all-zeroes (i.e.
      PageIsNew()) and pages which have been initialized but currently
      aren't used.  The latter category can happen either when a page
      has been reserved but not yet used or when it is used for a time
      and then freed.  pgstattuple was only prepared to deal with the
      pages that are actually-zeroes, which it called zero_pages.
      Rename the column to unused_pages (extension version 1.5 is
      as-yet-unreleased) and make it count both kinds of unused pages.
      
      Along the way, slightly tidy up the way we test for pages of
      various types.
      
      Robert Haas and Ashutosh Sharma, reviewed by Amit Kapila
      
      Discussion: http://postgr.es/m/CAE9k0PkTtKFB3YndOyQMjwuHx+-FtUP1ynK8E-nHtetoow3NtQ@mail.gmail.com
      9cc27566
    • Robert Haas's avatar
      Code review for c94e6942. · 1d5fede4
      Robert Haas authored
      validateCheckConstraint() shouldn't try to access the storage for
      a partitioned table, because it no longer has any.  Creating a
      _RETURN table on a partitioned table shouldn't be allowed, both
      because there's no value in it and because trying to do so would
      involve a validation scan against its nonexistent storage.
      
      Amit Langote, reviewed by Tom Lane.  Regression test outputs
      updated to pass by me.
      
      Discussion: http://postgr.es/m/e5c3cbd3-1551-d6f8-c9e2-51777d632fd2@lab.ntt.co.jp
      1d5fede4
    • Magnus Hagander's avatar
      Fix reversed check of return value from sync · b935eb7d
      Magnus Hagander authored
      While at it also update the comments in walmethods.h to make it less
      likely for mistakes like this to appear in the future (thanks to Tom for
      improvements to the comments).
      
      And finally, in passing change the return type of walmethod.getlasterror
      to being const, also per suggestion from Tom.
      b935eb7d
  4. 11 Apr, 2017 4 commits