pgsql: Expand palloc/pg_malloc API for more type safety

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Expand palloc/pg_malloc API for more type safety
Date: 2022-09-12 06:53:03
Message-ID: E1oXdJW-002YLB-MN@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Expand palloc/pg_malloc API for more type safety

This adds additional variants of palloc, pg_malloc, etc. that
encapsulate common usage patterns and provide more type safety.

Specifically, this adds palloc_object(), palloc_array(), and
repalloc_array(), which take the type name of the object to be
allocated as its first argument and cast the return as a pointer to
that type. There are also palloc0_object() and palloc0_array()
variants for initializing with zero, and pg_malloc_*() variants of all
of the above.

Inspired by the talloc library.

Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://www.postgresql.org/message-id/flat/bb755632-2a43-d523-36f8-a1e7a389a907(at)enterprisedb(dot)com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2016055a92f26d648aba9f66d26cc0bcd1619eff

Modified Files
--------------
src/include/common/fe_memutils.h | 28 ++++++++++++++++++++++++++++
src/include/utils/palloc.h | 22 ++++++++++++++++++++++
2 files changed, 50 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2022-09-12 07:27:30 pgsql: Make the tablesync worker's replication origin drop logic robust
Previous Message John Naylor 2022-09-12 05:11:18 pgsql: Make eval statement naturally proof against perltidy