ssi-full-xid-alloc.patch
text/plain
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
| File | + | − |
|---|---|---|
| src/backend/storage/lmgr/predicate.c | 3 | 0 |
*** a/src/backend/storage/lmgr/predicate.c
--- b/src/backend/storage/lmgr/predicate.c
***************
*** 1018,1024 **** InitPredicateLocks(void)
* PredicateLockShmemSize!
*/
max_table_size = (MaxBackends + max_prepared_xacts);
- init_table_size = max_table_size / 2;
/*
* Allocate a list to hold information on transactions participating in
--- 1018,1023 ----
***************
*** 1029,1035 **** InitPredicateLocks(void)
* be summarized for storage in SLRU and the "dummy" transaction.
*/
max_table_size *= 10;
- init_table_size *= 10;
PredXact = ShmemInitStruct("PredXactList",
PredXactListDataSize,
--- 1028,1033 ----
***************
*** 1092,1098 **** InitPredicateLocks(void)
hash_flags = (HASH_ELEM | HASH_FUNCTION);
SerializableXidHash = ShmemInitHash("SERIALIZABLEXID hash",
! init_table_size,
max_table_size,
&info,
hash_flags);
--- 1090,1096 ----
hash_flags = (HASH_ELEM | HASH_FUNCTION);
SerializableXidHash = ShmemInitHash("SERIALIZABLEXID hash",
! max_table_size,
max_table_size,
&info,
hash_flags);
***************
*** 1595,1604 **** RegisterPredicateLockingXid(const TransactionId xid)
&sxidtag,
HASH_ENTER, &found);
if (!sxid)
ereport(ERROR,
(errcode(ERRCODE_OUT_OF_MEMORY),
! errmsg("out of shared memory"),
! errhint("You might need to increase max_predicate_locks_per_transaction.")));
Assert(!found);
--- 1593,1602 ----
&sxidtag,
HASH_ENTER, &found);
if (!sxid)
+ /* This should not be possible, based on allocation. */
ereport(ERROR,
(errcode(ERRCODE_OUT_OF_MEMORY),
! errmsg("out of shared memory")));
Assert(!found);