1. 21 Mar, 2017 14 commits
  2. 20 Mar, 2017 10 commits
  3. 19 Mar, 2017 3 commits
  4. 18 Mar, 2017 12 commits
    • Tom Lane's avatar
      Avoid use of already-closed relcache entry. · e3044f61
      Tom Lane authored
      Oversight in commit 17f8ffa1.  Per buildfarm member prion.
      e3044f61
    • Tom Lane's avatar
      Fix REFRESH MATERIALIZED VIEW to report activity to the stats collector. · 17f8ffa1
      Tom Lane authored
      The non-concurrent code path for REFRESH MATERIALIZED VIEW failed to
      report its updates to the stats collector.  This is bad since it means
      auto-analyze doesn't know there's any work to be done.  Adjust it to
      report the refresh as a table truncate followed by insertion of an
      appropriate number of rows.
      
      Since a matview could contain more than INT_MAX rows, change the
      signature of pgstat_count_heap_insert() to accept an int64 rowcount.
      (The accumulator it's adding into is already int64, but existing
      callers could not insert more than a small number of rows at once,
      so the argument had been declared just "int n".)
      
      This is surely a bug fix, but changing pgstat_count_heap_insert()'s API
      seems too risky for the back branches.  Given the lack of previous
      complaints, I'm not sure it's a big enough problem to justify a kluge
      solution that would avoid that.  So, no back-patch, at least for now.
      
      Jim Mlodgenski, adjusted a bit by me
      
      Discussion: https://postgr.es/m/CAB_5SRchSz7-WmdO5szdiknG8Oj_GGqJytrk1KRd11yhcMs1KQ@mail.gmail.com
      17f8ffa1
    • Peter Eisentraut's avatar
      doc: Improve wording · 27f1f585
      Peter Eisentraut authored
      Link to CREATE and ALTER ROLE consistently, instead of mixing CREATE
      USER and ALTER ROLE.
      27f1f585
    • Peter Eisentraut's avatar
      doc: Add markup · a72188a3
      Peter Eisentraut authored
      a72188a3
    • Peter Eisentraut's avatar
      doc: Update compatibility claim · 5e86bb51
      Peter Eisentraut authored
      Update outdated claim that TRUNCATE is a PostgreSQL extension.
      
      Add cross-links between DELETE and TRUNCATE references pages.
      5e86bb51
    • Peter Eisentraut's avatar
      doc: Tweak reference page header style · cb5fa413
      Peter Eisentraut authored
      Change the header style of references pages in HTML and PDF output to be
      more like the old style under DSSSL.  In particular, the page should
      start with a header containing the command name, instead of just "Name".
      cb5fa413
    • Stephen Frost's avatar
      Adjust number of tests for pg_dump 001_basic.pl · 805e8bc7
      Stephen Frost authored
      When removing a test, need to make sure the count of tests is adjusted
      when it isn't calculated.
      805e8bc7
    • Stephen Frost's avatar
      pg_dump: Remove "option requires an argument -- j" test · 5abda5a3
      Stephen Frost authored
      This is really testing getopt more than pg_dump, and what getopt returns
      exactly appears to differ based on platform, so remove this test.
      
      Per buildfarm.
      5abda5a3
    • Stephen Frost's avatar
      Improve pg_dump regression tests and code coverage · 31a8b77a
      Stephen Frost authored
      These improvements bring the lines-of-code coverage of pg_dump.c up to
      87.7% (at least using LCOV 1.12, 1.11 seems to differ slightly).  Nearly
      every function is covered, three of the four which aren't are only
      called when talking to older PG instances.
      
      There is more which can, and should, be done here to improve the
      coverage but it's past time to see what the buildfarm thinks of this.
      
      What has been added:
      
      - Coverage for many more command-line options
      - Use command_fails_like instead of command_exit_is
      - Operator classes, operator families
      - Text search configuration, templates, parsers, dictionaries
      - FDWs, servers, foreign tables
      - Materialized views
      - Improved Publications / Subscriptions test (though this needs work,
        see PG10 open items and tests marked with XXX in 002_pg_dump.pl)
      - Unlogged tables
      - Partitioned tables
      - Additional ACL testing for various object types
      
      There is room for improvement, specifically:
      
      - Various type-based option (alignment, storage, etc)
      - Composite type collation
      - Extra Procedural language functions (inline, validator)
      - Different function options (SRF, Transform, config, security definer,
        cost, leakproof)
      - OpClass options (default, storage, order by, recheck)
      - OpFamily options (order by, recheck)
      - Aggregate functions (combinefunc, serialfunc, deserialfunc, etc)
      - Text Search parser 'headline'
      - Text Search template 'init'
      - FDW options (handler, validator, options)
      - Server options (type, version, options)
      - User mapping options
      - Default ACLs for sequences, types
      - Security labels
      - View circular dependencies (last function that needs coverage)
      - Toast table autovacuum options
      - Replica identity options
      - Independent indexes (plus marking them as clustered on)
      - Deferrable / initially deferred constraints
      - Independent domain constraints
      
      There's bits of extension pg_dump'ing also not covered, but those will
      need to go into test_pg_dump (such as having a filter for config
      tables).
      
      Last, but not least, this approximately halves the number of tests run
      with 'ok()' by removing the ok()-based checking of if all runs are
      covered by each test.  Instead, 002_pg_dump.pl will just exit out in
      such a case (with a message in the log file).  In general, when adding
      tests, cover all runs unless there is a very good reason not to (such as
      adding a 'catch-all' case).  With these changes, the resulting output
      and number of "tests" run is actually reduced.
      31a8b77a
    • Peter Eisentraut's avatar
      doc: Correct row count in table · 164bdbe9
      Peter Eisentraut authored
      The incorrect count causes FOP to error out.
      164bdbe9
    • Robert Haas's avatar
      Create and use wait events for read, write, and fsync operations. · 249cf070
      Robert Haas authored
      Previous commits, notably 53be0b1a and
      6f3bd98e, made it possible to see from
      pg_stat_activity when a backend was stuck waiting for another backend,
      but it's also fairly common for a backend to be stuck waiting for an
      I/O.  Add wait events for those operations, too.
      
      Rushabh Lathia, with further hacking by me.  Reviewed and tested by
      Michael Paquier, Amit Kapila, Rajkumar Raghuwanshi, and Rahila Syed.
      
      Discussion: http://postgr.es/m/CAGPqQf0LsYHXREPAZqYGVkDqHSyjf=KsD=k0GTVPAuzyThh-VQ@mail.gmail.com
      249cf070
    • Michael Meskes's avatar
  5. 17 Mar, 2017 1 commit
    • Tom Lane's avatar
      Fix WaitEventSetWait() to handle write-ready waits properly on Windows. · f7819baa
      Tom Lane authored
      Windows apparently will not detect socket write-ready events unless a
      preceding send attempt returned WSAEWOULDBLOCK.  In many usage patterns
      that's satisfied by the caller of WaitEvenSetWait(), but not always.
      
      Apply the same solution that we already had in pgwin32_select(), namely to
      perform a dummy WSASend() call with len=0.  This will return WSAEWOULDBLOCK
      if there's no buffer space (even though it could legitimately do nothing
      and report success, which makes me a bit nervous about this solution;
      but since it's been working fine in libpq, let's roll with it).
      
      In passing, improve the comments about this in pgwin32_select(), and remove
      duplicated code there.
      
      Back-patch to 9.6 where WaitEventSetWait() was introduced.  We might need
      to back-patch something similar into predecessor code.  But given the lack
      of complaints so far, it's not clear that the case ever gets exercised
      in the back branches, so I'm not going to expend effort on it right now.
      
      This should resolve recurring failures on buildfarm member bowerbird,
      which has been failing since 1e8a8500 went in.
      
      Diagnosis and patch by Petr Jelinek, cosmetic adjustments by me.
      
      Discussion: https://postgr.es/m/5b6a6d6d-fb45-0afb-2e95-5600063c3dbd@2ndquadrant.com
      f7819baa