OSDN Git Service

Fix xid table sizing.
authorVadim B. Mikheev <vadim4o@yahoo.com>
Sat, 29 May 1999 06:14:43 +0000 (06:14 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Sat, 29 May 1999 06:14:43 +0000 (06:14 +0000)
src/backend/storage/lmgr/lock.c
src/include/storage/lock.h

index 15d55ab..2349e95 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.54 1999/05/25 22:42:03 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.55 1999/05/29 06:14:42 vadim Exp $
  *
  * NOTES
  *       Outside modules can create a lock table and acquire/release
@@ -1532,7 +1532,7 @@ LockShmemSize(int maxBackends)
                                                           SHMEM_LOCKTAB_DATASIZE);
 
        /* xidHash table */
-       size += hash_estimate_size(maxBackends,
+       size += hash_estimate_size(NLOCKENTS(maxBackends),
                                                           SHMEM_XIDTAB_KEYSIZE,
                                                           SHMEM_XIDTAB_DATASIZE);
 
index 20fbdff..8693231 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: lock.h,v 1.28 1999/05/25 22:43:26 momjian Exp $
+ * $Id: lock.h,v 1.29 1999/05/29 06:14:42 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -31,10 +31,11 @@ typedef int MASK;
  * See LockShmemSize() in lock.c.
  *
  * NLOCKS_PER_XACT - The number of unique locks acquired in a transaction
+ *                   (should be configurable!)
  * NLOCKENTS - The maximum number of lock entries in the lock table.
  * ----------------------
  */
-#define NLOCKS_PER_XACT                        40
+#define NLOCKS_PER_XACT                        64
 #define NLOCKENTS(maxBackends) (NLOCKS_PER_XACT*(maxBackends))
 
 typedef int LOCKMODE;