Index: src/backend/storage/lmgr/lock.c
===================================================================
RCS file: /home/hlinnaka/pgcvsrepository/pgsql/src/backend/storage/lmgr/lock.c,v
retrieving revision 1.174
diff -c -r1.174 lock.c
*** src/backend/storage/lmgr/lock.c	4 Oct 2006 00:29:57 -0000	1.174
--- src/backend/storage/lmgr/lock.c	23 Apr 2007 21:19:25 -0000
***************
*** 1796,1801 ****
--- 1796,1817 ----
  	HASH_SEQ_STATUS status;
  	LOCALLOCK  *locallock;
  
+ #ifdef LOCK_DEBUG
+  {
+ 	int i;
+ 	/*
+ 	 * Must grab LWLocks in partition-number order to avoid LWLock deadlock.
+ 	 */
+ 	for (i = 0; i < NUM_LOCK_PARTITIONS; i++)
+ 		LWLockAcquire(FirstLockMgrLock + i, LW_SHARED);
+ 
+ 	DumpLocks(MyProc);
+ 
+ 	for (i = 0; i < NUM_LOCK_PARTITIONS; i++)
+ 		LWLockRelease(FirstLockMgrLock + i);
+  }
+ #endif
+ 
  	/*
  	 * We don't need to touch shared memory for this --- all the necessary
  	 * state information is in the locallock table.
***************
*** 1830,1835 ****
--- 1846,1854 ----
  					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
  					 errmsg("cannot PREPARE a transaction that has operated on temporary tables")));
  
+ 		PROCLOCK_PRINT("AtPrepare_Locks", locallock->proclock);
+ 		LOCK_PRINT("AtPrepare_Locks", locallock->lock, locallock->tag.mode);
+ 
  		/*
  		 * Create a 2PC record.
  		 */
