1. 22 Dec, 2000 1 commit
    • Tom Lane's avatar
      Revise lock manager to support "session level" locks as well as "transaction · 6cc842ab
      Tom Lane authored
      level" locks.  A session lock is not released at transaction commit (but it
      is released on transaction abort, to ensure recovery after an elog(ERROR)).
      In VACUUM, use a session lock to protect the master table while vacuuming a
      TOAST table, so that the TOAST table can be done in an independent
      transaction.
      
      I also took this opportunity to do some cleanup and renaming in the lock
      code.  The previously noted bug in ProcLockWakeup, that it couldn't wake up
      any waiters beyond the first non-wakeable waiter, is now fixed.  Also found
      a previously unknown bug of the same kind (failure to scan all members of
      a lock queue in some cases) in DeadLockCheck.  This might have led to failure
      to detect a deadlock condition, resulting in indefinite waits, but it's
      difficult to characterize the conditions required to trigger a failure.
      6cc842ab
  2. 21 Dec, 2000 10 commits
  3. 20 Dec, 2000 12 commits
  4. 19 Dec, 2000 6 commits
  5. 18 Dec, 2000 11 commits