@@ -1018,7 +1018,6 @@ InitPredicateLocks(void)
10181018 * PredicateLockShmemSize!
10191019 */
10201020max_table_size = (MaxBackends + max_prepared_xacts );
1021- init_table_size = max_table_size /2 ;
10221021
10231022/*
10241023 * Allocate a list to hold information on transactions participating in
@@ -1029,7 +1028,6 @@ InitPredicateLocks(void)
10291028 * be summarized for storage in SLRU and the "dummy" transaction.
10301029 */
10311030max_table_size *=10 ;
1032- init_table_size *=10 ;
10331031
10341032PredXact = ShmemInitStruct ("PredXactList" ,
10351033PredXactListDataSize ,
@@ -1092,7 +1090,7 @@ InitPredicateLocks(void)
10921090hash_flags = (HASH_ELEM |HASH_FUNCTION );
10931091
10941092SerializableXidHash = ShmemInitHash ("SERIALIZABLEXID hash" ,
1095- init_table_size ,
1093+ max_table_size ,
10961094max_table_size ,
10971095& info ,
10981096hash_flags );
@@ -1595,10 +1593,10 @@ RegisterPredicateLockingXid(const TransactionId xid)
15951593& sxidtag ,
15961594HASH_ENTER ,& found );
15971595if (!sxid )
1596+ /* This should not be possible, based on allocation. */
15981597ereport (ERROR ,
15991598(errcode (ERRCODE_OUT_OF_MEMORY ),
1600- errmsg ("out of shared memory" ),
1601- errhint ("You might need to increase max_predicate_locks_per_transaction." )));
1599+ errmsg ("out of shared memory" )));
16021600
16031601Assert (!found );
16041602