Replace the KnownAssignedXids hash table with a sorted-array data structure,

and be more tense about the locking requirements for it, to improve performance
in Hot Standby mode.  In passing fix a few bugs and improve a number of
comments in the existing HS code.

Simon Riggs, with some editorialization by Tom
REL9_0_STABLE
Tom Lane 16 years ago
parent 871e73bb27
commit 2871b4618a
  1. 5
      src/backend/access/transam/twophase.c
  2. 1077
      src/backend/storage/ipc/procarray.c

@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.60 2010/04/13 14:17:46 heikki Exp $
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.61 2010/04/28 00:09:05 tgl Exp $
*
* NOTES
* Each global transaction is associated with a global transaction
@ -1200,6 +1200,9 @@ StandbyTransactionIdIsPrepared(TransactionId xid)
Assert(TransactionIdIsValid(xid));
if (max_prepared_xacts <= 0)
return false; /* nothing to do */
/* Read and validate file */
buf = ReadTwoPhaseFile(xid, false);
if (buf == NULL)

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save