1. 18 Sep, 2006 10 commits
  2. 17 Sep, 2006 2 commits
    • Tom Lane's avatar
      Change ANALYZE to take ShareUpdateExclusiveLock not AccessShareLock on · da7540b9
      Tom Lane authored
      the table being analyzed.  This prevents two ANALYZEs from running
      concurrently on the same table and possibly suffering concurrent-update
      failures while trying to store their results into pg_statistic.  The
      downside is that a database-wide ANALYZE executed within a transaction
      block will hold ShareUpdateExclusiveLock on many tables simultaneously,
      which could lead to concurrency issues or even deadlock against another
      such ANALYZE.  However, this seems a corner case of less importance
      than getting unexpected errors from a foreground ANALYZE when autovacuum
      elects to analyze the same table concurrently.  Per discussion.
      da7540b9
    • Tom Lane's avatar
      Marginal cleanup in arrangements for ensuring StrategyHintVacuum is cleared · 2e5e856f
      Tom Lane authored
      after an error during VACUUM.  We have a PG_TRY block anyway around the only
      call sites, so just reset it in the CATCH clause instead of having
      AtEOXact_Buffers blindly do it during xact end.  I think the old code was
      actively wrong for the case of a failure during ANALYZE inside a
      subtransaction --- the flag wouldn't get cleared until main transaction end.
      Probably not worth back-patching though.
      2e5e856f
  3. 16 Sep, 2006 7 commits
  4. 15 Sep, 2006 7 commits
  5. 14 Sep, 2006 14 commits