1. 02 Nov, 2018 7 commits
  2. 01 Nov, 2018 5 commits
  3. 31 Oct, 2018 5 commits
    • Andres Freund's avatar
      Disallow starting server with insufficient wal_level for existing slot. · 691d79a0
      Andres Freund authored
      Previously it was possible to create a slot, change wal_level, and
      restart, even if the new wal_level was insufficient for the
      slot. That's a problem for both logical and physical slots, because
      the necessary WAL records are not generated.
      
      This removes a few tests in newer versions that, somewhat
      inexplicably, whether restarting with a too low wal_level worked (a
      buggy behaviour!).
      
      Reported-By: Joshua D. Drake
      Author: Andres Freund
      Discussion: https://postgr.es/m/20181029191304.lbsmhshkyymhw22w@alap3.anarazel.de
      Backpatch: 9.4-, where replication slots where introduced
      691d79a0
    • Tom Lane's avatar
      Fix memory leak in repeated SPGIST index scans. · 696b0c5f
      Tom Lane authored
      spgendscan neglected to pfree all the memory allocated by spgbeginscan.
      It's possible to get away with that in most normal queries, since the
      memory is allocated in the executor's per-query context which is about
      to get deleted anyway; but it causes severe memory leakage during
      creation or filling of large exclusion-constraint indexes.
      
      Also, document that amendscan is supposed to free what ambeginscan
      allocates.  The docs' lack of clarity on that point probably caused this
      bug to begin with.  (There is discussion of changing that API spec going
      forward, but I don't think it'd be appropriate for the back branches.)
      
      Per report from Bruno Wolff.  It's been like this since the beginning,
      so back-patch to all active branches.
      
      In HEAD, also fix an independent leak caused by commit 2a636834
      (allocating memory during spgrescan instead of spgbeginscan, which
      might be all right if it got cleaned up, but it didn't).  And do a bit
      of code beautification on that commit, too.
      
      Discussion: https://postgr.es/m/20181024012314.GA27428@wolff.to
      696b0c5f
    • Andres Freund's avatar
      Fix typo in xlog.c. · c4ab62f9
      Andres Freund authored
      Author: Daniel Gustafsson
      Discussion: https://postgr.es/m/A6817958-949E-4A5B-895D-FA421B6640C2@yesql.se
      c4ab62f9
    • Tom Lane's avatar
      Sync our copy of the timezone library with IANA release tzcode2018g. · 10bfda06
      Tom Lane authored
      This patch absorbs an upstream fix to "zic" for a recently-introduced
      bug that made it output data that some 32-bit clients couldn't read.
      Given the current source data, the bug only manifests in zones with
      leap seconds, which we don't generate, so that there's no actual
      change in our installed timezone data files from this.  Still, in
      case somebody uses our copy of "zic" to do something else, it seems
      best to apply the fix promptly.
      
      Also, update the README's notes about converting upstream code to
      our conventions.
      10bfda06
    • Tom Lane's avatar
      Update time zone data files to tzdata release 2018g. · 5c2e0ca5
      Tom Lane authored
      DST law changes in Morocco (with, effectively, zero notice).
      Historical corrections for Hawaii.
      5c2e0ca5
  4. 30 Oct, 2018 4 commits
    • Tom Lane's avatar
      Fix interaction of CASE and ArrayCoerceExpr. · 14a158f9
      Tom Lane authored
      An array-type coercion appearing within a CASE that has a constant
      (after const-folding) test expression was mangled by the planner, causing
      all the elements of the resulting array to be equal to the coerced value
      of the CASE's test expression.  This is my oversight in commit c12d570f:
      that changed ArrayCoerceExpr to use a subexpression involving a
      CaseTestExpr, and I didn't notice that eval_const_expressions needed an
      adjustment to keep from folding such a CaseTestExpr to a constant when
      it's inside a suitable CASE.
      
      This is another in what's getting to be a depressingly long line of bugs
      associated with misidentification of the referent of a CaseTestExpr.
      We're overdue to redesign that mechanism; but any such fix is unlikely
      to be back-patchable into v11.  As a stopgap, fix eval_const_expressions
      to do what it must here.  Also add a bunch of comments pointing out the
      restrictions and assumptions that are needed to make this work at all.
      
      Also fix a related oversight: contain_context_dependent_node() was not
      aware of the relationship of ArrayCoerceExpr to CaseTestExpr.  That was
      somewhat fail-soft, in that the outcome of a wrong answer would be to
      prevent optimizations that could have been made, but let's fix it while
      we're at it.
      
      Per bug #15471 from Matt Williams.  Back-patch to v11 where the faulty
      logic came in.
      
      Discussion: https://postgr.es/m/15471-1117f49271989bad@postgresql.org
      14a158f9
    • Peter Eisentraut's avatar
      pg_rewind: Remove unused macro · c2c7c263
      Peter Eisentraut authored
      This has never been used while pg_rewind was in the tree (possibly
      once copied from pg_upgrade).
      c2c7c263
    • Michael Paquier's avatar
      Consolidate cross-option checks in pg_restore · c34bca9e
      Michael Paquier authored
      This moves one check for conflicting options from the archive restore
      code to the main function where other similar checks are performed.
      Also reword the error message to be consistent with other messages.
      
      The only option combination impacted is --create specified with
      --single-transaction, and informing the caller at an early step saves
      from opening the archive worked on.  A TAP test is added for this
      combination.
      
      Author: Daniel Gustafsson
      Reviewed-by: Fabien Coelho
      Discussion: https://postgr.es/m/616808BD-4B59-4E6C-97A9-7317F62D5570@yesql.se
      c34bca9e
    • Michael Paquier's avatar
      Add pg_partition_tree to display information about partitions · d5eec4ee
      Michael Paquier authored
      This new function is useful to display a full tree of partitions with a
      partitioned table given in output, and avoids the need of any complex
      WITH RECURSIVE query when looking at partition trees which are
      deep multiple levels.
      
      It returns a set of records, one for each partition, containing the
      partition's name, its immediate parent's name, a boolean value telling
      if the relation is a leaf in the tree and an integer telling its level
      in the partition tree with given table considered as root, beginning at
      zero for the root, and incrementing by one each time the scan goes one
      level down.
      
      Author: Amit Langote
      Reviewed-by: Jesper Pedersen, Michael Paquier, Robert Haas
      Discussion: https://postgr.es/m/8d00e51a-9a51-ad02-d53e-ba6bf50b2e52@lab.ntt.co.jp
      d5eec4ee
  5. 29 Oct, 2018 4 commits
  6. 28 Oct, 2018 2 commits
  7. 26 Oct, 2018 2 commits
  8. 25 Oct, 2018 3 commits
  9. 24 Oct, 2018 3 commits
  10. 23 Oct, 2018 4 commits
  11. 22 Oct, 2018 1 commit