I have applied the following cleanup to procarray.c.

-- 
  Bruce Momjian  <[EMAIL PROTECTED]>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/backend/storage/ipc/procarray.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/storage/ipc/procarray.c,v
retrieving revision 1.21
diff -c -c -r1.21 procarray.c
*** src/backend/storage/ipc/procarray.c	16 Jan 2007 13:28:56 -0000	1.21
--- src/backend/storage/ipc/procarray.c	23 Mar 2007 03:14:10 -0000
***************
*** 590,595 ****
--- 590,600 ----
  
  	xmax = ReadNewTransactionId();
  
+ 	/*
+ 	 * Spin over procArray checking xid, xmin, and subxids.  The goal is
+ 	 * to gather all active xids, find the lowest xmin, and try to record
+ 	 * subxids.
+ 	 */
  	for (index = 0; index < arrayP->numProcs; index++)
  	{
  		PGPROC	   *proc = arrayP->procs[index];
***************
*** 614,621 ****
  
  		if (TransactionIdPrecedes(xid, xmin))
  			xmin = xid;
! 		snapshot->xip[count] = xid;
! 		count++;
  
  		/* Update globalxmin to be the smallest valid xmin */
  		xid = proc->xmin;
--- 619,625 ----
  
  		if (TransactionIdPrecedes(xid, xmin))
  			xmin = xid;
! 		snapshot->xip[count++] = xid;
  
  		/* Update globalxmin to be the smallest valid xmin */
  		xid = proc->xmin;
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to