Make some minor improvements in memory-context infrastructure.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 9c911ec065df0f660e3add65d986f95928914375
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2022-10-14T15:55:56Z
Releases: 16.0
Make some minor improvements in memory-context infrastructure.

We lack a version of repalloc() that supports MCXT_ALLOC_NO_OOM
semantics, so invent repalloc_extended() with the usual set of
flags.  repalloc_huge() becomes a legacy wrapper for that.

Also, fix dynahash.c so that it can support HASH_ENTER_NULL
requests when using the default palloc-based allocator.
The only reason it didn't do that already was the lack of the
MCXT_ALLOC_NO_OOM option when that code was written, ages ago.

While here, simplify a few overcomplicated tests in mcxt.c.

Discussion: https://postgr.es/m/2982579.1662416866@sss.pgh.pa.us

Files

PathChange+/−
src/backend/utils/hash/dynahash.c modified +4 −9
src/backend/utils/mmgr/mcxt.c modified +50 −33
src/include/utils/palloc.h modified +2 −0

Discussion