postgres.git / summary / log / commit / refs

commit    805a397db40bd49789946e8fe42e564d564fc27b
Author:   Peter Eisentraut <peter@eisentraut.org>
Date:     Sun Aug 28 07:55:04 2022 +0000
First released in: 16.0

    Add more detail why repalloc and pfree do not accept NULL pointers
    
    Per discussion, we choose not to change this.  This just gives a
    little bit more information.
    
    Discussion: https://www.postgresql.org/message-id/flat/cf26e970-8e92-59f1-247a-aa265235075b%40enterprisedb.com


src/backend/utils/mmgr/README | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/utils/mmgr/README b/src/backend/utils/mmgr/README index 221b4bd3433..777481c83d3 100644 --- a/src/backend/utils/mmgr/README +++ b/src/backend/utils/mmgr/README @@ -67,6 +67,12 @@ chunk might later be repalloc'd larger; it can also be pfree'd without error. Similarly, repalloc allows realloc'ing to zero size. * pfree and repalloc do not accept a NULL pointer. This is intentional. +(For repalloc, this is necessary: As mentioned above, repalloc does +not depend on the current memory context. But then it needs to know +which memory context to do the allocation in. So the first allocation +has to be done outside of repalloc. For pfree, this behavior is +mostly historical and partially because the extra check would impact +performance.) The Current Memory Context [parent: 36389a060ca6]