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.1662416...@sss.pgh.pa.us Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/9c911ec065df0f660e3add65d986f95928914375 Modified Files -------------- src/backend/utils/hash/dynahash.c | 13 ++---- src/backend/utils/mmgr/mcxt.c | 83 +++++++++++++++++++++++---------------- src/include/utils/palloc.h | 2 + 3 files changed, 56 insertions(+), 42 deletions(-)