1. 15 Feb, 2010 8 commits
  2. 14 Feb, 2010 5 commits
  3. 13 Feb, 2010 8 commits
  4. 12 Feb, 2010 11 commits
  5. 11 Feb, 2010 3 commits
  6. 10 Feb, 2010 2 commits
  7. 09 Feb, 2010 3 commits
    • Tom Lane's avatar
      Fix up rickety handling of relation-truncation interlocks. · cbe9d6be
      Tom Lane authored
      Move rd_targblock, rd_fsm_nblocks, and rd_vm_nblocks from relcache to the smgr
      relation entries, so that they will get reset to InvalidBlockNumber whenever
      an smgr-level flush happens.  Because we now send smgr invalidation messages
      immediately (not at end of transaction) when a relation truncation occurs,
      this ensures that other backends will reset their values before they next
      access the relation.  We no longer need the unreliable assumption that a
      VACUUM that's doing a truncation will hold its AccessExclusive lock until
      commit --- in fact, we can intentionally release that lock as soon as we've
      completed the truncation.  This patch therefore reverts (most of) Alvaro's
      patch of 2009-11-10, as well as my marginal hacking on it yesterday.  We can
      also get rid of assorted no-longer-needed relcache flushes, which are far more
      expensive than an smgr flush because they kill a lot more state.
      
      In passing this patch fixes smgr_redo's failure to perform visibility-map
      truncation, and cleans up some rather dubious assumptions in freespace.c and
      visibilitymap.c about when rd_fsm_nblocks and rd_vm_nblocks can be out of
      date.
      cbe9d6be
    • Heikki Linnakangas's avatar
      Fix bug in GIN WAL redo cleanup function: don't free fake relcache entry · 79647eed
      Heikki Linnakangas authored
      while it's still being used.
      
      Backpatch to 8.4, where the fake relcache method was introduced.
      79647eed
    • Magnus Hagander's avatar
      Typo fix, per Thom Brown · 09c07475
      Magnus Hagander authored
      09c07475