So far they were created below CacheMemoryContext. However, that's not
guaranteed to exist in all situations, leading to memory contexts created as
top-level contexts. There isn't actually a good reason anymore to create them
below CacheMemoryContext, so just creating them below TopMemoryContext seems
the best approach.
Reported-by: Reid Thompson <reid.thompson@crunchydata.com>
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Author: "Drouvot, Bertrand" <bdrouvot@amazon.com>
Discussion: https://postgr.es/m/
b948b729-42fe-f88c-2f4a-
0e65d84c049b@amazon.com
Backpatch: 15-
if (unlikely(!pgStatPendingContext))
{
pgStatPendingContext =
- AllocSetContextCreate(CacheMemoryContext,
+ AllocSetContextCreate(TopMemoryContext,
"PgStat Pending",
ALLOCSET_SMALL_SIZES);
}
{
if (unlikely(!pgStatSharedRefContext))
pgStatSharedRefContext =
- AllocSetContextCreate(CacheMemoryContext,
+ AllocSetContextCreate(TopMemoryContext,
"PgStat Shared Ref",
ALLOCSET_SMALL_SIZES);
if (unlikely(!pgStatEntryRefHashContext))
pgStatEntryRefHashContext =
- AllocSetContextCreate(CacheMemoryContext,
+ AllocSetContextCreate(TopMemoryContext,
"PgStat Shared Ref Hash",
ALLOCSET_SMALL_SIZES);
}