1. 20 Apr, 2021 2 commits
    • Magnus Hagander's avatar
      Fix typo in comment · 8b4b5669
      Magnus Hagander authored
      Author: Julien Rouhaud
      Backpatch-through: 11
      Discussion: https://postgr.es/m/20210420121659.odjueyd4rpilorn5@nol
      8b4b5669
    • Peter Geoghegan's avatar
      Document LP_DEAD accounting issues in VACUUM. · 7136bf34
      Peter Geoghegan authored
      Document VACUUM's soft assumption that any LP_DEAD items encountered
      during pruning will become LP_UNUSED items before VACUUM finishes up.
      This is integral to the accounting used by VACUUM to generate its final
      report on the table to the stats collector.  It also affects how VACUUM
      determines which heap pages are truncatable.  In both cases VACUUM is
      concerned with the likely contents of the page in the near future, not
      the current contents of the page.
      
      This state of affairs created the false impression that VACUUM's dead
      tuple accounting had significant difference with similar accounting used
      during ANALYZE.  There were and are no substantive differences, at least
      when the soft assumption completely works out.  This is far clearer now.
      
      Also document cases where things don't quite work out for VACUUM's dead
      tuple accounting.  It's possible that a significant number of LP_DEAD
      items will be left behind by VACUUM, and won't be recorded as remaining
      dead tuples in VACUUM's statistics collector report.  This behavior
      dates back to commit a96c41fe, which taught VACUUM to run without index
      and heap vacuuming at the user's request.  The failsafe mechanism added
      to VACUUM more recently by commit 1e55e7d1 takes the same approach to
      dead tuple accounting.
      Reported-By: default avatarMasahiko Sawada <sawada.mshk@gmail.com>
      Discussion: https://postgr.es/m/CAH2-Wz=Jmtu18PrsYq3EvvZJGOmZqSO2u3bvKpx9xJa5uhNp=Q@mail.gmail.com
      7136bf34
  2. 19 Apr, 2021 4 commits
  3. 18 Apr, 2021 2 commits
  4. 17 Apr, 2021 3 commits
    • Peter Eisentraut's avatar
      f7c09706
    • Peter Eisentraut's avatar
      Use correct format placeholder for block numbers · f59b58e2
      Peter Eisentraut authored
      Should be %u rather than %d.
      f59b58e2
    • Tom Lane's avatar
      Rethink extraction of collation dependencies. · f24b1569
      Tom Lane authored
      As it stands, find_expr_references_walker() pays attention to leaf-node
      collation fields while ignoring the input collations of actual function
      and operator nodes.  That seems exactly backwards from a semantic
      standpoint, and it leads to reporting dependencies on collations that
      really have nothing to do with the expression's behavior.
      
      Hence, rewrite to look at function input collations instead.  This
      isn't completely perfect either; it fails to account for the behavior
      of record_eq and its siblings.  (The previous coding at least gave an
      approximation of that, though I think it could be fooled pretty easily
      into considering the columns of irrelevant composite types.)  We may
      be able to improve on this later, but for now this should satisfy the
      buildfarm members that didn't like ef387bed.
      
      In passing fix some oversights in GetTypeCollations(), and get
      rid of its duplicative de-duplications.  (I'm worried that it's
      still potentially O(N^2) or worse, but this makes it a little
      better.)
      
      Discussion: https://postgr.es/m/3564817.1618420687@sss.pgh.pa.us
      f24b1569
  5. 16 Apr, 2021 11 commits
  6. 15 Apr, 2021 10 commits
  7. 14 Apr, 2021 6 commits
  8. 13 Apr, 2021 2 commits