1. 21 Dec, 2020 7 commits
  2. 20 Dec, 2020 7 commits
  3. 19 Dec, 2020 2 commits
  4. 18 Dec, 2020 3 commits
    • Tom Lane's avatar
      Add a couple of missed .gitignore entries. · 8afca702
      Tom Lane authored
      Any subdirectory that's ignoring /output_iso/ should also
      ignore /tmp_check_iso/, which could be left behind by a
      failed pg_isolation_regress_check run.
      
      I think these have been wrong for awhile, but it doesn't
      seem important to fix in back branches.
      8afca702
    • Tom Lane's avatar
      Avoid memcpy() with same source and destination during relmapper init. · 53d4f5fe
      Tom Lane authored
      A narrow reading of the C standard says that memcpy(x,x,n) is undefined,
      although it's hard to envision an implementation that would really
      misbehave.  However, analysis tools such as valgrind might whine about
      this; accordingly, let's band-aid relmapper.c to not do it.
      
      See also 5b630501, d3f4e8a8, ad7b48ea, and other similar fixes.
      Apparently, none of those folk tried valgrinding initdb?  This has been
      like this for long enough that I'm surprised it hasn't been reported
      before.
      
      Back-patch, just in case anybody wants to use a back branch on a platform
      that complains about this; we back-patched those earlier fixes too.
      
      Discussion: https://postgr.es/m/161790.1608310142@sss.pgh.pa.us
      53d4f5fe
    • Fujii Masao's avatar
      pg_stat_statements: Track time at which all statistics were last reset. · 2e0fedf0
      Fujii Masao authored
      This commit adds "stats_reset" column into the pg_stat_statements_info
      view. This column indicates the time at which all statistics in the
      pg_stat_statements view were last reset.
      
      Per discussion, this commit also changes pg_stat_statements_info code
      so that "dealloc" column is reset at the same time as "stats_reset" is reset,
      i.e., whenever all pg_stat_statements entries are removed, for the sake
      of consistency. Previously "dealloc" was reset only when
      pg_stat_statements_reset(0, 0, 0) is called and was not reset when
      pg_stat_statements_reset() with non-zero value argument discards all
      entries. This was confusing.
      
      Author: Naoki Nakamichi, Yuki Seino
      Reviewed-by: Yuki Seino, Kyotaro Horiguchi, Li Japin, Fujii Masao
      Discussion: https://postgr.es/m/c102cf3180d0ee73c1c5a0f7f8558322@oss.nttdata.com
      2e0fedf0
  5. 17 Dec, 2020 1 commit
  6. 16 Dec, 2020 3 commits
  7. 15 Dec, 2020 6 commits
    • Peter Geoghegan's avatar
      Remove obsolete btrescan() comment. · 41ddc27f
      Peter Geoghegan authored
      "Ordering stuff" refered to a _bt_first() call to _bt_orderkeys().
      However, the _bt_orderkeys() function was renamed to
      _bt_preprocess_keys() by commit fa5c8a05.
      
      _bt_preprocess_keys() is directly referenced just after the removed
      comment already, which seems sufficient.
      41ddc27f
    • Alvaro Herrera's avatar
      Remove useless variable stores · a18422a3
      Alvaro Herrera authored
      Mistakenly introduced in 4cbe3ac3; bug repaired in 148e632c but
      the stores were accidentally.
      a18422a3
    • Tomas Vondra's avatar
      Error out when Gather Merge input is not sorted · 6bc27698
      Tomas Vondra authored
      To build Gather Merge path, the input needs to be sufficiently sorted.
      Ensuring this is the responsibility of the code constructing the paths,
      but create_gather_merge_plan tried to handle unsorted paths by adding
      an explicit Sort. In light of the recent issues related to Incremental
      Sort, this is rather fragile. Some of the expressions may be volatile
      or parallel unsafe, in which case we can't add the Sort here.
      
      We could do more checks and add the Sort in at least some cases, but
      it seems cleaner to just error out and make it clear this is a bug in
      code constructing those paths.
      
      Author: James Coleman
      Reviewed-by: Tomas Vondra
      Discussion: https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs%3DhC0mSksZC%3DH5M8LSchj5e5OxpTAg%40mail.gmail.com
      Discussion: https://postgr.es/m/CAJGNTeNaxpXgBVcRhJX%2B2vSbq%2BF2kJqGBcvompmpvXb7pq%2BoFA%40mail.gmail.com
      6bc27698
    • Peter Eisentraut's avatar
      Clean up ancient test style · c06d6aa4
      Peter Eisentraut authored
      Many older tests where written in a style like
      
          SELECT '' AS two, i.* FROM INT2_TBL
      
      where the first column indicated the number of expected result rows.
      This has gotten increasingly out of date, as the test data fixtures
      have expanded, so a lot of these were wrong and misleading.  Moreover,
      this style isn't really necessary, since the psql output already shows
      the number of result rows.
      
      To clean this up, remove all those extra columns.
      
      Discussion: https://www.postgresql.org/message-id/flat/1a25312b-2686-380d-3c67-7a69094a999f%40enterprisedb.com
      c06d6aa4
    • Tom Lane's avatar
      Improve hash_create()'s API for some added robustness. · b3817f5f
      Tom Lane authored
      Invent a new flag bit HASH_STRINGS to specify C-string hashing, which
      was formerly the default; and add assertions insisting that exactly
      one of the bits HASH_STRINGS, HASH_BLOBS, and HASH_FUNCTION be set.
      This is in hopes of preventing recurrences of the type of oversight
      fixed in commit a1b8aa1e (i.e., mistakenly omitting HASH_BLOBS).
      
      Also, when HASH_STRINGS is specified, insist that the keysize be
      more than 8 bytes.  This is a heuristic, but it should catch
      accidental use of HASH_STRINGS for integer or pointer keys.
      (Nearly all existing use-cases set the keysize to NAMEDATALEN or
      more, so there's little reason to think this restriction should
      be problematic.)
      
      Tweak hash_create() to insist that the HASH_ELEM flag be set, and
      remove the defaults it had for keysize and entrysize.  Since those
      defaults were undocumented and basically useless, no callers
      omitted HASH_ELEM anyway.
      
      Also, remove memset's zeroing the HASHCTL parameter struct from
      those callers that had one.  This has never been really necessary,
      and while it wasn't a bad coding convention it was confusing that
      some callers did it and some did not.  We might as well save a few
      cycles by standardizing on "not".
      
      Also improve the documentation for hash_create().
      
      In passing, improve reinit.c's usage of a hash table by storing
      the key as a binary Oid rather than a string; and, since that's
      a temporary hash table, allocate it in CurrentMemoryContext for
      neatness.
      
      Discussion: https://postgr.es/m/590625.1607878171@sss.pgh.pa.us
      b3817f5f
    • Jeff Davis's avatar
      Revert "Cannot use WL_SOCKET_WRITEABLE without WL_SOCKET_READABLE." · a58db3aa
      Jeff Davis authored
      This reverts commit 3a9e64aa.
      
      Commit 4bad60e3 fixed the root of the problem that 3a9e64aa worked
      around.
      
      This enables proper pipelining of commands after terminating
      replication, eliminating an undocumented limitation.
      
      Discussion: https://postgr.es/m/3d57bc29-4459-578b-79cb-7641baf53c57%40iki.fi
      Backpatch-through: 9.5
      a58db3aa
  8. 14 Dec, 2020 2 commits
    • Michael Paquier's avatar
      Improve some code around cryptohash functions · 9b584953
      Michael Paquier authored
      This adjusts some code related to recent changes for cryptohash
      functions:
      - Add a variable in md5.h to track down the size of a computed result,
      moved from pgcrypto.  Note that pg_md5_hash() assumed a result of this
      size already.
      - Call explicit_bzero() on the hashed data when freeing the context for
      fallback implementations.  For MD5, particularly, it would be annoying
      to leave some non-zeroed data around.
      - Clean up some code related to recent changes of uuid-ossp.  .gitignore
      still included md5.c and a comment was incorrect.
      
      Discussion: https://postgr.es/m/X9HXKTgrvJvYO7Oh@paquier.xyz
      9b584953
    • Michael Paquier's avatar
      Add some checkpoint/restartpoint status to ps display · df9274ad
      Michael Paquier authored
      This is done for end-of-recovery and shutdown checkpoints/restartpoints
      (end-of-recovery restartpoints don't exist) rather than all types of
      checkpoints, in cases where it may not be possible to rely on
      pg_stat_activity to get a status from the startup or checkpointer
      processes.
      
      For example, at the end of a crash recovery, this is useful to know if a
      checkpoint is running in the startup process, while previously the ps
      display may only show some information about "recovering" something,
      that can be confusing while a checkpoint runs.
      
      Author: Justin Pryzby
      Reviewed-by: Nathan Bossart, Kirk Jamison, Fujii Masao, Michael Paquier
      Discussion: https://postgr.es/m/20200818225238.GP17022@telsasoft.com
      df9274ad
  9. 13 Dec, 2020 2 commits
  10. 12 Dec, 2020 2 commits
  11. 11 Dec, 2020 4 commits
  12. 10 Dec, 2020 1 commit
    • Michael Paquier's avatar
      Fix compilation of uuid-ossp · 525e60b7
      Michael Paquier authored
      This module had a dependency on pgcrypto's md5.c that got removed by
      b67b57a9.  Instead of the code from pgcrypto, this code can just use the
      new cryptohash routines for MD5 as a drop-in replacement, so let's just
      do this switch.  This has also the merit to simplify a bit the
      compilation of uuid-ossp.
      
      This requires --with-uuid to be reproduced, and I have used e2fs as a
      way to reproduce the failure, then test this commit.
      
      Per reports from buildfarm members longfin, florican and sifaka.
      
      Discussion: https://postgr.es/m/X9GToVd3QmWeNvj8@paquier.xyz
      525e60b7